TI中文支持网
TI专业的中文技术问题搜集分享网站

IQmath在SRAM.cmd文件中的分配

程序少的时候,还不会有问题,随着写的程序越来越多,计算量变大,就会提示以下错误:

我看了cmd文件,IQmath 分配在了PRAMH0,而PRAMH0     : origin = 0x3f8000, length = 0x001000,长度应该够用啊,为什么可以用的只有0x0000b3呢?我把长度改成了0x002000,把DRAMH0     : origin = 0x3f9000, length = 0x001000改成了DRAMH0     : origin = 0x3fa000, length = 0x001000编译没有错误。可是运行程序之后,查找不到变量了,这是怎么回事?cmd文件应该如何正确分配?在线等工程师解答,谢谢!!(附上我的SRAM.cmd文件)

Hank Zhao:

你好,你查看一下map文件中的各个段的实际分配情况。

HD21425 HD21425:

我看了你的CMD文件,你的PRAMH0不是只存放IQmath,还有其他很多东西,text,reset,cinit都存放在了这里,所以你可以看一下你的map文件,看里面的PRAMH0的used长度是不是已经用完,如果是,你可以考虑换个区间重新分配。

wei zhang9:

回复 Hank Zhao:

"/* Allocate program areas: */    .reset           : > PRAMH0,      PAGE = 0    .text            : > PRAMH0,      PAGE = 0    .cinit           : > PRAMH0,      PAGE = 0 "

"IQmathTables  : load = BOOTROM, type = NOLOAD, PAGE = 0    IQmath        : load = PRAMH0,  PAGE = 0"实际分配情况也没有具体数值阿,难道是随机分配吗?谢谢解答

Hank Zhao:

回复 wei zhang9:

工程文件编译后在工程中会产生一个.map文件,会列出各个段在存储器中的实际分配情况,CMD文件是用户来配置的,map文件显示的是配置的结果。

赞(0)
未经允许不得转载:TI中文支持网 » IQmath在SRAM.cmd文件中的分配
分享到: 更多 (0)