主题中讨论的其他器件:NOWECC、 UNIFLASH
工具/软件:TI C/C++编译器
大家好、我提前对在错误的论坛中发布信息(如果我是)表示歉意。 我们以前使用:
nowECC -R5 -f021 16M_ADD -A foo.hex
但是、由于不再支持 nowECC、我们希望迁移到由链接器命令文件生成 ECC。 我可以从 nowECC 获取的唯一文档是使用-h 选项运行它、在这里、我会得到模糊的信息、并且似乎与此处的信息不直接相关:h t p processors.wiki.ti.com/index.php/Linker_Generated_ECC。 例如、-R5选项说明为"使用 Cortex-R5的"CPU 中的 ECC "特性"、此特性提供很少真实信息。 这如何转化为链接器命令行过程?
我尝试应用 wiki 中给出的示例、虽然没有遇到错误、但生成的十六进制文件的 ECC 段比 nowECC 生成的十六进制文件的 ECC 段增加了一倍。
理想情况下、如果有人能告诉我如何使用任何 Linder 命令行信息从上述命令行指令创建相同的十六进制文件、我会很激动。
以下是链接器命令文件中的相关截点(生成的 ECC 段比我预期的要大):
ECC{
algoL2R5F021:address_mask = 0xfffffff8 //地址位31:3 */
汉明_mask = R4 /*使用掩码中的 R4/R5构建*/
奇偶校验掩码= 0x0c //设置哪些 ECC 位是偶校验和奇校验*/
镜像= F021 //* RM57Lx 和 TMS570LCx 在 F021中编译
}
存储器
{
pbl_vec (rwx): origin, blah blah
pbl_crc (RW):origin,blah blah
pbl_TXT (rwx):origin,blah blah
ECC_VEC (R):origin=(0xf0400000 +(start (PBL_VEC)>> 3))
length=(size (PBL_VEC)>> 3)
ecc={algoL2R5F021、input_range=PBL_VEC}
ECC_CRC (R):origin=(0xf0400000 +(开始(PBL_CRC)>> 3))
length=(size (PBL_CRC)>> 3)
ecc={algoL2R5F021、input_range=PBL_CRC}
ECC_TXT (R):origin=(0xf0400000 +(开始(PBL_TXT)>> 3))
length=(size (PBL_TXT)>> 3)
ecc={algoL2R5F021、input_range=PBL_TXT}
可以有人帮忙吗? 谢谢!