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.
如何使能TMS570LS20206的FLASH的ECC功能和RAM的ECC功能,以及FLASH的ECC功能如何验证?期待您的回答,谢谢!
Hi Zhangjie,
你可以下载最新版本的HALCoGen 3.01.01.
选择器件时,不要选择20216,而选择TMS570LS3137系列。
这样的话,会看到SAFETY INIT选项卡。
在里面可以找到FlashECC和RAMECC的相关配置。
生成的代码中也可以找到相关的函数。
大部分代码与20206相似,可以稍作修改后在20206上使用。
Hi Zhangjie,
两种方法可以生成ECC。
1. 使用nowECC工具,可以TI主页搜索nowECC。
2. 使用最新的CCS V5.2,这个环境可以帮助开发者直接生成ECC。
操作cp15:
首先要使能ARM CPU中的ECC校验功能,在cp15中可以实现。
另外,如果希望MCU产生相应的中断或错误信号,需要把CPU的external event使能。
这个在HALCoGen生成的代码中有例子。
是不是必须将ECC代码下载入FLASH才能使能ECC功能?另外TI的网页上无法下载ECC工具,我使用keil4未用CCS,可否将ECC工具传给我,谢谢!
对于FlashECC来说,一定要在Flash ECC区域内放置正确的ECC信息才能正常工作。
如果您使用KEIL的话,那么用nowECC来生成ECC是没有问题的。
请查收附件。
你好,nowECC的工具已使用,ECC码文件已生成,我生成的是INTEL HEX文件,我用的编绎环境keil4,仿真器是J-LINK,现在不知道如何下载到ECC的地址0x00400000,恳请指导,给出下载方法,万分感谢!
Hi Zhangjie,
抱歉,我这里没有J-LINK,您试试用[Flash]下拉菜单中的load功能是否可以下载?
下载好后,链接J-Link的时候,设置debug选项,使uVision只链接不重新下载即可。
还有个疑问,KeiI4生成的hex文件不能用nowECC,我是用烧录器转换一下才可以,而且ECC生成的文件每行是32字节,跟输入文件每行16字节不一样,比较疑惑,恳请指点,谢谢!
你好,ECC代码已经下载进FLASH,但是现在执行完mcr p15,#0x00,r0,c1,c0,#0x01
orr r0,r0,#0x02000000
mcr p15,#0x00,r0,c1,c0,#0x01 后flash内数据变为aa,包括ecc内容,是不是起动ecc的代码写的不对啊,期待您的指点!谢谢!
Hi Zhangjie,
请参考附件中的源代码。
这是HALCoGen生成的针对TMS570LS3137的自检测用代码源文件。
其中有两个接口对您应该有所帮助:
void fmcECCcheck(void)
和void checkFlashECC(void)
虽然TMS570LS20216和TMS570LS3137的Flash控制模块稍有不同,但是原理类似。
您可以参考这个代码来完成Flash ECC的功能验证。
你好,你是如何使用nowECC生成ECC码文件的呢,输入是什么文件,输出是? 还有你写到0x00400000这个是flash ECC的地址吧,那么ram ECC呢?
谢谢