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.

CC3200-LAUNCHXL Out-of-box Demo failed

Other Parts Discussed in Thread: CC3200-LAUNCHXL, UNIFLASH, CC3200, CC3200SDK

Hi All,

I'm a newbie of TI MCU and Wireless development.

I have a CC3200-LAUNCHXL demo board. 

I failed to run the out-of-box demo. I doubt the firmware in the board has been changed. So I decided to program the board again.

I followed the instructions of the file, \cc3200-sdk\docs\examples\CC32xx Out of Box Application.pdf, to flash the CC3200 using Uniflash. But the Uniflash gave the following information:

[16:03:58] Begin Program operation.
[16:03:58] INFO: > Executing Operation: Connect
[16:03:58] DEBUG: waiting and clearing uart rx buffer
[16:04:00] INFO: setting break signal
[16:04:00] INFO: --- please restart the device ---
[16:04:00] DEBUG: wait for ack
[16:04:08] INFO: connection succeeded
[16:04:08] INFO: getting storage list
[16:04:08] DEBUG: wait for ack
[16:04:08] INFO: > Executing Operation: Init
[16:04:08] INFO: reading version info
[16:04:08] DEBUG: wait for ack
[16:04:08] INFO: DEVICE CC3200 ES1.21
[16:04:08] INFO: reading version info
[16:04:08] DEBUG: wait for ack
[16:04:08] DEBUG: Bootloader version is 2, 0, 2, 2
[16:04:08] DEBUG: It's a CC3101 device
[16:04:08] DEBUG: Bootloader with old API, using legacy upgrade
[16:04:08] DEBUG: Downloading file APP_CODE with size 534
[16:04:08] DEBUG: sending start download command
[16:04:08] DEBUG: wait for ack
[16:04:08] DEBUG: send chunk legacy
[16:04:09] DEBUG: wait for ack
[16:04:09] INFO: download complete
[16:04:09] DEBUG: status request
[16:04:09] DEBUG: wait for ack
[16:04:09] DEBUG: Update result: 0
[16:04:10] DEBUG: disconnecting from device . . .
[16:04:10] DEBUG: wait for ack
[16:04:11] DEBUG: waiting and clearing uart rx buffer
[16:04:13] INFO: setting break signal
[16:04:13] DEBUG: wait for ack
[16:04:13] INFO: connection succeeded
[16:04:13] INFO: getting storage list
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: Switch to NWP bootloader complete
[16:04:13] INFO: reading version info
[16:04:13] DEBUG: wait for ack
[16:04:13] INFO: reading version info
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: Bootloader version is 2, 0, 2, 3
[16:04:13] DEBUG: Bootloader with old API, using legacy upgrade
[16:04:13] DEBUG: Downloading file TEST_IMG with size 49052
[16:04:13] DEBUG: sending start download command
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:13] DEBUG: wait for ack
[16:04:13] DEBUG: send chunk legacy
[16:04:14] DEBUG: wait for ack
[16:04:14] DEBUG: send chunk legacy
[16:04:14] DEBUG: wait for ack
[16:04:14] DEBUG: send chunk legacy
[16:04:14] DEBUG: wait for ack
[16:04:14] DEBUG: send chunk legacy
[16:04:14] DEBUG: wait for ack
[16:04:14] DEBUG: send chunk legacy
[16:04:14] DEBUG: wait for ack
[16:04:14] INFO: download complete
[16:04:14] DEBUG: status request
[16:04:14] DEBUG: wait for ack
[16:04:14] DEBUG: Update result: 0
[16:04:14] DEBUG: wait for ack
[16:04:14] INFO: > Executing Operation: Program
[16:04:14] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: true
[16:04:14] INFO: > Erase File: /sys/mcuimg.bin
[16:04:14] INFO: erasing file "/sys/mcuimg.bin"
[16:04:14] INFO: deleting file "/sys/mcuimg.bin"
[16:04:14] DEBUG: wait for ack
[16:04:14] DEBUG: status request
[16:04:14] DEBUG: wait for ack
[16:04:14] INFO: erase file completed
[16:04:14] INFO: > Size of file = 43536
[16:04:14] INFO: > Update File: /sys/mcuimg.bin
[16:04:14] INFO: Downloading file "/sys/mcuimg.bin" with size 43536
[16:04:14] DEBUG: sending start download command
[16:04:14] DEBUG: Granularity conversion: G(256) * N(171) = 43776
[16:04:14] DEBUG: Access code is 3
[16:04:14] DEBUG: wait for ack/nack
[16:04:14] DEBUG: receive nack
[16:04:14] ERROR: Open operation failed
[16:04:14] INFO: > Executing Operation: Disconnect
[16:04:14] DEBUG: disconnecting from device . . .
[16:04:15] DEBUG: wait for ack
[16:04:15] Operation Program returned.

Can anyone tell me how to resolve this problem?

Thanks!

Winston

  • Hi Winston,

    You are using PG1.21 so just to make sure I used the same and tried to reproduce it. However, with no success.

    When you get a NACK (and thus open operation fails), it could point on one of the followings:

    1. when using secured file system and wrong token is used - cannot be in your case as you are using OOB demo which doesn't use secured file system
    2. when another file is still openned - cannot be in your case as this is the 1st file used
    3. Serial flash is not loaded for some reason, e.g. not wired correctly - possible in your case
    4. Serial flash is full. no place to write your binaries - possible in your case
    5. any other error

    So, let me ask some questions to understand better your evaluation board:

    1. I see you are using older launch pad board. What version is it? I tried to reproduce with version 3.0B (silk label on PCB)
    2. Have you worked with it before? I assume the answer is yes. In this case, what version is flashed? how many files have you flashed before?
    3. Have you flashed the device with v0.5 or is it older v0.41? please verify using the dedicated API as appears under device.h file (see below)
    4. in case you have not flashed the latest v0.5 or if we want to start from skretch, format would be required. In this case, we need to provide you with another utility - Flasher, in order to flash the latest

    Getting version from device.h:

    Example for getting version:
        
          SlVersionFull ver;
          pConfigOpt = SL_DEVICE_GENERAL_VERSION;
          sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION,&pConfigOpt,&pConfigLen,(unsigned char *)(&ver));
        
         printf("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);

    Regards,

    Shlomi

  • Hi Shlomi,

    Thanks for your reply.

    Please see my answer to your questions as below:

    1. I see you are using older launch pad board. What version is it? I tried to reproduce with version 3.0B (silk label on PCB)    // Winston: The silk label is CC3200-LAUNCHXL Rev 3.1.
    2. Have you worked with it before? I assume the answer is yes. In this case, what version is flashed? how many files have you flashed before?  // Winston:  This is my first time using this board. I got it from Avnet two weeks ago. 
    3. Have you flashed the device with v0.5 or is it older v0.41? please verify using the dedicated API as appears under device.h file (see below) // Winston:  I downloaded the CCS V6.0 and tried to build some example projects, but I got no success for all those projects. I will post the problem later. In fact, as a newbie, I even don't know how to flash the device through CCS.
    4. in case you have not flashed the latest v0.5 or if we want to start from skretch, format would be required. In this case, we need to provide you with another utility - Flasher, in order to flash the latest  // Winston: You mean, I have to use another utility instead of Uniflash to falsh the device? Could you give me the URL?
  • Shi, please see here for compatibility information between the released SW and kits http://processors.wiki.ti.com/index.php/CC32xx_Release_Notes

    The board version you have was intended for early access development.  We highly recommend you get an updated board to use with the latest SDK and tools

    Cheers,

    Gagan

  • Hi Shi,

    Before we use other utilities, I would like to explain what could go wrong in your case.

    Uniflash provides the user with some configurations that can be applied on a file. It is all explained in Uniflash UG. Please see: http://processors.wiki.ti.com/index.php/CC31xx_%26_CC32xx_UniFlash.

    The 'Max size' parameter let the user define what size to preallocate to the file. The size of the file can be configured only during its creation. Configuring the default 0 means that the original size of the file is allocated. The problem is that if you flash the MCI image of size X and then flash another MCU image with larger size, it yields in error since flashing stops when it reaches size of X. In other words, the preallocated size remains X and the only way (and proper one) to overcome it is always erase the file to be flashed prior to flashing.

    You can erase prior to flashing simply by checking the 'erase' checkbox together with 'update' checkbox. This way you are sure that the file is first erased and then flashed.

    I appreciate if you can test it and provide feedback.

    Thanks,

    Shlomi

  • Hi Gagan,

    I am using CC3200-LaunchXL board and trying to operate in WLAN STA mode. I am using CC3200 Software Development Kit version 0.5 Release package.

    As you mentioned in the Release notes link, it has been mentioned that the software package is built for use with CC3200Z ES1.32, can you please let me know, how I can confirm if my CC3200 board is of version CC3200ZES1.32?

    Thanks,
    Vidhya

  • Vidhya, please look at the Revision of the board printed on the LP. The Revision 3.2 is the production board version. It is populated with the Si version supported by the SDK 0.5.1

    http://processors.wiki.ti.com/index.php/CC32xx_Release_Notes

    Cheers,
    Gagan

  • Shlomi Itzhak said:

    Hi Shi,

    Before we use other utilities, I would like to explain what could go wrong in your case.

    Uniflash provides the user with some configurations that can be applied on a file. It is all explained in Uniflash UG. Please see: http://processors.wiki.ti.com/index.php/CC31xx_%26_CC32xx_UniFlash.

    The 'Max size' parameter let the user define what size to preallocate to the file. The size of the file can be configured only during its creation. Configuring the default 0 means that the original size of the file is allocated. The problem is that if you flash the MCI image of size X and then flash another MCU image with larger size, it yields in error since flashing stops when it reaches size of X. In other words, the preallocated size remains X and the only way (and proper one) to overcome it is always erase the file to be flashed prior to flashing.

    You can erase prior to flashing simply by checking the 'erase' checkbox together with 'update' checkbox. This way you are sure that the file is first erased and then flashed.

    I appreciate if you can test it and provide feedback.

    Thanks,

    Shlomi

    Hi Shlomi,

    I tried again with all the 'erase' and 'update' checkbox checked. But it turned out the same result.

    Winston

  • Hi,

    Looking at your 1st post again, I've noticed MCU image is erased prior to flashing.

    [16:04:14] INFO: > Executing Operation: Program
    [16:04:14] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: true
    [16:04:14] INFO: > Erase File: /sys/mcuimg.bin
    [16:04:14] INFO: erasing file "/sys/mcuimg.bin"
    [16:04:14] INFO: deleting file "/sys/mcuimg.bin"
    [16:04:14] DEBUG: wait for ack
    [16:04:14] DEBUG: status request
    [16:04:14] DEBUG: wait for ack
    [16:04:14] INFO: erase file completed
    [16:04:14] INFO: > Size of file = 43536
    [16:04:14] INFO: > Update File: /sys/mcuimg.bin
    [16:04:14] INFO: Downloading file "/sys/mcuimg.bin" with size 43536
    [16:04:14] DEBUG: sending start download command
    [16:04:14] DEBUG: Granularity conversion: G(256) * N(171) = 43776
    [16:04:14] DEBUG: Access code is 3
    [16:04:14] DEBUG: wait for ack/nack
    [16:04:14] DEBUG: receive nack
    [16:04:14] ERROR: Open operation failed

    In this case, the failiure is not becasue of space on the serial flash.

    I would like to rule out serial flash connectivity. Is it possible to read the version as explained on my 1st response?

    Shlomi

  • Shlomi Itzhak said:

    Hi,

    Looking at your 1st post again, I've noticed MCU image is erased prior to flashing.

    [16:04:14] INFO: > Executing Operation: Program
    [16:04:14] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: true
    [16:04:14] INFO: > Erase File: /sys/mcuimg.bin
    [16:04:14] INFO: erasing file "/sys/mcuimg.bin"
    [16:04:14] INFO: deleting file "/sys/mcuimg.bin"
    [16:04:14] DEBUG: wait for ack
    [16:04:14] DEBUG: status request
    [16:04:14] DEBUG: wait for ack
    [16:04:14] INFO: erase file completed
    [16:04:14] INFO: > Size of file = 43536
    [16:04:14] INFO: > Update File: /sys/mcuimg.bin
    [16:04:14] INFO: Downloading file "/sys/mcuimg.bin" with size 43536
    [16:04:14] DEBUG: sending start download command
    [16:04:14] DEBUG: Granularity conversion: G(256) * N(171) = 43776
    [16:04:14] DEBUG: Access code is 3
    [16:04:14] DEBUG: wait for ack/nack
    [16:04:14] DEBUG: receive nack
    [16:04:14] ERROR: Open operation failed

    In this case, the failiure is not becasue of space on the serial flash.

    I would like to rule out serial flash connectivity. Is it possible to read the version as explained on my 1st response?

    Shlomi

    Hi Shlomi,

    Thanks for your answer.

    I don't know what you mean by reading the version. I am not able to build the example projects. I have post another topic in this forum about the failure to build example projects of CC3200SDK. The link is as follows:

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

     

    Winston

     

     

  • I am having this exact same issue. It sounds like I need to flash my dev board (3.1) with an updated system before I can program my app, is that correct? What's the process for that?

    Thanks,

    -- Ryan

  • Ryen,

    The best is to start clean and program the device with the latest. The problem is that Uniflash does not yet support ServicePack programming.

    However, the good news is that I'm going to announce this week a new Uniflash version that is does support ServicePack programming (along with some other improvements). Instruction would be provided as part of the announcment. I suggest then that you upgrade your board.

    Shlomi

  • Thanks Shlomi!

    Ryen, I do recommend you get the latest version of the development board. The Rev 3.1 is the early development version of the kit and you may face some issues due to board/Si incompatibility.

    Cheers,
    Gagan 

  • Hi Shlomi,

    I had exactly same error. tried about method, but doesn't work ; (

    [21:33:22] Begin Program operation.
    [21:33:22] INFO: > Executing Operation: Connect
    [21:33:24] INFO: setting break signal
    [21:33:24] INFO: --- please restart the device ---
    [21:33:28] INFO: connection succeeded
    [21:33:28] INFO: getting storage list
    [21:33:29] INFO: > Executing Operation: Init
    [21:33:29] INFO: reading version info
    [21:33:29] INFO: DEVICE CC3200 ES1.32
    [21:33:29] INFO: reading version info
    [21:33:30] INFO: reading version info
    [21:33:30] INFO: reading version info
    [21:33:32] INFO: > Executing Operation: Program
    [21:33:32] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: false
    [21:33:32] INFO: > Size of file = 72768
    [21:33:32] INFO: > Update File: /sys/mcuimg.bin
    [21:33:32] INFO: Downloading file "/sys/mcuimg.bin" with size 72768
    [21:33:32] ERROR: Open operation failed
    [21:33:32] INFO: > Executing Operation: Disconnect
    [21:33:33] Operation Program returned.

    a few hours before, it works. 

    =================

    [17:13:08] INFO: > Executing Operation: Connect
    [17:13:10] INFO: setting break signal
    [17:13:10] INFO: --- please restart the device ---
    [17:13:18] INFO: connection succeeded
    [17:13:18] INFO: getting storage list
    [17:13:18] INFO: > Executing Operation: Init
    [17:13:18] INFO: reading version info
    [17:13:18] INFO: DEVICE CC3200 ES1.32
    [17:13:18] INFO: reading version info
    [17:13:20] INFO: reading version info
    [17:13:20] INFO: reading version info
    [17:13:22] INFO: > Executing Operation: Program
    [17:13:22] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: true
    [17:13:22] INFO: > Erase File: /sys/mcuimg.bin
    [17:13:22] INFO: erasing file "/sys/mcuimg.bin"
    [17:13:22] INFO: deleting file "/sys/mcuimg.bin"
    [17:13:22] INFO: erase file completed
    [17:13:22] INFO: > Size of file = 72568
    [17:13:22] INFO: > Update File: /sys/mcuimg.bin
    [17:13:22] INFO: Downloading file "/sys/mcuimg.bin" with size 72568
    [17:13:24] INFO:

    New Token is 0x0
    [17:13:24] INFO: Download complete
    [17:13:24] INFO: > Updated Token value: 0x0
    [17:13:24] INFO: > File name: /cert/ca.pem, Update: false, Erase: false
    [17:13:24] INFO: > File name: /cert/client.pem, Update: false, Erase: false
    [17:13:24] INFO: > File name: /cert/private.key, Update: false, Erase: false
    [17:13:24] INFO: > File name: /tmp/pac.bin, Update: false, Erase: false
    [17:13:24] INFO: > File name: /sys/macadd.bin, Update: false, Erase: false
    [17:13:24] INFO: > Executing Operation: Disconnect
    [17:13:25] Operation Program returned.

  • Hi Vincent,

    According to logs, you are not able to program the MCU image. Soon, Uniflash is going to support programming of new service pack (I'll announce it on the E2E). Until then, some users have formatted the device and used the ROM version that apparently was good enough for now. Since you are using ES1.32 as can be seen on the printouts, I suggest you do the same.

    Shlomi

  • Thanks Shlomi, It works after formatting the flash first. 

  • Hi Shlomi,

    I like to know if which one from the "SL_DEVICE_GENERAL_VERSION" information can be used as the unique ID of this chip? MAC address is unique but it's easily exposed. Can the phyversion be used for this purpose? ( the ID must be not changed with any firmware/ROM etc updates. Thanks. 

  • Hi all,

    I have solved this problem.

    One of TI's FAEs sent me the URL of NWP firmware that caters for my LP. The URL is as follows:

    https://focus-webapps.ti.com/licreg/docs/swlicexportcontrol.tsp?form_type=2&prod_no=CC3200FLASHER-0_5-windows-installer.exe&ref_url=http://software-dl.ti.com/ecs/cc31xx/tools/cc3200_flasher_v0_5&form_id=162789

    After updating the NWP firmware, then I made some modifications on SDK 0.51 so it worked smoothly with the ES1.21. The following are the instructions:

    Re-build the Libraries (SimpleLink, drvlib, oslib) after attending to following steps:

    -          IAR->Project Option->Compiler->Preprocessor->Defined Symbols: add ‘CC3200_ES_1_2_1’ and clean & re-build

    -          CCS->Project Properties->ARM Compiler->Advanced Options->Predefined Symbols: add ‘CC3200_ES_1_2_1’ and clean & re-build

    -          After above changes rebuild Simplelink for both OS and NON_OS configurations (IAR\CCS).

     

    For TI-RTOS based applications open ‘c:\ti\CC3200SDK\cc3200-sdk\ti_rtos\ti_rtos_config\app.cfg’ in editor and change Hwi vector table and reset vector addresses from 0x20004000 to 0x20000000

     

    Re-build the specific Sample Application Project after attending to the following points:

    -          IAR-> Project Option->Linker->Config: set CC3200_ES_1_2_1=1 and re-build

    -          CCS->Project Properties->ARM Linker->Advanced Options->Command File Preprocessing->Pre-define macro: add ‘CC3200_ES_1_2_1’ and clean & rebuild

    • Choose CCS->Project Properties->General->Linker command file as ‘cc3200v1p21.cmd’

    Then I used IAR to build the OOB project, and flashed the bin file to my CC3200 LP, now it works very well.

    Thank all the people in this post for your great help!

    Winston

  • Hi Shlomi,

    I'm a newbie on CC3200. I get the CC3200LP Rev3.2 board in hand. I tried to come true the out of box demo follow the corresponding guide in SDK->docs. After I flash the files in the ucf to serial flash, I saw the red led flash 3 times, but without any wifi advertising.

    Then I format the serial flash with Secure and Alert uncheck and the Capacity is 1MB. Then I update the Service Pack Version 0.5.2.0. Then I program the serial flash with the files in out of box 's ucf again. The result is the same as before.

    Everytime after programming the files, I moved the SOP2 jumper and connect VCC to P58 and then reset.

    I also tried checking the erase box on every file and then program.

    What's the problem it may be? I have worked on it for a long time. Please help to resolve the question.

    Thanks in advance!

    Best regards,

    Guohui

  • Hi Shlomi, I am also facing same problem. Have you got solution? please help me. 

  • Hi,

    What do you refer by the same issue? It seems flashing goes well and the led blinks, just WiFi connection is not working. Can you explain what exactly is not working with the OOB example?

    Shlomi

  • Hi Laxmi,

        What SDK version are you using? Have you set your Access Point details at common.h?

    - kel