打印

430大RAM申请长数组问题

[复制链接]
1692|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
筱七121|  楼主 | 2015-5-11 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
论坛大大们,下午好:
      小弟最近使用430f5359芯片申请长数组遇到问题,恳请大大们,给予帮助。
       5359芯片66KB的RAM,我想申请13600个int型的数组,在申请时报了以下错误:
      Error[e16]:Segment DATA16_N(size:0x6a40,align:0x1) is too long for Segment definition .这里面意思就是说数据段太长了不足以申请13600这么长的数组,我看下430f5359的linker文件,也不知道怎么修改linker文件。麻烦论坛里的大神们,发个linker文件的解读,和该问题应该如何解决?
先谢谢了!

相关帖子

沙发
筱七121|  楼主 | 2015-5-11 14:33 | 只看该作者
先跪谢大家了!!!

使用特权

评论回复
板凳
筱七121|  楼主 | 2015-5-11 14:35 | 只看该作者
该数组需要存储AD采集的数据,采完13600个数据,对13600个数据进行处理。无法定义成const存储在FLASH中

使用特权

评论回复
地板
筱七121|  楼主 | 2015-5-11 14:36 | 只看该作者
而且66K,13600个int型只占用了27Kb大小a

使用特权

评论回复
5
dirtwillfly| | 2015-5-11 17:47 | 只看该作者
ic型号选对了吗?

使用特权

评论回复
6
dirtwillfly| | 2015-5-11 17:49 | 只看该作者
linker文件在你的开发环境的安装目录就能找到

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
筱七121 + 3 很给力!
7
dirtwillfly| | 2015-5-11 17:51 | 只看该作者
一般如果ic型号没选错,可以通过更改.xcl文件里Segment definition的地址范围来解决

使用特权

评论回复
8
ayl439| | 2015-5-11 21:58 | 只看该作者
关注

使用特权

评论回复
9
筱七121|  楼主 | 2015-5-12 09:02 | 只看该作者

型号选对的

使用特权

评论回复
10
筱七121|  楼主 | 2015-5-12 09:04 | 只看该作者
dirtwillfly 发表于 2015-5-11 17:51
一般如果ic型号没选错,可以通过更改.xcl文件里Segment definition的地址范围来解决 ...

我定义的是全局变量,xcl文件中DATA16_N好像是存储全局变量的,但是只有16K字节。后面F0000 - 最后好像都不能将全局变量放入,对全局变量使用绝对地址定位到F0000,也不可以。

使用特权

评论回复
11
筱七121|  楼主 | 2015-5-12 09:04 | 只看该作者

使用特权

评论回复
12
筱七121|  楼主 | 2015-5-13 11:18 | 只看该作者
将IAR的options里的target中的Data Model修改为Lager这个问题就解决了。谢谢论坛里热心帮助的大大们,爱你们!

使用特权

评论回复
13
dirtwillfly| | 2015-6-17 16:24 | 只看该作者
筱七121 发表于 2015-5-13 11:18
将IAR的options里的target中的Data Model修改为Lager这个问题就解决了。谢谢论坛里热心帮助的大大们,爱你 ...

使用特权

评论回复
14
baimiaocun2015| | 2015-6-17 20:51 | 只看该作者
你这个数组的的确太大了,并且数据还是int型的。。

使用特权

评论回复
15
筱七121|  楼主 | 2015-6-23 15:48 | 只看该作者
baimiaocun2015 发表于 2015-6-17 20:51
你这个数组的的确太大了,并且数据还是int型的。。

,老板让用430座算法处理,之后还要申请22000个点的int数组。20次FFT,IFFT。频域相关,,,,,,,,蛋疼的一比

使用特权

评论回复
16
筱七121|  楼主 | 2015-6-23 15:50 | 只看该作者

额。。。。没想到这么简单。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

61

帖子

0

粉丝