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.

[参考译文] AM263X-AM263X:多核调试导致中止 MCU-PLUS-SDK

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1404817/mcu-plus-sdk-am263x-multicore-debug-causes-abort

器件型号:MCU-PLUS-SDK AM263X

工具与软件:

自从使用 AM263Px 以来、在调试多核应用时一直遇到问题。 症状是、如果多个内核同时运行且两个内核都连接在一起。 我正在 AM263Px 控制卡评估模块上使用 SBL_NULL (而非 DEV_BOOT)。 我看到的症状是异常中断。

 

SDK 版本:

MCU_PLUS_SDK_am263px_09_02_00_56

 

我在此处创建了一个主题:

E2E-AM263X:数据中止故障排除、寄存器分析-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI MCU-PLUS-SDK 支持论坛

…μ A 但转到了其他工作、从不解决问题。

 

我还看到了相关讨论:

(+) E2E-AM273X:多核应用的调试不可靠-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI MCU-PLUS-SDK 支持论坛

(+) AM2634:多核 FreeRTOS 空项目无法正常工作-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

(+) E2E-AM263X:多核调试目标配置/Gel 文件澄清-基于的微控制器论坛-基于 Arm 的微控制器- TI MCU-PLUS-SDK 支持论坛

 

我查看了这些、但在这些线程中没有看到解决方案。

 

 

我正在使用示例 SDK 工程:

/ipc_spinlock_sharedmem_am263px-cc_system_freertos_nortos

…μ A 来展示。

  • 选择系统项目并单击"Debug"

 

  • 这会在控制台中触发以下输出:

 

Cortex_R5_0:GEL 输出:在 R5F0上加载的 GEL 文件完成

Cortex_R5_0:GEL 输出:***OnTargetConnect ()已启动***

 

Cortex_R5_0:GEL 输出:AM263Px 初始化脚本已启动。

请稍候...

 

 

Cortex_R5_0:GEL 输出:AM263 Px_Cryst_Clock_Loss_Status ()已启动

Cortex_R5_0:GEL 输出:晶体时钟存在

Cortex_R5_0:GEL 输出:AM263Px_SOP_Mode ()已启动

Cortex_R5_0:GEL 输出:SOP 模式= 0x00000003    

Cortex_R5_0:GEL 输出:

 OSPI - 8S 功能引导模式

Cortex_R5_0:GEL 输出:AM263 Px_Read_Device_Type ()已启动

Cortex_R5_0:GEL 输出:EFuse 设备类型值= 0x000000AA    

Cortex_R5_0:GEL 输出:AM263Px_dual_or_lockstep_mode ()已启动

Cortex_R5_0:GEL 输出:r5fss0 = 0x00000001    

Cortex_R5_0:GEL 输出:r5fss1 = 0x00000000    

Cortex_R5_0:GEL 输出:

 R5FSS0采用双核模式

Cortex_R5_0:GEL 输出:

 R5FSS1采用双核模式

Cortex_R5_0:GEL 输出:MSS_CTRL 控制寄存器未锁定

Cortex_R5_0:GEL 输出:MSS_TOP_RCM 控制寄存器未锁定

Cortex_R5_0:GEL 输出:MSS_RCM 控制寄存器未锁定

Cortex_R5_0:GEL 输出:MSS_IOMUX 控制寄存器未锁定

Cortex_R5_0:GEL 输出:TOP_CTRL 控制寄存器未锁定

Cortex_R5_0:GEL 输出:

 

*** R5FSS0重置双内核***

Cortex_R5_0:GEL 输出:

 

***R5FSS1重置双内核***

Cortex_R5_0:GEL 输出:R5F ROM Eclipse

Cortex_R5_0:GEL 输出:R5FSS0_0已释放

Cortex_R5_0:GEL 输出:R5FSS0_1已发布

Cortex_R5_0:GEL 输出:R5FSS1_0被释放

Cortex_R5_0:GEL 输出:R5FSS1_1已发布

Cortex_R5_0:GEL 输出:L2存储器初始化完成

Cortex_R5_0:GEL 输出:邮箱存储器初始化完成

Cortex_R5_0:GEL 输出:xxxx*** R5FSS0/1双核模式已配置****

Cortex_R5_0:GEL 输出:SYS_CLK DIVBY2

Cortex_R5_0:GEL 输出:DPLL_CORE_HSDIV0_CLKOUT0被选为 R5FSS 和 SYS CLK 的 CLK 源

Cortex_R5_0:GEL 输出:

 CLK 已编程400MHz 且200MHz

Cortex_R5_0:GEL 输出:

 

 ***启用外围设备时钟***

Cortex_R5_0:GEL 输出:启用 RTI[0:3]时钟

Cortex_R5_0:GEL 输出:启用 RTI_WDT[0:3]时钟

Cortex_R5_0:GEL 输出:启用 UART[0:5]/LIN[0:5]时钟

Cortex_R5_0:GEL 输出:启用 QSPI 时钟

Cortex_R5_0:GEL 输出:启用 I2C 时钟

Cortex_R5_0:GEL 输出:启用跟踪时钟

Cortex_R5_0:GEL 输出:启用 MCAN[0:3]时钟

Cortex_R5_0:GEL 输出:启用 MMCSD 时钟

Cortex_R5_0:GEL 输出:启用 MCSPI[0:4]时钟

Cortex_R5_0:GEL 输出:启用 CONTROLSS 时钟

Cortex_R5_0:GEL 输出:启用 CPTS 时钟

Cortex_R5_0:GEL 输出:启用 RGMI[5、50,250]时钟

Cortex_R5_0:GEL 输出:启用 XTAL_TEMPSENSE_32K 时钟

Cortex_R5_0:GEL 输出:启用 XTAL_MMC_32K 时钟

Cortex_R5_0:GEL 输出:

 

 ***所有 IP 时钟均已启用***

 

Cortex_R5_0:AM263Px

Cortex_R5_0:选择的电路板:CC

Cortex_R5_0:选择的器件:标准

Cortex_R5_1:AM263Px

Cortex_R5_1:选择的电路板:CC

Cortex_R5_1:选择的器件:标准

 

3)

最终两个内核都在 main 暂停。

 

4)

我可以运行内核 r5fss0-0、并在停止内核 r5fss0-1时停止它。

 

5)

我可以运行内核 r5fss0-1、并在停止内核 r5fss0-0时停止它。

6)

但是、当我运行时、如果尝试同时运行内核 r5fss0-1、然后启动 r5fss0-0、r5fss0-1上会立即发生中止。

 

请提供建议。

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

    嗨、Tollman、

    所以,我认为发生这个问题的原因是您使用的 SBL 空引导,但 CCS 仍在启动 OnTargetConnect ()函数,并尝试重新配置器件,就像在无引导模式。

    您能否导航到 C://ti/ccs12xx/ccs/ccs_base/emulation/gel/AM263Px/AM263Px.gel 并注释掉下面的屏幕截图中所示的第78-103行、并在运行后告知我您的结果?

    谢谢!

    Zackary Fleenor