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.

[参考译文] C2000WARE:引导加载程序开发:程序跳转问题

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1475853/c2000ware-bootloader-development-program-jump-problem

器件型号:C2000WARE

工具与软件:

  大家好、我们开发了两款具有不同功能的软件:引导加载程序和应用。 引导加载程序在芯片的 BANK0地址上运行、应用在 BANK1上运行。 引导加载程序在程序复位/上电后进入。  

  引导加载程序可以通过检查应用程序的有效性来实现程序跳转、跳转到要运行的应用程序地址、但目前、当引导加载程序检查应用程序的有效性并跳转到应用程序运行时、会发生错误。

其他信息:

1.每一个单独刻录到芯片上的软件都能正常运行;

2. JUMP 函数使用以下语法:#define Update (void (*)(void))0x90000;(*Update)(); 本文是对论坛 JUMP 相关帖子的引用。

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

    您好!

    您看到什么错误? 您还能否为应用附加链接器命令文件。

    您也可以尝试对应用程序的代码起始地址执行长分支(LB)汇编调用。 C28x CPU 和指令集的第217页 提供了有关 LB 的更多详细信息以供参考。

    __asm(" LB #0x090000"); // Long branch to application

    此致!

    Matt

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

    您好!

    我们曾尝试根据您的建议修改代码、但仍然显示错误。

    期待您的回复。

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

    您好!

    CPU 似乎在引导 ROM 内停止。 此器件在哪一个器件上?

    您能否为引导加载程序和应用程序共享链接器命令文件(.cmd)?

    此致!

    Matt

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

    您好!

    以下字文件集成了引导加载程序开发同事和应用程序开发同事的链接器命令文件。
    e2e.ti.com/.../BootLoader_2600_App.CMD.docx

    期待您的回复。 谢谢。

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

    您好!

    感谢您提供文件。 这似乎是某种类型的器件配置问题。 您是否能够尝试将以下符号添加到工程属性中?

    此致!

    Matt