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.

[参考译文] AM625-Q1:从自定义应用程序引导 R5F 时出现问题

Guru**** 2422250 points
Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1527216/am625-q1-issue-in-booting-r5f-from-a-custom-application

器件型号:AM625-Q1
Thread 中讨论的其他器件:SYSCONFIG、UNIFLASH

工具/软件:

你(们)好  

我正在开发 SK-AM-62-LP 板、并尝试使用简单的自定义应用程序引导 R5F 代码。 我们不使用 CCS Studio 生成二进制文件。

相反、我们有自己的  CMakeLists.txt、工具链.cmake、linker.cmd 和.syscfg 以及 我们使用 SysConfig 工具生成驱动程序源代码时使用这些工具。

 

当我通过 SBL 预编译文件进行刷写时生成的二进制文件失败、如下面的屏幕截图所示。

对我来说、r5f 似乎由于某种原因未初始化、但我无法理解/调试此情形。

我们已尝试使我们的 makefile 尽可能靠近 CCS 工程中的 makefile、并使用了 MCU_PLUS_SDK_am62x_11_00_16 中可用的所有必要工具进行该操作。

如果您需要更多有关此方面的信息、请告诉我。 如果需要、我们可以共享文件

此致

Mayank

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

    在这种情况下有一个发展。 我们发现在歌唱中错过了一个选项——authtype。 加入之后、我们就能看到它通过了

    但我们仍然没有在 DMR5/唤醒 UART 上看到任何输出。

    如此处所述

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

    我们链接了必要的词条,也调用了 sciServer_init ();

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

    尊敬的 Mayank:

    在您使用 SBL NULL 时、我假设您没有在 DM R5 上引导任何应用程序、您能否确认是否通过 CCS 在 DM R5 上加载某些应用程序、如果没有、那么预计您没有来自 DM R5 的任何日志、因为它未运行任何应用程序。

    您正在按预期从 SBL NULL 获取引导日志: software-dl.ti.com/.../EVM_SETUP_PAGE.html

    此致、

    会面。

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

    是的、我正在加载一个应该在唤醒 UART 上打印的简单 FreeRTOS 应用。 由于 CCS 无法加载 DM R5 应用程序、我正在通过 uart_uniflash.py 进行刷写。

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

    尊敬的 Mayank:

    您必须检查第 3 个 USB 串行端口、有关从 DM R5F (WKUP R5F) 运行的示例、请参阅以下内容: software-dl.ti.com/.../EVM_SETUP_PAGE.html

    我在 WKUP UART 上获得了预期的日志:

    Sciserver Testapp Built On: Jun 17 2025 11:38:10
    Sciserver Version: v2025.04.0.0-REL.MCUSDK.K3.11.00.00.16+
    RM_PM_HAL Version: v11.00.07
    Starting Sciserver..... PASSED
    [IPC RPMSG ECHO] Version: REL.MCUSDK.K3.11.00.00.16+ (Jun 17 2025 11:40:01):  
    

    此致、

    会面。

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

    是的、我正在检查第 3 个 USB 串行端口(唤醒 UART)并在使用 TI 环境时获取此输出。

    如前所述、我使用的是自定义应用程序、不使用 CCS Studio 生成二进制文件。

    在这两种情况下、源代码、链接器、.syscfg 文件都是相似的。  

    由于这是一个自定义工程、我们已使用  mcu_plus_sdk_am62x_11_00_00_16 中提供的工具来创建二进制文件。 创建的二进制文件似乎不起作用。

    我们定制项目的 make 过程几乎模拟 TI CCS 环境中的 make。 加载和运行 DM R5 是否需要考虑任何脏的特定详细信息?

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

    您可以共享您的 syscfg 文件吗? 您需要从 syscfg 为您的应用启用 UART 日志。

    是否也可以共享 makefile 文件? 它与 SDK 中的 makefile 完全相同吗?

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

    以来,开放论坛. 我们可以通过邮件提供文件。 那就好吗?

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

    您能否只需确保在 syscfg 中选中“Enable UART:

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

    是的、已选中。 我们直接使用了 TI 示例中的 syscfg 文件

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

    您是否在 DM 应用开始时调用 LOOP_FOREVER? 如果是、则可能是卡在那里。 如果这也不是问题、那么您可以尝试调试应用程序并尝试查看您面临问题的地方、本指南也能为您提供相同的帮助: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/10_01_00_33/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html#autotoc_md308

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们面临的问题是、自定义项目生成的映像未按预期运行。
    主 UART 显示正确的输出(我将附加日志)、但 DM/R5 UART 上没有输出。
    我还附上以下内容供您参考:
    • main.c) 我正在编译的示例 FreeRTOS(文件)。
    • 来自终端的构建日志。
    请帮助我们确定根本原因。 如果您需要更多信息、请告诉我


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

    尊敬的 Mayank:

    请另外共享刷写日志。

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

    你(们)好

    随附了刷写日志

    e2e.ti.com/.../6114.flashing-logs.txt

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

    尊敬的 Mayank:

    我很难评论此处的编译环境可能存在什么问题、您提到应用程序可以在默认 MCU+SDK 编译环境下工作、您的编译设置可能存在一些问题。 现在、我建议您连接到 CCS 并检查应用程序卡住的位置或什么不工作。 此调试将有助于识别 UART 本身是否存在问题、或者您是否因另一个问题而卡在其他地方(从您发送的日志中看,SBL 似乎正在工作、并能够将应用程序加载到 R5F 中)。 本指南将帮助您调试应用: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_00_00_16/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html#autotoc_md325 

    请尝试一下、让我知道您的观察结果、以便我进一步提出建议。

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

    尊敬的会议:

    请查看我们的映像生成过程、并告诉我们您是否认为正确。

    它在 CMakeLists.txt 文件中完成、在 Linux 主机上执行并生成多个映像。

    # ==================== GLOBAL BUILD VARIABLES ===================
    
    [............]
    
    set(EXECUTABLE_NAME vip_r5f.elf)
    
    set(LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/config/toolchain/linker.cmd)
    
    [............]
    
    set(TI_STRIP_TOOL_PATH ${TI_ARM_CLANG_BIN_DIR}/tiarmstrip)
    set(TI_APPIMAGE_GEN_PATH $ENV{MCU_PLUS_SDK_PATH}/tools/boot/multicoreImageGen/MulticoreImageGen)
    set(TI_APPIMAGE_CERT_PY_PATH $ENV{MCU_PLUS_SDK_PATH}/tools/boot/signing/appimage_x509_cert_gen.py)
    set(TI_ELF2RPRC_JS_PATH $ENV{MCU_PLUS_SDK_PATH}/tools/boot/out2rprc/elf2rprc.js)
    set(TI_XIPGEN_PATH $ENV{MCU_PLUS_SDK_PATH}/tools/boot/xipGen/xipGen.out)
    
    set(ELF_OUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${EXECUTABLE_NAME}.out)
    set(STRIPPED_ELF_OUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.elf.out)
    
    set(RPRC_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f.rprc)
    set(STRIPPED_RPRC_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.rprc)
    set(TMP_RPRC_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f.rprc.tmp)
    set(TMP_STRIPPED_RPRC_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.rprc.tmp)
    set(XIP_RPRC_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f.rprc.xip)
    set(STRIPPED_XIP_RPRC_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.rprc.xip)
    
    set(APPIMAGE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f.appimage)
    set(STRIPPED_APPIMAGE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.appimage)
    set(SIGNED_APPIMAGE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f.appimage.hs_fs)
    set(SIGNED_STRIPPED_APPIMAGE_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.appimage.hs_fs)
    set(APPIMAGE_XIP_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f.xip.appimage)
    set(SIGNED_APPIMAGE_XIP_PATH ${APPIMAGE_XIP_PATH}.hs_fs)
    set(STRIPPED_APPIMAGE_XIP_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/vip_r5f_stripped.xip.appimage)
    set(SIGNED_STRIPPED_APPIMAGE_XIP_PATH ${STRIPPED_APPIMAGE_XIP_PATH}.hs_fs)
    
    set(TI_XIPGEN_FLASH_START_ADDR 0x60000000)
    
    set(TI_APPIMAGE_GEN_DEVICE_ID "55")
    set(TI_APPIMAGE_GEN_ENDIANNESS "LE")
    set(TI_APPIMAGE_GEN_CORE_ID "0x04")
    
    set(TI_APPIMAGE_CERT_PY_AUTHTYPE 0)
    set(TI_APPIMAGE_CERT_PY_CORE_ID r5_cl0_c0)
    set(TI_APPIMAGE_CERT_PY_KEY_PATH $ENV{MCU_PLUS_SDK_PATH}/tools/boot/signing/app_degenerateKey.pem)
    set(TI_APPIMAGE_CERT_PY_KEY_VERSION 1.5)
    set(TI_APPIMAGE_CERT_PY_LOADADDR 84000000)
    
    set(TI_ELF2RPRC_JS_SW_VERSION 1.0)
    
    find_program(NODE_EXECUTABLE node REQUIRED)
    find_program(PYTHON3_EXECUTABLE python3 REQUIRED)
    
    # ==================== GLOBAL BUILD OPTIONS =====================
    
    add_compile_options(-g)
    
    add_link_options(
       -Wl,--diag_suppress=10063
       -Wl,--priority
       -Wl,--ram_model
       -Wl,--reread_libs
       -Wl,${LINKER_SCRIPT}
    )
    
    # ==================== POST PROCESSING STEPS ====================
    
    add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD
       COMMAND ${TI_STRIP_TOOL_PATH} -o ${STRIPPED_ELF_OUT_PATH} ${ELF_OUT_PATH}
       COMMENT "Creating stripped .elf.out"
    )
    
    add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD
       COMMAND ${NODE_EXECUTABLE}
          ${TI_ELF2RPRC_JS_PATH}
          ${ELF_OUT_PATH}
          ${TI_ELF2RPRC_JS_SW_VERSION}
          ${RPRC_PATH}
       COMMAND ${NODE_EXECUTABLE}
          ${TI_ELF2RPRC_JS_PATH}
          ${STRIPPED_ELF_OUT_PATH}
          ${TI_ELF2RPRC_JS_SW_VERSION}
          ${STRIPPED_RPRC_PATH}
       COMMENT "Generating .rprc (full and stripped)"
    )
    
    add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD
       COMMAND ${CMAKE_COMMAND} -E copy ${RPRC_PATH} ${TMP_RPRC_PATH}
       COMMAND ${CMAKE_COMMAND} -E copy ${STRIPPED_RPRC_PATH} ${TMP_STRIPPED_RPRC_PATH}
       COMMAND ${TI_XIPGEN_PATH}
          -i ${TMP_RPRC_PATH}
          -o ${RPRC_PATH}
          -x ${XIP_RPRC_PATH}
          --flash-start-addr ${TI_XIPGEN_FLASH_START_ADDR} -v
       COMMAND ${TI_XIPGEN_PATH}
          -i ${TMP_STRIPPED_RPRC_PATH}
          -o ${STRIPPED_RPRC_PATH}
          -x ${STRIPPED_XIP_RPRC_PATH}
          --flash-start-addr ${TI_XIPGEN_FLASH_START_ADDR} -v
       COMMENT "Generating .rprc.xip (full and stripped)"
    )
    
    add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD
       COMMAND ${TI_APPIMAGE_GEN_PATH}
          ${TI_APPIMAGE_GEN_ENDIANNESS}
          ${TI_APPIMAGE_GEN_DEVICE_ID}
          ${APPIMAGE_PATH}
          ${TI_APPIMAGE_GEN_CORE_ID}
          ${RPRC_PATH}
       COMMAND ${TI_APPIMAGE_GEN_PATH}
          ${TI_APPIMAGE_GEN_ENDIANNESS}
          ${TI_APPIMAGE_GEN_DEVICE_ID}
          ${STRIPPED_APPIMAGE_PATH}
          ${TI_APPIMAGE_GEN_CORE_ID}
          ${STRIPPED_RPRC_PATH}
       COMMAND ${TI_APPIMAGE_GEN_PATH}
          ${TI_APPIMAGE_GEN_ENDIANNESS}
          ${TI_APPIMAGE_GEN_DEVICE_ID}
          ${APPIMAGE_XIP_PATH}
          ${TI_APPIMAGE_GEN_CORE_ID}
          ${XIP_RPRC_PATH}
       COMMAND ${TI_APPIMAGE_GEN_PATH}
          ${TI_APPIMAGE_GEN_ENDIANNESS}
          ${TI_APPIMAGE_GEN_DEVICE_ID}
          ${STRIPPED_APPIMAGE_XIP_PATH}
          ${TI_APPIMAGE_GEN_CORE_ID}
          ${STRIPPED_XIP_RPRC_PATH}
       COMMENT "Generating .appimage and .xip.appimage (full and stripped)"
    )
    
    add_custom_command(TARGET ${EXECUTABLE_NAME} POST_BUILD
       COMMAND ${PYTHON3_EXECUTABLE} ${TI_APPIMAGE_CERT_PY_PATH}
          --authtype ${TI_APPIMAGE_CERT_PY_AUTHTYPE}
          --bin ${APPIMAGE_PATH}
          --core ${TI_APPIMAGE_CERT_PY_CORE_ID}
          --key ${TI_APPIMAGE_CERT_PY_KEY_PATH}
          --keyversion ${TI_APPIMAGE_CERT_PY_KEY_VERSION}
          --loadaddr ${TI_APPIMAGE_CERT_PY_LOADADDR}
          --output ${SIGNED_APPIMAGE_PATH}
       COMMAND ${PYTHON3_EXECUTABLE} ${TI_APPIMAGE_CERT_PY_PATH}
          --authtype ${TI_APPIMAGE_CERT_PY_AUTHTYPE}
          --bin ${STRIPPED_APPIMAGE_PATH}
          --core ${TI_APPIMAGE_CERT_PY_CORE_ID}
          --key ${TI_APPIMAGE_CERT_PY_KEY_PATH}
          --keyversion ${TI_APPIMAGE_CERT_PY_KEY_VERSION}
          --loadaddr ${TI_APPIMAGE_CERT_PY_LOADADDR}
          --output ${SIGNED_STRIPPED_APPIMAGE_PATH}
       COMMAND ${PYTHON3_EXECUTABLE} ${TI_APPIMAGE_CERT_PY_PATH}
          --authtype ${TI_APPIMAGE_CERT_PY_AUTHTYPE}
          --bin ${APPIMAGE_XIP_PATH}
          --core ${TI_APPIMAGE_CERT_PY_CORE_ID}
          --key ${TI_APPIMAGE_CERT_PY_KEY_PATH}
          --keyversion ${TI_APPIMAGE_CERT_PY_KEY_VERSION}
          --loadaddr ${TI_APPIMAGE_CERT_PY_LOADADDR}
          --output ${SIGNED_APPIMAGE_XIP_PATH}
       COMMAND ${PYTHON3_EXECUTABLE} ${TI_APPIMAGE_CERT_PY_PATH}
          --authtype ${TI_APPIMAGE_CERT_PY_AUTHTYPE}
          --bin ${STRIPPED_APPIMAGE_XIP_PATH}
          --core ${TI_APPIMAGE_CERT_PY_CORE_ID}
          --key ${TI_APPIMAGE_CERT_PY_KEY_PATH}
          --keyversion ${TI_APPIMAGE_CERT_PY_KEY_VERSION}
          --loadaddr ${TI_APPIMAGE_CERT_PY_LOADADDR}
          --output ${SIGNED_STRIPPED_APPIMAGE_XIP_PATH}
       COMMENT "Signing all appimage variants (.hs_fs)"
    )

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

    尊敬的 Lukasz:

    另外、请尝试调试我在上一个回复中提到的应用、并告知我观察到的内容。

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

    你(们)好

    我已经尝试调试 R5 内核。 我看不出控制转到 main。 我看到的就是停止程序时调用栈中的一个位置地址。
    另外、这是一个自定义项目、因此我不确定调试项目的成功程度。 附加屏幕截图。 如果我执行正确、请告诉我们

    1.我启动了调试会话

    2.已连接 R5 目标

    3.加载符号  

    4.将断点放在 main 中。

    5.继续调试。 R5 内核显示了正在运行、但控制不会到达 main

    6.我停止程序,在那里我看到了一个地址(见在调用堆栈中附加的屏幕截图)


      

    如果您能从 Lukasz 提供的 CMake 文件中查看映像生成情况、将不胜感激。 如果映像生成操作正确、这可能提示我们。

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

    尊敬的 Mayank, Lukasz,

    另外、我正在将构建的输出添加到我之前分享的内容中。
    还请检查输出文件的大小、因为其中一些文件似乎太小了。

    您共享了两个不同的构建日志、一个由 Mayank 共享、另一个由 Lukasz 共享。 在 Lukasz 共享的日志中,我确实看到图像大小比预期的要小很多,还有一些警告,在 Mayank 共享的日志中,我找不到任何这样的问题,图像大小也符合预期。

    当我停止程序时、我看到的只是调用栈中的一个位置地址。

    请您就此问题与我分享您的图片。 我将尝试在最后进行测试、看看是否可以重现问题。

    此致、

    会面。

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

    尊敬的会议:

    请找到下面随附的构建输出:

    e2e.ti.com/.../build_5F00_output.zip

    此致、

    Łukasz μ s

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

    你(们)好  

    请查找 th 版本

     e2e.ti.com/.../Build_5F00_Binaries.zip

    此致

    Mayank

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

    尊敬的 Mayank:

     vip_r5f_redid.appimage.hs_fs 映像似乎存在一些问题、您能尝试使用 vip_r5f.appimage.hs_fs 映像一次吗?

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

    尊敬的会议:

      还刷写了 vip_r5f.appimage.hs_fs、

    C:\ti\mcu_plus_sdk_am62x_11_00_00_16\tools\boot>
    C:\ti\mcu_plus_sdk_am62x_11_00_00_16\tools\boot>python uart_uniflash.py -p COM21 --cfg=sbl_prebuilt/am62x-sk-lp/default_sbl_null_hs_fs.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 4 command(s) !!!
    
    Executing command 1 of 4 ...
    Found flash writer ... sending sbl_prebuilt/am62x-sk-lp/sbl_uart_uniflash_stage1.release.hs_fs.tiimage
    Sent flashwriter sbl_prebuilt/am62x-sk-lp/sbl_uart_uniflash_stage1.release.hs_fs.tiimage of size 265901 bytes in 25.6s.
    
    Executing command 2 of 4 ...
    Command arguments : --file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0
    Sending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimageSending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimageSending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimageSending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimageSending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimageSending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimageSending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage                                                                                                                                                                            Sent ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs of size 141748 bytes in 16.7s.
    [STATUS] SUCCESS !!!
    
    Executing command 3 of 4 ...
    Command arguments : --file=sbl_prebuilt/am62x-sk-lp/sbl_null.release.hs_fs.tiimage --operation=flash --flash-offset=0x0
    Sent sbl_prebuilt/am62x-sk-lp/sbl_null.release.hs_fs.tiimage of size 291629 bytes in 30.27s.
    [STATUS] SUCCESS !!!
    
    Executing command 4 of 4 ...
    Command arguments : --file=C:/Users/kj1mdj/Downloads/vip_r5f.appimage.hs_fs --operation=flash --flash-offset=0xA00000
    Sent C:/Users/kj1mdj/Downloads/vip_r5f.appimage.hs_fs of size 182055 bytes in 19.95s.
    [STATUS] SUCCESS !!!
    
    All commands from config file are executed !!!

    结果是相同的、唤醒 UART 时无输出

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

    尊敬的 Mayank:

    我最终重现了这个错误、调试 SBL NULL 后、似乎在设置映像的入口点时出现了一些问题、这就是应用无法运行的原因。 自复位 R5 跳回 SBL NULL 本身的入口点而不跳转到应用程序地址后、这就是您看到 R5 内核卡在 0x43…… 您之前分享的地址(HSMRAM 地址)。 请允许我进一步调试此处可能存在的问题。

    此致、

    会面。

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

    您好:

    [引述 userid=“522857" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1527216/am625-q1-issue-in-booting-r5f-from-a-custom-application/5905669 #5905669“]

    请查找 th 版本

     Build_Binaries.zip

    [/报价]

    通过分析“.map"文件“文件、我可以看到目标文件“boot_armv7r_asm.obj “和“boot_armv7r.obj"未“未作为“freertos.am62x.r5f.ti-arm-clang.release.lib “库的一部分进行链接。 这些目标文件提供 SDK 特定的“_c_int00"函“函数(也称为启动例程)。 在没有这些目标文件的情况下、编译器本身会提供会导致问题的默认“_c_int00"函“函数。

    如果您也有库的自定义构建设置、则可能错过了编译“boot_armv7r.c"和“和“boot_armv7r_asm.s"文件“文件的机会。

    请参阅包含这些文件以进行编译的默认 makefile:

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

    你好 Prashant Shivhare

    我在 编译中包含了“boot_armv7r.c"和“和“boot_armv7r_asm.S"文件“文件、但问题仍然相同。

    附加更新的二进制文件和映射文件。

    e2e.ti.com/.../8228.Build_5F00_Binaries.zip

    尽管我们的印象是库依赖项会自动解析。 因为在编译/链接该库时我们没有遇到任何错误。

    另外、这里没有提到将这些内容作为 DM/R5 开发的一部分

    dev.ti.com/.../DEVELOP_AND_DEBUG_DMR5.html

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

    请连接到 WKUP R5F 内核并共享其暂停的地址。 请勿加载任何内容。 引导后、如果您未在 WKUP UART 端口上观察到日志、则只会连接到内核并共享地址。

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

    您好、Prashant、

    如果我连接目标、请参阅 下面附件中所示的地址

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

    尊敬的 Mayank:

    问题与使用 TI_APPIMAGE_GEN_PATH 命令传递的内核 ID 有关。 请将 TI_APPIMAGE_GEN_CORE_ID 设置为“4",“,而、而不是“0x04"</s>“

    此致、

    会面。

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

    你(们)好

    将  TI_APPIMAGE_GEN_CORE_ID 更改为“4"会“会中断一些操作、我们看不到 CPU R5f 初始化。 请查看屏幕截图

    此致

    Mayank

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

    尊敬的 Mayank:

    这是由于 makefile 中设置了错误的软件版本造成的。 TI_ELF2RPRC_J_SW_VERSION。 设置为 1.0、应将其设置为 0xb000010、以匹配安装程序软件版本。

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

    尊敬的会议:

    将 CoreID 更改为 4、将 SW 版本更改为  0xb000010。 还添加了 boot_armv7r 文件。

    现在它的行为与之前相同。 通过初始化、但 唤醒 UART 上没有输出

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

    尊敬的 Mayank:

    请共享相关的最新二进制文件。

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

    你(们)好  

    请找到附件中的二进制文件

    e2e.ti.com/.../3581.bin.zip

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

    尊敬的 Mayank:

    我现在至少能够引导您共享的二进制文件、因此引导问题似乎已解决。 在调试时、我可以看到它卡在 xTaskCreateStatic API 中、因为我无法访问您的所有文件、我无法进一步评论可能是什么问题。 我建议您现在使用我之前分享的指南来调试 R5 应用: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_00_00_16/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html#autotoc_md325

    此致、

    会面。

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

    你(们)好

    在调试时、我看到控制权到达 main。

    现在它在任务创建时失败、

    我在调试中看到的错误如下:

    MAIN_Cortex_R5_0_0:断言:0.559s:freertos-Kernel/tasks.c:prvCreateStaticTask:1265:(uint32_t)(puxStackBuffer!=(void *) 0) 失败!!!!

    不过、我当前使用的相同代码也可在 TI 环境中工作。 因此我在代码方面看不到问题。(我已经在前面的注释中附加了 main.c)

    是否需要包含任何其他内容、是否需要执行任何库或任何存储器配置、以便 此缓冲区分配不会失败?

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

    尊敬的 Mayank:

    请给我一些时间进行进一步调查、并回复您。

    此致、

    会面。

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

    尊敬的会议:

    对此有任何更新?

    此致

    Maynk

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

    对二进制文件进行反向工程是不可行的。

    您能否将 cmake 编译设置仅保留到示例中而不是库中呢? 基本上、应该使用您的自定义构建设置来构建示例、但像来自 SDK 一样链接库。

    这将告诉我们以下内容:

    • 如果没有发生此问题、则说明您在使用 cmake 构建库的方式上遇到问题。
    • 如果问题仍然出现、那么您在使用 cmake 构建示例的方式上遇到问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Meet/Prashant

    问题现已解决。 感谢您的支持。

    此致

    Mayank

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

    您好:

    请问问题是什么?

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

    你(们)好

    FreeRTOS.h 文件中的 include 文件(由 R5 代码获取)似乎指向了其他一些位置。 因此、未获得正确的 FreeRTOSConfig.h 和 portmacro.h

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

    感谢您的解释。 如有任何其他问题、请随时创建查询。