Other Parts Discussed in Thread: C2000WARE
主题中讨论的其他器件:C2000WARE
大家好、
以下是客户可能需要您帮助的一些问题:
F021库版本为1.54、能够擦除固件中的某些扇区并对其进行重新编程、以实现参数保存、固件升级等
当前的现象是、使用 CCS 加载.out 文件并直接运行该文件、闪存擦除编程正常。
相同的 CMD 和 OUT 文件的相同工程、一旦使用 CCS 加载、然后通过拔下仿真器重新加电、闪存状态将变为不可擦除或不可编程。
根据 fmstat 寄存器说明:Spruhm9f 文档第3.15.21.6节、检查 Fapi_getFsmStatus 在擦除后的返回值、擦除空扇区返回0x0810、除非空扇区返回0x0C10
涉及 FMSTAT 的三位:
- bit11 在文档 A 中保留
- 位10 eV 表示擦除错误
- Bit4 Cstat 指示执行命令时出错
闪存寄存器有两种情况:
``` #The FLASH control register is not erased when the FLASH is not erased by power-up again 0x05F800 0200 0000 0000 0000 0000 0000 0000 0000 0x05F808 0000 0000 0000 0000 0000 0000 0000 0000 0x05F810 0000 0000 0000 0000 0000 0000 0000 0000 0x05F818 0000 0000 0000 0000 0000 0000 000F 0000 0x05F820 0003 0000 8001 0000 0001 0860 0000 0000 0x05F828 0000 0000 0000 0000 0000 0000 0000 0000 0x05F830 00FC 0000 55AA 0000 0000 0000 0000 0000 0x05F838 0000 0000 0000 0000 0000 0000 0000 0000 0x05F840 000B 0000 0055 00EB 0000 00DB 0000 000F 0x05F848 0716 0000 A000 0000 0004 0000 010A 0700 #Flash control register when CCS loads normal erase 0x05F800 0200 0000 0000 0000 0000 0000 0000 0000 0x05F808 0000 0000 0000 0000 0000 0000 0000 0000 0x05F810 0000 0000 0000 0000 0000 0000 0000 0000 0x05F818 0000 0000 0000 0000 0000 0000 000F 0000 0x05F820 0003 0000 8001 0000 0001 0860 0000 0000 0x05F828 0000 0000 0000 0000 0000 0000 0000 0000 0x05F830 00FC 0000 0000 0000 0000 0000 0000 0000 0x05F838 0000 0000 0000 0000 0000 0000 0000 0000 0x05F840 000B 0000 008C 01E9 0000 01BE 0000 0000 0x05F848 071B 0000 9000 0000 0004 0000 010A 0700 ```
本文档中列出的寄存器没有明显的错误、但是有一些不同的地址在本文档中没有描述。 客户想知道如何进一步诊断此问题?
FlashAPI 和其他与闪存相关的代码位于 SRAM 中、只有闪存在加电后无法正确擦除编程、并且其他固件功能正常、包括闪存读取。 在使用 F28075之前、在 F280049上使用了相同的代码、没有任何问题。 这次只是取代了 FlashAPI、它非常相似、但不完全相同。
您可以帮助检查此案例吗? 谢谢。
此致、
樱桃
