[AVR单片机] iar 如何定义大数组

[复制链接]
12126|12
 楼主| 流浪终生 发表于 2008-12-30 11:45 | 显示全部楼层 |阅读模式
在iar中我定义一个int ADC_0[64]数组,系统提示我数组过大,请问各位高手如何解决,或者有那一个环境支持大数组的,我用的是AVR的单片机,谢谢各位指教。
avr 发表于 2008-12-30 22:42 | 显示全部楼层

64元的数组应该没有问题吧,是否栈设置得不正确.

 楼主| 流浪终生 发表于 2008-12-31 08:59 | 显示全部楼层

不是堆栈问题,我使用的是全局变量

我想应该是IAR的数据段设置问题,但是我又不知道它的xcl如何改写,请各位指教。
avr 发表于 2008-12-31 09:11 | 显示全部楼层

XCL的格式在帮助中有

你看一下MAP文件就知道如何分配的了,具体XCL的格式在帮助中有.
ic_ic 发表于 2008-12-31 09:45 | 显示全部楼层

应该没啥问题

应该没什么问题吧,我用的IAR,定义500字节的数组都没有问题
xullin 发表于 2008-12-31 13:21 | 显示全部楼层

你的memory model选的是tiny吧,换成small试试!

 楼主| 流浪终生 发表于 2008-12-31 16:47 | 显示全部楼层

iar如何设置呢

我改成small后编译通过,但是程序不能正常运行。我只在memory model选择的是small,其他没有变。请问6楼的有问题么?
我的程序在cvavr中调试通过,只是代码效率很低。
请问5楼的你的500字节是怎么定义的,编译器有设置么?谢谢
xullin 发表于 2009-1-9 12:29 | 显示全部楼层

把CSTACK的大小调大点!0x10太小了!

avr 发表于 2009-1-11 09:21 | 显示全部楼层

动态数组才会在CSTACK中分配

ganwen100 发表于 2012-12-30 10:31 | 显示全部楼层
C:\Users\Administrator\Desktop\1
memory model选的是small  
qin552011373 发表于 2013-1-2 00:59 | 显示全部楼层
疑问:你为什么要用大数组?每个数据为什么都保存?不怕浪费资源?   如果不是必须保存每一个采样结果的话   建议每次直接复制给一个数  最后算结果
明月小厨 发表于 2013-1-2 02:22 | 显示全部楼层
改用SRAM更大的单片机;
cos12a 发表于 2013-9-6 01:01 | 显示全部楼层
IAR配置文件一定要留意,如果你能看懂xcl文件最好是直接更新此文件,我所使用的IAR评估版,很多MCU的XCL文件所描述的地址空间与实际MCU不相符.(如果程序使用没有超出Datasheet所描述的大小,那就一定要检查软件设置问题了)正式版没有钱买,也就没有骓过这些问题..
还有一点,如六楼所说:"你的memory model选的是tiny吧,换成small试试"也要注意更改设置,IAR默认为Tiny.堆栈大小的设置也有影响,请留意.

评分

参与人数 1威望 +6 收起 理由
qin552011373 + 6 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

40

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部