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.

[参考译文] LP-AM263P:在 0-0 以外的内核上构建错误、以及有关使用 CCS 20 创建最小多核示例的文档过时

Guru**** 2796145 points

Other Parts Discussed in Thread: LP-AM263P, AM263P4

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1618740/lp-am263p-errors-building-on-cores-other-than-0-0-and-outdated-documentation-on-creating-a-minimal-multi-core-example-using-ccs-20

器件型号: LP-AM263P
主题: AM263P4 中讨论的其他器件

尊敬的团队:

在 CCS 20 上、使用 LP-AM263P 电路板 (AM263P4) 时、在尝试对一个简单的多核有效示例进行逆向工程时、我遇到了几个问题:

1.我开始通过 Resource Explorer 从适用于 AM263Px 的 MCU+ SDK 导入 r5fss.-._nortos 示例。 r5fss0-0_nortos 会生成任何问题。 其他三个没有。 如果我尝试在导入后直接构建其中任何一个错误(不更改工程内容)、我会收到以下链接器错误(forr 5fss0-1_nortos,其他的类似错误):

[103]构建目标:“r5fss0-1_nortos.out"</s>“
[104]正在调用:ARM 链接器
[105]“C:/ti/ccs2040/ccs/tools/compiler/ti-cgt-armllvm_4.0.4.LTS/bin/tiarmclang.exe xml“-MCpu=cortex-R5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -os -dsOC_nortos-dos_NORTOS -g /ti/mcu_plus_sdk_am263px_11_01_00_19/source/kernel/nortos/lib /ti/mcu_plus_sdk_am263px_11_01_00_19/source/drivers/lib /ti/ccs2040/ccs/tools/compiler/ti-cgt-armllvm_4.0.4.LTS/lib /syscfg/ti_dpl_config.o /syscfg/ti_drivers_config.o /syscfg/ti_drivers_open_close.o /syscfg/ti_pinmux_config.o /syscfg/ti_power_clock_config.o /syscfg/ti_board_config.o /syscfg/ti_board_open_close.o /syscfg/ti_enet_config.o /syscfg/ti_enet_init.o /syscfg/ti_enet_dma_init.o /syscfg/ti_enet_open_close.o /syscfg/ti_enet_soc.o /syscfg/ti_enet_lwipif.o /syscfg/ti_sdl_config.o -ldrivers.am263px.r5f.ti-arm-clang.nortos.release.lib
[106]“syscfg/linker.cmd",“,第、第 125 行:警告#10097:未找到存储器范围:第 0 页上的 USER_SHM_MEM
[107]“syscfg/linker.cmd",“,第、第 124 行:错误#10099-D:程序将无法放入可用的存储器中、或者该段包含一个调用站点、该调用站点需要无法为该段生成的蹦床函数、或者该段包含填充的函数。 对于段“.bss.user_shared_mem"大小“大小 0、带对齐的运行放置失败
[108]“syscfg/linker.cmd",“,第、第 128 行:警告#10097:未找到存储器范围:第 0 页上的 LOG_SHM_MEM
[109]“syscfg/linker.cmd",“,第、第 127 行:错误#10099-D:程序将无法放入可用存储器中、或者该段包含一个调用站点、该调用站点需要无法为该段生成的蹦床函数、或者该段包含填充的函数。 对于大小为 0 的段“.bss.log_shared_mem",“,对、对齐运行放置失败
[110]“syscfg/linker.cmd",“,第、第 131 行:警告#10097:未找到存储器范围:第 0 页上的 RTOS_NORTOS_IPC_SHM_MEM
[111]“syscfg/linker.cmd",“,第、第 130 行:错误#10099-D:程序将无法放入可用的存储器中、或者该段包含一个调用站点、该调用站点需要无法为该段生成的蹦床函数、或者该段包含填充的函数。 对齐段“.bss.ipc_vring_mem"大小“大小为 0 时运行放置失败
[112]“syscfg/linker.cmd",“,第、第 134 行:警告#10097:未找到存储器范围:第 0 页上的 Mailbox_HSM
[113]“syscfg/linker.cmd",“,第、第 133 行:错误#10099-D:程序将无法放入可用的存储器中、或者该段包含一个调用站点、该调用站点需要无法为该段生成的蹦床函数、或者该段包含填充的函数。 对于“.bss.SIPC_HSM_QUEUE_mem"段“段大小为 0、带对齐的运行放置失败
[114]“syscfg/linker.cmd",“,第、第 137 行:警告#10097:未找到存储器范围:第 0 页上的 Mailbox_R5F
[115]“syscfg/linker.cmd",“,第、第 136 行:错误#10099-D:程序将无法放入可用的存储器中、或者该段包含一个调用站点、该调用站点需要无法为该段生成的蹦床函数、或者该段包含填充的函数。 对于大小为 0 的段“.bss.sipc_secure_host_queue_mem",“,带、带对齐的运行放置失败
[116]错误#10010:链接期间遇到错误;未构建“r5fss0-1_nortos.out"</s>“

由于清理、导入且未更改的工程会发生这种情况、因此我怀疑这不是用户错误。 我遇到的文档尚未更新以涵盖 CCS 20(请参阅下一点)、我想知道这个问题的原因是否与此相关、可能是由于一些链接器设置与 CCS 20 环境的交互所致。 您能告诉我如何自行修复构建过程、还是提供最小可工作的.syscfg 和/或 linker.cmd?

2.我在 TI Resource Explorer 中遇到的任何文档都不涉及 CCS 20。 具体而言、有关构建多核工程的说明 (https://dev.ti.com/tirex/content/am26x_academy_10_02_00_03/_build_am26x_academy_10_02_00_03/source/sdk_fundamentals/multicore_application.html) 不适用于 CCS 20:v20、这些说明似乎不支持系统工程或任何允许配置多个内核或用作特定于内核的工程的容器的等效工程类型。 您能告诉我另一个文档、其中详细介绍了在 CCS 20 中设置多核工程的工作流程吗?

感谢您的帮助、
Diego Dolp


编辑:我通过将缺少的存储器区域添加到 syscfg、设法为之前错误的内核构建工程。 这就引出了一个后续问题:如何选择在 CCS 20 中运行工程的核心? 我尝试了 (a) 编辑活动配置的 ccxml、(b) Project -> Properties -> Debug -> Core、以及 (c)、添加了例如 “CPU":“:“Cortex_R5_3"。“。 这些都没有任何区别。

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

    software-dl.ti.com/.../DRIVERS_IPC_NOTIFY_PAGE.htmlHi Diego,

    请从一个简单的 ipc_notify 示例开始、以获得更好的多核调试体验

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“515628" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1618740/lp-am263p-errors-building-on-cores-other-than-0-0-and-outdated-documentation-on-creating-a-minimal-multi-core-example-using-ccs-20
    编辑:我通过将缺少的存储器区域添加到 syscfg、设法为之前错误的内核构建工程。 这就引出了一个后续问题:如何选择在 CCS 20 中运行工程的核心? 我尝试了 (a) 编辑活动配置的 ccxml、(b) Project -> Properties -> Debug -> Core、以及 (c)、添加了例如 “CPU":“:“Cortex_R5_3"。“。 这些都没有任何区别。

    很抱歉给您带来不便。 让我更好地说明一下、您不能选择哪个工程在哪个内核上运行的运行时间、而是每个工程都预先关联了它要在其 example.projectspec 文件的一部分上运行的内核。

    因此、最好从 ipc_notify 开始、然后根据您希望放置逻辑的位置修改特定工程的代码。

    然后启动调试会话 — 连接到每个内核并加载二进制文件:此处为文档- https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/CCS_LAUNCH_PAGE.html

    如果要从闪存运行、请按照本指南 https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/GETTING_STARTED_FLASH.html 进行操作

    请注意、多个内核的.out 通过系统工程在.mcelf 文件中组合在一起

    software-dl.ti.com/.../BUILDING_APPLICATION.html

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

    感谢您的答复!

    我当前的优先事项是让多个 ePWM 模块正常工作和同步、因此我先看看这个问题(可能有几个问题)。 之后我再回到您对多核主题的回答。

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

    我要回去了。“