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.

[参考译文] F28M36P63C2:启动使用裸机引导加载程序刷写的 TI-RTOS 应用程序

Guru**** 2747375 points

Other Parts Discussed in Thread: F28M36P63C2

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/787144/f28m36p63c2-starting-ti-rtos-application-flashed-with-bare-metal-bootloader

器件型号:F28M36P63C2

我正在将裸机闪存引导加载程序与 TI-RTOS 应用程序集成。 我想确保已经做了所有必要的更改、以便将 TI-RTOS 应用程序重新定位到闪存中、并在引导加载程序将其烧写到闪存后运行。

引导加载程序成功刷写并运行简单的裸机测试应用程序。  当我使用引导加载程序加载 TI-RTOS 应用程序时、我认为它已成功刷写、但应用程序无法成功运行。

通电时、M3处理器 BootROM 跳转至0x00200030并执行裸机引导加载程序。  引导加载程序完成将应用程序加载到闪存中时、它会在闪存中查找应用程序代码的复位矢量表、并使用表中的第二个4字节值作为将分支到的地址来启动应用程序代码。

我对 TI-RTOS 应用程序代码在 M3处理器上的位置进行了以下更改:

  • 修改了我的链接器命令文件、以便为引导加载程序留出空间、并将应用程序重新定位到闪存中
  • 移动了应用程序闪存存储器复位矢量表地址、以便引导加载程序应从表中拾取_c_int00作为应用程序代码的起始地址。
  • 将 boot_flash 存储器段从0x00200030移到了新应用程序代码区域中的某个位置

在 C28上、我进行了以下更改:

  • 修改了我的链接器命令文件、以便为引导加载程序留出空间、并将应用程序重新定位到闪存中
  • 将开始链接器命令文件存储器段更改为新的应用程序代码区域

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供有关应用程序如何无法运行的更多详细信息? 您是否能够单步执行代码以找出问题? 它是否至少成功地分支到应用程序、或者它在此之前是否会丢失?

    惠特尼
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此时、我知道应用程序在引导加载程序之后没有运行(或失败)、这只是因为它不会使控制卡上的 LED 闪烁。 我还没有尝试弄清楚如何让 TI 调试器对情况进行事后剖析。

    我想、在我去那里之前、我想确切地知道应该在我的应用程序代码中更改什么、以便成功地将其移动到闪存和 RAM 存储器中、从而允许引导加载程序在处理器复位时启动、然后跳转到应用程序的开始 代码。 您能否总结对 F28M36P63C2器件上的标准 TI-RTOS 应用所需的更改?

    如果有用、我可以共享我的链接器命令和其他文件、但我不希望公开这样做。
    谢谢、
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的调试是否有任何进展?

    如果您正在从闪存独立运行应用程序、并希望连接调试器以查看调试器卡在何处、则通常可以使用常用的目标配置启动调试会话、 但在连接到器件之前、请转到"Tools"->"GEL Files"、然后右键单击.gel 以将其删除。 这样、当您连接到器件时、GEL 将不会运行并重置它、从而使您能够查看它所处的状态类型。 您也可以转到 Run->Load->Load Symbols、将符号应用于您的项目以获取调试信息、而不会完全重新加载、并再次导致复位。

    我想不出您需要做什么特殊的事情来将 TI-RTOS 置于闪存中。 这应该只是更新您的 cmd 文件的问题。 根据您正尝试执行的操作、此页面上的通配符可能会有所帮助:
    processors.wiki.ti.com/.../BIOS_FAQs

    我不介意看一下您的 cmd 和 MAP 文件。 如果将鼠标悬停在我的用户名上、您应该能够请求友谊。 在我接受请求后、您应该能够向我发送一个 PM。

    惠特尼