大家好、团队、
我在链接器文件中更改了什么 shell、以便将变量分配给 FRAM、而不是 RAM。
默认情况下、变量分配给 RAM。
谢谢、
日落
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、团队、
我在链接器文件中更改了什么 shell、以便将变量分配给 FRAM、而不是 RAM。
默认情况下、变量分配给 RAM。
谢谢、
日落
您好!
persistent 变量部分已在 FRAM 中定义。 您可以在 CCS 或链接文件 IAR 中的.cmd 文件中找到该文件。
要将变量定义为在 FRAM 中分配的 persistent,请参阅:
//静态初始化变量
#ifdef __TI_Compiler_version__
#pragma PERSISTENT (x)
unsigned int x= 0;
#Elif __IAR_systems_ICC__
__persistent unsigned int x= 0;
其他
//将以下变量移植到所使用的特定编译器的等效持久功能
unsigned int x= 0;
#endif
您好、Yu、
我已经完成了一个简单的程序。
在我定义 main 之前
pragma PERSISTENT (myFRAM)
unsigned int myFRAM;
在 main 中、我编写了初始化代码:
myFRAM = 0;
myFRAM 的存储器地址位于 RAM 中、因此 PERSISTENT 不起作用。
变量上有警告。
要让 persistent 工作、必须立即初始化变量。
pragma PERSISTENT (myFRAM)
unsigned int myFRAM = 0;
在第二种情况下、变量到达 FRAM 空间。
如果我想制作数据记录器、我需要一个数组。
要使用持久性、必须执行此操作。
pragma PERSISTENT (myFRAM)
unsigned int myFRAM[10]={0};
以便将阵列分配给 FRAM 而不是 RAM。
谢谢
日落