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.

AWR2944EVM: Error during Uniflash on Linux and MacOS

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

Hi , 
I'm contacting you regarding your software Uniflash on Linux to load an image at an AWR2944EVM.
Indeed, when Itried to flash the sbl_qspi.tiimage and the application.appimage I have this error bellow.
uniflash2 (1).png
Ithought that about some drivers but I can't find a correct step-by-step procedure to install it properly.
I have the same behaviour for Uniflash on MacOS system.
Do you have a solution to correctly use Uniflash for Linux and MacOs ? I've gone through the e2e forums but the answers never satisfy my case.
  • Hi,

    Can you please go through this documentation? UniFlash userguide

    Also, can you try the cloud version?

    Thank you,
    Harsh

  • Hi,

    Thank you for your answer.

    The user guide doesn't precise how to handle the USB drivers for Linux and MacOS

    I tried the cloud version and i've the same result.

    I also tried the python script uart_uniflash "C:\ti\mmwave_mcuplus_sdk_04_07_00_01\mcu_plus_sdk_awr294x_10_00_00_07\tools\boot\uart_uniflash.py" and I've the same result

  • Hi Louis,

    Let me check for user guide explicitly for Linux based systems.

    Till then, can you share the error message you are seeing while flashing using python script?

    /Harsh

  • Hi Louis,

    I see no additional drivers are needed for using UniFlash on Linux.

    Can you please recheck the ports and permissions.

    Also, if you can share the error logs for python-based flashing, it can help me understand your issue better.

    /Harsh

  • Hi,

    Thank you for your answer.

    I am using the /dev/ttyACM0

    The python script freeze after the begining of the sbl_uniflash.tiimage for a long time.

    Then here's what I see : 

    Sending configuration/EVM_TI_AWR2944/sbl_uart_uniflash.release.tiimage: 0%| | 0/57857 [00:00<?, ?bytes/ssend error: expected NAK, CRC, EOT or CAN; got b'9'
    send error: expected NAK, CRC, EOT or CAN; got b'8'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: error_count reached 10, aborting.

    I ran the script as sudo but the result is the same.

    I tried the /dev/ttyACM1 but same it's just frozen

  • Hi Louis,

    Thanks for sharing the logs, this type of error is typically observed when your board is not in flashing mode, can you please recheck the SOP mode.

    Also, can you try connecting to CCS, load individual cores and run, to check if board is functional?

    Thank you,
    Harsh

  • Hi,

    The board itself is fonctionnal, I tried to do the same thing on a Windows Machine and it's working.

    Louis

  • Hi Louis,

    Thanks for confirming that, let me myself do this flashing process on a Linux system and get back to you with steps.

    /Harsh

  • Hi Louis,

    I have tested it with the following steps:

    1. Install python3.x
    2. Install these 3 libraries: pyserial, tqdm, xmodem.
    3. Follow these steps for python-based flashing 
      file:C:/ti/mmwave_mcuplus_sdk_04_07_01_04/mcu_plus_sdk_awr2544_10_01_00_05/docs/api_guide_awr2544/TOOLS_FLASH.html


    Can you please confirm if you are using python3?

    Also, while flashing using python script, make sure you reset the device just before flashing.  

    /Harsh

  • Hi,

    Yes , I'm using Python with pyserial, tqdm, xmodem.

    I tried the uniflash procedure after applying a reset and it's seems to work (sometimes),Thank you.

    Indeed, after pushing the NRST button SW1, the uniflash sometimes is working , sometimes the Serial Port isn't available , sometimes is blocked. The procedure is instable between power cycles.

    Here's the errors I've sometimes:

    ****** The Serial isn't avaiblable (happens a lot)

    > python uart_uniflash.py -p /dev/ttyACM0 --cfg=flash_cfg.cfg

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

    Executing command 1 of 4 ...
    Found flash writer ... sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage
    Sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage: 0%| | 0/57857 [00:00<?, ?bytes/s][ERROR] Serial port [/dev/ttyACM0] not found or not accessible !!!

    ******* The Board send back '0'

    > python uart_uniflash.py -p /dev/ttyACM0 --cfg=flash_cfg.cfg

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

    Executing command 1 of 4 ...
    Found flash writer ... sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage
    Sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage: 0%| | 0/57857 [00:00<?, ?bytes/s]
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: error_count reached 10, aborting.
    Sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage: 0%| | 2/57857 [00:00<01:44, 554.36bytes/s]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!

    ***** The Board is blocked and send the same error as before 

    >python uart_uniflash.py -p /dev/ttyACM0 --cfg=flash_cfg.cfg

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

    Executing command 1 of 4 ...
    Found flash writer ... sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage
    Sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage: 0%| | 0/57857 [00:00<?, ?bytes/s]
    send error: expected NAK, CRC, EOT or CAN; got b'9'
    send error: expected NAK, CRC, EOT or CAN; got b'8'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: error_count reached 10, aborting.
    Sending sbl_uart_uniflash_awr294x-evm_r5fss0-0_nortos_ti-arm-clang.tiimage: 0%| | 2/57857 [00:12<205:30:40, 12.79s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!

    Is there a proper way to know when the Board is ready to be flashed and to be able to flash every time? Why the reset method need to be used when using a Linux Machine ? I never had to push this button for flashing with Windows.

     

  • Hi Louis,

    I see your issue; can you confirm if the flashing is working every time, you are following the process of Power cycle + Reset? 

    Let me also check if there is any problem with Linux system flashing, that may have been causing this issue.

    /Harsh

  • Hi , 

    Yes, the only times I was able to make it work I was following the process Power Cycle + Reset. But, like I said, it's not consistent between tries.

    Thank You

    Louis

  • Hi Louis,

    I believe there is some glitch in UniFlash for Linux based systems, I have raised a concern, and possibly it'll get resolved in subsequent release.

    /Harsh

  • Hi,

    Right, but what about the python script provided in the mmwave_sdk ? 

    Thank You

    Louis

  • Hi Louis,

    I think similar issue with python script as well, as they use same backend flashing utility.

    Thank you,
    Harsh