各位大侠!
我想将下面的数组放在外部存储器中,上电后程序读取使用,是外扩SRAM还是外扩FLASH呢,有人说SRAM可以当flash用,但是我外扩了SRAM但是达不到效果,仅在仿真时独处的数据是对的,但是拔掉仿真器,就不能运行了,数组的元素是一张图片的显示码?
unsigned char gImage[18432] =
{
/* 0X81,0X10,0X60,0X00,0X60,0X00,0X01,0X1B, */
0x86,0x31,0x04,0x21,0xE3,0x18,0xE3,0x18,0x04,0x21,0x03,0x21,0x04,0x21,0X04,0X21,
0X24,0X21,0X24,0X21,0X24,0X21,0X45,0X29,0X45,0X29,0X45,0X29,0X65,0X29,0X65,0X29,
…………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………..
0X1F,0X87,0X1F,0X87,0X1F,0X7F,0X1F,0X7F,0X1F,0X77,0XFF,0X6E,0XFF,0X66,0XDF
};
上述数组就是一个18432个数据的数组,中间省略了好多,都粘贴上来估计该挨骂了!嘻嘻!!!
mangui zhang:我觉得肯定是flash 啊如果是SRAM那你怎么存呢和代码一起存到内部flash中上电运行后写到外扩RAM中再用?
各位大侠!
我想将下面的数组放在外部存储器中,上电后程序读取使用,是外扩SRAM还是外扩FLASH呢,有人说SRAM可以当flash用,但是我外扩了SRAM但是达不到效果,仅在仿真时独处的数据是对的,但是拔掉仿真器,就不能运行了,数组的元素是一张图片的显示码?
unsigned char gImage[18432] =
{
/* 0X81,0X10,0X60,0X00,0X60,0X00,0X01,0X1B, */
0x86,0x31,0x04,0x21,0xE3,0x18,0xE3,0x18,0x04,0x21,0x03,0x21,0x04,0x21,0X04,0X21,
0X24,0X21,0X24,0X21,0X24,0X21,0X45,0X29,0X45,0X29,0X45,0X29,0X65,0X29,0X65,0X29,
…………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………..
0X1F,0X87,0X1F,0X87,0X1F,0X7F,0X1F,0X7F,0X1F,0X77,0XFF,0X6E,0XFF,0X66,0XDF
};
上述数组就是一个18432个数据的数组,中间省略了好多,都粘贴上来估计该挨骂了!嘻嘻!!!
chunfeng liang:
回复 mangui zhang:
现在我觉得您说的是对的,在ZONE6或者ZONE7外扩flash,然后cmd文件中将 .cinit数据段分配到对应的区域就可以了吧?毕竟这些初始化的数据常量是存储在这个段的!