DS-5/RVDS4.0变量初始化错误

DS-5/RVDS4.0变量初始化错误

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

最近总是有各种调试时的错误,内存错误一般,我无意中发现的所有全局变量失败,也就是说,全局变量声明之后,颂值早期值误.DS-5/RVDS4.0变量初始化错误

初值明明是0x12345674,最后变为了0xBA141234,出现了移位现象

測试代码

//内存測试,防止出现内存异常,主要表现为全局变量初始化有问题
#define MEM_TEST	0x12345678
u32 MemTest = MEM_TEST;

	_init_alloc(0x56000000, 0x60000000-8);		//初始化堆的范围

	pJpegBuff = (u8*)((u32)jpeg_buff + 16-(u32)jpeg_buff%16);
	UART0_Init(ENABLE,115200);					//初始化串口0,失能中断接收,波特率115200
	UART1_Init(DISABLE,115200);
	TFT_LCD_Init();
	//内存检查
	if(MemTest != MEM_TEST)
	{
		uart_printf("内存检查错误,地址:0x%08X\t0x%X!=0x%X\r\n",(u32)&MemTest, MemTest, MEM_TEST);
	}

结果:

DS-5/RVDS4.0变量初始化错误

一样出现了移位想象

最后通过几天的调试,把问题定位到了jpeg解码的文件上面,仅仅要不调用jpegcode.c就不会出现故障

通过凝视代码,发现问题再jpeg_tables.h,我将不须要用到的几个数组屏蔽掉,居然攻克了这个问题,刚開始以为是由于在.h中定义了数组变量导致的,我所有移到.c文件里,问题依然,将几个没实用到的数组凝视掉,问题居然就好了.非常无语,不知道是否还有别的问题导致的.

/*************************************************************************************************************
 * 文件名称:	jpeg_tables.h
 * 功能:		S3C6410 jpeg编码表
 * 作者:		cp1300@139.com
 * 创建时间:	2013年01月14日
 * 最后改动时间:2013年01月14日
 * 具体:		直接使用的官方的代码
*************************************************************************************************************/
#ifndef __JPEG_TABLES_H__
#define __JPEG_TABLES_H__



const unsigned char QTBL_Luminance[4][64]=
{
    // level 1 - high quality
    {
        8, 6, 6, 8, 12, 14, 16, 17,
        6, 6, 6, 8, 10, 13, 12, 15,
        6, 6, 7, 8, 13, 14, 18, 24,
        8, 8, 8, 14, 13, 19, 24, 35,
        12, 10, 13, 13, 20, 26, 34, 39,
        14, 13, 14, 19, 26, 34, 39, 39,
        16, 12, 18, 24, 34, 39, 39, 39,
        17, 15, 24, 35, 39, 39, 39, 39
    },

    // level 2
    {
        12, 8, 8, 12, 17, 21, 24, 23,
        8, 9, 9, 11, 15, 19, 18, 23,
        8, 9, 10, 12, 19, 20, 27, 36,
        12, 11, 12, 21, 20, 28, 36, 53,
        17, 15, 19, 20, 30, 39, 51, 59,
        21, 19, 20, 28, 39, 51, 59, 59,
        24, 18, 27, 36, 51, 59, 59, 59,
        23, 23, 36, 53, 59, 59, 59, 59
    },

    // level 3
    {
        16, 11, 11, 16, 23, 27, 31, 30,
        11, 12, 12, 15, 20, 23, 23, 30,
        11, 12, 13, 16, 23, 26, 35, 47,
        16, 15, 16, 23, 26, 37, 47, 64,
        23, 20, 23, 26, 39, 51, 64, 64,
        27, 23, 26, 37, 51, 64, 64, 64,
        31, 23, 35, 47, 64, 64, 64, 64,
        30, 30, 47, 64, 64, 64, 64, 64

    },

    // level 4 - low quality
    {
        20, 16, 25, 39, 50, 46, 62, 68,
        16, 18, 23, 38, 38, 53, 65, 68,
        25, 23, 31, 38, 53, 65, 68, 68,
        39, 38, 38, 53, 65, 68, 68, 68,
        50, 38, 53, 65, 68, 68, 68, 68,
        46, 53, 65, 68, 68, 68, 68, 68,
        62, 65, 68, 68, 68, 68, 68, 68,
        68, 68, 68, 68, 68, 68, 68, 68
    }
};

const unsigned char QTBL_Chrominance[4][64]=
{
    // level 1 - high quality
    {
        9, 8, 9, 11, 14, 17, 19, 24,
        8, 10, 9, 11, 14, 13, 17, 22,
        9, 9, 13, 14, 13, 15, 23, 26,
        11, 11, 14, 14, 15, 20, 26, 33,
        14, 14, 13, 15, 20, 24, 33, 39,
        17, 13, 15, 20, 24, 32, 39, 39,
        19, 17, 23, 26, 33, 39, 39, 39,
        24, 22, 26, 33, 39, 39, 39, 39
    },

    // level 2
    {
        13, 11, 13, 16, 20, 20, 29, 37,
        11, 14, 14, 14, 16, 20, 26, 32,
        13, 14, 15, 17, 20, 23, 35, 40,
        16, 14, 17, 21, 23, 30, 40, 50,
        20, 16, 20, 23, 30, 37, 50, 59,
        20, 20, 23, 30, 37, 48, 59, 59,
        29, 26, 35, 40, 50, 59, 59, 59,
        37, 32, 40, 50, 59, 59, 59, 59
    },


    // level 3
    {
        17, 15, 17, 21, 20, 26, 38, 48,
        15, 19, 18, 17, 20, 26, 35, 43,
        17, 18, 20, 22, 26, 30, 46, 53,
        21, 17, 22, 28, 30, 39, 53, 64,
        20, 20, 26, 30, 39, 48, 64, 64,
        26, 26, 30, 39, 48, 63, 64, 64,
        38, 35, 46, 53, 64, 64, 64, 64,
        48, 43, 53, 64, 64, 64, 64, 64


    },

    // level 4 - low quality
    {
        21, 25, 32, 38, 54, 68, 68, 68,
        25, 28, 24, 38, 54, 68, 68, 68,
        32, 24, 32, 43, 66, 68, 68, 68,
        38, 38, 43, 53, 68, 68, 68, 68,
        54, 54, 66, 68, 68, 68, 68, 68,
        68, 68, 68, 68, 68, 68, 68, 68,
        68, 68, 68, 68, 68, 68, 68, 68,
        68, 68, 68, 68, 68, 68, 68, 68

    }

};

/*
const unsigned char QTBL0[64]=
{
#if 1
    0x10, 0x0B, 0x0A, 0x10, 0x18, 0x28, 0x33, 0x3D,
    0x0C, 0x0C, 0x0E, 0x13, 0x1A, 0x3A, 0x3C, 0x37,
    0x0E, 0x0D, 0x10, 0x18, 0x28, 0x39, 0x45, 0x38,
    0x0E, 0x11, 0x16, 0x1D, 0x33, 0x57, 0x50, 0x3E,
    0x12, 0x16, 0x25, 0x38, 0x44, 0x6D, 0x67, 0x4D,
    0x18, 0x23, 0x37, 0x40, 0x51, 0x68, 0x71, 0x5C,
    0x31, 0x40, 0x4E, 0x57, 0x67, 0x79, 0x78, 0x65,
    0x48, 0x5C, 0x5F, 0x62, 0x70, 0x64, 0x67, 0x63
#else
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
#endif
};

//Added Quantization Table
const unsigned char std_chrominance_quant_tbl_plus[64]=
{
    0x11, 0x12, 0x18, 0x2F, 0x63, 0x63, 0x63, 0x63,
    0x12, 0x15, 0x1A, 0x42, 0x63, 0x63, 0x63, 0x63,
    0x18, 0x1A, 0x38, 0x63, 0x63, 0x63, 0x63, 0x63,
    0x2F, 0x42, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
    0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
    0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
    0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
    0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63
};

//Quantization Table0
unsigned char std_luminance_quant_tbl[64] =
{
    1,   1,   2,   1,   1,   2,   2,   2,
    2,   3,   2,   2,   3,   3,   6,   4,
    3,   3,   3,   3,   7,   5,   8,   4,
    6,   8,   8,  10,   9,   8,   7,  11,
    8,  10,  14,  13,  11,  10,  10,  12,
    10,   8,   8,  11,  16,  12,  12,  13,
    15,  15,  15,  15,   9,  11,  16,  17,
    15,  14,  17,  13,  14,  14,  14,   1
 };

//Quantization Table1
unsigned char std_chrominance_quant_tbl[64] =
{
    4,   4,   4,   5,   4,   5,   9,   5,
    5,   9,  15,  10,   8,  10,  15,  26,
    19,   9,   9,  19,  26,  26,  26,  26,
    13,  26,  26,  26,  26,  26,  26,  26,
    26,  26,  26,  26,  26,  26,  26,  26,
    26,  26,  26,  26,  26,  26,  26,  26,
    26,  26,  26,  26,  26,  26,  26,  26,
    26,  26,  26,  26,  26,  26,  26,  26
};*/

//Huffman Table
unsigned char HDCTBL0[16]  = {0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0};
unsigned char HDCTBLG0[12] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb};

unsigned char HACTBL0[16]= {0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d};
const unsigned char HACTBLG0[162]=
{
    0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
    0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
    0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
    0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
    0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
    0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
    0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
    0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
    0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
    0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
    0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
    0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
    0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
    0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
    0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
    0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
    0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
    0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    0xf9, 0xfa
};
/*
//Huffman Table0
unsigned char len_dc_luminance[16] ={ 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
unsigned char val_dc_luminance[12] ={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };

unsigned char len_ac_luminance[16] ={ 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
unsigned char val_ac_luminance[162] =
{
    0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
    0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
    0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
    0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
    0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
    0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
    0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
    0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
    0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
    0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
    0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
    0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
    0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
    0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
    0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
    0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
    0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
    0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
    0xf9, 0xfa
};

//Huffman Table1
unsigned char len_dc_chrominance[16] ={ 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
unsigned char val_dc_chrominance[12] ={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };

unsigned char len_ac_chrominance[16] ={ 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
unsigned char val_ac_chrominance[162] =
{
    0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
    0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
    0x13, 0x22, 0x32, 0x81, 0x81, 0x08, 0x14, 0x42,
    0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52,
    0xf0, 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24,
    0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a,
    0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37,
    0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47,
    0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57,
    0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67,
    0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77,
    0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86,
    0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95,
    0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4,
    0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3,
    0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2,
    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca,
    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
    0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8,
    0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    0xf8, 0xf9
};*/

#endif	//__JPEG_TABLES_H__

凝视掉部分没实用到的数组,一般不建议在.h文件里定义变量(这是官党码).

版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116900.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ffmpeg参数详解_ffmpeg个版本

    ffmpeg参数详解_ffmpeg个版本-c:v指定编码器默认值:mpeg4mpeg4编码器,编码速度快,清晰度不够,处理后的文件比较大libx264编码器,编码比较慢,清晰度高,处理后的文件比较小-preset编码速度默认值:medium当编码器指定为libx264时可以指定该参数,编码速度越慢,清晰度越高,处理后的文件大小相同可选值:ultrafast、superfast、veryfast、

  • sp_helptext 查看存储过程内容

    sp_helptext 查看存储过程内容

  • Mutex对象使用时发现的问题

    Mutex对象使用时发现的问题Mutex对象等待互斥对象的方法有:Mutex.WaitAll、WaitOne、Mutex.WaitAny使用Mutex对象经常出现的异常现象有:异常一、 由于出现被放弃的mutex,等待过程结束原因:获取互斥对象后没有显式的释放对应的互斥对象就结束了对应的线程解决办法:每调用一个等待方法,在结束调用时都要调用ReleaseMutex()方法进行Mutex对象释放。而每种释

  • jwt单点登录流程设计

    jwt单点登录流程设计如不了解jwt,请戳:程序猿DD,什么是jwt下面我给出一个jwt实现单点登录的流程: 

  • pycharm基本配置_python配置pycharm

    pycharm基本配置_python配置pycharm使用pycharm执行python程序非常方便,但如果用到argparse模块,需要加上命令行参数时就需要用到终端执行。pycharm直接使用终端也很方便,如下:但如果使用Anaconda环境,你会发现condaactivate命令无效。需要进行如下配置:需要更改红色框选的路径。更改为如下:右键打开文件所在位置:右键属性,将cmd.exe及其后面的内容复制到红色框框选的路径中去。重启pycharm即可。…

  • 有关RAID我们需要了解的一些知识

    有关RAID我们需要了解的一些知识

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号