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:生成眼图

Guru**** 2943030 points

Other Parts Discussed in Thread: SK-AM62-LP

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1651923/am625-generate-eye-diagram

器件型号: AM625
主题中讨论的其他器件: SK-AM62-LP

您好、  

我想为带有 LPDDR4 的定制 am62x 板生成眼图。 参考 DDR-MARGIN-FW、通过 UART 负载。

我觉得 readme.txt 中提到的命令 看起来支持窗口方法来捕获。

请共享在 Linux 上运行的等效命令、

 

此致、

Gireesh Hiremath  

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

    您好:Gireesh、

    这些命令与 O/S 无关、因为它们使用 javascript 和 python 脚本。 自述文件中使用 Windows 独有的软件的唯一部分是用作示例的串行软件 TeraTerm。 如自述文件“串行终端“一节中所述、您可以自由地将其替换为您喜欢使用的任何串行软件:

    串行终端
    ----------------------------
    对于将在运行期间连接到目标器件的主机 PC、需要串行终端软件。
    像 TeraTerm 或 Putty 这样的自由软件是很受欢迎的选择。

    此致、

    Lucas

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

    您好、Lucas:

    感谢您的信息。 我已经浏览了 readme.txt、但在引导模式开关上未明确说明、

    对于 UART 负载和 JTAG 负载、引导开关的首选位置是什么?

    DFU 引导模式开关位置是否可用作 UART 负载的替代方案 ?

    如果只有 DFU 引导模式开关与定制板一起留下、则需要进行哪些更改才能加载 DDR-MARGIN-FW?

    此致、

    Gireesh Hiremath

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

    您好:Gireesh、

    固件没有优选的引导模式、它完全独立于引导过程。 根据我的经验、JTAG 加载通常是最简单的使用方法、而 UART 引导是客户能够访问的引导(通常用作调试辅助工具)。

    是的、您可以使用 DFU 引导来代替 UART 引导、固件没有限制。 唯一的硬性要求是 UART0 引脚输出、以便主机捕获固件的串行输出。

    此致、

    Lucas

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

    您好:Gireesh、

    我不确定您是否有定制板可供试用、但下面提供了一个示例、说明如何使用 SK-AM62-LP EVM 上的 MCU+SDK 加载工具。 电路板的步骤可能是类似的、但如果您具有与 EVM 不同的 DDR 配置、则可能需要重新编译 SBL_UART。 这也不是特定于固件、您也可以使用此通用流程加载任何应用:

    USB DFU Boot->引导至 SBL_UART->通过 XMODEM 将映像发送至 UART->固件启动

    1. 为 USB DFU 引导设置引导模式开关(在本例中,您的电路板默认会具有此功能)
    2. 下载并安装 MCU+SDK(我目前使用的是最新版本,12.00.00.27) 。  
      1. 安装后、将 CD 放入 /tools/boot
    3. 下载固件并将其复制到 /tools/boot
    4. 打造 M4 Hello World。 稍后会使用、因此 MCU+SDK SBL 将初始化工具将使用的 M4 存储器
      1. gmake -C ..\..\examples\hello_world\am62x-sk-lp\m4fss0-0_nortos\ti-arm-clang\
        cp ..\..\examples\hello_world\am62x-sk-lp\m4fss0-0_nortos\ti-arm-clang\hello_world.release.appimage.hs_fs .\
    5. 创建并签署 SBL 可以使用的固件应用程序映像  
      1. node .\out2rprc\elf2rprc.js .\AM62X_TEye_A53_read.out 0x0C00001B 
        node .\multicoreImageGen\multicoreImageGen.js --devID 55 .\AM62X_TEye_A53_read.rprc@0 --out .\AM62X_TEye_A53_read_unsigned.appimage 
        python .\signing\appimage_x509_cert_gen.py --bin .\AM62X_TEye_A53_read_unsigned.appimage --authtype 0 --loadaddr 84000000 --key .\signing\app_degenerateKey.pem --output .\AM62X_TEye_A53_read_signed.appimage --keyversion 1.5
    6. 通过 USB DFU 发送 SBL UART(在 Linux 系统上、我认为您应该默认具有 dfu-util)  
      1. dfu-util-static.exe -R -a bootloader -D ".\sbl_prebuilt\am62x-sk-lp\sbl_uart.release.hs_fs.tiimage"
    7. 使用 XMODEM 发送 appimage。 有很多方法可以做到这一点、但最简单的方法是可能使用您偏好的串行软件。 我在 Windows 上使用了 TeraTerm、但您可以修改 SDK 中的 Python 脚本以用于此混合引导流程。 它们用于使用 UART 引导加载程序和应用程序、但对于此用例不是重大修改。
      1. 首先发送 M4 的 Hello World
      2. 发送签名的固件应用映像
      3. 发送和结束文件消息、可以使用此文件: e2e.ti.com/.../magic_5F00_word_5F00_file.dat

    此致、

    Lucas

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

    您好、Lucas:

    感谢您的信息、我将尝试加载二进制文件。

    谢谢、

    Gireesh

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

    您好:Gireesh、

    听起来不错、如果您遇到任何问题、请告诉我。

    此致、

    Lucas

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

    您好、Lucas:

     按照您的建议、我遵循了以下步骤、并面临加载映像的困难

    1>将自定义 LPDDR 头表单生成的工具更新为~/ti/mcu_plus_sdk_am62x_12_00_00_27/source/drivers/ddr/v0 soc /am62x/board_lpddrReginit.h

    2>重建了 SBL_UART

    make -s -C examples/drivers/boot/sbl_uart/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang  profile=release   device_type=HS_FS

    3>编译的 hello world

    gmake -C examples/hello_world/am62x-sk-lp/m4fss0-0_nortos/ti-arm-clang/

    4>通过从 am62x_ddr_MARGIN_firmware_1_9_0 中获取 AM62X_TEYE_a53_read.out 来编译固件

    节点./out2rprc/elf2rprc.js ./AM62X_TEYE_A53_READ.out 0x0C00001B

    节点/multicoreImageGen/multicoreImageGen.js --DevID 55 ./AM62X_TEYE_A53_READ.rprc@0 --out ./AM62X_TEYE_A53_READ_unsigned .appimage

    python3 /signing/appimage_x509_cert_gen.py -- bin ./AM62X_TEYE_A53_READ_unsigned.appimage -- authtype 0 ---loadaddr 84000000 -- key ./signing/app_degenerateKey.pem -- output ./AM62X_TEYE_A53_READ_SIGNED.appimage -- keyversion 1.5

    正在为./AM62X_TEYE_A53_READ_unsigned.appimage 生成证书...

    5>加载 SBL_UART

    a>检查设备

    $ dfu-util -l

    dfu-util 0.11

    版权所有 2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.

    版权所有 2010-2021 Tormod Volden 和 Stefan Schmidt

    此程序是免费软件、完全没有保修

    请向 http://sourceforge.net/p/dfu-util/tickets/报告错误

     

    找到 DFU:[0451:6165] ver=0200、devnum=7、cfg=1、intf=0、path=“1-1“、 Alt=1、name=“SocId“、serial=“01.00.00.00“

    找到 DFU:[0451:6165] ver=0200、devnum=7、cfg=1、intf=0、path=“1-1“、 Alt=0、name=“bootloader“、serial=“01.00.00.00“

     

    B>发送 SBL

     

    $ dfu-util -R -A 引导加载程序-D “../../examples/drivers/boot/sbl_uart/am62x-sk-lp/r5fss0-0_nortos/ti-arm-clang/sbl_uart.release.hs_fs.tiimage

    dfu-util 0.11

     

    版权所有 2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.

    版权所有 2010-2021 Tormod Volden 和 Stefan Schmidt

    此程序是免费软件、完全没有保修

    请向 http://sourceforge.net/p/dfu-util/tickets/报告错误

     

    dfu-util:警告:DFU 后缀签名无效

    dfu-util:未来的 dfu-util 版本中将需要有效的 DFU 后缀

    正在打开支持 DFU 的 USB 设备...

    设备 ID 0451:6165

    器件 DFU 版本 0110

    正在申请 USB DFU 接口...

    正在设置备用接口#0...

    正在确定设备状态...

    DFU state (2)= dfuIDLE、status (0)=不存在错误条件

    DFU 模式器件 DFU 版本 0110

    设备返回的传输大小 512

    将数据从 PC 复制到 DFU 器件

    下载        [==========================] 100%      265943 字节

    下载完成。

    DFU 状态 (6)= dfuMANIFEST-SYNC、STATUS (0)=不存在错误条件

    dfu-util:完成后无法读取 DFU 状态 (libusb_error_timeout)

     

    5>现在我在 TeraTerm 上看到“CCC“。

    6>通过 x-modem 成功传输 hello_world.release.appimage.hs_fs

    7>传输 AM62X_TEYE_A53_READ_unsigned.appimage/AM62X_TEYE_A53_READ_SIGNED.appimage 这不是成功、XMODEM 窗口会在几秒钟后关闭

        再次进入 DFU 模式、并在 TeraTerm 上看到“CCC“

    $ dfu-util -l

    dfu-util 0.11

     

    版权所有 2005-2009 Weston Schmidt、Harald Welte 和 OpenMoko Inc.

    版权所有 2010-2021 Tormod Volden 和 Stefan Schmidt

    此程序是免费软件、完全没有保修

    请向 http://sourceforge.net/p/dfu-util/tickets/报告错误

     

    dfu-util:无法检索语言标识符

    dfu-util:无法检索语言标识符

    dfu-util:无法检索语言标识符

    dfu-util:无法检索语言标识符

    找到 DFU:[0451:6165] ver=0200、devnum=13、cfg=1、intf=0、path=“1-1“、 Alt=1、name=“unknown“、serial=“unknown“

    找到 DFU:[0451:6165] ver=0200、devnum=13、cfg=1、intf=0、path=“1-1“、 Alt=0、name=“unknown“、serial=“未知

     

    请提供解决此问题的建议、您可以授予访问权限以下载 magic_word_file.dat

    此致、

    Gireesh Hiremath

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

    您好:Gireesh、

    魔术字文件的内容如下,您可以将其粘贴到一个简单的文本文件中并发送它。 确保没有回车符或其他换行符。

    EOFT

    转移 hello world 后、能否等到控制台上再次出现 C 字符? 我再次对其进行了测试、SBL 在加载 Hello World 后似乎需要大约 30 秒才能再次恢复输出。  

    我将修改现有的 UART 引导加载程序 python 脚本、以便我们也可以进行完全相同的测试、并将其发布作为后续操作。

    此致、

    Lucas

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

    您好、Lucas:

    我尝试使用最新的 uart_bootloader.py 加载二进制文件、但仍然能达到预期效果  

    1>通过 DFU => Loaded(已加载)加载 SBL_UART  

    2>加载固件: hello_world.release.appimage.hs_fs =>已加载  

                   AM62X_TEYE_A53_READ_SIGND.appimage =>失败并给出“XMODEM 发送失败“

    按如下所示记录

    /mcu_plus_sdk_am62x_12_00_00_27/tools/boot$ python uart_bootloader.py -p /dev/ttyUSB0 --bootloader hello_world.release.appimage.hs_fs --file AM62X_TEye_A53_read_signed.appimage
    Sending the UART bootloader hello_world.release.appimage.hs_fs ...
    Sent bootloader hello_world.release.appimage.hs_fs of size 26717 bytes in 4.3s.                                                   

    Sending the application AM62X_TEye_A53_read_signed.appimage ...
    Sending AM62X_TEye_A53_read_signed.appimage:   0%|                                                  | 0/219702 [00:00<?, ?bytes/s]send error: error_count reached 10, aborting.
    Sending AM62X_TEye_A53_read_signed.appimage:   0%|                                     | 2/219702 [00:33<2017:25:19, 33.06s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
            Power cycle EVM and run this script again !!!

    请给出建议、

    此致、

    Gireesh Hiremath

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

    您好:Gireesh、

    让我们从一些基本步骤开始:

    1. 您是否有 SK-AM62-LP EVM 可 在您的设置中检查此流程?
    2. 如果您通过 XMODEM 手动将 Hello world 发送到定制电路板、您能否确认在发送后看到 SBL 的任何 C 字符输出? 在我的设置中发送后大约需要 30 秒。  
      1. 如果您确实在 hello world 完成后确认 C 字符、这应该表明 SBL 已准备好接收另一个映像。 然后在此时再次尝试手动发送眼图。

    此致、

    Lucas

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

    您好、Lucas:

    感谢您提供的信息。 现在、我能够通过我们定制的 am62x FS 器件生成眼图。

    接下来、我需要在 HS 器件上生成相同的代码  、为此、通过复制我们的 custMpk.pem 但在加载“sbl_uart.release.hs.tiimage“后未获得“ccc“来生成 sbl_UART 。

    请给出建议。

    此致、

    Gireesh Hiremath   

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

    您好:Gireesh、

    我对此无能为力、我会将此主题重新分配给其他可能的同事。 请给他们一些时间来了解您提出的问题、然后回复。

    此致、

    Lucas

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

    您好、

    ]接下来、我需要在 HS 器件上生成相同内容、 为此 、通过复制我们的 custMpk.pem 生成了 sbl_UART、 但在加载“sbl_uart.release.hs.tiimage“后未获得“cccc“ 。

    一旦通过 UART 引导 SBL、您就不会在控制台上看到 CCC 打印。

    当 SoC 配置为 UART 引导模式并等待映像 (SBL) 时、ROM 代码通过 UART 发送这些 C 字符、因为您已经引导 SBL、您将不会看到这些字符正在打印。

    此致、

    会面。

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

    您好、认识 Thakar、

    当前对于 AM62x HS FS:我 通过 DFU 加载“sbl_uart.release.hs_fs.tiimage、然后我能够在控制台上看到“ccc“、通过 Xmodem 从 TeraTerm 加载更多二进制文件以获取眼图。

    对于 AM62x HS FS:  通过 DFU 对此进行加载后、包含了我们的 custMpk.pem 并重新构建了“sbl_uart.release.hs.tiimage“、无法在控制台上看到“ccc“以加载更多二进制文件。

    请给出建议、需要采取任何其他操作来编译 “sbl_uart.release.hs.tiimage“

    此致、

    Gireesh Hiremath