Other Parts Discussed in Thread: UNIFLASH, NOWECC, RM48L730, TMS570LC4357
主题中讨论的其他器件: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.
Other Parts Discussed in Thread: UNIFLASH, NOWECC, RM48L730, TMS570LC4357
您好!
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
此致、