MTK link 错误:“Error: L6221E: Execution region EXTSRAM overlaps with Execution region DUMMY_END.”

 

     错误“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

你可能感兴趣的:(随笔小记)