liudingding 发表于 2015-4-15 10:44:27

m64,flash内定义了个大数据表格,编译出错了,帮忙看一下

本帖最后由 liudingding 于 2015-4-15 14:00 编辑

用M64,ICC7.22,flash内定义了两个数据表格,头一个1.2K,第二个1.5K,用的格式是:unsigned char const biaoge={......},编译出错,const放在开头或其他任何位置也不行,
提示:area "data" niot large enough
          want size 2678
          lo 1975 hi 4351 size 2377
这是什么原因?把第二个表格数据定义为6个(我随便定义的),编译正常,程序占用空间不到20%

sunliezhi 发表于 2015-4-15 11:13:50

编译器是avr-gcc的话,用PROGMEM修饰数组

sunliezhi 发表于 2015-4-15 11:16:24

area "data" niot large enough说得很清楚: 你现在的数组是放在“数据区“,而不是“代码区”

shuiluo2 发表于 2015-4-15 11:31:56

对,你要把程序编译到flash区域,一般前面还有修饰词的,不仅仅是const

liudingding 发表于 2015-4-15 11:56:46

我用的是ICC,前面还要有修饰词,该用什么?

liudingding 发表于 2015-4-15 11:59:56

我记得修饰词用flash,但是无论flash用在哪里都不行,替换const也不行

dalarang 发表于 2015-4-15 12:00:06

我平时都是用const unsigned char biaoge={....}这种方式,是不是有区别

liudingding 发表于 2015-4-18 08:09:53

有么有知道的?好几天了还没解决

cdwess 发表于 2015-4-18 17:49:03

加了修饰还需要设置ICC,把那个勾打上

lnso 发表于 2015-4-18 20:36:27

加#program
页: [1]
查看完整版本: m64,flash内定义了个大数据表格,编译出错了,帮忙看一下