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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hadoop FairScheduler

    Hadoop FairScheduler

    2021年11月27日
    41
  • 如何制作一个简易的web聊天室(思路)「建议收藏」

    如何制作一个简易的web聊天室(思路)「建议收藏」在这里我先把自己的思路分享一下:聊天室的静态资源如聊天室的外观一类,使用静态的html直接编写。聊天消息则通过ajax去数据库读取并动态输出在页面上,同时设置好定时函数,让数据聊天消息在固定周期

    2022年7月2日
    27
  • 3d工具收集_3d图表走势综合版

    3d工具收集_3d图表走势综合版Poser是Metacreations公司推出的一款三维动物、人体造型和三维人体动画制作的极品软件。用过Poser2与Poser3的朋友一定能感受到Poser的人体设计和动画制作是那么的轻松自如,制作出的作品又是那么生动。而今Poser更能为你的三维人体造型增添发型、衣服、饰品等装饰。让你的设计与创意轻松展现。Mixamo:在线3D动漫角…

    2022年8月23日
    8
  • CMS和G1收集器

    CMS和G1收集器转自:https://yuanrengu.com/2020/4c889127.html在开始介绍CMS和G1前,我们可以剧透几点:根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用合适的收集器。一般来说,新生代收集器的收集频率较高,应选用性能高效的收集器;而老年代收集器收集次数相对较少,对空间较为敏感,应当避免选择基于复制算法的收集器。 在垃圾收集执行的时刻,应用程序需要暂停运行。 可以串行收集,也可以并行收集。 如果能做到并发

    2022年5月6日
    30
  • javascript console_js decorator

    javascript console_js decoratorJSNavigatorappNameappVersionuserAgentplatform

    2025年11月1日
    3
  • 学习日志之synthesis and optimization(4)——banding and sharing

    学习日志之synthesis and optimization(4)——banding and sharing一个设计好的电路经过调度算法之后可以避免在时间上的一些限制,但是前面说的算法并没有涉及到硬件资源方面的constrains。在这里主要是开始进行资源的分配,这个过程在空间域上进行的资源与操作的绑定和分享。当然实际情况下并不仅仅需要考虑单一的时间域限制或是仅考虑空间域限制。而是需要两者同时考虑。要充分描述一个电路结构就需要以下一些元素:1.资源(resorces):用于在电路中实现各种算法…

    2022年10月9日
    3

发表回复

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

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