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 code does not boot from serial flash

Other Parts Discussed in Thread: CC3200, UNIFLASH

I have application code which runs fine under CCS v6, but does not seem to boot-up at all after I burn the binary into the serial flash.  Is there a document which describes the requirements for booting on the CC3200 that I can reference?  Any tips on debugging this problem?  Thanks.

  • Hi,

    Example Programs boot up from Serial Flash. So, see what is different from your work.

    - kel
  • Hi Mike,


    Apologies for delayed response.

    Is this issue fixed ? if not, did you tried flashing any of the SDK examples?

    And If you are creating your own project please checkout section "5.3 Compilation, Build and Execution Procedure" in CC3200-Programmers_Guide.pdf

    Thanks and Regards,

    Praveen

     

  • Hi,

    I seem to have the same problem, i.e., the program works in the debug mode through CCS but when I flash the binary through Uniflash it doesn't work at all. I've read similar question on this forum so I've double checked the flashing procedure but nothing seems to help so far. In summary:

    1. Program runs fine in the debug mode through CCS.

    2. Flashing the binary seems to have no problem.

    3. Tried formatting the device, with nothing checked and while selecting the 1MB option. Doesn't help.

    4. Tried re-installing the service pack, seems to be installing properly, but it doesn't help either.

    5. OOB example binaries work fine. But when I recompile the examples in CCS and flash the new binary, it doesn't work.

    From all this it seems to be a problem with the build configuration in CCS which is generating this binary.

    Here is the log from Uniflash:

    [18:31:47] INFO: --- please restart the device ---
    [18:31:51] INFO: connection succeeded
    [18:31:51] INFO: getting storage list
    [18:31:51] INFO: > Executing Operation: Init
    [18:31:51] INFO: reading version info
    [18:31:51] INFO: DEVICE CC3200 ES1.32
    [18:31:51] INFO: reading version info
    [18:31:53] INFO: reading version info
    [18:31:55] INFO: > Executing Operation: ServicePackUpdate
    [18:31:55] INFO: Path to the service pack file: C:\ti\CC31xx_CC32xx_ServicePack_1.0.0.1.2\servicepack_1.0.0.1.2.bin
    [18:31:55] INFO: reading version info
    [18:31:55] INFO: Flash Device detected.
    [18:31:55] INFO: Service pack version information: 
    [18:31:55] INFO: NWP version: 2.2.7.1
    [18:31:55] INFO: MAC version: 1.2.4.2
    [18:31:55] INFO: PHY version: 1.5.3.23
    [18:31:55] INFO: NWP Patch version: 2.2.0.1
    [18:31:55] INFO: MAC Patch version: 1.2.0.2
    [18:31:55] INFO: PHY Patch version: 1.0.3.23
    [18:31:55] INFO: downloading file [NWP_CODE]
    [18:31:55] INFO: Erase storage FLASH 
    [18:31:55] INFO: erase storage succeeded
    [18:31:55] INFO: erase storage completed
    [18:32:19] INFO: Verifying Data...
    [18:32:37] INFO: 
    
    Verification OK
    [18:32:38] INFO: Downloading file "/sys/servicepack.ucf" with size 245288
    [18:32:48] INFO: 
    
    New Token is 0x0
    [18:32:48] INFO: Download complete
    [18:32:48] INFO: > Executing Operation: Disconnect
    [18:32:48] Operation ServicePackUpdate returned. 
    [18:35:28] Begin Program operation.
    [18:35:28] INFO: > Executing Operation: Connect
    [18:35:30] INFO: setting break signal
    [18:35:30] INFO: --- please restart the device ---
    [18:35:36] INFO: connection succeeded
    [18:35:36] INFO: getting storage list
    [18:35:36] INFO: > Executing Operation: Init
    [18:35:36] INFO: reading version info
    [18:35:36] INFO: DEVICE CC3200 ES1.32
    [18:35:36] INFO: reading version info
    [18:35:38] INFO: reading version info
    [18:35:40] INFO: > Executing Operation: Program
    [18:35:40] INFO: > File name: /sys/mcuimg.bin, Update: true, Erase: true
    [18:35:40] INFO: > Erase File: /sys/mcuimg.bin
    [18:35:40] INFO: erasing file "/sys/mcuimg.bin"
    [18:35:40] INFO: deleting file "/sys/mcuimg.bin"
    [18:35:40] INFO: erase file completed
    [18:35:40] INFO: > Size of file = 78352
    [18:35:40] INFO: > Update File: /sys/mcuimg.bin
    [18:35:40] INFO: Downloading file "/sys/mcuimg.bin" with size 78352
    [18:35:44] INFO: 
    
    New Token is 0x0
    [18:35:44] INFO: Download complete
    [18:35:44] INFO: Verifying Data...
    [18:35:44] INFO: get file
    [18:35:46] INFO: Done. Reading 78352  bytes
    [18:35:46] INFO: 
    
    Verification OK
    [18:35:47] INFO: > Updated Token value: 0x0
    [18:35:47] INFO: > File name: /cert/ca.pem, Update: false, Erase: false
    [18:35:47] INFO: > File name: /cert/client.pem, Update: false, Erase: false
    [18:35:47] INFO: > File name: /cert/private.key, Update: false, Erase: false
    [18:35:47] INFO: > File name: /tmp/pac.bin, Update: false, Erase: false
    [18:35:47] INFO: > File name: /sys/macadd.bin, Update: false, Erase: false
    [18:35:47] INFO: > Executing Operation: Disconnect
    [18:35:47] Operation Program returned.

    Can anybody please reply me, it's really urgent!

  • @Umar,

    After flashing using Uniflash, did you remove jumper at SOP2?

    - kel
  • I was not expecting such a poor response from such a Pro.

    When I said that OOB binaries worked fine then how else could it have been possible without removing the SOP2 jumper? Very disappointed!

    Umar

  • @Umar.

    It does not mean that I have 30K+ plus points at E2E, that I am a pro. I am also new learning CC3200 Launchpad. Also, sometimes people at E2E just woke up or already tired and sleepy. So, don't expect everyone here to be always at pro level.

    Anyway, be polite, this is an Engineering Forum. You are the one asking for help.

    Moving on. . .

    Are you sure you are setting up the correct location for the binary file? Post the folder location of that binary file that you set at Uniflash here. Also, Have you tried loading a example program configuration file at Uniflash (.ucf) and then load the program at your CC3200 Launchpad?

    - kel

  • Hi Umar,

    Few quick comments.

    1) Did you flash HTML code using ucf file in cc3200-sdk\examples\out_of_box\html\out_of_box.ucf

    2) You say, it doesn't boot. Can you confirm that LED doesn't blink to indicate boot up in AP mode or STA mode

    3) Do you see any output in UART Terminal (Hyperterminal, TeraTerm)

    4) You say that with CCSv6 debugger it works, Can you confirm that.

    5) Looking at code size, I assume that you have modified the code. Can you confirm that below highlighted settings are intact.

  • Hello,

      This issue is still not fixed.  The SDK examples flash and run fine, but there must be something about my application code which is causing problems. Not even the serial port seems to operate. This is puzzling since it is a very simple program which just uses the DMA and interrupts to generate a PWM signal.  I am going to try to graft it onto one of the example programs to see if I can learn anything.

  • Hi Mike,

    1. Can you pls confirm from the MAP file that the vector table (g_pfnVectors) got place properly at 0x2000_4000.
    2. If you are using UART pls confirm that you have enabled the UART peripheral using MAP_PRCMPeripheralClkEnable() from your code. When you are debugging with SOP2 mounted the UART will be by default enable but with no SOP mounted UART needs to enabled explicitly.

    Thanks and Regards,
    Praveen
  • Hi Praveen,

      Yes, I can confirm that g_pfnVectors have been placed at 0x2000_4000.  I did not have the MAP_PRCMPeripheralClkEnable call in my code, as I was relying on InitTerm().  After receiving your last message, however, I did add MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK);  to my code, but it had no effect.  The code still runs fine when loaded with CCS debug, but does nothing detectable at all when the .bin file is flashed to /sys/mcuimg.bin.  Again, other compiled projects boot up fine when I flash their .bin files.  I am going to try making the code more robust and adding it to an existing project which currently boots fine when flashed.  I will also add some more UART messaging and PIO pin toggling to try to learn what is going on.

    Thanks, Mike

  • Hi Mike,

    Were you able to figure out the issue? If not is it possible for you to share the source project or the .bin file of yours so that I can recreate the issue here ?

    Thanks and Regards,
    Praveen
  • Hi Praveen,  Yes, I rebuilt the project adding my code to the httpserver example project, and then it ran fine and booted up correctly after I had burnt the .bin into the serial Flash.  I do not know why it did not work before, but something must have been amiss with the project configuration.  Thanks for your help.

  • Hi,
    I have the similar problem with programming the OOB into flash which I created a new thread here. Please comment.
    e2e.ti.com/.../500791

    Regards,
    Sy