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.

AWR2944: The chip model of the FLASH was changed, but the program failed to be written

Part Number: AWR2944
Other Parts Discussed in Thread: UNIFLASH,

Hello,Because the FLASH chip GD25B64C used on the development board was told by the supplier to stop production, the replacement GD25F64F was used. According to the current datasheet. it is only found that the Flash JEDEC Device ID needs to be changed to 0X4317, and there is no other difference. But using uniflash to load the image failed:

[2023/11/22 下午12:05:28] [ERROR] Cortex_R5_0: XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user, power cycle EVM and run this script again !!!
[2023/11/22 下午12:08:08] [ERROR] Cortex_R5_0: XMODEM recv failed, no response OR incorrect response from EVM OR cancelled by user,Power cycle EVM and run this script again !!!
[2023/11/22 下午12:08:08] [INFO] Cortex_R5_0: Appimage sent
[2023/11/22 下午12:08:08] [INFO] Cortex_R5_0: Instance deinitialized!
  • Dear z charles - 

    Thanks for the post - please check the QE bit is set by the vendor (GigaDevices datasheets are not public, so I cannot see) by default, and if not, it needs to be or you need to modify the sbl_uart_flashwriter.  Pages 3 and 4 (of the app note below) have the variants of serial flash which have been checked by TI with the AWR2944. 

    https://www.ti.com/lit/an/sprach9d/sprach9d.pdf 

  • I changed the flash by referring to <<Flash Variants Supported by the mmWave Sensor>> , selected MX25V1635F flash, I read the datasheet of the flash, changed settings as shown in the red box below:

    When load images by uniflash:

    And then I changed the Quad Enable Type from 0 to 6, and it's still the same thing

  • Charles -

    I don't think you can mix and match SPI flash hardware and UniFlash selections like that. I would suggest use the SBL UART Flashwriter as recommended.

    C:/ti/mcu_plus_sdk_awr294x_08_06_00_19/docs/api_guide_awr294x/TOOLS_FLASH.html#TOOLS_FLASH_UART_UNIFLASH 

     C:/ti/mcu_plus_sdk_awr294x_08_06_00_19/docs/api_guide_awr294x/EXAMPLES_DRIVERS_SBL_UART_UNIFLASH.html 

  • hello,I refer to your said documation, but it still not solved.

    the temrial show that:

    Parsing config file ...
    Parsing config file ... SUCCESS. Found 3 command(s) !!!

    Executing command 1 of 3 ...
    Found flash writer ... sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59683bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'E'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59684bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'R'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59685bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'R'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59686bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'O'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59687bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'R'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59688bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b':'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59689bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b' '
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59690bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'B'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59691bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'o'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59692bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'a'
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59693bytes [00:07, 11318.84bytes/s]send error: expected ACK; got b'r'
    EOT was not ACKd, aborting transfer
    Sending sbl_prebuilt/awr294x-evm/sbl_uart_uniflash.release.tiimage: 59695bytes [00:07, 11318.84bytes/s]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!

    I confirm that uart boot mode is flashing mode(SOP mode 5).

  • Dear Charles - 

    Here I am not sure/it is not clear if you are using/went back to one of the recommended QSPI flash variants or not, OR if you have modified the part you are using to work with the AWR. Please clarify your exact setup and we can assist you further. 

  • I only changed the Flash model from GD25B64C to MX25V1635F, the other hardware did not change in 2944EVM.

  • Dear z charles - 

    The six variants of flash we have listed in are checked with the image you are trying to load. 

    You need to modify the SBL to set the QE bit for use with the one you swapped it with. If you need help with that, please repost and we will get you assistance from the bootloader experts.  

  • I change the .cfg file content :

    --flash-writer=C:/Users/ThinkPad/workspace_v12/sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage


    --file=sbl_prebuilt/awr294x-evm/sbl_qspi.release.tiimage --operation=flash --flash-offset=0x0

    --file=C:/Users/ThinkPad/workspace_v12/hello_world_awr294x-evm_r5fss0-0_nortos_ti-arm-clang/Debug/hello_world_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.appimage --operation=flash --flash-offset=0xA0000

    It can flash success, but when I switch SOP to 001 (SOP mode 4) = Functional mode.

    the uart output :

    Starting QSPI Bootloader ...
    ERROR: Board_flashOpen:167: FLASH open failed for instance 0 !!!
    ASSERT: 0.8496s: ../main.c:main:83: status == SystemP_SUCCESS failed !!!

  • z charles - 

    from: https://www.ti.com/lit/an/swra760/swra760.pdf  

    • For SDF variants that support quad mode, the quad mode commands are issued; if the quad enable (QE) bit is not set, the communication fails. In such cases, the load flow assumes that the QE bit in the SDF is already set.

    I found a json file in which the QE bit setting is mentioned

    C:\ti\mcu_plus_sdk_awr294x_08_06_00_19\source\board\.meta\flash 

    C:\ti\mcu_plus_sdk_awr294x_08_06_00_19\source\board\.meta\flash\v0

    C:\ti\mcu_plus_sdk_awr294x_08_06_00_19\source\board\.meta\flash\v1

    Then see page 8 here where it has the flow to set QE bit in Macronix flash, which you need to do, using the WREN, RDSR, etc commands

    https://www.macronix.com/Lists/ApplicationNote/Attachments/1899/AN0251V1%20-%20Macronix%20Serial%20Flash%20Multi%20IO%20Introduction.pdf 

    from SDK: C:/ti/mmwave_mcuplus_sdk_04_04_01_02/mcu_plus_sdk_awr294x_09_00_00_15/docs/api_guide_awr294x/structFlash__DevConfig.html#afe362f0bdd2a40fc03d2089e45daa312 

  • I referred to the documentation you mentioned and changed some configuration, but it still doesn't work.

    This is my setup:

    after flash that, print out these: