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.

CC3220SF: Flash multiple devices using uniflash 8

Part Number: CC3220SF
Other Parts Discussed in Thread: UNIFLASH, CC3120,

Tool/software:

Hi everyone,

Is it possible to flash multiple devices simultaneously using the UniFlash CLI? In my specific scenario, the payload is identical, meaning the same firmware will be installed on all devices.

  • Hi,

    I think this is not possible with Uniflash. Why yo not use embadded programming? You will be able program devices as many com ports you have.

    Jan

  • Did you mean that
    https://www.ti.com/tool/EMBEDDED-PROGRAMMING

    The downloads are not worksing

  • Hi,

    I don't see any issue at my side. Downloads for CC3X00EMBEDDEDPROG and CC3X20EMBEDDEDPROG works properly.

    • CC3X20EMBEDDEDPROG download and extraction works properly.
    • CC3X00EMBEDDEDPROG can be downloaded, but extraction at Windows not work. But at different software like Total Commander extraction works without any issue.

    Because you are using CC3220, you should download CC3X20EMBEDDEDPROG .

    Jan

  • i get stucked at this point

    "Get Storage List"

    After that it does not move

    What can be the possible Problem ?

  • Hi,

    Please provide more details.

    Jan

  • This is the log 

    This utility programs a binary image to a serial flash connected to CC3120/CC3220 device
    Only production devices are supported (i.e. no pre-production devices)
    The binary image needs to be prepared in advance using Uniflash utility

    Step #1 --> connect to target device
    port opened
    wait and clear uart rx buffer
    set break signal
    --- please restart the device ---
    wait for ack
    receive ack
    connection succeeded
    get storage list
    wait for ack
    receive ack
    receive storage list

    exit bootldr connect
    Step #2 --> Reading version info
    port opened
    wait for ack
    receive ack
    Reading version info completed

    Bootloader version is (3, 0, 1, 0)
    It's a CC3220SF device
    Step #3 (CC3220 only) --> Switch UART to NWP core
    port opened
    wait for ack
    receive ack
    Setting Break Signal
    wait for ack
    receive ack
    Switch to NWP bootloader completed
    RawStorageWrite
    port already opened
    Step #4/8 --> Get SRAM/SFLASH storage info
    wait for ack
    receive ack
    Step #5/9 --> Erasing 3 blocks from SRAM/SFLASH starting from block #0
    The process of erasing blocks takes several seconds
    wait for ack
    receive ack
    Status request
    wait for ack
    receive ack
    --- error during raw write


    ***** Please reset the board and try again *****
    ---Call Trace:---
    File "ImageProgramming.py", line 119, in <module>

    File "ImageProgramming.py", line 89, in main

    File "ImageProgramming.py", line 62, in BurnImage

    ---Error Line:---
    Traceback (most recent call last):
    File "bootldr.pyc", line 455, in RawWrite
    File "bootldr.pyc", line 228, in _EraseBlocks
    File "bootldr.pyc", line 250, in _check_operation_status
    File "serial\serialwin32.pyc", line 260, in write
    SerialTimeoutException: Write timeout

  • Hi,

    How looks parameter when you call ImageProgramming.exe?

    If you want you can use Puthon 2.7 and run direly source code ImageProgramming.py.

    Jan

  • This is the parameter when i call
    C:\Users\Build-server\Documents\CC3x20_Embedded_Programming_2_0_0\executables\ImageProgramming.exe -p 11 -i C:\Users\Build-server\Documents\Programming.ucf -v

  • Hi,

    Hmm..., I am not sure why this is not working. Please try debug at Python (use version 2.7 not a 3.x).

    Jan

  • Thanks a lot. Now everything works perfectly.

  • Hi, i ran into another problem. When i use dummy certificate catalog evertyhing is fine. But when i use our own certificate catalog, I am getting error 10246?

  • Hi,

    I am not sure what are you doing. But error code -10246 measn SL_ERROR_FS_DEVELOPMENT_BOARD_WRONG_MAC. That means you are uploading image in development mode with wrong MAC address inside that image. Embedded programming is mainly used for production mode where is no MAC address inside image.

    Jan

  • Hi, i am actually, getting it 
    error number = -10289 , extended error = 2633

    Any help will be greatly appreciated

  • Hi,

    You have issue with signature of your image (-10289 = SL_ERROR_FS_WRONG_SIGNATURE_SECURITY_ALERT).

    Do you have programmed your vendor catalogue inside OTP part of SPI flash? Vendor catalogue need to be programmed using Uniflash. But I personally never used vendor catalogue, because I have real code signing certificate from DigiCert.

    Jan

  • Do you have programmed your vendor catalogue inside OTP part of SPI flash? 
    Yes
    In that case, embedded programming is not possible?
    I checked that with my certificate catalog i can easily flash with uniflash

  • Hi,

    I expect that embedded programming should work when you have programmed vendor catalogue inside OTP using Unilfash first. Using embedded programming you cannot upload content of OTP.

    Jan

  • "vendor catalogue inside OTP using Unilfash first"
    This is already done and works fine. But all the problem are with embedded programming

  • Hi,

    Hard to say what you have wrong at your embedded programming workflow and why you see error -10289. We use embedded programming at our production but with real certificate from CA.

    I think you can open new thread with question about embedded programming and vendor certificate. This thread is marked by you as answered already and TI engineers may to have issue to find your question.

    Jan