Thread 中讨论的其他器件: UNIFLASH、 AM62P
工具/软件:
您好、
我目前使用的是 SK-AM62P-LP 电路板、使用 PSDK 版本 09.02.01.10 和 MCU+SDK 版本 09.02.01.08。
我想了解从 R5F_MCU 域到 R5F_WKUP 域的通信是否可行。 如果是、您能否分享相关的用户指南或文档?
例如、我有一个数字传感器与 R5F_MCU 连接、我想从 R5F_WKUP 域读取传感器数据。
此致、 
维拉潘迪扬五世 
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.
工具/软件:
您好、
我目前使用的是 SK-AM62P-LP 电路板、使用 PSDK 版本 09.02.01.10 和 MCU+SDK 版本 09.02.01.08。
我想了解从 R5F_MCU 域到 R5F_WKUP 域的通信是否可行。 如果是、您能否分享相关的用户指南或文档?
例如、我有一个数字传感器与 R5F_MCU 连接、我想从 R5F_WKUP 域读取传感器数据。
此致、 
维拉潘迪扬五世 
嗨、Veerapandiyan、一个选项是 IPC。 您可以参阅 AM62Px MCU+SDK IPC rpmsg 示例和文档
在 mcu_plus_sdk_am62px_xx_xx_xx_xx\examples\drivers\ipc\ipc_rpmsg_echo\ipc_rpmsg_echo.c 中、我们得到:
#if defined (SOC_AM62PX)
/* main core that starts the message exchange */
uint32_t gMainCoreId = CSL_CORE_ID_WKUP_R5FSS0_0;
/* remote cores that echo messages from main core, make sure to NOT list main core in this list */
uint32_t gRemoteCoreId[] = {
    CSL_CORE_ID_MCU_R5FSS0_0,
    CSL_CORE_ID_MAX /* this value indicates the end of the array */
};
谢谢您、
Paula
您好 Paula、
感谢您的澄清。 在我们这边、IPC 使用 RPMsg 在 A53、MCU_R5F 和 WKUP_R5 之间正常工作。
根据您的消息、我们了解到、如果我们将主内核配置为 WKUP_R5、它就能够与 MCU_R5 通信。 但是、我们的要求是在 WKUP_R5 侧读取数据。
您能否告知我们、是否有任何特定的 API 可用于读取 WKUP_R5 上的数据?
此致、 
维拉潘迪扬五世 
尊敬的 Veerapandiyan:您可以使用 IPC RP 消息、或者如果您需要低延迟通信、则可以使用 IPC Notify
AM62x MCU+ SDK:用于 IPC Notify 的 API
AM62x MCU+ SDK:适用于 IPC RPMessage 的 API
谢谢您、
Paula
您好 Paula、
感谢您发送编修。我们会重新检视您的建议。
据我所知、您提到的示例和 API 主要用于 A53 和 R5F 内核 (R5F_MCU 和 R5F_WKUP) 之间的通信。
例如:
进行通信 A53 到 R5F_MCU 、我使用以下命令: rpmsg_char_simple -r 0 -n 10
进行通信 A53 到 R5F_WKUP 、我使用以下命令: rpmsg_char_simple -r 15 -n 10
现在、我想知道 如何启用从 R5F_MCU 到 R5F_WKUP 的通信 。 您能否澄清这种方法或分享此案例的任何具体示例?
此致、 
维拉潘迪扬五世 
您好、veerapandiyan、
只需检查“ipc_rpmsg_echo"演“演示是否正常工作? 如果是、 在设置中使用 gMainCoreId 作为 CSL_CORE_ID_MCU_R5FSS0_0 和 gRemoteCoreId 作为 CSL_CORE_ID_WKUP_R5FSS0_0 也可以正常工作?
请告诉我。
我认为,如果你有这个演示工作,那么你可以修改 RPMessage_send () 从“msgBuf"发送“发送你的“msg",“,在你的情况下,这将是你的数字传感器数据。
谢谢您、
Paula
您好 Paula、
再次感谢。 如前所述、ipc_rpmsg_echo演示在我的设置中可以正常工作。 
以下是我当前使用的命令:
进行通信 A53F 连接到 R5F_MCU 、我使用: rpmsg_char_simple -r 0 -n 10
进行通信 A53F 连接到 R5F_WKUP 、我使用: rpmsg_char_simple -r 15 -n 10
现在、我想看看 从 R5F_MCU 到 R5F_WKUP 进行通信 、以便从 R5F_MCU 发送传感器数据并在 R5F_WKUP 上读取。 
对于此情况、应该使用哪种命令或方法? 您能指导我如何实现这个目标吗? 
此致、 
维拉潘迪扬五世 
尊敬的 veerapandiyan、您可以尝试 MCU+SDK(无 Linux、仅 RTOS)ipc_rpmsg_echo 演示吗?
我相信这正是您的用例所需的内容。
谢谢您、
Paula
您好 Paula、
我已ipc_rpmsg_echo在两个内核上刷写了二进制文件。 但在尝试引导时却是如此 OSPI 引导模式 、系统将在处停止 引导加载程序的基础知识 。 
检查时、我注意到文件sbl_ospi_linux_stage2.c缺失。 因此、引导过程不会超过第二阶段。 
您能否提供有关如何解决此问题的建议? 
我在下面附上了一个屏幕截图供您参考。 
sbl_ospi_linux_stage2

2.第二阶段  引导加载程序错误 
谢谢您、 
维拉潘迪扬五世 
尊敬的 Veerapandiyan:
我已ipc_rpmsg_echo在两个内核上刷写了二进制文件。 但在尝试引导时却是如此 OSPI 引导模式 、系统将在处停止 引导加载程序的基础知识 .
您能解释一下您做了什么吗? 您是否使用 Linux 并按照下面的 Academy 中的说明更新固件二进制文件?
正在引导远程核心: https://dev.ti.com/tirex/explore/node?a=7qm9DIS__LATEST&node=A__ASTUPTn5xbFkK9F0gRlUSw__AM62P-ACADEMY__fp5YxRM__LATEST
或者、您是否按照此处的说明将 MCU+SDK 二进制文件刷写到 EVM(AM62Px MCU+ SDK:刷写 Hello World 示例)。 我认为、是第二种情况、如果是、
我希望您仅刷写一个映像、应为 “ipc_rpmsg_echo_system.appimage.hs_fs",“,因为、因为这是一个系统工程。
请告诉我
谢谢您、
Paula
您好 Paula、
我使用了第二种方法来上传示例文件、下面的命令也是:
1./home/bpt/ti/mcu_plus_sdk_am62px_09_02_01_08/tools/boot/sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_hs_fs.cfg
#-----------------------------------------------------------------------------# # # # DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT # # # #-----------------------------------------------------------------------------# # # By default this config file, # - points to pre-built flash writer, bootloader for this EVM # - The application image points to relative path of the ipc rpmsg linux application image for this EVM # - Make sure this application is built before running this script # - You can customized this config file to point to your own bootloader and/or application images # - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file. # # First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary --flash-writer=sbl_prebuilt/am62px-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage # When sending sbl_uart_uniflash_stage2 binary make sure to flash at SOC memory offset 0x0. # Points to sbl_uart_uniflash_stage2 binary, which function's as a server to flash one or more files --file=/home/bpt/ti/mcu_plus_sdk_am62px_09_02_01_08/examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62px-sk/wkup-r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0 # Program the OSPI PHY tuning attack vector --operation=flash-phy-tuning-data # Now send one or more files to flash or flashverify as needed. The order of sending files does not matter # When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0 --file=sbl_prebuilt/am62px-sk/sbl_ospi_linux_stage1.release.hs_fs.tiimage --operation=flash --flash-offset=0x0 # 2nd stage bootloader with DM is flashed at 0x80000 or to whatever offset your bootloader is configured for --file=/home/bpt/workspace_v12_7_Final_OSPI/ipc_rpmsg_echo_am62px-sk_wkup-r5fss0-0_freertos_ti-arm-clang/Debug/ipc_rpmsg_echo_am62px-sk_wkup-r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x80000 # When sending application image, make sure to flash at offset 0x100000 (default) or to whatever offset your bootloader is configured for --file=/home/bpt/workspace_v12_7_Final_OSPI/ipc_rpmsg_echo_am62px-sk_mcu-r5fss0-0_freertos_ti-arm-clang/Debug/ipc_rpmsg_echo_am62px-sk_mcu-r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x800000 # HSM image is flashed at 0x800000 or to whatever offset your bootloader is configured for --file=HSMAppimageGen/board/am62px-sk/hsm.appimage.hs_fs --operation=flash --flash-offset=0x240000 # Linux image is flashed at 0xC00000 or to whatever offset your bootloader is configured for --file=linuxAppimageGen/board/am62px-sk/linux.appimage.hs_fs --operation=flash --flash-offset=0x1200000 # u-boot.img is flashed at 0x280000 --file=linuxAppimageGen/board/am62px-sk/u-boot.img --operation=flash --flash-offset=0x280000
2.下一步、转到 /home/bpt/ti/mcu_plus_sdk_am62px_09_02_01_08/tools/boot -->打开终端、输入以下命令:
sudo python3 uart_uniflash.py -p /dev/ttyUSB0 --cfg=sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_hs_fs.cfg
我只使用了这种方法来解决上述误差。 
谢谢您、 
维拉潘迪扬五世 
尊敬的 Veerapandiyan:您能否说明您正在使用哪个演示? 您是否使用 AM62Px MCU+ SDK:IPC RP Message Linux Echo 或 AM62Px MCU+ SDK:IPC RP Message Echo?
如果使用 IPC RPmsg Linux、我认为是这样、然后在中 default_sbl_ospi_linux_hs_fs.cfg 您应该拥有以下类型的应用程序名称、它们的名称中包含“Linux"。“。 如果不是、您可能正在混用、这可能是引导失败的原因
ipc_rpmsg_echo_linux_am62px-sk_mcu-R5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
ipc_rpmsg_echo_linux_am62px-sk_wkup-R5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
谢谢您、
Paula
如果您从仅 RTOS 的演示开始、可能会更容易。 AM62Px MCU+ SDK:IPC RP 消息回显
谢谢您、
Paula
您好 Paula、
我测试了 AM62Px MCU+ SDK:IPC RP 消息回显 示例、但在此期间、Linux 无法正常引导。
但是、当我尝试时 AM62Px MCU+ SDK:IPC RP 消息 Linux Echo 示例、电路板和 IPC 命令均按预期运行。
我的主要问题是: 
如果 Linux 崩溃或不可用 “怎么会这样 从 R5F_WKUP 域上的 R5F_MCU 侧读取 CAN 数据 ? 
您能否说明一下如何处理这一问题? 
此致、 
维拉潘迪扬五世 
尊敬的 Veerapandiyan:
i 测试了 AM62Px MCU+ SDK:IPC RP 消息回显 示例、但在此期间、Linux 无法正常引导。
正确、但我相信您刷写的二进制文件不正确。 您能否请在通过刷写时仔细检查您正在使用以下二进制文件 default_sbl_ospi_linux_hs_fs.cfg 脚本?
ipc_rpmsg_echo_ 这些工作 _am62px-sk_mcu-R5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
ipc_rpmsg_echo_ 这些工作 _am62px-sk_wkup_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
此外、您能再多解释一下您的用例吗? 您是否需要在 A53 内核上运行 Linux? 如果是、A53 是否需要通过 IPC RP Msg 与 R5F_MCU 和 R5F_WKUP 通信?
谢谢您、
Paula
您好 Paula、
我测试了 AM62Px MCU+ SDK:IPC RP 消息回显 示例 — 它无法正常工作。 它滞留在第二阶段引导加载程序中。
[报价 userid=“40339" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506169/sk-am62p-lp-how-to-access-r5f_mcu-to-r5f_wkup-domain/5814373 #5814373“]正确、但我相信您刷写的二进制文件不正确。 您能否请在通过刷写时仔细检查您正在使用以下二进制文件 default_sbl_ospi_linux_hs_fs.cfg 脚本?
ipc_rpmsg_echo_ 这些工作 _am62px-sk_mcu-R5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
ipc_rpmsg_echo_ 这些工作 _am62px-sk_wkup_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs
[/报价]当我尝试的时候 AM62Px MCU+ SDK:IPC RP 消息 Linux Echo 示例、使用您共享的上述二进制文件时、电路板和 IPC 命令均按预期运行。
[报价 userid=“40339" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506169/sk-am62p-lp-how-to-access-r5f_mcu-to-r5f_wkup-domain/5814373 #5814373“]此外、您能再多解释一下您的用例吗? 您是否需要在 A53 内核上运行 Linux? 如果是、A53 是否需要通过 IPC RP Msg 与 R5F_MCU 和 R5F_WKUP 通信?
[/报价]我们已经在 A53 与 R5F_MCU 和 R5F_WKUP 之间建立了 IPC RPMsg 通信。
现在、我们要努力实现的是确保这一点 如果在 A53 上运行的 Linux 崩溃 、数据为 未丢失 。 为此、我们需要 从 R5F_WKUP 端访问 R5F_MCU 上提供的数据 、独立于 Linux。
所以、我的问题是:
我们如何在不依靠 Linux 的情况下实现 R5F_MCU 和 R5F_WKUP 域之间的通信?
这也与我之前的问题有关。
[报价 userid=“545048" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506169/sk-am62p-lp-how-to-access-r5f_mcu-to-r5f_wkup-domain我想了解从 R5F_MCU 域到 R5F_WKUP 域的通信是否可行。 如果是、您能否分享相关的用户指南或文档?
例如、我有一个数字传感器与 R5F_MCU 连接、我想从 R5F_WKUP 域读取传感器数据。
、我想知道 如何启用从 R5F_MCU 到 R5F_WKUP 的通信 。 您能否澄清该案例的方法或分享任何具体示例?
我想知道如何操作 从 WKUP_R5 读取数据 磁芯。 您能帮我一些步骤或指导如何实现这个目标吗?
- 进行通信 R5F_MCU 到 R5F_WKUP 、 我使用命令:?????????????????????????????????????????????
现在、我想看看 从 R5F_MCU 到 R5F_WKUP 进行通信 、以便从 R5F_MCU 发送传感器数据并在 R5F_WKUP 上读取。
[/报价]
对于此情况、应该使用哪种命令或方法? 您能指导我如何实现这个目标吗?此致、
维拉潘迪扬五世
您好 Veerapandiyan、
从 WKUP R5F 读取 MCU R5F 传感器数据
MCU R5F 和 WKUP R5F(也称为 DM R5F)能够读取彼此的存储器空间。 只要在 SoC 级别映射区域、R5F 就可以只读取或写入特定的 SoC 存储器地址。 这是你的问题吗?
因此、您绝对可以执行共享存储器区域之类的操作、其中 MCU R5F 将传感器数据存储在一个已知存储器区域中、然后 DM R5F 使用常规“读取“命令从该已知存储器区域中读取数据。
您通常需要在内核之间使用某种类型的信号、以便 DM R5F 知道数据何时准备好使用、然后 MCU R5F 就知道数据已被读取(这样 MCU R5F 就不会在 DM R5F 完成数据消耗之前覆盖数据区域)。 RPMsg 或 IPC_Notify 可用于该通知方法。 有关 IPC 的其他想法、 请访问:https://dev.ti.com/tirex/explore/node?node=A__AU8l85P9pagkd3Hum8Tu0A__AM62P-ACADEMY__fp5YxRM__LATEST
此致、
Nick
您好、Nick、
在查看您的共享链接后、我们实施了 IPC Notify 以进行通信 MCU_R5 和 WKUP_R5F 。 但是、我们遇到与 IPC RPMsg 相同的问题—系统在第二级引导加载程序处停止。
此外、在此设置中、 Sciserver 在 WKUP_R5 上不工作 。 
我附上了一个屏幕截图供您参考。 

您能否告知我们、是否有任何特定的 API 可用于解决此场景?
此致、 
Veerapandiyan 
尊敬的 Veerapandiyan、您能与我们分享使用过的信息吗 default_sbl_ospi_linux_hs_fs.cfg ?. 一个更好的问题是、在两者之间添加 IPC Notify 后如何使用/更新 MCU+RTOS 二进制文件 MCU_R5 和 WKUP_R5F ?
请分享已完成的步骤。 如果我们有一种方法可以重现它、这也会有所帮助
谢谢您、
Paula
您好 Paula、
我使用了第二种方法来上传示例文件、下面的命令也是:
1./home/bpt/ti/mcu_plus_sdk_am62px_09_02_01_08/tools/boot/sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_hs_fs.cfg
#-----------------------------------------------------------------------------# # # # DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT # # # #-----------------------------------------------------------------------------# # # By default this config file, # - points to pre-built flash writer, bootloader for this EVM # - The application image points to relative path of the ipc rpmsg linux application image for this EVM # - Make sure this application is built before running this script # - You can customized this config file to point to your own bootloader and/or application images # - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file. # # First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary --flash-writer=sbl_prebuilt/am62px-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage # When sending sbl_uart_uniflash_stage2 binary make sure to flash at SOC memory offset 0x0. # Points to sbl_uart_uniflash_stage2 binary, which function's as a server to flash one or more files --file=/home/bpt/ti/mcu_plus_sdk_am62px_09_02_01_08/examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62px-sk/wkup-r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0 # Program the OSPI PHY tuning attack vector --operation=flash-phy-tuning-data # Now send one or more files to flash or flashverify as needed. The order of sending files does not matter # When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0 --file=sbl_prebuilt/am62px-sk/sbl_ospi_linux_stage1.release.hs_fs.tiimage --operation=flash --flash-offset=0x0 # 2nd stage bootloader with DM is flashed at 0x80000 or to whatever offset your bootloader is configured for --file=/home/bpt/workspace_v12_7_Final_OSPI/ipc_notify_echo_am62px-sk_wkup-r5fss0-0_freertos_ti-arm-clang/Debug/ipc_notify_echo_am62px-sk_wkup-r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x80000 # When sending application image, make sure to flash at offset 0x100000 (default) or to whatever offset your bootloader is configured for --file=/home/bpt/workspace_v12_7_Final_OSPI/ipc_notify_echo_am62px-sk_mcu-r5fss0-0_freertos_ti-arm-clang/Debug/ipc_notify_echo_am62px-sk_mcu-r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x800000 # HSM image is flashed at 0x800000 or to whatever offset your bootloader is configured for --file=HSMAppimageGen/board/am62px-sk/hsm.appimage.hs_fs --operation=flash --flash-offset=0x240000 # Linux image is flashed at 0xC00000 or to whatever offset your bootloader is configured for --file=linuxAppimageGen/board/am62px-sk/linux.appimage.hs_fs --operation=flash --flash-offset=0x1200000 # u-boot.img is flashed at 0x280000 --file=linuxAppimageGen/board/am62px-sk/u-boot.img --operation=flash --flash-offset=0x280000
2.下一步、转到 /home/bpt/ti/mcu_plus_sdk_am62px_09_02_01_08/tools/boot -->打开终端、输入以下命令:
sudo python3 uart_uniflash.py -p /dev/ttyUSB0 --cfg=sbl_prebuilt/am62px-sk/default_sbl_ospi_linux_hs_fs.cfg
我只使用了这种方法来解决上述误差。 
谢谢您、 
维拉潘迪扬五世 
嗨、Veerapandiyan、您是否尝试过刷写/运行 Hello_world 示例? 如果没有、您能快速尝试一下吗?
AM62Px MCU+ SDK:刷写 Hello World 示例
如果问题是由于刷写步骤导致的、或者由于应用程序中所做的任何修改而导致的、我会尝试进行决策
如果 hello_world 示例在您的设置中正常工作、并且您的应用程序在第二阶段引导加载程序处仍然停止、请让我们知道您是否在 IPC Notify demo 中进行了任何修改、如果进行了更改、
谢谢您、
Paula
您好 Paula、
我们已经成功 刷写了所有示例应用程序 在 MCU+ SDK 中使用 CCS 和 UART Uniflash 提供。 一切都按预期运行 引导模式 OSPI 和 eMMC。
为了方便您参考、我附上了一个 视频链接 和一个图像。 该视频演示了之间的 IPC RPMsg 通信 这些工作 和这两种模式 MCU_R5 和 WKUP_R5 是否正常工作。 该图显示了连接到 AM62P 系统的完整硬件设置。 
我们使用的所有 API 都可以在视频中看到。 

现在、我们目前面临的挑战是确定的 从 MCU_R5 到 WKUP_R5 的通信 。
请您确认是否可以这样做? 如果是、是否有任何具体步骤需要执行或 API 命令 来实现这一点?
此致、 
Veerapandiyan 
对不起,对不起,我的延迟回复。 我仍在等待获取 AM62Px EVM (SK-AM62P-LP)。 同时、我刚刚方便地对 SK-AM62x 进行了快速尝试。 因此、不是确切的内核和电路板、但步骤和过程应该相似(或相同)。 我执行以下步骤作为参考:
RTOS 端
#if defined(SOC_AM62X)
/* main core that starts the message exchange */
uint32_t gMainCoreId = CSL_CORE_ID_R5FSS0_0;
/* remote cores that echo messages from main core, make sure to NOT list main core in this list */
uint32_t gRemoteCoreId[] = {
    CSL_CORE_ID_M4FSS0_0,
    //CSL_CORE_ID_A53SS0_0,
    //CSL_CORE_ID_A53SS0_1,
    CSL_CORE_ID_MAX /* this value indicates the end of the array */
};
#endif

#-----------------------------------------------------------------------------# # # # DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT # # # #-----------------------------------------------------------------------------# # # By default this config file, # - points to pre-built flash writer, bootloader for this EVM # - The application image points to relative path of the ipc rpmsg linux application image for this EVM # - Make sure this application is built before running this script # - You can customized this config file to point to your own bootloader and/or application images # - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file. # # First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary --flash-writer=sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage # Points to sbl_uart_uniflash_stage2 binary, which function's as a server to flash one or more files # Please note this binary is copied to DDR by sbl_uart_uniflash_stage1 and not written to any boot media like flash or eMMC #--file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0 --file=C:/Users/alice/e2e_workspace/sbl_uart_uniflash_stage2_am62x-sk_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_stage2_am62x-sk_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x0 # Program the OSPI PHY tuning attack vector --operation=flash-phy-tuning-data # Now send one or more files to flash or flashverify as needed. The order of sending files does not matter # When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0 --file=sbl_prebuilt/am62x-sk/sbl_ospi_linux_stage1.release.hs_fs.tiimage --operation=flash --flash-offset=0x0 # 2nd stage bootloader is flashed at 0x80000 or to whatever offset your bootloader is configured for #--file=../../examples/drivers/boot/sbl_ospi_linux_multistage/sbl_ospi_linux_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_ospi_linux_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x80000 --file=C:/Users/alice/e2e_workspace/sbl_ospi_linux_stage2_am62x-sk_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_ospi_linux_stage2_am62x-sk_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x80000 # When sending application image, make sure to flash at offset 0x100000 (default) or to whatever offset your bootloader is configured for #--file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/m4fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash --flash-offset=0x100000 #--file=C:/Users/alice/e2e_workspace/hello_world_am62x-sk_m4fss0-0_freertos_ti-arm-clang/Debug/hello_world_am62x-sk_m4fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x100000 --file=C:/Users/alice/e2e_workspace/ipc_notify_echo_am62x-sk_m4fss0-0_nortos_ti-arm-clang/Debug/ipc_notify_echo_am62x-sk_m4fss0-0_nortos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0x100000 # HSM image is flashed at 0x800000 or to whatever offset your bootloader is configured for #--file=../../tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage.hs_fs --operation=flash --flash-offset=0x800000 --file=../../tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage.hs --operation=flash --flash-offset=0x800000 # DM image is flashed at 0xa00000 or to whatever offset your bootloader is configured for #--file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash --flash-offset=0xA00000 #--file=C:/Users/alice/e2e_workspace/hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang/Debug/hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0xA00000 --file=C:/Users/alice/e2e_workspace/ipc_notify_echo_am62x-sk_r5fss0-0_freertos_ti-arm-clang/Debug/ipc_notify_echo_am62x-sk_r5fss0-0_freertos_ti-arm-clang.appimage.hs_fs --operation=flash --flash-offset=0xA00000 # Linux image is flashed at 0xC00000 or to whatever offset your bootloader is configured for --file=../../tools/boot/linuxAppimageGen/board/am62x-sk/linux.appimage.hs_fs --operation=flash --flash-offset=0xC00000 # u-boot.img is flashed at 0x280000 --file=../../tools/boot/linuxAppimageGen/board/am62x-sk/u-boot.img --operation=flash --flash-offset=0x280000
Linux 端:
闪存映像:
测试:
Linux 控制台
[1006.984535]审计:type=1327 审计 (1736364050.836:16):proctitle=“/usr/lib/systemd/systemd-journald 
[1006.993310] systemd[1]:已启动日志服务。 
am62xx-EVM 登录:
RF5 核心控制台:
Sciserver Testapp 构建于:2025 年 4 月 3 日 09:27:21 
Sciserver 版本:v2025.04.0.0-REL.MCUSDK.K3.11.00.00.16+ 
RM_PM_HAL 版本:v11.00.07 
正在启动 Sciserver… 通过 
[IPC Notify echo]主内核启动消息交换!!! 
[IPC Notify echo ]主内核从 1 个远程内核接收到的所有回传消息!!! 
发送到每个内核的[IPC Notify echo]消息= 1000000 
[IPC Notify echo]远程内核数= 1 
所有测试均已通过!! 
M4F 内核控制台:
[IPC Notify echo ]远程内核正在等待来自主内核的消息...!!! 
[IPC Notify echo]远程内核已回显所有消息!!! 
希望这有助于同时,让我知道。
谢谢您、
Paula
您好 Paula、
早上我尝试了在 AM62x 板上使用相同的步骤、运行正常。 下面、我提供了相同的屏幕截图。
1. Linux 控制台:

2. MCU 控制台 (M4F):

WKUP 控制台 (R5F):

之后、我们比较了  AM62x 的 default_sbl_ospi_linux.cfg 文件以及 AM62Px 的 default_sbl_ospi_linux_hs_fs.cfg、  我们发现它们之间存在差异。  
# DM 映像会在 0xa00000 处或引导加载程序配置的任何偏移处刷新 
--file=/home/bpt/workspace_v12_3_0/ipc_notify_echo_am62x-sk_r5fss0-0_freertos_ti-arm-clang/Debug/ipc_notify_echo_am62x-sk_r5fss0-0_freertos_ti-arm-clang.appimage --operation=flash --flash-offset=0xA00000 
中没有上述文件 AM62Px 的 default_sbl_ospi_linux_hs_fs.cfg 。 请找到随附的屏幕截图。

那么、我们是否需要将其包括在中 AM62Px 的 default_sbl_ospi_linux_hs_fs.cfg? 我们发现存储器地址也不同、因此请提供一个可能的解决方案。
此致、
Veerapandiyan
尊敬的 Veerapandiyan :您好、以阐明我使用了 C:\ti\mcu_plus_sdk_am62x_xx_xx_xx\tools\boot\sbl_prebuilt\am62x-sk\ default_sbl_ospi_linux_hs_fs.cfg 用于在 AM62x 上刷写。
我看到它们之间的主要区别 am62px-sk\default_sbl_ospi_linux_hs_fs.cfg 和 am62px-sk\default_sbl_ospi_linux_hs_fs.cfg 对于 AM62x、我们将应用程序映像刷写到 DM R5F 和 M4F、而对于 AM62Px、我们将刷写到 DM WKUP_R5F 和 MCU_R5F
如果我遗漏了一些信息、或者我误解了您的问题、请告诉我。
对于测试、我们应保留正在刷写二进制文件的开箱即用偏移量。
谢谢您、
Paula
您好 Paula、
在下图中所示 AM62Px 的 default_sbl_ospi_linux_hs_fs.cfg 文件、HSM Appimage 和 Linux Appimage 在存储器位置刷写、但闪存偏移量不同。 但在 AM62x 的 default_sbl_ospi_linux.cfg 文件中、 两者都位于同一位置。

您能解释 将应用程序映像刷写到 DM R5F 和 M4F 之间的区别、而对于 AM62Px、我们刷写到 DM WKUP_R5F 和 MCU_R5F 吗?
此外、在 AM62x 中、SBL 和 DM 在不同的存储器位置进行刷写、但在 AM62Px DM(具有 SBL)中、刷写在相同的存储器位置。
在 IPC_Notify 中、SBL OSPI Echo_Linux 不存在、但 IPC_LINUX 中也有。 如何在 IPC Notify 中添加 SBL OSPI Linux?
此致、
维拉潘迪扬五世
尊敬的 Veerapandiyan:
您刷写 IPC_notify_echo 来代替 SBL OSPI Stage 2、这就是您观察到应用程序在执行 stage-1 完成后卡住了的原因、因为 OSPI 中不存在 stage-2。
我看到您使用的是 default_sbl_ospi_linux_hs_fs.cfg、此文件默认刷写 ipc_rpmsg_echo_linux 示例、我假设您将其替换为 ipc_notify_echo 示例。 此配置文件第 30 行的注释提到带 DM 的第二阶段引导加载程序刷写到 0x80000、对于 IPC rpmsg echo Linux 示例则是如此、因为它同时包含应用程序线程和引导线程:
现在 ipc_notify_echo 示例仅具有主线程、此处的引导线程未与 DM 固件集成、因此您会卡住 SBL stage-1 之后、因为 OSPI 中不存在 SBL stage-2 来加载更多映像:
此致、
会面。
我现在可以使用 ipc_notify_echo 引导、问题在于 syscfg 中 DDR 的 MPU 区域配置。 必须将 DDR 基地址设置为 0x80000000、大小设置为 2GB、可以在 example.syscfg 中进行以下更改:
mpu_armv73.$name = "DDR"; -mpu_armv73.baseAddr = 0x90000000; -mpu_armv73.size = 28; +mpu_armv73.baseAddr = 0x80000000; +mpu_armv73.size = 31;
此致、 
会面。