yuchenjinan 发表于 2010-7-11 14:44:20

430单片机编译时报错

用430F149做一个脉象仪,需要LCD显示的数据较多,我们是通过ADC采集数据,每秒30个数据,共采集15秒,一共450个数据存在一个数组中result,还有很多LCD先使用的数组,但这样造成程序数据量很大,编译器提示下面的错误:

Error: Segment DATA16_Z (size: 0xaa2 align: 0x1) is too long for segment definition. At least 0x2ac more bytes
needed. The problem occurred while processing the segment placement command
"-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=0200-09FF", where at the moment
of placement the available memory ranges were "CODE:20a-9ff"
   Reserved ranges relevant to this placement:
   200-9ff            DATA16_I
Error while running Linker

还有提示的存储信息有:
2 008 bytes of CODEmemory
   310 bytes of CONST memory (+2 bytes shared)
2 732 bytes of DATAmemory (+ 40 bytes shared)

是不是超出了149的存储容量?还是有其他原因造成的。有没有办法解决这个问题
另外,我考虑用Flash来存储一些数组,请问149的程序代码是存在Flash中的吗,还是Flash是149的独立的模块?谢谢!(初学者)

yuchenjinan 发表于 2010-7-11 14:55:05

超出RAM范围了?
页: [1]
查看完整版本: 430单片机编译时报错