工具/软件:Code Composer Studio
您好!
我正在开发一个代码、将一些数据存储到闪存中以用于配置。 我使用的是闪存 F021 API。 我能够存储我需要的所有参数、并且可以在 CPU 复位后读取其中的大部分参数。 该问题出现在一些闪存地址、在这些地址中、我能够从 CCS 的内存浏览器选项卡中看到正确的值、但当该值被复制到局部变量时、一个位被设置为1 (如果不擦除整个闪存扇区、这是不可能的):
uint16_t u16TempBuf;
u16TempBuf =* ptInstance->pu16ReadPoint;
为 pu16ReadPoint 是指向所需闪存地址的指针。 例如、如果闪存中的值为0x0010、当它被复制到变量 u16TempBuf 时、我将读取0x0410。
这种情况只在某些地址发生、并且是重复的、因此每次我加载代码时、相同的地址都会受到影响(我始终存储相同的数据)。
为了获得可靠的读取、我需要做一些特别的事情来读取闪存地址上的内容?
谢谢!