主题中讨论的其他器件:NOWECC
您好!
我尝试编写一个简单的引导加载程序、以便能够通过串行端口将应用程序映像加载到电路板上。 我尝试了两种不同的方法:
CCS 加载程序启用自动 ECC 生成和闪存验证
2. CCS 加载程序自动 ECC 生成被禁用&无闪存验证
对于方法1、我只有在编辑了 BL_FLASH.c 文件中的 Fapi_BlockProgram 和 Fapi_BlockErase 函数(由 TI 提供)后才成功将 Fapi_DataOnly 参数切换为 Fapi_issueProgramming Command 函数中的 Fapi_DataOnly 参数。 在这些修订版本中、我能够将引导加载程序映像加载到电路板上、并使用引导加载程序加载应用程序映像.bin 文件、跳转到应用程序存储器并成功运行该应用程序代码。 我注意到、当我使用 CCS 加载程序将引导加载程序映像加载到 TMS570时、ECC 错误指示灯亮起(尽管此指示灯亮起时引导加载程序代码和应用程序代码正常工作)。 当 I PORRST 电路板时、ECC 错误指示灯熄灭、引导加载程序能够将有效的应用程序映像.bin 文件加载到电路板上、但无法跳转至该应用程序代码并运行。
在方法2中、我未成功生成任何正常运行的引导加载程序映像。 我根据以下链接修改了链接器命令文件 。使用这些修订版本、引导加载程序无法运行。
请提供以下问题的一些信息:
对最终将通过串行端口(而不是 CCS 加载程序)加载应用程序的引导加载程序进行编程时、是否应该实现由链接器生成的 ECC? 或者是否可以在没有链接器生成的 ECC 的情况下对映像进行编程?
该 ECC 错误 LED 指示灯的具体含义是什么? 为什么在 PORRST 上将其清零?
3.您能想到为什么我的引导加载程序在从 CCS 加载程序加载时能够成功跳转到应用程序代码、然后在干净启动时(在 PORRSTing 电路板后)无法运行相同的应用程序代码?
感谢您抽出宝贵的时间为您提供帮助。
谢谢、
Vicki