最近有个项目要使用AVR,在定义多个字符串常量时发现,编译器老是把它们放在RAM区里,由于处理数据的需要已经占了很大一部分RAM区,经常出现交叉占用相同区域的RAM区,造成数据出错.如下面方法定义:
#pragma data:code
unsigned char const *VTstr1="strings1";
unsigned char const *VTstr2="string2";
#pragma data:data
还有取消#pragma data:code ,#pragma data:data后,用_FLASH也不行,后连const 放前面和后面都一样的,真是晕死.......
请问那位大虾有这方面的经验,请指点迷津.....不胜感激!
我用的编译工具是ICCV7 for AVR. |