您好:
之前问的那个旧的工程在e2e上面改成3.05版本的了,但是使用的时候在FreeRTOS的一个任务中做EMAC初始化时tms570芯片的D1变成红色了,查了下手册说出现了nERROR,以太网也没有初始化成功(ping不通,板子没有成功连接到路由器),出现这个nERROR的原因是什么呢?
Renton:
Hi Yong,
你看看把sys_startup.c替换成这个可不可以?
http://www.deyisupport.com/question_answer/microcontrollers/hercules/f/70/p/21465/72655.aspx#72655
Renton:
回复 Renton:
http://www.deyisupport.com/question_answer/microcontrollers/hercules/f/70/t/20895.aspx
yong zhang2:
回复 Renton:
另外想问下您,这个D1红灯亮是因为tms570芯片内部的ESM模块作用的结果吗?
Renton:
回复 yong zhang2:
Hi Yong,
应该是ESM的处理结果。
具体的原因不太好确认,有可能是你的程序跑到了保护区或者其他什么的。
所以,ESM给出了一个nERROR电平,驱动D1点亮。
一般,如果使用Hercules系列芯片,这些安全功能应该利用起来。
比如,仍可由MCU自己处理的安全问题(诸如ECC错误,奇偶校验错,MPU错误等等),应该放在ESM的中断中来判断并处理。
如果MCU自身已经无法确保运行的安全性(如发生了CPU校验错,2bit ECC错误等),就直接输出nERROR信号,由外部系统来判断是否应该断电或RESET。
yong zhang2:
回复 Renton:
还想请教一下您这个ESM中断管理在HCG中应该如何配置呢?在VIM RAM中只看到有esmHighInterrupt及esmLowInterrupt,但这个对应的服务程序是如何进一步判断到底发生了ECC错误或者奇偶校验错误呢,或者您有一些ESM模块的例程可以参考的吗?不太清楚这个模块的使用方法,应该参考哪些资料呢?
谢谢您的帮助~
yong
Renton:
回复 yong zhang2:
Hi Yong,
HALCoGen貌似给出了一些最基本的ESM配置,打开ESM选项卡就可以看到了。
如图:
在HALCoGen生成的代码中也可以看到ESM一些配置功能:
如图:
不过ESM跟安全功能息息相关,而安全功能多是无法调试模式下使用的,所以建议在完成功能设计之后再进行这方面的配置。
yong zhang2:
回复 Renton:
谢谢您的解答~