整理程序.C(249): error C249: 'DATA': SEGMENT TOO LARGE

来源:百度知道 编辑:UC知道 时间:2024/06/02 10:24:00
我刚刚开始学习单片机,在使用C编写一个时间测试仪器的时候用到二维数组记忆以前测试的测试记录。在我设置uchar lyy[15][8]的时候什么都很好,但是我再往大设置的时候,比如要储存100组数组uchar lyy[100][8]或者使用3维uchar lyy[10][10][8]的时候却老是提示:整理程序.C(249): error C249: 'DATA': SEGMENT TOO LARGE。它似乎是提示我使用的记忆太大,但是我也不能完全搞明白。求助各位大虾,这是怎么回事,有什么方法可以解决它,并储存100组数?
谢谢!!!

原因你自己都讲了,硬件设置里设置了data区的空间限制,硬件不够用了,自然编译通不过
换data区更大的单片机,或者考虑把数组放到xdata区去,再或者考虑使用外部flash存储数据

例如 :
unsigned char BIt[][32]={.......}
这样较多的数,就需要这样做
unsigned char code ....
加入code区

说明你程序DATA区空间已超过指定单片机的DATA区空间

单片机内存不够了。

内部RAM小.可以使用外部RAM或选用内部RAM大的单片机.