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.

[参考译文] AWR2944PEVM:刷写 appimage 后无法在独立模式下运行 AWR2944PEVM

Guru**** 2439710 points
Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH, AWR2944EVM, AWR2944PEVM, AWR2944P, AWR2944

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1529146/awr2944pevm-cannot-run-awr2944pevm-in-standalone-mode-after-flashing-appimage

器件型号:AWR2944PEVM
主题中讨论的其他器件: AWR2944P、SYSCONFIG 、UNIFLASH 、AWR2944EVM、 AWR2944

工具/软件:

您好、

我在 AWR2944PEVM 平台上为 ARM Cortex R5F 内核开发了一个 UDP 数据流应用程序。

当我直接在 CCS 12.8.1 调试器中测试应用时、它的行为符合预期、使用 IP 192.168.1.100 将数据从 EVM 传输到 IP 192.168.1.120 的 PC。

以下是显示数据传输的 Wireshark 捕获:

我面临的问题是、我想将应用程序刷写到评估板中、以便在加电后开始以独立模式进行流式传输。

闪烁后、不会有任何流式传输、RJ45 以太网端口上的 LED 保持关闭状态。

以下是我刷写包含 xer5f 应用程序的 appimage 所遵循的步骤:

1.从.xer5f 转换为.rpcp
C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr2x44p_10_00_00_07/tools/boot/out2rprc/elf2rprc.js C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.xer5f

2.应用映像创建
C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr2x44p_10_00_00_07/tools/boot/multicoreImageGen/multicoreImageGen.js --DevID 55 --输出 C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.appimage C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.rprc@0

3.刷写到 AWR2944PEVM 中
Python C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr294x_10_00_00_07/tools/boot/uart_uniflash.py -p COM10 --cfg=C:/HOME/REFLASH/default.cfg

default.cfg 包含以下内容:
-------------------------------------------------------------------------------------------- #
#                                        #
#   与 FLASHWRITER 脚本一起使用的默认配置文件   #
#                                        #
-------------------------------------------------------------------------------------------- #

#首先指向 sbl_uart_uniflash 二进制文件,它作为一个服务器来刷写一个或多个文件
-- flash-writer=sbl_uart_uniflash.release.tiimage

#现在发送一个或多个文件到闪存或 flashverify 根据需要。 发送文件的顺序无关紧要

#发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 期望引导加载程序位于偏移量 0x0 处
-file=sbl_qsp.release.tiimage --operation=flash --flash-offset=0x0

#将应用程序映像发送到闪存。 按照 SBL 在这个位置所期望的那样、在 0xA0000 处刷写它
-file=C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.appimage --operation=flash --flash-offset=0xA0000

根据我在那里写的所有内容、我的问题的原因是什么?

BR、

Adrien

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

    我忘记了显示 cmd 提示符的刷写屏幕截图:

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

    您好:

    对于步骤 1 和 2、您似乎使用的是 2x44p SDK、而不是 294x SDK。

    由于您使用的是 AWR2944EVM、因此请尝试使用 294x SDK、但执行相同的步骤。 2x44p SDK 适用于 AWR2x44PEVM。 如果这样可以解决问题、请告诉我。

    此致、

    Gabriel

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

    您好 Gabriel、

    感谢您的答复。 关于我的问题、我实际上使用的是 2944P、而不是传统的 2944。 这就是我选择使用 2x44p SDK 的原因。

    BR、

    Adrien

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

    您好:

    好的、在这种情况下您使用的 uart_unifalsh.py 应用程序错误。

    请使用 2x44p mcuplus SDK 进行评估。 它将位于同一文件路径中。 如果可以、请告诉我。

    此致、

    Gabriel

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

    您好 Gabriel、

    实际上、我在 UART 脚本闪存路径中犯了一个错误。 不过、我检查了 awr2x44p 和 awr2944 SDK 文件夹之间 python 脚本的差异、我注意到它们完全相同。 我仍然继续进行更改、并再次运行 UART 闪存脚本。

    我的问题仍然存在。

    BR、

    Adrien

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

    您好:

    好的、我在您的步骤 2 中看到另一个可能的问题。 缺少用于构建此处显示的应用程序映像的固件映像。

    C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_DFP_02_04_17_00\firmware\radarss\xwr2x4xp_radarss_metarprc.bin

    (作为参考,接下来是@3)

    还有一些示例可以更好地验证您是否正确构建了应用程序映像。 SDK 中有一个 makefile、并且 AWR2x44p 有一个 OOB projectspec、这两个项目都用于构建应用程序映像。 我谨随函附上。 按照 makefile 中的 bin 命令和 projectspec 文件中的预编译/编译后处理步骤操作。  

    Makefile: c:\ti\mmwave_mcuplus_sdk_04_07_00_01\mmwave_mcuplus_sdk_04_07_00_01\ti\demo\awr2x44P\mmw_dDM\makefile

    e2e.ti.com/.../1512.awr2x44p_5F00_mmw_5F00_demo_5F00_mssDDM.projectspec

    此致、

    Gabriel

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

    您好 Gabriel、

    由于我的 UDP 演示不需要 RSS 固件、我最初将其删除。 我刚刚测试了将它添加到 FLASH 命令中、就像您建议的那样:

    C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mcu_plus_sdk_awr2x44p_10_00_00_07/tools/boot/multicoreImageGen/multicoreImageGen.js --DevID 55 --输出 C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.appimage C:/HOME/REFLASH/test_demo/udp_stream_awr2944p_mss_evm.rprc@0 C:/ti/mmwave_mcuplus_sdk_04_07_00_01/mmwave_dfp_02_04_17_00/firmware/radarss/xwr2x4xp_radarss_metarprc.bin@3.

    但这并不能解决我的问题。

    为了与经典 AWR2944 EVM 进行比较、我为我的应用获取了相同的 MSS 代码、并针对 AWR2944 EVM 修改了 SysConfig 文件。
    我使用了 SDK 04.07.00.01 和 awr294x 路径来构建.xer5f MSS 映像。
    刷写生成的.appimage 产生的结果与以前相同、RJ45 连接器上没有通过以太网端口进行通信、也没有 LED 通电。
    因此、我想知道 SDK 04.07.00.01 是否不是问题的原因。

    我一直使用经典的 AWR2944 EVM 电路板、但这次使用 SDK 04.06.00.01 构建 MSS 应用程序。
    我应用了与以前相同的过程,即使没有在.appimage 生成中添加 RSS 固件

    1.从.xer5f 转换为.rpcp
    C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mcu_plus_sdk_awr294x_09_00_00_15/tools/boot/out2rprc/elf2rprc.js C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.xer5f

    2.应用映像创建
    C:/ti/sysconfig_1.23.1/nodejs/node C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mcu_plus_sdk_awr294x_09_00_00_15/tools/boot/multicoreImageGen/multicoreImageGen.js --DevID 55 --输出 C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.appimage C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.rprc@0

    3.刷写到 AWR2944EVM 中
    Python C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mcu_plus_sdk_awr294x_09_00_00_15/tools/boot/uart_uniflash.py -p COM5 --cfg=C:/HOME/REFLASH/test_demo_awr2944_sdk4601/default_awr2944_sdk4601.cfg

    default_awr2944_sdk4601.cfg 包含以下内容:
    -------------------------------------------------------------------------------------------- #
    #                                        #
    #   与 FLASHWRITER 脚本一起使用的默认配置文件   #
    #                                        #
    -------------------------------------------------------------------------------------------- #

    #首先指向 sbl_uart_uniflash 二进制文件,它作为一个服务器来刷写一个或多个文件
    -- flash-writer=C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mmwave_mcuplus_sdk_04_06_00_01/tools/awr294x/sbl_uart_uniflash.release.tiimage

    #现在发送一个或多个文件到闪存或 flashverify 根据需要。 发送文件的顺序无关紧要

    #发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 期望引导加载程序位于偏移量 0x0 处
    --file=C:/ti/mmwave_mcuplus_sdk_04_06_00_01/mmwave_mcuplus_sdk_04_06_00_01/tools/awr294x/sbl_qspi.release.tiimage --operation=flash --flash-offset=0x0

    #将应用程序映像发送到闪存。 按照 SBL 在这个位置所期望的那样、在 0xA0000 处刷写它
    -file=C:/HOME/REFLASH/test_demo_awr2944_sdk4601/udp_stream_awr2944_sdk4601_mss_evm.appimage --operation=flash --flash-offset=0xA0000


    现在结果是可以的。 刷写 AWR2944 EVM 板后、我的 UDP 演示运行良好、我的数据从 EVM 流式传输到 PC 上、没有任何问题。


    我认为我的问题隐藏在 SDK 04.07.00.01 的 SysConfig 管理背后、但我仍然找不到出现问题的地方。  
    我会继续看它,我会让你知道我的进展。

    BR、
    Adrien

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

    好的、这是有趣的行为、感谢您让我知道。 关闭此主题、如果出现另一个问题、您可以启动另一个主题并引用该主题。

    此致、

    Gabriel

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

    您好 Gabriel、

    很抱歉耽误你的时间。

    我希望保持该主题处于打开状态、因为尚未找到有关问题的指示。

    BR、

    Adrien

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

    您好:

    我理解、但由于当前没有更多问题、因此该主题应关闭。 如果您对 SysConfig 文件可能对其有何影响有疑问、请提出该问题、我们可以继续、否则无法通过协议让 E2E 保持打开状态、因为即使是由于解决方法问题、问题也已得到解决。 同样、如果您有其他问题、可以创建新主题并参考此 E2E、我们会及时为您提供帮助。 请告诉我

    此致、

    Gabriel

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

    您好 Gabriel、

    实际上、我有一个临时权变措施、使用 AWR2944 经典 EVM 和 SDK 04.06.00.01、但我无法更长时间地保持此解决方案。 计划使用提供新功能的新 AWR2944P EVM、现在由于我提到的 SDK 4.7+问题、我无法使用它。 因此、现在我确实需要您的帮助、以我的方式使用 SDK 4.7+和 SysConfig 时出现了什么问题。

    BR、

    Adrien

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

    您好:

    好的、我理解。 我将调查并在明天的一天结束时回复您。

    此致、

    Gabriel

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

    您好:

    我比较了  elf2rprc.js 和 multicoreImageGen.js、它们在两个不同的 SDK 中完全相同。 如果可以、可以为我尝试几项测试吗?

    使用为 294x 和 2x44p 创建的 4.7.0.1 应用映像、并执行我在 SDK 4.7.0.1 中指定的所有测试

    1) 在默认.cfg 中使用 SDK 4.6 中的 sbl_uart_uniflash.release.tiimage。 仅对 2x44p 和 294x 进行此更改和测试

    2) 在第二个测试中、使用 SDK 4.6 中的 sbl_sqsp.release.tiimage。 仅 对 2x44p 和 294x 进行此更改和测试

    这些是我目前唯一可以想到的差异、因为您在指定的测试中使用了相同的 SysConfig 版本。 请告诉我结果。

    此致、

    Gabriel

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

    您好 Gabriel、

    我对 AWR2944 和 AWR2944P EVM 进行了测试、结果如下:

    AWR2944

    1) 问题未解决。 EVM 与 PC 之间没有通信、RJ45 端口上的 LED 已断电。

    2) 结果是好的,我的 UDP 传输从 EVM 到我的 PC 工作正常!

    AWR2944P

    1) 刷写过程为 KO、使用 SBL_QSPI 的第二步从未启动。

    2) 刷写程序是可以的。 但结果并非如此。 RJ45 上的 LED 已通电、但 EVM 和我的 PC 之间没有传输。 我很确定、在将.xer5f 应用程序加载到 CCS 调试器的 R5 内核之前、我也对该应用程序进行了重新测试。 此调试测试正常、UDP 传输按预期工作。

    因此、AWR2944 有所改进、但 AWR2944P EVM 需要进行更多调查。

    此致、

    Adrien

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

    您好:

    该问题似乎与 QSPI 映像有关。 此映像本质上是从闪存中获取应用映像并使用 QSPI 加载它。 这是合理的、因为当您使用 CCS 调试器时、它是有效的、因为 CCS 正在进行加载。 为了帮助解决这个问题、您可以创建自己的 QSPI 映像来调试问题。 SDK 中提供了一些示例、您可以自行构建。 请按照以下步骤操作。

    -将 QSPI 示例导入 CCS。 它存在于以下路径中。 对于 SDK 4.6 也是相同的路径。 要导入这两个文件、您需要在 example.projectspec“中更改工程名称

    C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mcu_plus_sdk_awr294x_10_00_07\examples\drivers\boot\sbl_qspi\awr294x-evm\r5fss0-0_nortos\ti-arm-clang

    -您现在可以编辑和构建这两个项目。 我将对中的差异进行比较、了解哪些内容有助于修复 SDK 4.7 的 QSPI 映像。  

    -然后您可以用您自己的自定义映像替换 default.cfg 中的 QSPI 映像并继续测试。 找到解决问题的更改后、您可以尝试对以下路径中存在的 2x44p QSPI 映像进行相同的更改。

    C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mcu_plus_sdk_awr2x44p_10_00_00_07\examples\drivers\boot\sbl_qsp\awr2x44p-evm\r5fss0-0_nortos\ti-arm-clang

    由于您的应用程序具有高定制性、我无法对此提供帮助、但我可以回答有关我分享的特定流程的任何问题。 希望通过一些调试、这样可以解决您的问题。

    此致、

    Gabriel