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文件里定义变量(这是官党码).

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LNMP环境的搭建

    LNMP环境的搭建

    2021年10月8日
    35
  • 俯瞰开源工作流引擎Activiti「建议收藏」

    俯瞰开源工作流引擎Activiti「建议收藏」Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,采用了宽松的ApacheLicence2.0开源协议,因此Activiti一经推出,就得到了开源社区的大力支持,在开源社区的支持下,Activiti吸引了很多的工作流专家参与到该项目中,并且也促使了Activiti在工作流领域的创新。

    2022年7月27日
    9
  • 几个vbs代码

    几个vbs代码使用方法:新建一个txt文档,将上面的代码复制到txt,然后将文档的后缀名改成vbs。鼠标双击即可执行。第一个:msgbox”做我女朋友好吗”,vbQuestion,”在吗”msgbox(“房产写你名字”)msgbox(“保大”)msgbox(“我妈会游泳”)dimjdowhilej<1SelectCasemsgbox(“做我女朋友好吗”,68,”请郑重的回答我”)Case6j=1Case7msgbox(“再给你一次机会”)endSelect

    2022年5月9日
    96
  • 知乎奇文!一本关于程序员的修真小说–分享我读到的一篇好小说

    终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河生灵都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊。他们叫我代码之神。到那个时候,我想我一定可以找回你。一这是一个属于代码的修真世界。这世界里的每一个人,每一个东西,包括高山大海,刀剑风云,其本质都是一串数字流。打个比方,如果你知道一块石头…

    2022年4月9日
    52
  • 如何生成lib文件_bin文件和mcs文件

    如何生成lib文件_bin文件和mcs文件看到一篇文章可以添加crc文章链接:http://blog.csdn.net/Simon223/article/details/105724950感觉应该可以可以添加一些自己的其他信息。先做个标记吧,后面再来学keil官网的摘抄信息:https://www.keil.com/support/docs/3806.htmµVISION:CRCExampleInformationinthisknowledgebasearticleappliesto:MDK-ARM5.00o

    2022年10月20日
    1
  • android fragment不执行onResume,onPause「建议收藏」

    android fragment不执行onResume,onPause「建议收藏」在使用ViewPager+fragment框架时,fragment不执行onResume,onPause,解决办法如下。重载setUserVisibleHint方法@OverridepublicvoidsetUserVisibleHint(booleanisVisibleToUser){super.setUserVisibleHint(isVisibleToUse

    2022年5月5日
    163

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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