主题中讨论的其他器件:ADS131E08、 UNIFLASH
您好、Vamsi、
我的客户遇到 ECC 导致 NMI。
它们使用 TMS320F280049PZSR,100引脚和 CCS 版本8.3.0。
这种‘发生在4个客户的电路板上、但无法复制到 controlCARD 或 Launchpad 上。(我假设我们的控制卡或 LaunchPad 未连接到某些外部电路、因此无法运行到相关代码。 因此它不会触发 ECC NMI)、所以我认为他们的代码有一些错误。
它可以由"仅 CANB 模块代码"或 "仅 SPI 模块代码"触发。
SPI 基本上与 ADS131E08进行通信。
CANA 还将采用引导加载程序功能。
仅对于 CANB 模块,、在将数据加载到 CANB 后、NMI 中断在传输过程中被触发(未完成)、并且在 NmiIntrupt 的 NMIFLG 寄存器中、 FLLUNCERR 为1。
这是可显示 ECC 错误的调试窗口。
我在其代码中搜索了闪存 API、如下所示:
状态= Fapi_initializeAPI (F021_CPU0_BASE_ADDRESS、100); 状态= Fapi_setActiveFlashBank (Fapi_FlashBank0); 状态= Fapi_issueWithCommandAddress (Fapi_EraseSector、pu32addr); 状态= Fapi_doBlankCheck (32StartStatusWord、Pudr); 状态= Fapi_issueProgrammingCommand (((uint32 *) u32Index、u16ptr+I、8、0、0、Fapi_AutoEccGeneration); 状态= Fapi_doVerify ((((uint32 *) u32Index、4、u32ptr+(I/2)、&oFlashStatusWord);
您能否指出客户是否使用了错误的闪存 API? 但是、它可以在不使用引导加载程序的情况下触发 ECC NMI、只需运行应用程序代码即可。
如果您真的需要、客户不想共享代码。 我可以通过电子邮件与您分享。
您能不能告诉我、我应该重点关注哪些方面来找出根本原因?
BR
Emma