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.

New Uniflash version available - 3.2.0.00023

Other Parts Discussed in Thread: UNIFLASH, CC3200, CC3100

New Uniflash version for SimpleLink CC31xx/CC32xx is available for use. The new version is 3.2.0.00023. The new version can be downloaded from http://www.ti.com/tool/uniflash.

Due to some technical issues, existing users cannot update the tool via the 'help->check for update' option so a new installation is required.

The new version offers the following enhancements:

  • Service pack update: provides the ability to choose a service pack file to be downloaded to the device
  • All operations can now be performed from the top menu (Format, Program, Service Pack update, Get Version, Add File)
  • Recent sessions list automatically appears upon opening a configuration from the top menu or from the Recent Sessions on the opening screen
  • New configuration is auto filling the Connection and Board or Device elements
  • Connection and Board or Device elements have been changed to CC3x Serial(UART) Interface and SimpleLink WiFi CC3100/CC3200 respectively
  • Added “unsaved*” header information when New Configuration is invoked
  • Relative path support for session configuration files

The main enhancement is the Service Pack update. Please follow the ordered steps below for successful update procedure:

  1. Get the servicepack.bin image file from the link below.
  2. Format the device prior to programming. This step is essential and should be performed at least once. With next service pack updates, format operation would not be required
    Note: all pre-production devices do not have the secured EFUSE burnt. In this case, the Secureoption must be explicitly indicated when format operation is applied
    1. CC3100 devices: the device must be formatted as secured. Secure checkbox in the Format Options must be checked. Alert checkbox is optional
    2. CC3200 devices: the device must be formatted as unsecured. Secure and Alert checkboxes must be unchecked
  3. Invoke the Service Pack Update from a dedicated button or from the Operation option in the top menu
  4. Choose the file servicepack.bin and click OK
  5. Programming should begin. The version should be printed just before programming is started

The service pack installer can be found in the following link:

https://focus-webapps.ti.com/licreg/docs/swlicexportcontrol.tsp?form_type=2&prod_no=CC31xx_CC32xx_ServicePack-0.5.2.0-windows-installer.exe&ref_url=http://software-dl.ti.com/ecs/cc31xx/packages/servicepack/CC31xx_CC32xx_ServicePack-0.5.2.0&form_id=162789

 

For further reading please refer to Uniflash User Guide. It can be found in the following link:

http://processors.wiki.ti.com/index.php/CC31xx_%26_CC32xx_UniFlash

Good luck

  • Hi Shlomi,

    Thanks for the update.

    Thanks & Regards,
    Raghavendra

  • Hi Shlomi,

    I am a bit surprised to see the same software again, which was already available 10 days ago, but not announced. After a bug report you told me "Version: 3.2.0.00023 should not be fetched yet."

    See here:

    http://e2e.ti.com/support/wireless_connectivity/f/968/t/351998.aspx

    Can you confirm that software remains the same, but sequence and additional service pack installation has changed.

    Or was content of uniflash installer changed, even when release data and reported version remains the same?

    BTW:

    README of installer of service pack tells me "This ServicePack image can be used only with pre-production evaluation boards."

    Is this correct?

    I have a CC3200 LaunchXL Rev. 3.2, I assume this is no pre-production eval board? Shall it be installed or not? Or does it depend on different CC3200 chip on this board?

    Many thanks!

    Best regards,

    Martin

  • Martin,
    This is the same version that was placed on TI repository ahead of time.
    The service pack binary image itself is for pre-production devices, i.e. Flash devices and not ROM devices. Production devices starts from PG1.33.


    Sent from my iPhone

  • Hi Shlomi,

    > The service pack binary image itself is for pre-production devices, i.e. Flash devices and not ROM devices. Production devices starts from PG1.33.

    I have a CC3200 - LAUNCHXL V3.2 (just bought officially some weeks ago).

    In Uniflash the device reported as

    [18:58:26] INFO: > Bootloader version: 2.0.3.2
    [18:58:26] INFO: > Chipset version: 19
     
    [18:59:18] INFO: DEVICE CC3200 ES1.32
    [18:59:18] DEBUG: It's a CC3101 device: PG1.32
     
    Ah, there is PGx.xx again, so I assume TI has used pre-production devices on the Launchpad (normal? or bug? have I got an old one? Are there launchpad at all with PG1.33? How do I get one?).
    Because it is a PG1.32 which is lower than PG1.33, I assume I need the service pack?
     
    I just de-installed the current uniflash version, and installed afterwards again the uniflash Version: 3.2.0.00023
    but error as reported in
    does still occur. What I am missing? What do you mean exactly by "so new Uniflash needs to be installed."
    What more can I do to de-install and re-install? Is there something on harddisk or registry what must be deleted by hand?
     
    Best regards,
     
    Martin
     
     

     

  • martin,

    PG1.33 is not out there yet. Should be coming soon.

    As long as you use PG1.32 with the published  service pack, you should be fine.

    The 'check for update' feature is having some technical issues so the only way is to reinstall Uniflash from scratch.

    Shlomi

  • Hi Shlomi,

    > so the only way is to reinstall Uniflash from scratch.

    as written I have re-installed from scratch, so this has not helped...

    Formatting was successful. There was a size combobox (default was 1 MB), was this correct?

    But downloading service pack failed:

    (I think I have seen similar error message also during download of the firmware, but only with new uniflash, old one was working without problems). I have installed uniflash, as well as service pack on default locaton. Service pack is e.g. here C:\ti\CC31xx_CC32xx_ServicePack-0.5.2.0

    See error message below in one of the last lines of log).

    [20:02:57] Begin ServicePackUpdate operation.
    [20:02:57] INFO: > Executing Operation: Connect
    [20:02:57] DEBUG: waiting and clearing uart rx buffer
    [20:02:59] INFO: setting break signal
    [20:02:59] INFO: --- please restart the device ---
    [20:02:59] DEBUG: wait for ack
    [20:03:03] INFO: connection succeeded
    [20:03:03] INFO: getting storage list
    [20:03:03] DEBUG: wait for ack
    [20:03:03] INFO: > Executing Operation: Init
    [20:03:03] INFO: reading version info
    [20:03:03] DEBUG: wait for ack
    [20:03:03] INFO: DEVICE CC3200 ES1.32
    [20:03:03] INFO: reading version info
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: Bootloader version is 2, 0, 3, 2
    [20:03:03] DEBUG: It's a CC3101 device: PG1.32
    [20:03:03] DEBUG: raw storage write
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: BlockSize is 4096, number of blocks is 64
    [20:03:03] DEBUG: erasing 1 blocks starting from  4
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: status request
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: status request
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: status request
    [20:03:03] DEBUG: wait for ack
    [20:03:03] DEBUG: wait for ack
    [20:03:04] DEBUG: wait for ack
    [20:03:05] DEBUG: Switch to NWP bootloader complete
    [20:03:05] INFO: reading version info
    [20:03:05] DEBUG: wait for ack
    [20:03:05] INFO: reading version info
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: Bootloader version is 2, 0, 3, 4
    [20:03:05] DEBUG: raw storage write
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: BlockSize is 4096, number of blocks is 16
    [20:03:05] DEBUG: erasing 12 blocks starting from  0
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: status request
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: status request
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: status request
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: wait for ack
    [20:03:05] DEBUG: status request
    [20:03:05] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: status request
    [20:03:06] DEBUG: wait for ack
    [20:03:06] DEBUG: 0
    [20:03:06] DEBUG: wait for ack
    [20:03:07] DEBUG: wait for ack
    [20:03:07] INFO: > Executing Operation: ServicePackUpdate
    [20:03:07] ERROR: Service Pack file is missing from the user's File System. Operation Cancelled.
    [20:03:07] INFO: > Executing Operation: Disconnect
    [20:03:07] DEBUG: disconnecting from device . . .
    [20:03:07] DEBUG: wait for ack
    [20:03:07] Operation ServicePackUpdate returned.

    Any hint?

    Best regards,

    Martin

  • Hi Shlomi,

    problem with servicepack download and firmware download solved. I had opened an existing *.ucf which generated the errors. Now I have create a "New Configuration" and this succeeded.

    Old:

    #Thu Jun 26 20:15:32 CEST 2014
    com=66
    interface=CC31x Flash Connections
    device=CC31x Flash Devices

    New:

    #Wed Jul 09 20:15:55 CEST 2014
    capacity=1MB
    com=66
    interface=CC3x Serial(UART) Interface
    device=SimpleLink Wifi CC3100/CC3200
    secure=false
    alert=false

    PS: How can I see which servicepack version is installed or if it was successful or if it was installed at all? Can it be done from Uniflash? Or via API call?

    pConfigOpt = SL_DEVICE_GENERAL_VERSION;
    sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&pConfigOpt,&pConfigLen,(unsigned char *)(&ver));

    Best regards,

    Martin

  • Martin,

    You are correct, TI has used Pre-production devices in the Launchpad.

    Actually, the Production devices have not been released yet but will be, shortly.

    The PG 1.32 based Launchpad you have is the latest and the only one available today.

    Adnan

     

     

  • Hi Martin,

    the version is printed on the Console window just prior to flashing.

    If flashing goes well, you can test for the version as you suggested, I.e. using the API.

    Please note that the reason that Uniflash is not able to read the version is because it interacts with the device in boot loader mode where the service pack is not yet operated by the device.

    Shlomi

  • @Adnan

    Many thanks for the info. So, as mentioned, the pre-production devices have a flash, the final devices have ROM. With writing the service pack, the flash content is updated (more or less) to the content of the ROM devices? So from user point of view they behave identical to final devices?

    In CC3000 there was a firmware and driver patch. Is/will there (be) something similar for CC3100/CC3200? Just for my understanding: A patch is something different than the servicepack, because patches act on top of ROM/Flash content. Otherwise two patches would be needed: one for flash devices, one for ROM devices.

    @Shlomi

    "the version is printed on the Console window just prior to flashing."

    "that Uniflash is not able to read the version"

    You mean the console in Uniflash (lower half of window)? So Uniflash is reading it, but is not able to read it?

    Can you tell me which version the correct installed servicepack shall report?

    Or for what string/text shall I look for in Uniflash console output? Shall PG1.32 go up to PG1.33?

    Many thanks!

    Best regards,

    Martin

     

  • Martin,

    Your understanding is correct. For ROM devices, the service pack is a collection of patches and for the flash devices, it is the code itself.

    The service pack binary image includes both. It means that Uniflash is automatically detecting to which device it is connected to and program the desired content.

    We do plan to include in our SDK an example just like CC3000 where the service pack is flashed from the host. Please note that it is going to apply for ROM devices only as the size of the service pack for flash devices is too big.

    Regarding versioning, Uniflash should prong on the Console bottom left screen the versions that is about to flash (it fetches it from the service pack file). You should not miss it. After flashing is done, Uniflash cannot read back  the version from the device because of the reasons I mentioned, it needs to be fetched from host APIs.

    After successful programming, the version should be aligned with PG1.33 ROM.

    Regards,

    Shlomi

  • Hi Shlomi,

    I have used the following code to read out version:

      {
        SlVersionFull ver;
        unsigned char ConfigOpt;
        char ConfigLen = sizeof(ver);
        ConfigOpt = SL_DEVICE_GENERAL_VERSION;
        sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&ConfigOpt,&ConfigLen,(unsigned char *)(&ver));
        UART_PRINT("CHIP %d\nMAC 31.%d.%d.%d.%d\nPHY %d.%d.%d.%d\nNWP %d.%d.%d.%d\nROM %d\nHOST %d.%d.%d.%d\n",
          ver.ChipFwAndPhyVersion.ChipId,
          ver.ChipFwAndPhyVersion.FwVersion[0],ver.ChipFwAndPhyVersion.FwVersion[1],
          ver.ChipFwAndPhyVersion.FwVersion[2],ver.ChipFwAndPhyVersion.FwVersion[3],
          ver.ChipFwAndPhyVersion.PhyVersion[0],ver.ChipFwAndPhyVersion.PhyVersion[1],
          ver.ChipFwAndPhyVersion.PhyVersion[2],ver.ChipFwAndPhyVersion.PhyVersion[3],
          ver.NwpVersion[0],ver.NwpVersion[1],ver.NwpVersion[2],ver.NwpVersion[3],
          ver.RomVersion,
          SL_MAJOR_VERSION_NUM,SL_MINOR_VERSION_NUM,SL_VERSION_NUM,SL_SUB_VERSION_NUM);
       }

    It displayed the following versions:

    CHIP 50331667
    MAC 31.0.0.4.1
    PHY 1.5.3.3
    NWP 2.0.7.0
    ROM 8738
    HOST 0.0.5.1

    How do I see that installing Servicepack was successful? Is it because of "PHY 1.5.3.3"?

    Or was it not successful?

    I have downloaded servicepack.bin again (meanwhile twice or more downloaded), and it displayed:

    [21:32:34] Begin ServicePackUpdate operation.
    [21:32:34] INFO: > Executing Operation: Connect
    [21:32:34] DEBUG: waiting and clearing uart rx buffer
    [21:32:36] INFO: setting break signal
    [21:32:36] INFO: --- please restart the device ---
    [21:32:36] DEBUG: wait for ack
    [21:32:36] INFO: connection succeeded
    [21:32:36] INFO: getting storage list
    [21:32:36] DEBUG: wait for ack
    [21:32:36] INFO: > Executing Operation: Init
    [21:32:36] INFO: reading version info
    [21:32:36] DEBUG: wait for ack
    [21:32:36] INFO: DEVICE CC3200 ES1.32
    [21:32:36] INFO: reading version info
    [21:32:36] DEBUG: wait for ack
    [21:32:36] DEBUG: Bootloader version is 2, 0, 3, 2
    [21:32:36] DEBUG: It's a CC3101 device: PG1.32
    ...

    [21:32:38] DEBUG: Bootloader version is 2, 0, 3, 4
    ...

    [21:32:40] INFO: Flash Device detected.
    [21:32:40] INFO: Service pack version information:
    [21:32:40] INFO: NWP version: 2.0.7.0
    [21:32:40] INFO: MAC version: 0.0.4.2
    [21:32:40] INFO: PHY version: 1.5.3.3
    [21:32:40] INFO: NWP Patch version: 0.0.0.0
    [21:32:40] INFO: MAC Patch version: 0.0.0.0
    [21:32:40] INFO: PHY Patch version: 0.0.0.0
    ...

    It looks like the PHY and NWP version is equal to above output of Uniflash during service pack installation, but MAC-version is not 0.0.42 (but 31.0.0.4.1)???

    Why is HOST reported as 0.0.5.1, even when I used SDK 0.0.5.2?

    Best regards,

    Martin

  • Hi Martin,

    Actually, this is the way to check if the flashed version is OK (by looking on the version). There seems to be a typo - It is 0.0.4.1. The 0.0.4.2 is the metadata part of the service pack binary but the actual version is 0.0.4.1.

    Regarding the host version, you are right. I'll let the SDK guys change it. It should be 0.0.5.2.

    Thanks,

    Shlomi

  • Hi Martin,

    The Host driver is same for both the release SDK 0.5.1 and SDK 0.5.2 hence the same host version no.

    The Release notes contains the version information of different component of the SDK.

    Regards,

    Ankur