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:无法使用 MCU+SDK v9.02刷写 SBL

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1362028/am625-failed-in-flashing-sbl-using-mcu-sdk-v9-02

器件型号:AM625
主题中讨论的其他器件:UNIFLASH

您好、专家!
我正在尝试使用此 链接优化 Linux 的引导时间 ,同时执行步骤以减少从 路中的引导加载程序时间,但同时在闪存 SBL 时使用"

DEFAULT_SBL_eMMC_Linux.cfg"此配置文件出错。 

repl@repl-HP-EliteBook-840-G4:~/ti/mcu_plus_sdk_am62x_09_02_00_38/tools/boot$ sudo python3 uart_uniflash.py -p /dev/ttyUSB0 --cfg=sbl_prebuilt/am62x-sk/default_sbl_emmc_linux.cfg

Parsing config file ...
Parsing config file ... SUCCESS. Found 9 command(s) !!!

Executing command 1 of 9 ...
Found flash writer ... sending sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.tiimage
Sent flashwriter sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.tiimage of size 247105 bytes in 23.66s.                                                                         

Executing command 2 of 9 ...
Command arguments : --file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage1/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage1.release.out --operation=flash --flash-offset=0x0
Sending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage1/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage1.release.out.part1: 1054742bytes [01:42, 10719.26bytes/s]error_count reached 16, aborting.                                                                                 
Sending ../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage1/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage1.release.out.part1: 1054744bytes [01:42, 10719.26bytes/s]
[ERROR] XMODEM recv failed, no response OR incorrect response from EVM OR cancelled by user,
Power cycle EVM and run this script again !!!


此脚本失败的原因是什么?

谢谢。此致、
Aditya T

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

    您好!

    请使用未修改的 `default_sbl_emc_linux.cfg`、如下所示

    ~/ti/mcu_plus_sdk/am62x/09_02_00_38/tools/boot
    ❯ /usr/bin/cat sbl_prebuilt/am62x-sk/default_sbl_emmc_linux.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-emmc 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.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 to 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 --operation=flash --flash-offset=0x0
    
    # 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 of eMMC
    --file=sbl_prebuilt/am62x-sk/sbl_emmc_linux_stage1.release.tiimage --operation=flash-emmc --flash-offset=0x0
    
    # 2nd stage bootloader is flashed at 0x80000 or to whatever offset your bootloader is configured for
    --file=../../examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage --operation=flash-emmc --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 --operation=flash-emmc --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 --operation=flash-emmc --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 --operation=flash-emmc --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 --operation=flash-emmc --flash-offset=0xC00000
    
    # u-boot.img is flashed at 0x280000
    --file=../../tools/boot/linuxAppimageGen/board/am62x-sk/u-boot.img --operation=flash-emmc --flash-offset=0x280000
    
    

    此外、请注意、从 MCU+ SDK v9.0开始、我们不支持 GP 器件。 因此、如果即使在使用正确的配置文件后仍无法进行刷写、我们将无法支持它。

    此致、

    普拉桑特

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

    您好!

    请注意,从 MCU+SDK v9.0开始,我们不支持 GP 设备。 因此,如果在使用正确的配置文件后刷写失败,我们将无法支持它。[/报价]

    1.在本例中、我需要首先迁移到 HS-SBL 或 HS-SE 器件、然后尝试运行 FS 闪存。 我对吗?

    2.如果无法在 GP 设备中刷写 SBL,那么如何使用 Falcon 模式来优化引导时间?

    谢谢。此致、
    Aditya T

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

    您好!

    1. 在这种情况下、我需要首先迁移到 HS-SBL 或 HS-SE 器件、然后尝试运行 FS 闪存。 我对吗?

    可以。 请注意、GP 器件无法转换为 FS 或 HS-SE 器件。 HS 器件在 HS-SE FS 状态下发货(由 TI)、稍后转换为 HS-SE (由客户)。

    TI AM62x HS-AM62 FS 电路板可在此处找到: https://www.ti.com/tool/SK-AM62B

    2. 如果无法在 GP 器件中刷写 SBL、则如何使用 Falcon 模式来优化引导时间?

    我没有说你不能。 您可以尝试使用正确的配置文件进行刷写。 如果它成功闪烁,一切都启动良好,那么它是伟大的,否则我们将在支持方面受到限制。

    此致、

    普拉桑特

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

    您好!

    是。 请注意、GP 器件无法转换为 FS 或 HS-SE 器件。 HS 器件以 HS-SE FS 状态发货(由 TI)、稍后转换为 HS-SE (由客户)。

    如果无法实现、则 TI 文档中提供了相关链接: 链接为 GP 到 HS-EVM FS 迁移指南。

    我没有说你不能。 您可以尝试使用正确的配置文件进行刷写。 如果它成功闪烁,一切都启动良好,那么它是伟大的,否则我们将在支持限制。

    那么、您能否为我的案例指导哪个是正确的配置文件?

    谢谢。此致、
    Aditya T

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

    您好!

    如果无法实现、则在 TI 文档中提供了相关 链接:链接为"HS-Hs GP FS 迁移指南"

    如果您按照该指南进行操作、您应该会意识到它旨在理解 FS 之间的差异、并将为 GP 器件开发的软件移植到 GP FS 器件。 但并未讨论如何将 GP 转换为 HS-MCU FS 、这是根本不可能的。

    您能指导我的案例的正确配置文件吗?

    您共享的刷写日志的第二个命令如下所示:

    正在执行命令2/9...
    命令参数:--file=../../examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage1/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage1.release.out --operation=flash --flash-offset=0x0

    原始 default_sbl_emmc_linux.cfg 具有以下命令作为第二个命令

    很明显、您出于某些原因修改了此配置文件。 我建议使用原始配置文件而不进行任何更改。

    仅供参考、在以下主题中、一位客户报告称来自 MCU+ SDK v9.0/v9.1的 SBL_EMMC_Linux 无法在 GP 器件上成功引导。

    (+) AM625:eMMC 到 Barmetal 代码-处理器论坛-处理器- TI E2E 支持论坛

    所以,我想,这将是相同的,对你。 您可以尝试一下。 如果它能正常工作、那就太好了、否则我们将无法支持这个问题。

    此致、

    普拉桑特