错误“Error: L6221E: Execution region EXTSRAM overlaps with Execution region DUMMY_END.”
今天第一次见到,咋一看,似乎是Sram超了,应该是静态内存区域超了。
引起原因:
unsigned char *wf_icon[] = {
wf_icon_fine_day,/*0*/
wf_icon_fine_night,/*1*/
wf_icon_cloudy_day,/*2*/
wf_icon_cloudy_night,/*3*/
wf_icon_overcast,/*4*/
wf_icon_thunder,/*5*/
wf_icon_rain,/*6*/
wf_icon_snow,/*7*/
wf_icon_na/*8*/
};
此段代码,其中数组中每个成员均是unsigned char 数组。
解决方法:
const unsigned char *wf_icon[] = {
wf_icon_fine_day,/*0*/
wf_icon_fine_night,/*1*/
wf_icon_cloudy_day,/*2*/
wf_icon_cloudy_night,/*3*/
wf_icon_overcast,/*4*/
wf_icon_thunder,/*5*/
wf_icon_rain,/*6*/
wf_icon_snow,/*7*/
wf_icon_na/*8*/
};
修改成const 的,每个成员均是const unsigned char 数组。
修改后这些数组应该是放在了常量存储区,或者把超出的删除。
问题解决,记下!
相关文章“c/c++中内存区域划分大总结”
http://blog.csdn.net/huangtaoyuan/archive/2010/01/07/5153110.aspx