This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IAR for 51中定义大数组

在程序中定义了2个2000维的数组,在编译时出错。

Error[e16]: Segment XDATA_I (size: 0x8ce align: 0) is too long for segment definition. At least 0x719 more bytes needed. The problem occurred while processing the
segment placement command "-Z(XDATA)XDATA_Z,XDATA_I=_XDATA0_START-_XDATA0_END", where at the moment of placement the available memory
ranges were "XDATA:14b-2ff"
Reserved ranges relevant to this placement:
XDATA:1-100 XSTACK
XDATA:101-2ff XDATA_Z
BIT:0-7 BREG
BIT:80-87 SFR_AN
BIT:a0-a7 SFR_AN
Error while running Linker

根据资料说,定义成const,则将数组保存在flash中,但是在将数组修改成const,仍然有上述错误。

求帮助,谢谢!