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/TMS320F2.8026万:从Begin 0x3F7FF6开始的步进代码

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/620088/ccs-tms320f28026-stepping-code-from-begin-0x3f7ff6

部件号:TMS320F2.8026万

工具/软件:Code Composer Studio

我正在运行代码编辑 器版本:5.1 .0.0.9万 (出于传统原因),我很难告诉调试器从起始地址0x3F776开始步进。  根据C2000数据表和启动ROM文档TMS320x2802x Piccolo启动ROM参考指南,处理器在该地址执行的指令应跳到启动例程。  

发生的情况是,Code Composer直接跳到main并停止在那里,尽管我已在“调试配置”->“目标”选项卡->“常规调试选项”->“自动运行选项”下禁用了该选项

我的问题是,这是正在进行的初始化-即SP等,由于调试器跳过了这些初始化,所以没有执行这些初始化。

我不想攻击我的代码,将设置栈指针的汇编指令放置在我的main.c代码中,当它放置在调用main函数的汇编文件中时,它应该起作用。

谢谢!

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

    您是否希望调试器在该代码中停止运行或确保运行它? 您是否编辑了指定codegstart部分的F2802x_codegstartbranch.asm?

    如果您不想让它在主页停止,请将代码加载到闪存,将EMUboot设置为闪存,重置CPU,然后运行。 这应通过引导运行,并开始运行您的应用程序,而不会在主站停止。

    此致
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我所期待的行为是,当连接调试器并加载程序时,执行将在PC = 0x3F7ff6处停止,这是从引导加载程序到我的应用程序代码的分支地址。 单步执行时,我希望调试器在该地址执行指令。 如果我选择运行到某个符号(例如main)的选项,则它将运行到该符号的入口点并停止。

    现在,当我想要运行代码时,我必须加载映像,让它运行到main,然后将PC设置回0x3F7ff6,然后再次运行,以便它运行我们的初始化代码。

    我还编辑了F2802x_codestartbranch.asm文件,使其特定于我们的应用程序。 我还保留了一些系统初始化代码,如堆栈和其他一些参数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您选择了什么引导模式? 根据您放置应用程序的位置(RAM或闪存),我建议将设备的引导模式设置为该引导模式。 此外,我不确定修改codegstart分支的原因是什么,但请确保您的codegstart部分仍然是lb _c_int00。

    连接调试器并加载程序后,使用调试器重置重置设备,然后单击“运行”按钮。 您可以随意加载引导ROM符号,并在引导ROM中的所需位置设置断点。

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