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.
到目前为止、我们在 控制卡上测试了 SCI_BOOTMODE。 问题在上述给出、并根据您的建议、直到问题未得到解决。
现在、我们在应用板上尝试这个、同样的问题也出现在该板上。
我们将引导引脚配置为 SCI 引导模式配置。
我们还正确配置了 TX 和 RX 引脚。
请您指导我、如何继续。
你好,Koteswararao
我们的专家将在今天再次讨论这个问题。
您好!
您能否详细说明在将闪存内核加载到器件上方面、您在应用板上采取了哪些步骤? 如上一帖子中所述、您是否尝试使用闪存链接器命令文件替换 RAM 链接器命令文件?
Anu
是的、我尝试使用闪存链接器命令更改 RAM 链接器命令文件、但我没有明白它的工作方式。 如果将闪存内核示例代码加载到闪存中、则应用程序代码将加载到该闪存中
在应用板中、我按如下方式进行配置
对于 SCI 引导模式、GPIO72为0、GPIO84为1
对于 SCI 通信、我们使用 GPIO28和 GPIO29、因此我在 FLASH_kernel_example 代码中将 SCI_boot 更改为 SCI_boot_alternate。
现在、我通过 serial_flash_programmer 以及 flash_kernel 和应用程序文本文件发出了命令。
但问题仍然如下所示
您好!
关于闪存链接器命令文件-您将为闪存内核保留一个闪存扇区、并使用基于 RAM 的闪存内核将此基于闪存的闪存内核写入器件。 基于闪存的闪存内核可以是应用文件、即命令的-A 字段。
关于应用板-如果您使用引脚28和29进行 SCI 通信、则需要相应地设置引导模式以获取模式并对 OTP 进行编程、以便 SCI 引导1为所选模式。 请参阅 F2837xD TRM 的第4.6节。
Anu
你好 Anu
如果我们将闪存内核代码加载到其中一个闪存扇区中、并且将应用代码加载到其他扇区中、那么、在上电复位后、如果我们不通过在 OTP 引导模式下更改为 SCI_BOOT1的 Serial_flash_programmer 发出命令、将执行哪种代码。
谢谢你。
上电复位后、您可以向 SCI 引导加载程序投射不正确的密钥以跳转到闪存入口点。 之后、它取决于您在闪存入口点拥有的内容-可以是应用程序或引导加载程序。
Anu
一旦 OTP 闪存盘更改为0x5A、我们无法正确更改它? 那么、我们如何使用不正确的密钥。 有可能吗?如果可能、请给我提供该程序。
谢谢、
Koteswararao
Koteswararao 您好、
确定是否使用了正确的密钥的过程是查看 C28x 引导表头。 表12-4 https://www.ti.com/lit/ug/spru513w/spru513w.pdf 中介绍了它们的功能 。 如果您抛出0x8AA 以外的密钥、它将引发错误。 外设引导加载程序将会对其进行挑选、然后引导加载程序将确定其是不正确的密钥。 此外、您还可以查看 位于以下位置的 SCI_Boot.c 文件(这适用于 ROM 引导加载程序) C:\ti\c2000Ware_4_01_00_00\libraries\boot_rom\f2837xd\RevB\ROM_Sources\F2837x_bootrom\cpu01-bootrom\source 并检查行140、如果闪存项无效、则该行将指出闪存项无效、并将中止闪存项。 当您将 OTP 设置为备用 SCI 引导加载程序时、您可以将其抛出不正确的密钥、以便它可以跳转到应用程序的闪存入口点。
此致、
查尔斯
如何知道闪存入口点地址、如果闪存中有两个代码。 通常、闪存入口点为0x08000。 如果内核代码的闪存入口点为0x08000、那么应用代码的闪存入口点是什么、因为内核和应用程序的两个代码必须位于闪存中。
Koteswararao、
您需要为应用代码保留一个扇区以驻留在其中并为闪存应用指定硬件值(地址)。 f23877D 器件只有一个入口点、因此您需要始终检查闪存入口点的固件更新、该入口点将包含您的应用或闪存内核本身。 如果有更新、请继续执行闪存内核。 如果没有更新、请继续执行应用程序。
此致、
查尔斯