Thread 中讨论的其他器件:UNIFLASH、 SYSCONFIG
工具/软件:
我目前使用的是以下设备:
- CCS 版本 20.1.1.8
- MCU_PLUS_SDK_am263px_10_02_00_15
我已导入示例工程 sbl_ospi_morple_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang 并进行了以下修改。
- 在 OSPI 配置中、将引脚分配从任意更改为最初选择的引脚(避免了已知的 TI 错误、即“ANY"选择“选择会将 OSPI 引脚更改为错误的配置)
- 更改 Booloader 配置、使所有内核都独立运行。
- 在 main() 函数的顶部添加 loop_forever() 函数调用以允许调试。
- 使用 Release 配置进行构建。
我还导入了 tmu_cores_support=am263px-cc_system_nortos 工程、以创建我认为应该是有效多核映像的工程。 这是在 Release 编译配置中构建的、没有对工程进行任何更改。
调试步骤:
- 关闭 CCS 并打开 Uniflash(在处理 XDS110 连接时,这两个无法同时可靠地打开)。
- 将 Uniflash 器件配置为 AM263PX、并将连接配置为 XDS110 USB 调试探针、然后按 START。
- 在 UniFlash Program 窗口中、选择 SBL 映像作为 sbl_ospi_morple_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang 的发布编译中的映像。 然后将应用程序映像设置为 tmu_cores_support=am263px-cc_system_nortos 发布版本中的映像
- 在应用程序映像中、将加载地址更改为 0x60081000(这是文档中所述的内容,也在 SysConfig 中针对 SBL ospi 多核示例进行了配置)。
- 点击“Load Image“(加载映像)并等待其完成。
- 关闭 UniFlash 并打开 CCS。
- 对电路板进行下电上电。
- 在没有 GEL 文件的情况下启动调试会话、并连接到内核 R5_0
- 从 sbl_ospi_Modore_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang 加载符号文件。 它应该放入 loop_forever() 函数中。
- 在调用 Bootloader_parseAndLoadMultiCoreELF () 函数的行设置断点。
- 将“loop"变量“变量的值更改为 0、然后允许调试会话运行。 它应到达之前设置的断点。
- 请注意、在调用 Bootloader_parseAndLoadMultiCoreELF () 之前、“status"变量“变量的值为 0。
- 检查 Bootloader_parseAndLoadMultiCoreELF() 函数、观察“status"变量“变量现在为–1。
我很有信心、我在这里可能遗漏了一些非常简单的东西。 实际上 、Bootloader_parseAndLoadMultiCoreELF () 函数似乎没有检测到有效的映像、但我无法确定这里配置的不正确。