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

关于FRAM数据存储问题

由于程序空间有限,想把初始写数据的程序删掉,直接把数据存到FRAM,怎么做?

Delta:

意思不太明白,是程序空间不够了?如果把数据存到FRAM会使程序空间更紧张。

灰小子:

楼主的一起应该是直接把数据存储定义在fram区域吧?

Maka Luo:

直接放在空闲FRAM区域,自行读取即可。可以参考MSPWARE中有FRAM读写的例程。

Lina Lian:

hao qi ,

你是想把一些初始化数组直接放到FRAM区吗?

FRAM 是Data和Code动态分配的,但是总大小肯定还是受限于总共有多少FRAM的,譬如总共16KB FRAM, 那么分配到FRAM的code和Data总大小不能超过16KB。

具体如何分配,需要使用CCS中的CMD文件或者IAR中的.xcl文件来总体管理。

具体可以参考文档:“”MSP430™ FRAM Technology – How To and Best Practices“”

 http://www.ti.com/lit/an/slaa628/slaa628.pdf 

其中有cmd和xcl文件具体的Memory Partitioning Support in the MSP430 IDEs说明。你看想把哪部分放在FRAM中。

Lina Lian:

回复 Lina Lian:

hao qi,

如下,例如你想把global变量放到FRAM,那就需要在CCS .cmd文件中将 .bss, .data制定到FRAM中。

同样你也可以自己将FRAM地址进行规划,例如FRAM分化成FRAM1, FRAM2,FRAM1放code,FRAM2放data。都很灵活。有需要先看看文档“”“MSP430 Optimizing C/C++ Compiler v16.12.0.STS  User's Guide” http://www.ti.com/lit/ug/slau132n/slau132n.pdf , 里面有对CCS linker file的讲解。

你的龙猫:

回复 Lina Lian:

那如果使用的是IAR,那就要仔细分析IAR的XCL文件了。可以将全局变量,stack,heap,const data等都放在FRAM中,那么IAR的code、stack、heap是怎么分配的,是动态分配的吗?

Lina Lian:

回复 你的龙猫:

你的龙猫,

你可以参考一下IAR Embedded Workbench for MSP430 user's guide 以及EW430_CompilerReference,里面有详细说明,具体你可以参考下列截图。可以指定其大小和位置。

http://www.ti.com/lit/ug/slau138an/slau138an.pdf

http://perso.citi.insa-lyon.fr/afraboul/rts6/doc/EW430_CompilerReference.pdf 

赞(0)
未经允许不得转载:TI中文支持网 » 关于FRAM数据存储问题
分享到: 更多 (0)