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.

AM2434: Erasing SPI Flash With Python Script Over UART

Part Number: AM2434
Other Parts Discussed in Thread: UNIFLASH

Customer having same issue with both LP EVM and custom board 

The result seems to be different depending on the erase-size specified.

 

When erase-size over 0x200000 (2Mbyte) is specified in hexadecimal, an error will occur. but If erase-size less than this is specified, it succeeds.

(this result is on the AM2434-LP)

 

Are there any specifications or restrictions on size specifications?

 

 Command Line Log:

 

setok@workstation ~/ti/mcu_plus_sdk_am243x_08_02_00_31

% python3 tools/boot/uart_uniflash.py --flash-writer=./tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage -p /dev/ttyACM0 --operation=erase --flash-offset=0 --erase-size=0x300000

Found flash writer ... sending ./tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage

Sent flashwriter ./tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage of size 315416 bytes in 28.5s.                                                  

 

Sending erase command: 1031bytes [00:11, 9302.17bytes/s]recv error: getc timeout in start sequence                                                                      

Sending erase command: 1032bytes [00:11, 62.39bytes/s]^C

[ERROR] XMODEM recv failed, no response OR incorrect response from EVM OR cancelled by user,

        Power cycle EVM and run this script again !!!

 

 

setok@workstation ~/ti/mcu_plus_sdk_am243x_08_02_00_31

% python3 tools/boot/uart_uniflash.py --flash-writer=./tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage -p /dev/ttyACM0 --operation=erase --flash-offset=0 --erase-size=0x200000

Found flash writer ... sending ./tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage

Sent flashwriter ./tools/boot/sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage of size 315416 bytes in 30.23s.                                       

Sent flash erase command.                                                                                                                                     

[STATUS] SUCCESS !!!

  • Hi Lawrence,

    I checked the Bootloader_uniflashFlashErase() in C:\ti\mcu_plus_sdk_am243x_08_04_00_17\source\drivers\bootloader\bootloader_uniflash.c. The only place where it may return erase error is when the erase size is larger than the flash size:

    eraseBlockSize = flashAttrs->pageCount * flashAttrs->pageSize;
    flashSize = eraseBlockSize * flashAttrs->blockCount;

    if((status == SystemP_SUCCESS) && (eraseSize > flashSize))
    {
       status=SystemP_FAILURE;
    }

    Can the customer do not use the " --erase-size=0x300000"?

    Best regards,

    Ming