我成功地擦除(通过实验)了闪存、但我注意到、不同数据的给定区域的 ECC 闪存数据似乎与由链接器(TI 推荐的 vfill、ECC 部分等)生成的数据相同、这是所有 FS 的数据。 我知道 ECC 计算基于地址和数据。
fapiStatus = fapi_issueProgrammingCommand ((uint32_t *) startProgAddr、(uint8_t *) pData、(uint8_t)字节、(uint8_t *) 0、(uint8_t) 0、 Fapi_AutoEccGeneration);
startProgAddr = 0x300000
pData = 0x8000e3b (基于堆栈的 var)
字节= 16
用户闪存0x300000显示:0x11111111 0x22222222 0x333333 0x44444444
ECC 闪存0xf0460000显示:0x0997FFFF
链接器生成的 S 记录显示: S325F046000009979806851B148A801E118F0C929D038F111E80039D920C069897098A141B85B4
相同的0x0997! 我已刷写了具有相同结果的较大区域。 0x300000是64位边界。 我还尝试将 ECC 缓冲区指向与闪存数据相同的地址、结果相同。
我缺少什么?
谢谢。