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.

[参考译文] CCS/TMS320F28069M:为什么在复位矢量位置编织指令时不存在?

Guru**** 2585275 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/652348/ccs-tms320f28069m-why-at-reset-vector-location-braching-instructions-is-not-there

器件型号:TMS320F28069M
Thread 中讨论的其他器件:controlSUITEC2000WARE

工具/软件:Code Composer Studio

在中提到了当器件复位从复位向量位置提取的复位向量时,但在我进行调试时 ,复位向量位置0x3fffc0中没有分支指令

我对它的工作方式感到困惑,在 boot28.asm 代码的下面一行中,这意味着它将跳过内置的引导 ROM 执行,我是否正确?

任何人都能解释这些内容

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

    您的查询不太清楚。 此外、您的帖子中不提供代码快照。 您能否在 CCS 中打开反汇编窗口、然后应用调试复位并检查指令。

    当与调试器连接并加载代码(或重新启动)时、CCS 强制 PC 进入入口点并从此处开始执行。 根据项目入口点的设置、可以跳过 ROM 代码的执行。

    此致、
    Vivek Singh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Verendra、
    该器件在 ROM 中具有默认矢量表、出厂时已填充(TI)。 在 C28上、没有从矢量表中的复位入口位置获取指令、而 ROM 中矢量表的复位入口位置包含引导 ROM 入口函数的地址。

    连接调试器后、当您查看反汇编窗口时、PC 在复位时指向的地址是引导 ROM SW 的入口点函数。

    现在我们来谈谈另一个有关其工作原理的问题-当器件上电时、不能跳过器件引导 ROM 的执行。 到仿真器被连接时、器件引导 ROM 本来已经被执行了。 此外、在复位(外部复位、XRSn)后、在独立运行时不能跳过器件引导 ROM。

    在连接仿真器的情况下、当用户通过 CCS 进行调试复位时、器件会在引导 ROM 软件的入口点复位并停止。 现在、如果用户点击在调试器 IDE 中运行、则会执行器件引导 ROM、但如果用户执行程序加载(或重新启动)、则 PC 会指向应用程序(用户 SW)入口点。 用户可通过 CCS 工程属性窗口来定义应用程序入口点。 TI 提供的默认示例使用 reset_handler 入口点,该入口点继而调用_cint00 RTS 支持库入口点,进而调用 main()。 如果用户未定义应用程序的任何入口点、则将选择默认_cint00。

    现在、在 MCU 复位或上电后始终运行的引导 ROM 软件如何调用应用程序入口点? 这将在器件 TRM 引导 ROM 一章中进行解释。 简而言之、根据引导模式、引导 ROM 最终分支到所选引导模式的入口点。 用户应在此处具有用户应用程序入口点。 用户可以参考 TI 在 controlSUITE 或 C2000Ware 中提供的示例、并将 RESET_handler 例程置于入口点位置。


    希望这对您有所帮助。

    如有任何疑问、请告知我们。

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

      我很抱歉,我以为图片是附加的,但没有!!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答,但在复位矢量位置,我没有找到任何分支指令
    (我附下图)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Veerendra、

    在0x3FFFC0处、您将看到引导 ROM 入口点的32位地址、而不是分支指令。 从快照中、您放置的地址是0x003FF75B。

    此致

    Santosh Athuru

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

    我希望这一问题得到解决。 如果没有、请告知我们更多问题、否则请将其标记为已解决。