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.

[FAQ] [参考译文] 【常见问题解答】AM2612-Q1:如何使用 CCS Theia 调试 XIP 应用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1600517/faq-am2612-q1-how-to-debug-xip-application-using-ccs-theia

器件型号: AM2612-Q1

尊敬的专家:

请分享使用 CCS Theia 调试 XIP 应用的步骤。

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

    在本练习中、我们使用 AM261x Launchpad。 但是、 所有 AM263P 和 AM261 器件的步骤相同


    请查看以下步骤概述

    1.准备申请

    2.修改目标配置

    3.刷写应用程序并引导相同程序

    4.调试应用程序

     


    请按照以下步骤使用 CCS Theia 调试 XIP 应用。

    A.准备申请书

    1.作为调试 XIP 的示例、我们将使用以下示例:

    示例路径:examples\hello_world_XIP_FSS1

    在 CCS 中加载示例并构建示例。

    2. 在构建示例之前,我们需要更改 devconfig.mak 文件中的闪存窗口地址范围。 此示例使用了从 0x8000 0000 到 0x8800 0000 的第二个闪存窗口、因此我们可以更改此 MCEL_XIP_FLASH_RANGE 值。 如果您的应用使用 0x6000 0000 范围内的闪存。 则这不是必需的。 此闪存范围属于第一个闪存窗口。

    开发 XIP 应用时、链接器需要与 SDK 文档中提及该应用的方式保持一致。

    3、 在主函数内的后面加上一个 while 循环。

    我们在 OSPI 引导模式下调试 XIP 应用。 在 OSPI 引导模式下、一旦刷写和引导应用、应用程序就会运行。 我们需要在 main 函数处停止它。 为此、我们将添加此 while (1) 循环。


    b.  修改目标配置

    4. 常规目标配置不能用于 XIP 调试。 目标配置需要进行一些更改。 使用新名称创建新目标配置。 在这里、我创建了一个名为 AM261_XIP.ccxml 的目标配置。 要‘新的目标配置、请点击调试窗口中目标配置部分的“+"图标“图标。

    5. 选择 AM261x 器件

    6.不需要 GEL 脚本、因此删除 GEL 脚本。 初始化脚本字段应为空白、可删除 GEL 脚本。

    7.现在在无工程调试模式下启动目标配置。

    8、右键点击该内核并选择“Properties",“,然后、然后转到“Debug"。“。

    9.在类别为  Program/Memory Load Options 的调试窗口中、 禁用以下选项

    a.启用 CIO 函数使用(需要设置断点)

    b.启用半主机断点(要求在 SVC_Handler 处设置断点)

    ‘将类别更改为‘D“DBugger Options“并禁用“Allow Software breakpoints to be used“。


    C.刷写和引导应用程序

    11、现在刷写示例应用程序和 SBL。

    SBL 在偏移处刷写:0x0

    应用程序在偏移处刷写:0x81000

    这些是默认的闪存偏移量。 可以使用默认的预编译 SBL。 如果调试定制电路板、则根据需要对齐闪存和 ospi 配置以及引脚多路复用。

    刷写后、引导示例。


    D.调试 应用程序

    12.启动示例后、连接到内核、

    连接后、加载符号。 符号指的是,OUT 文件。 该选项位于 Run > Load > Load Symbols…中

    找到.out 文件并加载符号。

    13.加载后,我们可以看到执行卡在 main 内的 while 循环。 循环控制变量显示在变量窗口中。 修改此参数以进行调试。

    14. 修改循环控制变量并向前调试。

    我们可以在 UART 终端中看到输出。