Other Parts Discussed in Thread: AM62P, UNIFLASH
部件号: AM62P
Thread 中讨论的其他器件: UNIFLASH
您好、
我正在处理 AM62P MCU 域、
在 MCU+SDK 的 MCU 刷写 cfg 中、我看到了两个文件 default_sbl_ospi_linux_hs_fs.cfg 和 default_sbl_eMMC_linux_hs_fs.cfg 。
在 ospi 配置中
#第一个指向 sbl_uart_uniflash_stage1 二进制文件,它初始化 DDR 并接收 sbl_uart_uniflash_stage2 二进制文件
--flash-writer=sbl_prebuilt/am62px-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage#指向 sbl_uart_uniflash_stage2 二进制文件,它作为一个服务器来刷写一个或多个文件
#请注意、该二进制文件由 SBL_UART_uniflash_stage1 复制到 DDR、不会写入闪存或 eMMC 等任何引导介质
--file=../../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#对 OSPI PHY 调优攻击向量进行编程
--操作=flash-phy-tuning-data#现在发送一个或多个文件到闪存或 flashverify 根据需要。 发送文件的顺序无关紧要
#发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 期望引导加载程序位于偏移量 0x0 处
-file=sbl_prebuilt/am62px-sk/sbl_ospi_linux_stage1.release.hs_fs.tiimage --operation=flash --flash-offset=0x0#带 DM 的第二阶段引导加载程序在 0x80000 或您的引导加载程序配置的任何偏移处刷新
--file=./../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash --flash-offset=0x80000#发送应用程序映像时,请确保以偏移 0x100000(默认值)或引导加载程序配置的任何偏移进行闪存
--file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash --flash-offset=0x800000# HSM 映像以 0x800000 或引导加载程序配置的任何偏移进行刷写
-file=HSMAppimageGen/board/am62px-sk/HSM.appimage.hs_fs --operation=flash --flash-offset=0x240000# Linux 映像会在 0xC00000 处或为引导加载程序配置的任何偏移处刷新
--file=linuxAppimageGen/board/am62px-sk/linux.appimage.hs_fs --operation=flash --flash-offset=0x1200000# u-boot.img 刷写到 0x280000
--file=linuxAppimageGen/board/am62px-sk/u-boot.img --operation=flash --flash-offset=0x280000
模式下运行
#第一个指向 sbl_uart_uniflash_stage1 二进制文件,它初始化 DDR 并接收 sbl_uart_uniflash_stage2 二进制文件
--flash-writer=sbl_prebuilt/am62px-sk/sbl_uart_uniflash_stage1.release.hs_fs.tiimage#指向 sbl_uart_uniflash_stage2 二进制文件,它作为一个服务器将一个或多个文件刷写到 eMMC
#请注意、该二进制文件由 SBL_UART_uniflash_stage1 复制到 DDR、不会写入闪存或 eMMC 等任何引导介质
--file=../../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#现在发送一个或多个文件到闪存或 flashverify 根据需要。 发送文件的顺序无关紧要
#发送引导加载程序时、请确保闪存偏移为 0x0。 ROM 需要在 eMMC 的偏移 0x0 处使用引导加载程序
-file=sbl_prebuilt/am62px-sk/sbl_eMMC_linux_stage1.release.hs_fs.tiimage --operation=flash-eMMC -flash-offset=0x0#第 2 阶段引导加载程序在 0x80000 或您的引导加载程序配置的任何偏移处刷新
--file=../../examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage.hs_fs --operation=flash-eMMC --flash-offset=0x80000# HSM 映像在 0x240000 或引导加载程序配置的任何偏移处刷新
-file=HSMAppimageGen/board/am62px-sk/HSM.appimage.hs_fs --operation=flash-eMMC --flash-offset=0x240000#发送应用程序映像时,请确保以偏移 0x800000(默认值)或引导加载程序配置的任何偏移进行闪存
--file=../../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/mcu-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash-eMMC --flash-offset=0x800000#将 Linux 映像刷新为 0x1200000 或为引导加载程序配置的任何偏移
--file=linuxAppimageGen/board/am62px-sk/linux.appimage.hs_fs --operation=flash-eMMC --flash-offset=0x1200000# u-boot.img 刷写到 0x280000
-file=linuxAppimageGen/board/am62px-sk/u-boot.img -operation=flash-eMMC -flash-offset=0x280000
在比较两种配置时、我注意到在第 2 阶段引导加载程序偏移处刷写的映像存在差异 (0x80000)
ospi 配置-
具有 DM 的第二阶段引导加载程序刷写到 0x80000 或刷写到引导加载程序配置的任何偏移量
--file=./../examples/drivers/ipc/ipc_rpmsg_echo_linux/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage.hs_fs --operation=flash --flash-offset=0x80000
eMMC 配置
#第 2 阶段引导加载程序在 0x80000 或您的引导加载程序配置的任何偏移处刷新
--file=../../examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62px-sk/wkup-r5fss0-0_freertos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage.hs_fs --operation=flash-eMMC --flash-offset=0x80000
我的理解是、偏移处的映像 0x80000 旨在用作 2 级引导加载程序。 但是、在 OSPI 配置中、要刷写的文件是 ipc_rpmsg_echo_linux 应用程序、而在 eMMC 配置中、刷写 sbl_emmc_linux_stage2 的文件是映像。
这导致了对引导流程的一些困惑:
-
0x80000在 OSPI 配置中刷写的映像实际上是否用作 Stage 2 引导加载程序? - Stage 2 引导加载程序是否也包含 DM 固件、或者它们是单独的组件?
- 为什么在 OSPI 配置的 Stage 2 引导加载程序偏移处刷写了一个 RPMsg 示例、而 eMMC 配置使用专用
sbl_emmc_linux_stage2映像? - OSPI 配置中的注释“2nd Stage Bootloader with DM“是否准确、或者 RPMsg 应用程序只是用作 WKUP_R5 固件吗?
0x80000 在这两种情况下、有人能请他人澄清预期的引导流程以及放置在偏移处的映像作用吗?
