AM62A3: After flashing KeyWriter binary, no output logs

Part Number: AM62A3

Dear TI,

I refer to below link to generate tiboot3.bin, and flash it to EVM borad, but no any R5 logs output.

https://dev.ti.com/tirex/explore/node?devtools=SK-AM62A-LP&node=A__AckwZeWUyRjXoljXV4PQJw__AM62A-ACADEMY__WeZ9SsL__LATEST&placeholder=true

And I checked the device state through socid.txt, the device is still HSFS.

And I upload the logs of generate keywriter process. Please help to check.

Thanks.

Generate-KeyWriter-logs.txt
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/cert_gen/am62ax$ sudo ./gen_keywr_cert.sh -t tifek/ti_fek_public.pem --msv 0xC0FFE -b-def --bmek-def -s-def --smek-def --keycnt 2 --keyrev 1[sudo] password for lutao: 
# Using MSV[19:0]: 0x000C0FFE
INFO: Using default BMPK for programming
INFO: Using default BMEK for programming
INFO: Using default SMPK for programming
INFO: Using default SMEK for programming
# Using Key Count: 0x00000003
# Using Key Rev: 0x00000001
Generating Dual signed certificate!!
GEN: AES256 key generated, since not provided
# encrypt aes256 key with tifek public part
# encrypt SMPK-priv signed aes256 key(hash) with tifek public part
# encrypt smpk-pub hash using aes256 key
writing RSA key
# encrypt smek (sym key) using aes256 key
# encrypt BMPK-priv signed aes256 key(hash) with tifek public part
# encrypt bmpk-pub hash using aes256 key
writing RSA key
# encrypt bmek (sym key) using aes256 key
1668    secondary_cert.bin
5383    primary_cert.bin
7051    ../../x509cert/final_certificate.bin
# SHA512 Hashes of keys are stored in verify_hash.csv for reference..
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/cert_gen/am62ax$ cd ../../x509cert/
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/x509cert$ ls -l
total 8
-rw-r--r-- 1 root root 7051 Nov 25 17:41 final_certificate.bin
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/x509cert$ sudo python3 ../../../../../tools/bin2c/bin2c.py final_certificate.bin keycert.h KEYCERT
Traceback (most recent call last):
  File "../../../../../tools/bin2c/bin2c.py", line 13, in <module>
    *  Copyright (C) ''' + sys.argv[4] +''' Texas Instruments Incorporated
IndexError: list index out of range
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/x509cert$ sudo python3.7 ../../../../../tools/bin2c/bin2c.py final_certificate.bin keycert.h KEYCERT 2024
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/x509cert$ ls -l
total 64
-rw-r--r-- 1 root root  7051 Nov 25 17:41 final_certificate.bin
-rw-r--r-- 1 root root 54267 Nov 25 17:44 keycert.h
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/scripts/x509cert$ cd ../../am62ax-sk/r5fss0-0_nortos/ti-arm-clang/
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang$ sudo make -sj clean PROFILE=debug
Cleaning: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out ...
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang$ sudo make -sj PROFILE=debug
Generating SysConfig files ...
Running script...
Validating...
Generating Code (example.syscfg)...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_dpl_config.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_dpl_config.h...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_drivers_config.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_drivers_config.h...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_drivers_open_close.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_drivers_open_close.h...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_pinmux_config.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_power_clock_config.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_board_config.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_board_config.h...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_board_open_close.c...
Writing /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/generated/ti_board_open_close.h...
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: ../main.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: ../keywriter_utils.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: ../board.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_drivers_config.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_drivers_open_close.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_board_config.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_board_open_close.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_dpl_config.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_pinmux_config.c
Compiling: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out: generated/ti_power_clock_config.c
.
Linking: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out ...
Linking: am62ax:r5fss0-0:nortos:ti-arm-clang sbl_keywriter.debug.out Done !!!
.
Boot image: am62ax:r5fss0-0:nortos:ti-arm-clang /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/sbl_keywriter.debug.tiimage ...
Boot image: am62ax:r5fss0-0:nortos:ti-arm-clang /opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang/sbl_keywriter.debug.tiimage Done !!!
.
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang$ ls -l
total 1876
-rw-rw-r-- 1 root root   4466 Jul 29  2023 example.projectspec
drwxr-xr-x 2 root root   4096 Nov 25 17:44 generated
-rw-rw-r-- 1 root root   2234 Jul 29  2023 linker.cmd
-rw-rw-r-- 1 root root   8116 Jul 29  2023 makefile
-rw-rw-r-- 1 root root   2646 Jul 29  2023 makefile_ccs_bootimage_gen
-rw-rw-r-- 1 root root    807 Jul 29  2023 makefile_projectspec
drwxr-xr-x 3 root root   4096 Nov 25 17:44 obj
-rw-r--r-- 1 root root 121088 Nov 25 17:44 sbl_keywriter.debug.bin
-rw-r--r-- 1 root root 233750 Nov 25 17:44 sbl_keywriter.debug.map
-rw-r--r-- 1 root root 942188 Nov 25 17:44 sbl_keywriter.debug.out
-rw-r--r-- 1 root root 283284 Nov 25 17:44 sbl_keywriter.debug.tiimage
-rw-rw-r-- 1 root root    198 Jul 29  2023 syscfg_c.rov.xs
-rw-r--r-- 1 root root 283284 Nov 25 17:44 tiboot3.bin
lutao@ubuntu:/opt/ti/ti/mcu_plus_sdk_am62ax_10_00_00_14/source/security/sbl_keywriter/am62ax-sk/r5fss0-0_nortos/ti-arm-clang$ 

  • 您好! 请仅将 Keywriter v09.00与相应的 MCU+ SDK v09_00_00_19一起使用、因为未测试 Keywriter 与每个 SDK 版本的兼容性。 如果您使用正确的 MCU+ SDK 版本后仍然遇到问题、请告诉我。

  • Dear TI,

    非常感谢您的支持。

    使用 mcu_plus_sdk_am62ax_09_00_00_19 版本,以上问题可以解决,tiboot3烧写之后,设备变成HSSE的了。

    有一个问题还想请教:

    EVM设备变成HSSE之后,改为正常的emmc启动,没有任何log出来了,现在如何让evm设备能正常启动呢?

    我尝试进入dfu,烧写 hs 的镜像:

    识别到 BootLoader 设备,tiboot3.bin 可以烧写;

    lutao@ubuntu:/home/tony/Work/DSSAD/dfu_flash-2G/DFU_flash_2G/bin/am62axx-evm/hs$ sudo dfu-util -l
    dfu-util 0.9

    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2016 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=27, cfg=1, intf=0, path="3-4.1", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=27, cfg=1, intf=0, path="3-4.1", alt=0, name="bootloader", serial="01.00.00.00"

    然后烧写完,执行" sudo dfu-util -l" 就没有任何设备了,后面的tispl和u-boot镜像就无法烧写,这和之前hsfs的板子不一样,此前都可以烧写的。

    不知问题在哪里,还请帮忙再看下,谢谢。

    Thanls.

  • Hi Links,

    上次使用 mcu_plus_sdk_am62ax_09_00_00_19 版本,tiboot3烧写之后,设备变成HSSE的了。

    下一步需要从emmc启动,该如何烧写镜像到emmc里?我这边遇到设备进入dfu无法烧写的问题。

    详细操作如下:

    1.evm板子进入dfu模式

    2.pc烧写镜像,log如下:

    lutao@ubuntu:/home/tony/Work/DSSAD/uboot-flash-writer/tools/DFU_flash/bin/am62axx-evm/hs$ sudo dfu-util -l
    dfu-util 0.9
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2016 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
    
    Found DFU: [0451:6165] ver=0200, devnum=32, cfg=1, intf=0, path="3-4.1", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=32, cfg=1, intf=0, path="3-4.1", alt=0, name="bootloader", serial="01.00.00.00"
    lutao@ubuntu:/home/tony/Work/DSSAD/uboot-flash-writer/tools/DFU_flash/bin/am62axx-evm/hs$ sudo dfu-util -R -a bootloader -D tiboot3.bin
    dfu-util 0.9
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2016 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
    
    dfu-util: Invalid DFU suffix signature
    dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
    Opening DFU capable USB device...
    ID 0451:6165
    Run-time device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Setting #0 ...
    Determining device status: state = dfuIDLE, status = 0
    dfuIDLE, continuing
    DFU mode device DFU version 0110
    Device returned transfer size 512
    Copying data from PC to DFU device
    Download [=========================] 100% 359889 bytes
    Download done.
    state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
    dfu-util: unable to read DFU status after completion
    Resetting USB to switch back to runtime mode

    evm板子串口log如下:

    U-Boot SPL 2021.01 (Jun 21 2023 - 11:56:12 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    SPL: Unsupported Boot Device!
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    3.tiboot3.bin烧录完,pc执行"sudo dfu-util -l"无设备,无法烧写其他镜像(tispl.bin和u-boot.img)

    lutao@ubuntu:/home/tony/Work/DSSAD/uboot-flash-writer/tools/DFU_flash/bin/am62axx-evm/hs$ sudo dfu-util -l
    dfu-util 0.9
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2016 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

    EVM设备在HSFS的时候,以上1和2操作完,第3步,pc执行"sudo dfu-util -l",会出现类似如下的设备:

    $ sudo dfu-util -l
    ...
    Found DFU: [0451:6165] ver=0224, devnum=12, cfg=1, intf=0, path="3-4.1.3", alt=1, name="u-boot.img", serial="UNKNOWN"
    Found DFU: [0451:6165] ver=0224, devnum=12, cfg=1, intf=0, path="3-4.1.3", alt=0, name="tispl.bin", serial="UNKNOWN"

    这样就可以继续做tispl.bin和u-boot.img烧写,现在无设备,无法进行下一步烧写。

    请问以上问题该如何解决?

    Thanks.