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.

DRA829J-Q1: Customer KEY flashing failed

Part Number: DRA829J-Q1
Other Parts Discussed in Thread: DRA829

Hi,

We had developed a controller module with TI processor DRA829 and now it's in mass production. Recently, one board is reported failure on customer KEY programming. We tried to do OTP flashing manually, found it failed on the first step (totally nine images for the OTP flashing). The error message is shown below.

The MCU UART print out of the board (when it is powered on) is shown below, 

We had already produced several batches, but this is the first time we meet the problem.

Please comment what could be the cause and any suggestion to that.

Thanks,

Qiang

  • Hi Qiang 

    The failure seems to be related to the UART not related to key flashing 

    it is not able to transfer the image over UART.

    Regards
    Diwakar

  • Hi Diwakar,

    We have another problem on the KEY flashing.

    This time, the flashing process stopped in the middle of the first image (totally nine). The flashing log is attached.

    log_flash_otp_MPU70-BBBCN2332JB005_04_09_2023.txt
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# MCU_DEV=/dev/ttyUSB0
    MCU_DEV=/dev/ttyUSB0
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# MAIN_DEV=/dev/ttyUSB1
    MAIN_DEV=/dev/ttyUSB1
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# stty -F $MCU_DEV 115200 cs8 -cstopb -parenb
    stty -F $MCU_DEV 115200 cs8 -cstopb -p
    parenb
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# sb --xmodem kw1.tiimage > $MCU_DEV < $MCU_DEV
    sb --xmodem kw1.tiimage > $MCU_DEV < $
    $MCU_DEV
    Sending kw1.tiimage, 3723 blocks: Give your local XMODEM receive command now.
    
    
    Xmodem sectors/kbytes sent:   0/ 0k
    Xmodem sectors/kbytes sent:   1/ 0k
    Xmodem sectors/kbytes sent:   2/ 0k
    Xmodem sectors/kbytes sent:   3/ 0k
    Xmodem sectors/kbytes sent:   4/ 0k
    Xmodem sectors/kbytes sent:   5/ 0k
    Xmodem sectors/kbytes sent:   6/ 0k
    Xmodem sectors/kbytes sent:   7/ 0k
    Xmodem sectors/kbytes sent:   8/ 1k
    Xmodem sectors/kbytes sent:   9/ 1k
    Xmodem sectors/kbytes sent:  10/ 1k
    Xmodem sectors/kbytes sent:  11/ 1k
    Xmodem sectors/kbytes sent:  12/ 1k
    Xmodem sectors/kbytes sent:  13/ 1k
    Xmodem sectors/kbytes sent:  14/ 1k
    Xmodem sectors/kbytes sent:  15/ 1k
    Xmodem sectors/kbytes sent:  16/ 2k
    Xmodem sectors/kbytes sent:  17/ 2k
    Xmodem sectors/kbytes sent:  18/ 2k
    Xmodem sectors/kbytes sent:  19/ 2k
    Xmodem sectors/kbytes sent:  20/ 2k
    Xmodem sectors/kbytes sent:  21/ 2k
    Xmodem sectors/kbytes sent:  22/ 2k
    Xmodem sectors/kbytes sent:  23/ 2k
    Xmodem sectors/kbytes sent:  24/ 3k
    Xmodem sectors/kbytes sent:  25/ 3k
    Xmodem sectors/kbytes sent:  26/ 3k
    Xmodem sectors/kbytes sent:  27/ 3k
    Xmodem sectors/kbytes sent:  28/ 3k
    Xmodem sectors/kbytes sent:  29/ 3k
    Xmodem sectors/kbytes sent:  30/ 3k
    Xmodem sectors/kbytes sent:  31/ 3k
    Xmodem sectors/kbytes sent:  32/ 4k
    Xmodem sectors/kbytes sent:  33/ 4k
    Xmodem sectors/kbytes sent:  34/ 4k
    Xmodem sectors/kbytes sent:  35/ 4k
    Xmodem sectors/kbytes sent:  36/ 4k
    Xmodem sectors/kbytes sent:  37/ 4k
    Xmodem sectors/kbytes sent:  38/ 4k
    Xmodem sectors/kbytes sent:  39/ 4k
    Xmodem sectors/kbytes sent:  40/ 5k
    Xmodem sectors/kbytes sent:  41/ 5k
    Xmodem sectors/kbytes sent:  42/ 5k
    Xmodem sectors/kbytes sent:  43/ 5k
    Xmodem sectors/kbytes sent:  44/ 5k
    Xmodem sectors/kbytes sent:  45/ 5k
    Xmodem sectors/kbytes sent:  46/ 5k
    Xmodem sectors/kbytes sent:  47/ 5k
    Xmodem sectors/kbytes sent:  48/ 6k
    Xmodem sectors/kbytes sent:  49/ 6k
    Xmodem sectors/kbytes sent:  50/ 6k
    Xmodem sectors/kbytes sent:  51/ 6k
    Xmodem sectors/kbytes sent:  52/ 6k
    Xmodem sectors/kbytes sent:  53/ 6k
    Xmodem sectors/kbytes sent:  54/ 6k
    Xmodem sectors/kbytes sent:  55/ 6k
    Xmodem sectors/kbytes sent:  56/ 7k
    Xmodem sectors/kbytes sent:  57/ 7k
    Xmodem sectors/kbytes sent:  58/ 7k
    Xmodem sectors/kbytes sent:  59/ 7k
    Xmodem sectors/kbytes sent:  60/ 7k
    Xmodem sectors/kbytes sent:  61/ 7k
    Xmodem sectors/kbytes sent:  62/ 7k
    Xmodem sectors/kbytes sent:  63/ 7k
    Xmodem sectors/kbytes sent:  64/ 8k
    Xmodem sectors/kbytes sent:  65/ 8k
    Xmodem sectors/kbytes sent:  66/ 8k
    Xmodem sectors/kbytes sent:  67/ 8k
    Xmodem sectors/kbytes sent:  68/ 8k
    Xmodem sectors/kbytes sent:  69/ 8k
    Xmodem sectors/kbytes sent:  70/ 8k
    Xmodem sectors/kbytes sent:  71/ 8k
    Xmodem sectors/kbytes sent:  72/ 9k
    Xmodem sectors/kbytes sent:  73/ 9k
    Xmodem sectors/kbytes sent:  74/ 9k
    Xmodem sectors/kbytes sent:  75/ 9k
    Xmodem sectors/kbytes sent:  76/ 9k
    Xmodem sectors/kbytes sent:  77/ 9k
    Xmodem sectors/kbytes sent:  78/ 9k
    Xmodem sectors/kbytes sent:  79/ 9k
    Xmodem sectors/kbytes sent:  80/10k
    Xmodem sectors/kbytes sent:  81/10k
    Xmodem sectors/kbytes sent:  82/10k
    Xmodem sectors/kbytes sent:  83/10k
    Xmodem sectors/kbytes sent:  84/10k
    Xmodem sectors/kbytes sent:  85/10k
    Xmodem sectors/kbytes sent:  86/10k
    Xmodem sectors/kbytes sent:  87/10k
    Xmodem sectors/kbytes sent:  88/11k
    Xmodem sectors/kbytes sent:  89/11k
    Xmodem sectors/kbytes sent:  90/11k
    Xmodem sectors/kbytes sent:  91/11k
    Xmodem sectors/kbytes sent:  92/11k
    Xmodem sectors/kbytes sent:  93/11k
    Xmodem sectors/kbytes sent:  94/11k
    Xmodem sectors/kbytes sent:  95/11k
    Xmodem sectors/kbytes sent:  96/12k
    Xmodem sectors/kbytes sent:  97/12k
    Xmodem sectors/kbytes sent:  98/12k
    Xmodem sectors/kbytes sent:  99/12k
    Xmodem sectors/kbytes sent: 100/12k
    Xmodem sectors/kbytes sent: 101/12k
    Xmodem sectors/kbytes sent: 102/12k
    Xmodem sectors/kbytes sent: 103/12k
    Xmodem sectors/kbytes sent: 104/13k
    Xmodem sectors/kbytes sent: 105/13k
    Xmodem sectors/kbytes sent: 106/13k
    Xmodem sectors/kbytes sent: 107/13k
    Xmodem sectors/kbytes sent: 108/13k
    Xmodem sectors/kbytes sent: 109/13k
    Xmodem sectors/kbytes sent: 110/13k
    Xmodem sectors/kbytes sent: 111/13k
    Xmodem sectors/kbytes sent: 112/14k
    Xmodem sectors/kbytes sent: 113/14k
    Xmodem sectors/kbytes sent: 114/14k
    Xmodem sectors/kbytes sent: 115/14k
    Xmodem sectors/kbytes sent: 116/14k
    Xmodem sectors/kbytes sent: 117/14k
    Xmodem sectors/kbytes sent: 118/14k
    Xmodem sectors/kbytes sent: 119/14k
    Xmodem sectors/kbytes sent: 120/15k
    Xmodem sectors/kbytes sent: 121/15k
    Xmodem sectors/kbytes sent: 122/15k
    Xmodem sectors/kbytes sent: 123/15k
    Xmodem sectors/kbytes sent: 124/15k
    Xmodem sectors/kbytes sent: 125/15k
    Xmodem sectors/kbytes sent: 126/15k
    Xmodem sectors/kbytes sent: 127/15k
    Xmodem sectors/kbytes sent: 128/16k
    Xmodem sectors/kbytes sent: 129/16k
    Xmodem sectors/kbytes sent: 130/16k
    Xmodem sectors/kbytes sent: 131/16k
    Xmodem sectors/kbytes sent: 132/16k
    Xmodem sectors/kbytes sent: 133/16k
    Xmodem sectors/kbytes sent: 134/16k
    Xmodem sectors/kbytes sent: 135/16k
    Xmodem sectors/kbytes sent: 136/17k
    Xmodem sectors/kbytes sent: 137/17k
    Xmodem sectors/kbytes sent: 138/17k
    Xmodem sectors/kbytes sent: 139/17k
    Xmodem sectors/kbytes sent: 140/17k
    Xmodem sectors/kbytes sent: 141/17k
    Xmodem sectors/kbytes sent: 142/17k
    Xmodem sectors/kbytes sent: 143/17k
    Xmodem sectors/kbytes sent: 144/18k
    Xmodem sectors/kbytes sent: 145/18k
    Xmodem sectors/kbytes sent: 146/18k
    Xmodem sectors/kbytes sent: 147/18k
    Xmodem sectors/kbytes sent: 148/18k
    Xmodem sectors/kbytes sent: 149/18k
    Xmodem sectors/kbytes sent: 150/18k
    Xmodem sectors/kbytes sent: 151/18k
    Xmodem sectors/kbytes sent: 152/19k
    Xmodem sectors/kbytes sent: 153/19k
    Xmodem sectors/kbytes sent: 154/19k
    Xmodem sectors/kbytes sent: 155/19k
    Xmodem sectors/kbytes sent: 156/19k
    Xmodem sectors/kbytes sent: 157/19k
    Xmodem sectors/kbytes sent: 158/19k
    Xmodem sectors/kbytes sent: 159/19k
    Xmodem sectors/kbytes sent: 160/20k
    Xmodem sectors/kbytes sent: 161/20k
    Xmodem sectors/kbytes sent: 162/20k
    Xmodem sectors/kbytes sent: 163/20k
    Xmodem sectors/kbytes sent: 164/20k
    Xmodem sectors/kbytes sent: 165/20k
    Xmodem sectors/kbytes sent: 166/20k
    Xmodem sectors/kbytes sent: 167/20k
    Xmodem sectors/kbytes sent: 168/21k
    Xmodem sectors/kbytes sent: 169/21k
    Xmodem sectors/kbytes sent: 170/21k
    Xmodem sectors/kbytes sent: 171/21k
    Xmodem sectors/kbytes sent: 172/21k
    Xmodem sectors/kbytes sent: 173/21k
    Xmodem sectors/kbytes sent: 174/21k
    Xmodem sectors/kbytes sent: 175/21k
    Xmodem sectors/kbytes sent: 176/22k
    Xmodem sectors/kbytes sent: 177/22k
    Xmodem sectors/kbytes sent: 178/22k
    Xmodem sectors/kbytes sent: 179/22k
    Xmodem sectors/kbytes sent: 180/22k
    Xmodem sectors/kbytes sent: 181/22k
    Xmodem sectors/kbytes sent: 182/22k
    Xmodem sectors/kbytes sent: 183/22k
    Xmodem sectors/kbytes sent: 184/23k
    Xmodem sectors/kbytes sent: 185/23k
    Xmodem sectors/kbytes sent: 186/23k
    Xmodem sectors/kbytes sent: 187/23k
    Xmodem sectors/kbytes sent: 188/23k
    Xmodem sectors/kbytes sent: 189/23k
    Xmodem sectors/kbytes sent: 190/23k
    Xmodem sectors/kbytes sent: 191/23k
    Xmodem sectors/kbytes sent: 192/24k
    Xmodem sectors/kbytes sent: 193/24k
    Xmodem sectors/kbytes sent: 194/24k
    Xmodem sectors/kbytes sent: 195/24k
    Xmodem sectors/kbytes sent: 196/24k
    Xmodem sectors/kbytes sent: 197/24k
    Xmodem sectors/kbytes sent: 198/24k
    Xmodem sectors/kbytes sent: 199/24k
    Xmodem sectors/kbytes sent: 200/25k
    Xmodem sectors/kbytes sent: 201/25k
    Xmodem sectors/kbytes sent: 202/25k
    Xmodem sectors/kbytes sent: 203/25k
    Xmodem sectors/kbytes sent: 204/25k
    Xmodem sectors/kbytes sent: 205/25k
    Xmodem sectors/kbytes sent: 206/25k
    Xmodem sectors/kbytes sent: 207/25k
    Xmodem sectors/kbytes sent: 208/26k
    Xmodem sectors/kbytes sent: 209/26k
    Xmodem sectors/kbytes sent: 210/26k
    Xmodem sectors/kbytes sent: 211/26k
    Xmodem sectors/kbytes sent: 212/26k
    Xmodem sectors/kbytes sent: 213/26k
    Xmodem sectors/kbytes sent: 214/26k
    Xmodem sectors/kbytes sent: 215/26k
    Xmodem sectors/kbytes sent: 216/27k
    Xmodem sectors/kbytes sent: 217/27k
    Xmodem sectors/kbytes sent: 218/27k
    Xmodem sectors/kbytes sent: 219/27k
    Xmodem sectors/kbytes sent: 220/27k
    Xmodem sectors/kbytes sent: 221/27k
    Xmodem sectors/kbytes sent: 222/27k
    Xmodem sectors/kbytes sent: 223/27k
    Xmodem sectors/kbytes sent: 224/28k
    Xmodem sectors/kbytes sent: 225/28k
    Xmodem sectors/kbytes sent: 226/28k
    Xmodem sectors/kbytes sent: 227/28k
    Xmodem sectors/kbytes sent: 228/28k
    Xmodem sectors/kbytes sent: 229/28k
    Xmodem sectors/kbytes sent: 230/28k
    Xmodem sectors/kbytes sent: 231/28k
    Xmodem sectors/kbytes sent: 232/29k
    Xmodem sectors/kbytes sent: 233/29k
    Xmodem sectors/kbytes sent: 234/29k
    Xmodem sectors/kbytes sent: 235/29k
    Xmodem sectors/kbytes sent: 236/29k
    Xmodem sectors/kbytes sent: 237/29k
    Xmodem sectors/kbytes sent: 238/29k
    Xmodem sectors/kbytes sent: 239/29k
    Xmodem sectors/kbytes sent: 240/30k
    Xmodem sectors/kbytes sent: 241/30k
    Xmodem sectors/kbytes sent: 242/30k
    Xmodem sectors/kbytes sent: 243/30k
    Xmodem sectors/kbytes sent: 244/30k
    Xmodem sectors/kbytes sent: 245/30k
    Xmodem sectors/kbytes sent: 246/30k
    Xmodem sectors/kbytes sent: 247/30k
    Xmodem sectors/kbytes sent: 248/31k
    Xmodem sectors/kbytes sent: 249/31kRetry 0: Timeout on sector ACK
    Retry 0: Got 30 for sector ACK
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: Retry Count Exceeded
    
    
    Transfer incomplete
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# 

    We powered on the board and get the following printout from MCU UART.

    Comparing with a same model board (has already been flashed and functioning test passed), we suspect our customer KEY had already been flashed to the problematic board.

    However, when we tried to flash uboot image to the board, failed. And we can't get any printout from the MAIN UART port of the board when we power on it.

    We had tried to flash OTP again, still failed.

    What happened to the processor, is there any problem with the processor currently?

    Please comment.

    Thanks,

    Qiang

  • HI Qiang

    What are the values you are trying to program when there is a failure 

    Retry 0: Got 30 for sector ACK
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector

    We had tried to flash OTP again, still failed.

    if the keycount and keyrev is already programmed to the efuses you will not be able to run the Keywriter again .

    Regards
    Diwakar

  • Hi Diwakar,

    What you mean 'the values'?

    The board is in our vendor site and they were using a test fixture that was provided by us for KEY programming. The provided log was retrieved from the fixture.

    On the 2nd trial, we get the log below.

    log_flash_otp_MPU70-BBBCN2332JB005_06_09_2023.txt
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# MCU_DEV=/dev/ttyUSB0
    MCU_DEV=/dev/ttyUSB0
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# MAIN_DEV=/dev/ttyUSB1
    MAIN_DEV=/dev/ttyUSB1
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# stty -F $MCU_DEV 115200 cs8 -cstopb -parenb
    stty -F $MCU_DEV 115200 cs8 -cstopb -p
    parenb
    stty: /dev/ttyUSB0: No such file or directory
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# sb --xmodem kw1.tiimage > $MCU_DEV < $MCU_DEV
    sb --xmodem kw1.tiimage > $MCU_DEV < $
    $MCU_DEV
    Sending kw1.tiimage, 3723 blocks: Give your local XMODEM receive command now.
    
    
    Xmodem sectors/kbytes sent:   0/ 0kRetry 0: Got 01 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 31 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Retry Count Exceeded
    
    
    Transfer incomplete
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# 

    Do you mean KEY programming had already been taken on the board but might be interrupted by whatever reason, and we might not be able to complete the KEY programing and actually the processor was useless? What could be preventive actions to avoid such kind of failure?

    Thanks,

    Qiang

  • Hi Qiang 

    In the efuses we can flash diffrent values like SMEK/SMPK , boardcfg, swrev,MSV ......and many more 

    my question is what they were trying to flash to the efuses when the issue occurs ?

    Do you mean KEY programming had already been taken on the board but might be interrupted by whatever reason, and we might not be able to complete the KEY programing and actually the processor was useless? What could be preventive actions to avoid such kind of failure?

    As the Keywriter programming got  interrupted in between , the efuse programming may not be completed properly .

    As i said earlier if the Key_cnt and Key_rev field of the efuses got programmed you will not be able to run the Keywriter again as the sample is considered as HS-SE after that 

    Regards
    Diwakar

  • Hi Diwakar,

    Only SMEK/SMPK was designed to be programmed on our board. Per TI's instruction, totally nine images should be transferred during KEY programming - kw1.tiimage~kw9.tiimage.

    Since we can't flash u-boot to the board right now, is there a way to check the Key_cnt and Key_rev currently?

    Regards,

    Qiang

  • Hi Qiang

    Per TI's instruction, totally nine images should be transferred during KEY programming - kw1.tiimage~kw9.tiimage.

    Are you using  generate_test_binaries.sh script to generate the images present inside  <pdk>packages/ti/boot/keywriter/scripts/

    Since we can't flash u-boot to the board right now, is there a way to check the Key_cnt and Key_rev currently?

    You can keep the board in UART boot mode and get the wakeup UART string 

    like as you mentioned 

    and then you can parse this string  using script mentioned in this document 

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/08_06_00_42/exports/docs/linux/Foundational_Components_Migration_Guide.html#device-types

    Regards
    Diwakar

  • Hi Diwakar,

    Thanks for the instructions. 

    I have seen the processor has already been programmed. Compare the Cust MPK Hash fields, the problematic board is different from other three working boards. Seems the KEY was not programmed correctly. 

    The image generation process should be no fine, since we have been using it for dozens of our boards.

    What could be the cause of failure, any suggestion to prevent that?

    BR,

    Qiang

  • HI Qiang

    I am suspecting the data transfer is not happening properly as we are getting lot of NACK in UART boot mode 

    Do we have TIFS logs for the same when we are writing to the efuses using Keywriter we could get some clue from that.

    Regards
    Diwakar

  • Hi Diwakar,

    I look back the output of python script, actually, the Cust MPK Hash is same as the other working board. Sorry for miss leading. The KEY should be programmed correctly.

    For the u-boot failure, we will investigate that again.

    Thanks for your prompt response and kindly suggestion.

    Qiang

  • Hi,

    We have experienced multiple cases for the same issue during recent production, totally 9 pieces of around hundred boards. The failure rate is pretty high. All cases reveal the same failure point - KEY programming was interrupted during programming the first KEY image.  An example log file is attached for information. By reviewing MCU UART printout, it indicates that the processor has been KEY written. With that to say, we have failed on OTP flashing and the processor is useless currently. 

    Please suggest what could be the cause and any recommendation to the case?

    V/R

    Qiang

    log_flash_otp_MPU70-BBBCN2333JB053_11_09_2023.txt
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# MCU_DEV=/dev/ttyUSB0
    MCU_DEV=/dev/ttyUSB0
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# MAIN_DEV=/dev/ttyUSB1
    MAIN_DEV=/dev/ttyUSB1
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# stty -F $MCU_DEV 115200 cs8 -cstopb -parenb
    stty -F $MCU_DEV 115200 cs8 -cstopb -p
    parenb
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# sb --xmodem kw1.tiimage > $MCU_DEV < $MCU_DEV
    sb --xmodem kw1.tiimage > $MCU_DEV < $
    $MCU_DEV
    Sending kw1.tiimage, 3723 blocks: Give your local XMODEM receive command now.
    
    
    Xmodem sectors/kbytes sent:   0/ 0k
    Xmodem sectors/kbytes sent:   1/ 0k
    Xmodem sectors/kbytes sent:   2/ 0k
    Xmodem sectors/kbytes sent:   3/ 0k
    Xmodem sectors/kbytes sent:   4/ 0k
    Xmodem sectors/kbytes sent:   5/ 0k
    Xmodem sectors/kbytes sent:   6/ 0k
    Xmodem sectors/kbytes sent:   7/ 0k
    Xmodem sectors/kbytes sent:   8/ 1k
    Xmodem sectors/kbytes sent:   9/ 1k
    Xmodem sectors/kbytes sent:  10/ 1k
    Xmodem sectors/kbytes sent:  11/ 1k
    Xmodem sectors/kbytes sent:  12/ 1k
    Xmodem sectors/kbytes sent:  13/ 1k
    Xmodem sectors/kbytes sent:  14/ 1k
    Xmodem sectors/kbytes sent:  15/ 1k
    Xmodem sectors/kbytes sent:  16/ 2k
    Xmodem sectors/kbytes sent:  17/ 2k
    Xmodem sectors/kbytes sent:  18/ 2k
    Xmodem sectors/kbytes sent:  19/ 2k
    Xmodem sectors/kbytes sent:  20/ 2k
    Xmodem sectors/kbytes sent:  21/ 2k
    Xmodem sectors/kbytes sent:  22/ 2k
    Xmodem sectors/kbytes sent:  23/ 2k
    Xmodem sectors/kbytes sent:  24/ 3k
    Xmodem sectors/kbytes sent:  25/ 3k
    Xmodem sectors/kbytes sent:  26/ 3k
    Xmodem sectors/kbytes sent:  27/ 3k
    Xmodem sectors/kbytes sent:  28/ 3k
    Xmodem sectors/kbytes sent:  29/ 3k
    Xmodem sectors/kbytes sent:  30/ 3k
    Xmodem sectors/kbytes sent:  31/ 3k
    Xmodem sectors/kbytes sent:  32/ 4k
    Xmodem sectors/kbytes sent:  33/ 4k
    Xmodem sectors/kbytes sent:  34/ 4k
    Xmodem sectors/kbytes sent:  35/ 4k
    Xmodem sectors/kbytes sent:  36/ 4k
    Xmodem sectors/kbytes sent:  37/ 4k
    Xmodem sectors/kbytes sent:  38/ 4k
    Xmodem sectors/kbytes sent:  39/ 4k
    Xmodem sectors/kbytes sent:  40/ 5k
    Xmodem sectors/kbytes sent:  41/ 5k
    Xmodem sectors/kbytes sent:  42/ 5k
    Xmodem sectors/kbytes sent:  43/ 5k
    Xmodem sectors/kbytes sent:  44/ 5k
    Xmodem sectors/kbytes sent:  45/ 5k
    Xmodem sectors/kbytes sent:  46/ 5k
    Xmodem sectors/kbytes sent:  47/ 5k
    Xmodem sectors/kbytes sent:  48/ 6k
    Xmodem sectors/kbytes sent:  49/ 6k
    Xmodem sectors/kbytes sent:  50/ 6k
    Xmodem sectors/kbytes sent:  51/ 6k
    Xmodem sectors/kbytes sent:  52/ 6k
    Xmodem sectors/kbytes sent:  53/ 6k
    Xmodem sectors/kbytes sent:  54/ 6k
    Xmodem sectors/kbytes sent:  55/ 6k
    Xmodem sectors/kbytes sent:  56/ 7k
    Xmodem sectors/kbytes sent:  57/ 7k
    Xmodem sectors/kbytes sent:  58/ 7k
    Xmodem sectors/kbytes sent:  59/ 7k
    Xmodem sectors/kbytes sent:  60/ 7k
    Xmodem sectors/kbytes sent:  61/ 7k
    Xmodem sectors/kbytes sent:  62/ 7k
    Xmodem sectors/kbytes sent:  63/ 7k
    Xmodem sectors/kbytes sent:  64/ 8k
    Xmodem sectors/kbytes sent:  65/ 8k
    Xmodem sectors/kbytes sent:  66/ 8k
    Xmodem sectors/kbytes sent:  67/ 8k
    Xmodem sectors/kbytes sent:  68/ 8k
    Xmodem sectors/kbytes sent:  69/ 8k
    Xmodem sectors/kbytes sent:  70/ 8k
    Xmodem sectors/kbytes sent:  71/ 8k
    Xmodem sectors/kbytes sent:  72/ 9k
    Xmodem sectors/kbytes sent:  73/ 9k
    Xmodem sectors/kbytes sent:  74/ 9k
    Xmodem sectors/kbytes sent:  75/ 9k
    Xmodem sectors/kbytes sent:  76/ 9k
    Xmodem sectors/kbytes sent:  77/ 9k
    Xmodem sectors/kbytes sent:  78/ 9k
    Xmodem sectors/kbytes sent:  79/ 9k
    Xmodem sectors/kbytes sent:  80/10k
    Xmodem sectors/kbytes sent:  81/10k
    Xmodem sectors/kbytes sent:  82/10k
    Xmodem sectors/kbytes sent:  83/10k
    Xmodem sectors/kbytes sent:  84/10k
    Xmodem sectors/kbytes sent:  85/10k
    Xmodem sectors/kbytes sent:  86/10k
    Xmodem sectors/kbytes sent:  87/10k
    Xmodem sectors/kbytes sent:  88/11k
    Xmodem sectors/kbytes sent:  89/11k
    Xmodem sectors/kbytes sent:  90/11k
    Xmodem sectors/kbytes sent:  91/11k
    Xmodem sectors/kbytes sent:  92/11k
    Xmodem sectors/kbytes sent:  93/11k
    Xmodem sectors/kbytes sent:  94/11k
    Xmodem sectors/kbytes sent:  95/11k
    Xmodem sectors/kbytes sent:  96/12k
    Xmodem sectors/kbytes sent:  97/12k
    Xmodem sectors/kbytes sent:  98/12k
    Xmodem sectors/kbytes sent:  99/12k
    Xmodem sectors/kbytes sent: 100/12k
    Xmodem sectors/kbytes sent: 101/12k
    Xmodem sectors/kbytes sent: 102/12k
    Xmodem sectors/kbytes sent: 103/12k
    Xmodem sectors/kbytes sent: 104/13k
    Xmodem sectors/kbytes sent: 105/13k
    Xmodem sectors/kbytes sent: 106/13k
    Xmodem sectors/kbytes sent: 107/13k
    Xmodem sectors/kbytes sent: 108/13k
    Xmodem sectors/kbytes sent: 109/13k
    Xmodem sectors/kbytes sent: 110/13k
    Xmodem sectors/kbytes sent: 111/13k
    Xmodem sectors/kbytes sent: 112/14k
    Xmodem sectors/kbytes sent: 113/14k
    Xmodem sectors/kbytes sent: 114/14k
    Xmodem sectors/kbytes sent: 115/14k
    Xmodem sectors/kbytes sent: 116/14k
    Xmodem sectors/kbytes sent: 117/14k
    Xmodem sectors/kbytes sent: 118/14k
    Xmodem sectors/kbytes sent: 119/14k
    Xmodem sectors/kbytes sent: 120/15k
    Xmodem sectors/kbytes sent: 121/15k
    Xmodem sectors/kbytes sent: 122/15k
    Xmodem sectors/kbytes sent: 123/15k
    Xmodem sectors/kbytes sent: 124/15k
    Xmodem sectors/kbytes sent: 125/15k
    Xmodem sectors/kbytes sent: 126/15k
    Xmodem sectors/kbytes sent: 127/15k
    Xmodem sectors/kbytes sent: 128/16k
    Xmodem sectors/kbytes sent: 129/16k
    Xmodem sectors/kbytes sent: 130/16k
    Xmodem sectors/kbytes sent: 131/16k
    Xmodem sectors/kbytes sent: 132/16k
    Xmodem sectors/kbytes sent: 133/16k
    Xmodem sectors/kbytes sent: 134/16k
    Xmodem sectors/kbytes sent: 135/16k
    Xmodem sectors/kbytes sent: 136/17k
    Xmodem sectors/kbytes sent: 137/17k
    Xmodem sectors/kbytes sent: 138/17k
    Xmodem sectors/kbytes sent: 139/17k
    Xmodem sectors/kbytes sent: 140/17k
    Xmodem sectors/kbytes sent: 141/17k
    Xmodem sectors/kbytes sent: 142/17k
    Xmodem sectors/kbytes sent: 143/17k
    Xmodem sectors/kbytes sent: 144/18k
    Xmodem sectors/kbytes sent: 145/18k
    Xmodem sectors/kbytes sent: 146/18k
    Xmodem sectors/kbytes sent: 147/18k
    Xmodem sectors/kbytes sent: 148/18k
    Xmodem sectors/kbytes sent: 149/18k
    Xmodem sectors/kbytes sent: 150/18k
    Xmodem sectors/kbytes sent: 151/18k
    Xmodem sectors/kbytes sent: 152/19k
    Xmodem sectors/kbytes sent: 153/19k
    Xmodem sectors/kbytes sent: 154/19k
    Xmodem sectors/kbytes sent: 155/19k
    Xmodem sectors/kbytes sent: 156/19k
    Xmodem sectors/kbytes sent: 157/19k
    Xmodem sectors/kbytes sent: 158/19k
    Xmodem sectors/kbytes sent: 159/19k
    Xmodem sectors/kbytes sent: 160/20k
    Xmodem sectors/kbytes sent: 161/20k
    Xmodem sectors/kbytes sent: 162/20k
    Xmodem sectors/kbytes sent: 163/20k
    Xmodem sectors/kbytes sent: 164/20k
    Xmodem sectors/kbytes sent: 165/20k
    Xmodem sectors/kbytes sent: 166/20k
    Xmodem sectors/kbytes sent: 167/20k
    Xmodem sectors/kbytes sent: 168/21k
    Xmodem sectors/kbytes sent: 169/21k
    Xmodem sectors/kbytes sent: 170/21k
    Xmodem sectors/kbytes sent: 171/21k
    Xmodem sectors/kbytes sent: 172/21k
    Xmodem sectors/kbytes sent: 173/21k
    Xmodem sectors/kbytes sent: 174/21k
    Xmodem sectors/kbytes sent: 175/21k
    Xmodem sectors/kbytes sent: 176/22k
    Xmodem sectors/kbytes sent: 177/22k
    Xmodem sectors/kbytes sent: 178/22k
    Xmodem sectors/kbytes sent: 179/22k
    Xmodem sectors/kbytes sent: 180/22k
    Xmodem sectors/kbytes sent: 181/22k
    Xmodem sectors/kbytes sent: 182/22k
    Xmodem sectors/kbytes sent: 183/22k
    Xmodem sectors/kbytes sent: 184/23k
    Xmodem sectors/kbytes sent: 185/23k
    Xmodem sectors/kbytes sent: 186/23k
    Xmodem sectors/kbytes sent: 187/23k
    Xmodem sectors/kbytes sent: 188/23k
    Xmodem sectors/kbytes sent: 189/23k
    Xmodem sectors/kbytes sent: 190/23k
    Xmodem sectors/kbytes sent: 191/23k
    Xmodem sectors/kbytes sent: 192/24k
    Xmodem sectors/kbytes sent: 193/24k
    Xmodem sectors/kbytes sent: 194/24k
    Xmodem sectors/kbytes sent: 195/24k
    Xmodem sectors/kbytes sent: 196/24k
    Xmodem sectors/kbytes sent: 197/24k
    Xmodem sectors/kbytes sent: 198/24k
    Xmodem sectors/kbytes sent: 199/24k
    Xmodem sectors/kbytes sent: 200/25k
    Xmodem sectors/kbytes sent: 201/25k
    Xmodem sectors/kbytes sent: 202/25k
    Xmodem sectors/kbytes sent: 203/25k
    Xmodem sectors/kbytes sent: 204/25k
    Xmodem sectors/kbytes sent: 205/25k
    Xmodem sectors/kbytes sent: 206/25k
    Xmodem sectors/kbytes sent: 207/25k
    Xmodem sectors/kbytes sent: 208/26k
    Xmodem sectors/kbytes sent: 209/26k
    Xmodem sectors/kbytes sent: 210/26k
    Xmodem sectors/kbytes sent: 211/26k
    Xmodem sectors/kbytes sent: 212/26k
    Xmodem sectors/kbytes sent: 213/26k
    Xmodem sectors/kbytes sent: 214/26k
    Xmodem sectors/kbytes sent: 215/26k
    Xmodem sectors/kbytes sent: 216/27k
    Xmodem sectors/kbytes sent: 217/27k
    Xmodem sectors/kbytes sent: 218/27k
    Xmodem sectors/kbytes sent: 219/27k
    Xmodem sectors/kbytes sent: 220/27k
    Xmodem sectors/kbytes sent: 221/27k
    Xmodem sectors/kbytes sent: 222/27k
    Xmodem sectors/kbytes sent: 223/27k
    Xmodem sectors/kbytes sent: 224/28k
    Xmodem sectors/kbytes sent: 225/28k
    Xmodem sectors/kbytes sent: 226/28k
    Xmodem sectors/kbytes sent: 227/28k
    Xmodem sectors/kbytes sent: 228/28k
    Xmodem sectors/kbytes sent: 229/28k
    Xmodem sectors/kbytes sent: 230/28k
    Xmodem sectors/kbytes sent: 231/28k
    Xmodem sectors/kbytes sent: 232/29k
    Xmodem sectors/kbytes sent: 233/29k
    Xmodem sectors/kbytes sent: 234/29k
    Xmodem sectors/kbytes sent: 235/29k
    Xmodem sectors/kbytes sent: 236/29k
    Xmodem sectors/kbytes sent: 237/29k
    Xmodem sectors/kbytes sent: 238/29k
    Xmodem sectors/kbytes sent: 239/29k
    Xmodem sectors/kbytes sent: 240/30k
    Xmodem sectors/kbytes sent: 241/30k
    Xmodem sectors/kbytes sent: 242/30k
    Xmodem sectors/kbytes sent: 243/30k
    Xmodem sectors/kbytes sent: 244/30k
    Xmodem sectors/kbytes sent: 245/30k
    Xmodem sectors/kbytes sent: 246/30k
    Xmodem sectors/kbytes sent: 247/30k
    Xmodem sectors/kbytes sent: 248/31k
    Xmodem sectors/kbytes sent: 249/31kRetry 0: Timeout on sector ACK
    Retry 0: Got 30 for sector ACK
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: Retry Count Exceeded
    
    
    Transfer incomplete
    ]0;root@oncore-VirtualBox: /media/sf_vm_shareroot@oncore-VirtualBox:/media/sf_vm_share# 

  • Hi Qiang

    As suggested earlier the issue seems to be with the UART as you can see we are getting TIMEOUT 

    Xmodem sectors/kbytes sent: 249/31kRetry 0: Timeout on sector ACK
    Retry 0: Got 30 for sector ACK
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector
    Retry 0: NAK on sector

    We need to find out  why UART flash is failing also you can check the MCU UART logs to see if everything is fine with the  logs.

    Regards
    Diwakar

  • Hi Diwakar,

    On one of failed boards, our manufacturer replaced a new processor and tried OTP flash again, it succeeded. It proved that the peripheral circuit should be fine. My question is any potential cause that will lead to OTP programming failure, per your experience on the processor? 

    From the MCU UART, we can only get continuous char output, something like below,

    I have used the python script to parse these messages, and it tells me that the processor has already been KEY programmed. However, we can not proceed further with the processor, it is not working properly at all. I'm afraid we can not get any useful information from the MCU UART log.

    Regards,

    Qiang

  • Hi Qiang

    There could be stability issue with the UART is it possible for you to do key writing provisioning with other boot mode.

    One thing which we can do is remove the VPP enable code from the SBL keywriter and then run the keywriter test multiple time on the same sample.

    file: /ti/boot/keywriter/main.c

    So that we can be sure that there is some stability issue with the UART.

    Regards
    Diwakar