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 ota update on amazon s3

Other Parts Discussed in Thread: CC3200

Hi everyone,

I'm trying to understand how works the ota update on cc3200, following the ota example.

The example uses the Dropbox api to implement OTA update, but I want to use Amazon S3 to upload mi updates. It's possibile implement OTA update on Amazon S3?

Thanks in advance.

  • Hi Aeromechs,

    OTA is a 2-stage process: download & upgrade.

    Dropbox is just an example server we use for hosting OTA files in the SDK example. You can use any server you want to perform file download.
  • I'm studying how to realize the connection to amazon S3, but I'm having some difficulties with testing OTA connection.
    I've compiled the fields in this way:


    #define OTA_SERVER_NAME "url to my amazon s3 bucket"
    #define OTA_SERVER_IP_ADDRESS 0x00000000
    #define OTA_SERVER_SECURED 1
    #define OTA_SERVER_REST_UPDATE_CHK "/1/metadata/auto/" // returns files/folder list
    #define OTA_SERVER_REST_RSRC_METADATA "/1/media/auto" // returns A url that serves the media directly
    #define OTA_SERVER_REST_HDR ""
    #define OTA_SERVER_REST_HDR_VAL "my Access Key ID"
    #define LOG_SERVER_NAME ""
    #define OTA_SERVER_REST_FILES_PUT "/1/files_put/auto/"
    #define OTA_VENDOR_STRING "Vid00_Pid00_Ver00"

    But I want to test if the connection to the server is failed.
    How I make this?
  • Hi Aeromechs,

    The OTA update library is written specifically for DropBox, which may not be compatible with with other cloud server vendors. You'll need to refer to Amazon's documentation for implementation details.

    Ultimately, you just need some server to host some files, and retrieve it. A lot of customers just setup simple HTTP servers and retrieve files using HTTP protocol.
  • I've found this library: https://github.com/bji/libs3
    but I don't know if is possible use for cc3200
  • Hi Aeromechs,

    That's something you'll need to investigate.
  • Thanks for answer me,
    a last thing first of close this thread: I've tried to create my app dropbox follow the guide at link processors.wiki.ti.com/.../CC32xx_Over_The_Air_Update_Application but when I try to open the link www.dropbox.com/.../Apps it redirects me to the dropbox home and on top of page it gives me that the /Apps folder doesn't exists. Then I try to publish my app, but now the app is in review.
    I have to wait to confirm me the app to test the functionality?

    Thanks in advance.

    EDIT:

    I've tried to execute the application, but the function sl_extLib_OtaRun give me error -4. Where I can found this error code?

    EDIT 2:

    In the ota_api.h I've found this

    RUN_STAT_ERROR_RESOURCE_LIST   -4

    How I can resolve this?

    Edit 3:

    I've tried to print on UART the vendorstr

    with UART_PRINT("Vendor : %s\n\r",ucVendorStr);

    and it print me Vid01_Pid00_Ver0002 that I haven't create on my dropbox, infact, after I create this folder when I press SW3 button, it gives me that there aren't new updates.

    Then I've followed the guide at link  

    that say the folder "Vid01_Pid00_Ver0087" contains service pack

    the folder Vid01_Pid00_Ver0088 the old version

    the folder Vid01_Pid00_Ver0188 the new firmware version

    but the ota example search the folder Vid01_Pid00_Ver0002. How I change the folders?

    I solved 

    sprintf((char *)&ucVendorStr[ulVendorStrLen],"%02lu",
    sDisplayInfo.sNwpVersion.NwpVersion[3]);

    this instruction concatenate the 3rd cypher to the vendorstr that in my case is 2 and the %02 write it on two cypher

  • Hi,

    It seems like you've resolved your own questions. Do you still need support on this topic?

    FYI: the Dropbox API is not within TI's control, so in case of any future changes to the dropbox API, your OTA downloading mechanism might fail. If you are developing for an commercial product, it's better for you to setup your own server.
  • Thanks... I'm studying the download file example to download the update file.
  • Were you ever able to get OTA working with AWS S3? I am looking at doing this now and I would love to know what problems / solutions you had.

    Do you know if there is a working example somewhere?

  • Hi Scott,

    Though performing OTA updates with different servers is definitely possible with our device, we do not currently have an example for using AWS S3. This is not something we are planning to deliver as part of our SDK.

    Our OTA example from the SDK demonstrates the general process that should be followed for whichever vendor you use for content delivery. 

    Feel free to open a new thread if you have any issues with the examples we provide.

    Best Regards,

    Ben M