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.

[参考译文] PROCESSOR-SDK-AM62A:SDK 的 HS-SE R5映像构建问题?

Guru**** 2478765 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1456470/processor-sdk-am62a-hs-se-r5-image-build-issue-with-sdk

器件型号:PROCESSOR-SDK-AM62A

工具与软件:

您好!

我想继续我之前的未解析线程。 我已经使用 OTP Keywriter 工具成功地将自定义密钥烧录到了定制电路板上、但在使用 TI SDK 中构建的 hs-se 映像启动电路板时遇到了 DFU 问题  08.06.00.45。

我的主要步骤是确保 在 Makefile 中将 device_type_SEC 设置为"hs"、将密钥复制到 custMpk.pem、然后运行"make u-boot"和"make sysfw-image"。

从这里、我运行"dfu-util -R -A 引导加载程序-D tiboot3-am62ax-hs-evm.bin"。 我没有看到任何串行输出、之后状态为"unknown"。 希望在这方面提供任何帮助。

以下是我到目前为止已完成的检查:

1.通过读取 UART 引导字符串验证是否烧录了正确的密钥

$ python parse_uart_boot_socid.py socid_TI_dummy_keys_fused.txt
-----------------------
SoC ID Header Info:
-----------------------
NumBlocks            : 2
-----------------------
SoC ID Public ROM Info:
-----------------------
SubBlockId           : 1
SubBlockSize         : 26
DeviceName           : am62a
DeviceType           : HSSE
DMSC ROM Version     : [0, 0, 8, 0]
R5 ROM Version       : [0, 0, 8, 0]
-----------------------
SoC ID Secure ROM Info:
-----------------------
Sec SubBlockId       : 2
Sec SubBlockSize     : 166
Sec Prime            : 0
Sec Key Revision     : 1
Sec Key Count        : 2
Sec TI MPK Hash      : cb39ee39c52d0469806636ff350520fcf7065cbec5cdddfea08863506c2be9f2242ff3207f919c2edcff407261f0908459139f3c153770f3024c4eae43a71151
Sec Cust MPK Hash    : 1f6002b07cd9b0b7c47d9ca8d1aae57b8e8784a12f636b2b760d7d98a18f189760dfd0f23e2b0cb10ec7edc7c6edac3d9bdfefe0eddc3fff7fe9ad875195527d
Sec Unique ID        : 760cf9c2ab60c48458b0841818e1d1387423a70a45196ce0d2020f958bee3a22

2. 与 openssl 验证  用于签署证书的密钥模数与 custMpk.pem 的模数匹配

openssl x509 -noout -in  tiboot3-am62ax-hs-evm.bin -text

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            15:cc:3c:73:66:6e:61:77:01:1f:a7:9e:d6:6e:a5:d9:4b:ac:35:b4
        Signature Algorithm: sha512WithRSAEncryption
        Issuer: C = US, ST = TX, L = Dallas, O = Texas Instruments Incorporated, OU = Processors, CN = TI Support, emailAddress = support@ti.com
        Validity
            Not Before: Dec 30 20:33:59 2024 GMT
            Not After : Jan 29 20:33:59 2025 GMT
        Subject: C = US, ST = TX, L = Dallas, O = Texas Instruments Incorporated, OU = Processors, CN = TI Support, emailAddress = support@ti.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:bf:14:ae:49:d8:7f:72:d3:6b:23:cd:eb:48:0e:
                    65:dc:22:4d:f2:0e:4f:82:f6:ed:b5:f2:dd:db:7c:
                    91:fa:6e:59:ff:d5:f7:b6:de:04:1d:8a:cc:d2:95:
                    d9:d1:e0:c4:c1:f8:50:bf:ff:48:0c:91:22:50:9a:
                    4c:7b:8b:f3:96:0a:28:26:b3:a4:d9:e0:a9:55:41:
                    1a:fb:3e:5b:27:6c:bf:ca:c0:71:af:2f:72:22:ee:
                    46:01:25:62:ad:3e:c7:04:f6:b1:18:b6:2c:c0:12:
                    6e:0f:e2:9b:3e:e5:a6:a0:a8:06:45:03:41:17:4e:
                    16:1f:a9:74:d6:84:4e:d6:79:a7:10:b8:11:a9:0e:
                    92:1f:25:dd:7f:b1:f2:d1:b9:f2:68:d8:33:59:4b:
                    82:7d:77:cc:d1:9c:fa:23:b4:fb:58:88:f2:cd:ea:
                    d5:16:f2:2c:75:2d:fa:62:c3:c1:09:6e:e0:06:70:
                    e0:b5:07:09:99:62:d9:d6:e4:e7:6c:6d:c8:82:07:
                    50:93:f7:e2:d8:ed:d1:5f:e3:d0:9e:cf:93:54:d9:
                    5f:dd:5d:ce:37:60:f1:ab:14:8a:04:7b:65:a7:ba:
                    7f:df:45:45:7c:4b:a1:5b:ae:4e:c6:94:3d:8c:4e:
                    87:d2:94:3c:a4:f3:9f:da:fc:f2:36:7c:e7:0d:ad:
                    5a:42:37:f1:2a:81:d0:6e:a1:a7:67:03:1e:87:ed:
                    00:bb:73:4a:68:28:31:a2:82:9a:a3:04:c1:e8:87:
                    ff:45:7e:aa:c1:9f:d4:3b:05:c7:83:fd:21:71:fe:
                    bd:7f:38:c9:16:19:52:0e:e6:03:33:8d:1d:1e:c9:
                    36:1c:cd:4e:9d:82:29:88:cd:9b:2a:be:6c:5f:7b:
                    b2:b2:3a:79:00:6a:7d:f5:ad:1a:9d:1e:cd:58:2a:
                    cf:5e:f4:4e:80:ab:3b:4f:dd:f8:d4:de:34:a2:c4:
                    20:d9:59:19:2d:85:02:5e:1f:68:b1:4c:8d:b9:11:
                    06:e9:2d:76:b5:58:8c:50:a8:37:6e:66:78:6f:83:
                    30:46:4d:34:9f:b4:18:4a:b9:bb:fa:7b:c5:ae:d6:
                    32:10:84:84:6c:3f:9a:80:33:35:fc:4d:bc:d5:6e:
                    60:54:50:cf:7e:6d:80:97:04:fa:8f:0b:20:fd:bd:
                    98:2b:a1:37:bd:59:fd:4a:ec:45:a1:09:8b:17:c9:
                    72:14:33:b7:05:5e:12:5d:e2:5a:1d:ce:21:54:f6:
                    e1:ea:d5:55:aa:27:eb:4d:09:df:19:40:82:2e:66:
                    89:17:65:d9:6e:b3:d6:38:4e:8d:61:16:d6:74:d4:
                    de:16:5f:51:19:d5:42:b8:83:d2:c8:de:4b:a9:69:
                    97:b6:8d
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:TRUE
            1.3.6.1.4.1.294.1.3:
                0....
            1.3.6.1.4.1.294.1.9:
                0......lV...0a...........C..........`.H.e.....@".....*....b.[9K..8..~H..4..r...g..<...$....BV...42.2.1#...r.F^/0a..................p...`.H.e.....@.p~F....X.].y .....q.....P...1.{...&.'6T....`.`..%~7...I..0P..N.0`.....0`.....................`.H.e.....@.{.L......Z^".hqO`!.....2.#...,(y.U...I.............s.....9y.-w.0`...........C.........`.H.e.....@....=dg6...5Q...........o....J..A..U.EI......[......t.....cc....
            X509v3 Subject Key Identifier:
                04:DF:BB:B3:84:14:77:25:0C:CB:2E:33:A4:7D:4D:85:59:12:FB:E5
    Signature Algorithm: sha512WithRSAEncryption
    Signature Value:
        47:52:49:cf:2d:a6:dc:ec:aa:06:04:b4:cc:07:92:22:63:d8:
        9a:8c:80:d8:c2:50:05:b4:53:4d:5b:34:59:1e:41:61:56:c3:
        1b:07:a7:b1:28:60:ea:91:bb:a5:a3:b6:29:f2:08:d0:de:26:
        63:ee:75:4a:7c:20:85:fd:e9:1f:c1:02:10:68:b9:3f:02:2c:
        19:a1:5a:cf:1f:7e:6c:85:b0:6a:f3:81:9b:26:b2:77:70:6b:
        ab:c7:05:70:cd:d8:8f:f5:95:c4:be:e1:bf:e8:c6:21:91:60:
        1f:5f:1d:ed:33:bf:07:55:da:7a:18:27:20:ff:d1:df:45:5b:
        a8:7d:71:8a:26:da:28:6d:2c:b0:ef:55:a9:bf:6e:96:2d:50:
        cb:6f:23:c9:8a:a0:ed:26:5a:43:f0:27:b9:64:9c:40:b6:01:
        10:4c:f6:8d:1c:20:43:f6:6c:3e:5f:81:20:ce:4f:d3:81:ef:
        83:f9:d0:8c:7a:10:2e:e0:2c:a8:9e:5f:01:4c:a9:b8:ca:9c:
        7b:8a:d4:32:31:f1:f7:37:b4:7d:5c:19:6a:a4:5d:60:76:26:
        f3:8b:d7:75:8d:3d:c9:4b:09:79:ad:1f:b3:a3:10:e7:f8:5a:
        83:f1:66:5e:15:b0:d3:fd:74:37:6e:74:44:8b:98:af:dd:30:
        e6:2b:8f:11:61:3f:d8:d2:fb:fc:59:6f:c8:14:35:c2:b2:d7:
        8b:2e:93:68:23:bc:46:d1:8a:8b:c3:08:fe:13:61:23:5e:16:
        8f:99:c2:23:56:d0:56:85:7e:7a:68:96:ac:9e:10:38:69:cb:
        24:ba:d0:18:02:67:4b:04:53:4d:ed:44:38:7d:15:a9:60:29:
        50:72:d1:f3:fb:f6:28:03:fe:97:a5:37:cf:7c:7c:a0:08:ef:
        12:64:25:e3:3a:9f:02:32:36:41:08:54:d2:0e:58:40:8e:fe:
        e2:49:9d:63:9a:74:a1:bb:fa:7b:99:c3:5f:0e:a5:26:bf:d2:
        ad:a6:5b:51:14:d1:ca:94:b9:14:8b:c5:79:91:04:39:a3:c3:
        8d:b0:cd:2a:cb:b9:e5:61:a1:f8:e6:52:80:44:93:c7:d1:ce:
        39:5c:1d:01:c9:f5:1b:0e:5c:e5:f1:7a:1a:f4:ef:4b:7e:64:
        f6:e6:4c:3c:22:2a:40:1b:78:b1:e2:7b:9f:f7:92:ae:96:f0:
        08:bd:c5:6d:9e:5d:34:e2:48:54:b4:1c:ca:18:f5:9d:a0:d2:
        88:d4:ef:80:1f:8b:e4:d0:4c:6b:37:69:2c:c9:c9:d6:38:b4:
        18:86:b4:19:5d:6f:e4:c0:00:a3:80:67:7e:ca:6d:d7:70:3e:
        7c:c7:81:4b:2c:55:77:e5



openssl rsa -modulus -noout -in custMpk.pem

Modulus=BF14AE49D87F72D36B23CDEB480E65DC224DF20E4F82F6EDB5F2DDDB7C91FA6E59FFD5F7B6DE041D8ACCD295D9D1E0C4C1F850BFFF480C9122509A4C7B8BF3960A2826B3A4D9E0A955411AFB3E5B276CBFCAC071AF2F7222EE46012562AD3EC704F6B118B62CC0126E0FE29B3EE5A6A0A806450341174E161FA974D6844ED679A710B811A90E921F25DD7FB1F2D1B9F268D833594B827D77CCD19CFA23B4FB5888F2CDEAD516F22C752DFA62C3C1096EE00670E0B507099962D9D6E4E76C6DC882075093F7E2D8EDD15FE3D09ECF9354D95FDD5DCE3760F1AB148A047B65A7BA7FDF45457C4BA15BAE4EC6943D8C4E87D2943CA4F39FDAFCF2367CE70DAD5A4237F12A81D06EA1A767031E87ED00BB734A682831A2829AA304C1E887FF457EAAC19FD43B05C783FD2171FEBD7F38C91619520EE603338D1D1EC9361CCD4E9D822988CD9B2ABE6C5F7BB2B23A79006A7DF5AD1A9D1ECD582ACF5EF44E80AB3B4FDDF8D4DE34A2C420D959192D85025E1F68B14C8DB91106E92D76B5588C50A8376E66786F8330464D349FB4184AB9BBFA7BC5AED6321084846C3F9A803335FC4DBCD56E605450CF7E6D809704FA8F0B20FDBD982BA137BD59FD4AEC45A1098B17C9721433B7055E125DE25A1DCE2154F6E1EAD555AA27EB4D09DF1940822E66891765D96EB3D6384E8D6116D674D4DE165F5119D542B883D2C8DE4BA96997B68D

 

谢谢!

Joseph

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

    您好!

    在上一主题中、您已经提到了预编译映像至少正在引导。 如果情况仍然如此、您能否共享预编译映像(引导)和手动编译映像(不引导)?

    Regars、

    Prashant

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

    Prashant、您好!

    感谢您的答复、新年快乐! 当然我可以发送这些消息、但 不允许我 将它们附加到该线程上。 我可以向您发送消息或电子邮件吗? 另外、也不允许我在这里直接向您发送消息。

    谢谢!

    Joseph

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

    新年快乐、Joseph!!

    我刚才向您发送了朋友请求。 一旦您接受请求、您就可以向我发送私人消息。

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

    谢谢! 文件。

    Joseph

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

    您好!

    感谢您共享这些二进制文件。

    我对它们进行了比较、认为问题可能源于不兼容的 OpenSSL 版本。 我想您可能在使用 OpenSSL v3.x 如果需要、您是否可以安装 OpenSSL v1.1.x 并随后编译 U-Boot?

    此致、

    Prashant

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

    Prashant、您好!

    是的、我发送给您的二进制文件是使用 OpenSSL v3.0.2 2022年3月15日编译的。 我实际上在升级之前尝试使用 OpenSSL v1.1.1进行构建、但结果与不启动时的结果相同。 我将此图像添加到我与您共享的文件夹中、如果您也想看到它。

    jtingin@fermion:/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45$ openssl version -a
    OpenSSL 1.1.1  11 Sep 2018
    built on: Wed May 24 17:14:51 2023 UTC
    platform: debian-amd64
    options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr)
    compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-rFFxFC/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
    OPENSSLDIR: "/usr/lib/ssl"
    ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
    Seeding source: os-specific

    谢谢!

    Joseph

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

    尊敬的 Joseph:

    我在升级前尝试使用 OpenSSL v1.1.1进行构建、结果与无法启动的结果相同。

    那么问题可能只是 R5 SPL 二进制文件。 您可以尝试全新构建 U-Boot 吗?

    另一个注意事项是:

    您的定制电路板上是否有备用引导模式引脚? 如果需要、您能否将 B10、B11引脚驱动到高电平、以将备用引导配置为 UART。

    如果 ROM 通过主引导模式(DFU)拒绝映像、则会尝试备份引导(UART)、以便您在 UART 控制台上看到十六进制字符。 这样可以确认问题是否与身份验证失败有关。

    此致、

    Prashant

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

    Prashant、您好!

    我曾尝试执行"make u-boot_clean"和"make sysfw-image_clean"以确保删除所有 spl 文件、并使用上述相同的命令重建这些文件。

    jtingin@fermion:/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45$ make u-boot_clean
    ===================================
    Cleaining U-boot for A53
    ===================================
    make -C /exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot-* CROSS_COMPILE=/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- \
            O=/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot_build/a53 distclean
    make[1]: Entering directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make[2]: Entering directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot_build/a53'
      CLEAN   dts/../arch/arm/dts
      CLEAN   dts
      CLEAN   tools
      CLEAN   tools/lib tools/common
      CLEAN   spl/arch spl/board spl/cmd spl/common spl/disk spl/drivers spl/dts spl/env spl/fs spl/lib spl/u-boot-spl spl/u-boot-spl-dtb.bin spl/u-boot-spl-nodtb.bin spl/u-boot-spl-nodtb.bin_HS spl/u-boot-spl.bin spl/u-boot-spl.lds spl/u-boot-spl.map spl/u-boot-spl.multidtb.fit spl/u-boot-spl.sym spl/u-boot.cfg
      CLEAN   u-boot-nodtb.bin u-boot.lds u-boot-nodtb.bin_HS u-boot-dtb.img u-boot.img_HS u-boot.map u-boot.cfg.configs u-boot.cfg u-boot-spl-k3_HS.its u-boot.bin u-boot.srec u-boot-dtb.bin u-boot u-boot.dtb u-boot.img u-boot.sym System.map tispl.bin tispl.bin_HS
      CLEAN   scripts/basic
      CLEAN   scripts/dtc
      CLEAN   scripts/kconfig
      CLEAN   include/config include/generated spl
      CLEAN   .config .config.old include/autoconf.mk include/autoconf.mk.dep include/config.h
    make[2]: Leaving directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot_build/a53'
    make[1]: Leaving directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    ===================================
    Cleaining U-boot for R5
    ===================================
    make -C /exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot-* CROSS_COMPILE=/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf- \
            O=/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot_build/r5 distclean
    make[1]: Entering directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    make[2]: Entering directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot_build/r5'
      CLEAN   dts/../arch/arm/dts
      CLEAN   dts
      CLEAN   tools
      CLEAN   tools/lib tools/common
      CLEAN   spl/arch spl/board spl/cmd spl/common spl/disk spl/drivers spl/dts spl/env spl/fs spl/lib spl/u-boot-spl spl/u-boot-spl-dtb.bin spl/u-boot-spl-nodtb.bin spl/u-boot-spl.bin spl/u-boot-spl.lds spl/u-boot-spl.map spl/u-boot-spl.multidtb.fit spl/u-boot-spl.sym spl/u-boot.cfg
      CLEAN   u-boot-nodtb.bin u-boot.lds u-boot-nodtb.bin_HS u-boot-dtb.img u-boot.map u-boot.cfg.configs u-boot.cfg u-boot.bin u-boot.img_HS u-boot.srec u-boot-dtb.bin u-boot u-boot.dtb u-boot.img u-boot.sym System.map
      CLEAN   scripts/basic
      CLEAN   scripts/dtc
      CLEAN   scripts/kconfig
      CLEAN   include/config include/generated spl
      CLEAN   .config .config.old include/autoconf.mk include/autoconf.mk.dep include/config.h
    make[2]: Leaving directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot_build/r5'
    make[1]: Leaving directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654'
    jtingin@fermion:/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45$
    jtingin@fermion:/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45$
    jtingin@fermion:/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45$
    jtingin@fermion:/exthome/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45$ make sysfw-image_clean
    =============================
    Cleaning SYSFW Image
    =============================
    make[1]: Entering directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/k3-image-gen-2022.01'
    Makefile:166: warning: overriding recipe for target 'all'
    soc/am62ax/Makefile:42: warning: ignoring old recipe for target 'all'
    rm -f out/soc/am62ax/evm/sysfw.bin-hs out/soc/am62ax/evm/board-cfg.bin-signed out/soc/am62ax/evm/pm-cfg.bin-signed out/soc/am62ax/evm/rm-cfg.bin-signed out/soc/am62ax/evm/tifs-rm-cfg.bin-signed out/soc/am62ax/evm/sec-cfg.bin-signed out/soc/am62ax/evm/board-cfg.o-pre-validated out/soc/am62ax/evm/pm-cfg.o-pre-validated out/soc/am62ax/evm/rm-cfg.o-pre-validated out/soc/am62ax/evm/tifs-rm-cfg.o-pre-validated out/soc/am62ax/evm/sec-cfg.o-pre-validated out/soc/am62ax/evm/board-cfg.o.log out/soc/am62ax/evm/pm-cfg.o.log out/soc/am62ax/evm/rm-cfg.o.log out/soc/am62ax/evm/tifs-rm-cfg.o.log out/soc/am62ax/evm/sec-cfg.o.log
    rm -f out/soc/am62ax/evm/combined-sysfw-cfg.bin out/soc/am62ax/evm/combined-tifs-cfg.bin out/soc/am62ax/evm/combined-dm-cfg.bin
    rm -f ./sysfw-am62ax-evm.itb ./sysfw.itb
    rm -f out/soc/am62ax/evm/sysfw-am62ax-evm.its
    rm -f ./tiboot3-am62ax-hs-evm.bin ./tiboot3.bin
    rm -f ti-fs-firmware-am62ax-hs-certs.bin
    rm -df .
    rm: cannot remove '.': Directory not empty
    Makefile:269: recipe for target 'clean' failed
    make[1]: [clean] Error 1 (ignored)
    rm -df out/soc/am62ax/evm && \
     rm -df out/soc/am62ax && \
     rm -df out/soc && \
     rm -df out
    rm: cannot remove 'out/soc/am62ax/evm': Directory not empty
    Makefile:269: recipe for target 'clean' failed
    make[1]: [clean] Error 1 (ignored)
    make[1]: Leaving directory '/net/lockbox/home/jtingin/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/k3-image-gen-2022.01'

    我还将 B10和 B11连接至高电平、并再次尝试 DFU 引导。 我看到同样的问题、在我的控制台上没有看到任何内容。

    $ ./dfu-util-v11.exe -R -a bootloader -D /d/ti-processor-sdk-linux-am62axx-evm-08.06.00.45/board-support/k3-image-gen-2022.01/tiboot3-am62ax-hs-evm.bin
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Opening DFU capable USB device...
    Device ID 0451:6165
    Device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Interface #0 ...
    Determining device status...
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    DFU mode device DFU version 0110
    Device returned transfer size 512
    Copying data from PC to DFU device
    Download        [=========================] 100%       357463 bytes
    Download done.
    DFU state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    Done!
    Resetting USB to switch back to Run-Time mode
    Warning: Invalid DFU suffix signature
    A valid DFU suffix will be required in a future dfu-util release
    
    JTingin@JTINGIN-US-LE01 MINGW64 ~/Desktop/Tools
    $ ./dfu-util-v11.exe -l
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Found DFU: [0451:6165] ver=0200, devnum=17, cfg=1, intf=0, path="1-2", alt=1, name="UNKNOWN", serial="UNKNOWN"
    Found DFU: [0451:6165] ver=0200, devnum=17, cfg=1, intf=0, path="1-2", alt=0, name="UNKNOWN", serial="UNKNOWN"
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    

    在使用 hs-fs 板执行这些完全相同的步骤时、我可以启动它。 我还尝试了使用自定义键的第二个 hs-se 板、我仍然看到相同的行为。

    谢谢!

    Joseph

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

    您好!

    第二部分是否存储了实际的数字签名、这些数字签名是否必须匹配?

    是的、这是预期行为。

    您的定制电路板上是否提供了 JTAG? 这将有助于检查 WKUP R5F 内核的执行状态。

    此致、

    Prashant

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

    Prashant、您好!

    感谢您对我的问题的答复。

    是的、这是预料之中的。

    由于第二个部分不具有相同的签名、这是否意味着无法正确生成证书? 不确定这是否意味着身份验证失败。

    我已有 JTAG 可用。 我将按照以下步骤为 HS-SE 器件解锁 JTAG。

    https://dev.ti.com/tirex/explore/node?node=A__AS.MqbU8ShyzoaAVGWKQRQ__AM62A-ACADEMY__WeZ9SsL__LATEST&placeholder=true

    解锁 JTAG 后、如何在执行 DFU 引导时检查执行状态?

    谢谢!

    Joseph

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

    尊敬的 Joseph:

    由于第二部分没有相同的签名、这是否意味着无法正确生成证书?

    否 即使是对相同数据多次签名、签名也始终不同。

    我将按照以下步骤解锁 HS-SE 器件的 JTAG。

    这些步骤不会起作用、因为它们可以与 TIFS 一起运行。

    您可以应用以下修补程序以使调试扩展位于 X.509证书本身中。  如果问题不是由于身份验证失败所致、ROM 将解锁 JTAG。

    diff --git a/board-support/k3-image-gen-2022.01/scripts/gen_x509_combined_cert.sh b/board-support/k3-image-gen-2022.01/scripts/gen_x509_combined_cert.sh
    index 8cc214d..1f09bfb 100755
    --- a/board-support/k3-image-gen-2022.01/scripts/gen_x509_combined_cert.sh
    +++ b/board-support/k3-image-gen-2022.01/scripts/gen_x509_combined_cert.sh
    @@ -277,6 +277,7 @@ cat << 'EOF' > $TEMP_X509
      basicConstraints = CA:true
      1.3.6.1.4.1.294.1.3=ASN1:SEQUENCE:swrv
      1.3.6.1.4.1.294.1.9=ASN1:SEQUENCE:ext_boot_info
    + 1.3.6.1.4.1.294.1.8 = ASN1:SEQUENCE:debug
     
      [swrv]
      swrv=INTEGER:SW_REV
    @@ -318,6 +319,12 @@ cat << 'EOF' > $TEMP_X509
      shaValue = FORMAT:HEX,OCT:SYSFW_DATA_IMAGE_SHA_VAL
      SYSFW_INNER_CERT_EXT_BOOT_BLOCK
      DM_DATA_EXT_BOOT_BLOCK
    +
    + [ debug ]
    + debugUID = FORMAT:HEX,OCT:0000000000000000000000000000000000000000000000000000000000000000
    + debugType = INTEGER:4
    + coreDbgEn = INTEGER:0
    + coreDbgSecEn = INTEGER:0
     EOF
     }
     
    

    引导映像后、尝试连接到 WKUP R5F。

    如果您能够连接、那么理想情况下应将其挂起在0x43Cxxxxx 地址、这确认 R5 SPL 至少处于引导状态、但很早就会遇到问题、从而导致根本没有 UART 日志。

    此致、

    Prashant

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

    Prashant、您好!

    我复制了您的补丁并重建了映像。 我尝试了 DFU 引导中的第一个二进制文件、但没有看到控制台输出。 我使用 XDS110调试器设置 AM62A 目标配置。

    我能够连接到 WKUP_R5FSS0_0、但我仅在0x0000000C 被暂停、而不是  您提到的0x43Cxxxxx 地址。 我尝试了多次,它似乎总是这个地址. 我在下面附上了一张图片、其中还显示了反汇编。

    这是否意味着它是身份验证问题?

    谢谢!

    Joseph

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

    尊敬的 Joseph:

    如果您能够连接、那么 ROM 肯定会引导 R5 SPL。 我认为该问题源自 R5 SPL 本身。 在执行的很早阶段、它可能会进入某个中止。

    您能否应用以下补丁来陷阱执行、假定它至少到达了 board_init_f 函数:

    diff --git a/arch/arm/mach-k3/am62a7_init.c b/arch/arm/mach-k3/am62a7_init.c
    index 926585725a8..dea8d3c2cce 100644
    --- a/arch/arm/mach-k3/am62a7_init.c
    +++ b/arch/arm/mach-k3/am62a7_init.c
    @@ -98,6 +98,9 @@ void board_init_f(ulong dummy)
     	struct udevice *dev;
     	int ret;
     
    +    volatile uint8_t halt = 1;
    +    while(halt);
    +
     #if defined(CONFIG_CPU_V7R)
     	setup_k3_mpu_regions();
     #endif
    

    然后再次尝试前面的过程、告诉我 CCS 的状态。

    此致、

    Prashant

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

    Prashant、您好!

    感谢您分享该调试。 我应用了您的补丁、您说得对、我现在已经停在了您前面提到的地址范围上。

    请注意、board_init_f()在我们的代码中从未修改过、该代码正常执行 hs-fs 器件。 这里是否需要对 HS-SE 器件进行任何更改?

    是否还有方法可以使用调试器逐步执行此操作和加载 R5 SPL 的方式? 我可以尝试同时进行暂停调试(和一些打印)、看看我是否能找到错误的位置。

    此致、

    Joseph

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

    我找到了它的错误位置,它看起来崩溃在 board-support/u-boot-2021.01+gitAUTOINC+2ee8efd654-g2ee8efd654/lib/fdtdec.c 在 fdtdec_setup()中。   

    以下是执行流程:

    Board_init_f()-> spl_early_init ()-> spl_common_init ()-> fdtdec_setup ()-> locate_dtb_in_fit ()  

    我的理解是要在图像中查找设备树。 器件树是否需要更改以实现安全启动?

    谢谢!

    Joseph

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

    Prashant、您好!

    我找到了问题的原因。 它最终会在尝试在 board_ti_was_eeprom_read ()中执行 i2c EEPROM 读取时崩溃。 我们的板不支持此功能、因此删除 board/ti/am62ax/Kconfig 中的 TI_I2C_Board_DETECT 功能可让我一直引导到 U-boot。

    奇怪的是、即使 hs-fs 器件是同一块板、它的行为也不同。 可能是在 hs 构建中、它访问了错误的内存。

    不管怎样、您分享的调试确实帮了我们找到了这一点。 感谢您的支持!

    Joseph

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

    感谢您的更新、Joseph。

    您可以应用以下修补程序、使 X.509证书本身包含调试扩展。  如果问题不是由身份验证失败引起的、则 ROM 将解锁 JTAG。[/QUOT]

    请确保此补丁仅用于开发阶段。 生产时应将其移除。