主题:C2000WARE 中讨论的其他器件
工具/软件:
您好、
我当前正在使用的器件 闪存 API 版本 3.00.02.00 在 F28P65x 器件上执行闪存操作。
问题描述:
闪存编程似乎成功—数据是按照调试期间的验证正确写入的。 但是、在回读过程中、一些特定的存储器位置始终会返回不正确的值。 此行为可重现、并且为这些位置固定了错误值。
- 写入缓冲区中包含的内容 32 个字 、值范围为
0x0000至0x001F。 - 编程后从同一缓冲区回读期间会出现该问题。
- 我已经测试过这种行为 组 1、组 2 和组 3 、问题仍然存在。
- 观察到错误的读取值 2 到 3 个固定位置 、读取的值在这些地址始终不正确。
受影响的地址示例:
| 位置 | 写入的数据 | 数据读取 | |
| 实验 组 1/Sec-0 | 0x000A0404 | 0x0004. | 0x0005. |
| 0x000A0410 | 0x0010 | 0x0090 | |
| 0x000A041C | 0x001C | 0x0018 | |
|
实验 组 2/Sec-0 |
0x000C0408 | 0x0008. | 0x0009. |
| 0x000C0410 | 0x0010 | 0x0014 | |
| 0x000C041C | 0x001C | 0x009C | |
|
实验 组 3/Sec-0 |
0x000E040D | 0x000D | 0x000C |
| 0x000E0415 | 0x0015 | 0x0011 | |
| 0x000E0419 | 0x0019 | 0x0099 |
在调试期间、我从中捕获了一个快照 组 1、扇区 0 、地址中观察到错误的回读 0x000A0404。 此位置的预期值为 0x0004、已确认正确编程。 但是、回读始终返回 0x0005。
这种差异似乎可以重现、可能与前面所述的问题有关。

问题的重现性:
此问题在多个调试会话中始终可以重现。 每次我进入调试模式并在同一存储体和扇区上执行闪存操作时、错误的回读会发生在相同的存储器位置。 无论实验中的尝试次数或变化情况如何、此行为都将持续存在、表明该特定地址存在固定的失败模式。
一个奇怪的观察:
在 F28P65x 器件上进行闪存编程期间、注意到了一种异常行为。 尝试将特定值(如,或)写入 0x0004 0x0010 0x001C 其各自的闪存位置时、读回值出现错误。 但是、当写入稍微不同的值时(例如,而不是,而不是和) 0x1004 0x0004 0x1010 0x0010 0x101C 0x001C、读回值始终是正确的。
请告知可能的原因。
此致、
Bhavin P


