主题中讨论的其他器件:UNIFLASH、 NOWECC、 TMS570LC4357、 SEGGER
您好!
TI 团队是否提供了在 Linux 下生成 ECC 阵列的脚本或工具?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
TI 团队是否提供了在 Linux 下生成 ECC 阵列的脚本或工具?
您好 QJ、
感谢您的回复!
我正在使用闪存 API 021中的函数"Fapi_issueProgrammingCommand":
fapi_issueProgrammingCommand ((uint32_t *) dst、 (uint8_t *) src、 (uint32_t)字节、 0、 0、 Fapi_AutoEccGeneration);
但是、正如您在上一次答复中所述、我得到了错误的结果、
闪存 API 向 两个位置写入两倍相同的 ECC (即使错误),如下所示:
计算得出的地址0x20000处数据的 ECC 与地址0x20010的 ECC 相同(0x92)、该地址尚未编程!
我不明白为什么闪存 API 会将错误的内容写入 ECC 闪存区域、
如果有任何帮助、我们将不胜感激、
谢谢你
您好!
请尝试 TI 引导加载程序中的闪存擦除/编程函数、以查看 ECC 是否计算和写入正确。
e2e.ti.com/.../6204.bl_5F00_flash.c
您可以在 main()的开头调用闪存擦除/编程函数:
DATA[32]=...
Fapi_BlockErase (1、0x180000、32);
Fapi_BlockProgram (1、0x180000、&data[0]、32);
您好!
我使用 F021Flash API 生成了 ECC、并将其编程到闪存中。 正确答案:
这是我使用的代码:
uint32_t 成功[]={0xea0004bd、0x00000000、
0x00000000、0x00000000、
0x00000000、0x00000000、
0x00000000、0x00000000、
0x4605b538、0x2d06460c、
0x2d08d005、0x2d0ed003、
0x2005bf18、0x2010d108、
0xfa34f000、0x60044803};
状态= Fapi_BlockErase (0、0x08000、0x2000);
状态= Fapi_BlockProgram (0、0x8000、(无符号长整型)&Success、64);
如果您在对闪存进行编程之前未擦除闪存、请先擦除闪存。
您好!
再次感谢您的回复!
我使用了您的主程序、但仍然得到了一些错误的 ECC:
以下是我的源文件:
您好!
我使用了下面的项目、得到了相同的错误 ECC:
(项目已编译、输出文件位于"flashEccIssue\Debug_TI\flashEccIssue.out"中
e2e.ti.com/.../2727.flashEccIssue.zip
此致、