工具与软件:
您好!
我使用的是 FR2355、并使用了#pragma PERSISTENT 变量。
使用默认链接器文件时一切都正常。
修改 FRAM 分配后:
而不是默认值:
FRAM 中 : origin = 0x8000, length = 0x7F80
我更改为:
FRAM 中 :origin = 0x8002、length = 0x7F7E
persistent 变量将不再可写入。
在映射文件中、变量仍然正确堆叠到持久性块!
根据我的理解、这是因为内存段、是1024字节对齐的。
我注意到、在映射文件中、一旦更改了 FRAM 的起始地址、持久性块正被链接器移动到0x8400地址。
所以、我的下一个想法是实现自定义 MPU 配置、如 slaa628 (6.3.1.1.1)中所示。
但是、这不起作用、因为诸如 MPUCTL0之类的寄存器未定义(我正在使用 CCS12.7)。
此外、我在 CCS 中看不到 MPU 向导、如图6-4 (slaa628)中所示、我只看到了一个"Enable FRAM Write protection"选项、与段不同。
此文档是否已过时? 或者 FR2355器件是否不支持 MPU?
该问题的解决方案是什么?
——
此致、
Dzmitry