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/66AK2G02: Hello World裸金属应用炸弹,第6指令

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/654618/ccs-66ak2g02-hello-world-bare-metal-application-bombs-on-the-6th-instruction

部件号:66AK2G02

工具/软件:Code Composer Studio

我使用裸机指南构建了Hello World应用程序,并可以对其进行编译,链接和加载。 但在汇编代码中的6个单步之后,它会引导“未定义的指令”。

它在entry()处运行代码,将其转到"_mainCRTStartup(),_start()"。  然后,它尝试执行良性指令:

  LDR  R3,[PC,#0x54]

它将寄存器设置为奇怪的值,将矢量设置为不同的地址。  在这个项目中,我选择了“在程序集步进时禁用中断”和源代码步进,所以我不知道中断如何改变我们的地址。

在此之后,我将包括两个屏幕截图,以显示"之前"和"之后"的情况。  请注意右下角的拆卸窗口以及右上角的"之前和之后"的寄存器值。

罗杰

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

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

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

    您好,Roger,

    Roger Davis37 说:
    在项目中,我选择了"在程序集步进时禁用中断",也选择了源步进,因此我看不出中断如何改变我们的地址。[/QUOT]

    您使用的CCS的确切版本是什么? 在早期CCSv7版本中,此功能存在一个已知问题。 它在7.4 4.0中已修复。 如果您没有使用该版本,是否可以尝试更新到该版本?

    谢谢

    KI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我很想这样做,但我无法下载和安装7.4。 它在安装过程的一半时间内不断进行轰炸,并出现下载错误。 例如

    无法下载ti_dspack_ibsetup_Win32_Win32.exe.exe. 7.4 0.1152 正在重试。

    它在各种文件上失败,而不仅仅是在这个文件上失败。 首先下载整个安装,然后在本地运行以避免此类问题,发生了什么情况?

    罗杰
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否可以下载并尝试脱机的完整zip安装程序? 您可以从以下位置获取:
    software-dl.ti.com/.../CCS7.4.0.0.0015万_win32.zip

    谢谢
    KI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我遇到了同样的错误。 该文件7.4 .0.1152 .exe )应该在哪里-在哪个文件夹中?
    此致
    Ren é
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供安装日志?
    processors.wiki.ti.com/.../Troubleshooting_CCSv7

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

    Roger,

    关于原始错误(Hello world无法正常工作),很遗憾,我无法在此处重现此问题。  

    可能影响调试会话的一个细节是,有时代码需要在重新加载代码之前完全重置,因为在代码首次运行后重新加载时,某些寄存器可能处于意外状态。

    此外,缺少为K2G设备创建Hello world的默认项目模板,因此需要将编译器选项上的选项--specs=nosys.specs替换为--specs=rdimon.specs。  

    查看下面的短片,我在其中展示了所有这些步骤。

    e2e.ti.com/.../2018_2D00_01_2D00_10_5F00_13h21_5F00_40.mp4

    希望这能有所帮助,

    拉斐尔

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

    e2e.ti.com/.../ccs_5F00_setup_5F00_7.4.0.0.0015万_5F00_install.log

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供日志。 检查后,似乎您尝试在已安装CCS的文件夹中安装7.4。 这可能会导致安装尝试出现问题,建议始终安装在新(空)文件夹中。 您能否尝试此操作并查看是否成功?

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

    卸载以前的版本(7.3)后安装失败。

    我提交了日志。 参考编号7.9346万

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    卸载旧版本,新版本解决了我的问题。
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到您能够成功安装。

    ...但是CCS 7.4 0是否解决了您遇到的原始步进问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您正在与两个不同的人进行此线程中的对话。 发布帖子的人员(ME)无法安装7.4。 请参阅上文
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过一些奇迹,我再次下载了zip文件,并能够安装v 7.4。 我没有从中删除任何其他目录,因为它没有安装。 我所做的一个不同之处是,除了K2和Sitara之外,我没有启用其他处理器。
    现在,我将继续尝试发布的视频,看看我是否可以让它发挥作用。 可能需要几天时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在更改为rdimon.specs后,又看到我需要在适当的时间发出CPU重置,程序加载符号并在main()处暂停,并允许我逐步执行代码。 感谢您观看视频。 它使一切都变得不同。

    对于尝试遵循以下内容的任何其他人,总结如下:

    设置:
    1.突出显示Hello项目。 右键单击并选择属性
    2.选择GNU编译器,其他
    3.将“nosys.specs”更改为“rdimon.specs”
    4.重建项目

    要运行:
    1.突出显示hello项目。
    2.按下BUG图标下拉列表,选择K2GEVM XDS200 DEBUG.CCXML开始调试
    3.等待加载
    4.在调试窗口中突出显示Cortex A15,右键单击并连接目标。
    5.如果系统正在运行,请突出显示CortexA15,然后按暂停图标(可能会失败,需要系统重置)
    5.选择“运行”-“重置”-“CPU重置”
    6.在调试窗口中突出显示Cortex A15
    7.运行-加载-加载程序-浏览到以前构建的hello. out程序
    现在,它应该位于main()处,在CortexA15条目下加载了符号,准备逐步浏览代码。

    罗杰