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.

OAD vs OTA in a CC2530 & CC2538 network

Other Parts Discussed in Thread: CC2530, Z-STACK, CC2538, CC2531

Hi,

My idea is to add the over the air functionality to my apps based on Z-Stack Home 1.2.0 that include CC2530 and CC2538 HW plaftorms. After reading some post I found:

OAD: ZigBee public profile for image upgrade over the air.

OTA:TI proprietary profile for image upgrade over the air. Obsolete?

My apps dont use any ZigBee public profile and the idea is to select one of those options to develop a propietary OAD/OTA funcionality. I have seen on the example that OTA is supported for CC2530 and CC2538, but OAD is supported for CC2538 too? -The documentation about OAD is too old and there is no information about that.

Another question is, does the CC2538 support the external memory to store the downloaded image? Any example or guide?

I hope somebody can help me with the right choice of the best option to develop the OAD/OTa funcionality. Any information about the steps to follow to achieve this would be appreciated. 

Thanks in advance to everybody!

  • Actually, it should be OAD:TI proprietary profile for image upgrade over the air. Obsolete and OTA: ZigBee public profile for image upgrade over the air. For CC2538 OTA function, you can install Z-Stack Home 1.2 and there is SampleSwitchOta at C:\Texas Instruments\climax_Z-Stack Home 1.2.0.1\Projects\zstack\HomeAutomation\SampleSwitchOta\CC2538

  • I have tested both examples, OAD and OTA.

    But for a apps based on CC2530 & CC2538 and to develop a propietary firmware update funcionality I dont know what example use like starting point.

    OAD: Is there any example or guide to use it on a CC2538?

    OTA: It uses ZCL library and HA profile. I would like to develop a firmware update funcionality without the HA profile or ZCL library.

    Can anyone advise me on how to proceed and which way to start to develop the propietary firmware update I want to create?

    Thanks in advance.

  • David,

        If you want to use something from TI I would recommend that you use OTA, OAD is obsolete and I am not sure it was ever ported to CC2538. Why do you not want to use ZCL? You could implement a HA task / endpoint just for OTA and keep it separate from your proprietor application.

    Regards, TC.

  • It seems that OTA is the right way.

    I'd prefer not to use ZCL or HA profile because:

    • I dont need public profiles from ZigBee for my own propietary apps.
    • I think that implementing this way the code would occupy more space including more code I dont need.
    • And also because I am not used to work with ZigBee profiles or ZCL.

    My idea is to develop a propietary or a simplier OTA funcionality based on the official one. My main purpose is a OTA funtionality where the Dongle (USB-ZigBee) looks for the available modules, the user selects the one that wants to update and then it starts the firmware upgrade. I also want to accelerate the upgrade process sending more data for every data chunk.

    Does CC2538 support external memory for downloading the new firmware image? Or the only way to operate is to divide the memory for storing two different firmware images?

    Is there any documentation on how to comunicate with the tools provided by TI for the OTA (OtaServer, OtaConverter) to davelop a propietary PC app that  manages the propietary Dongle?

    Can you or somebody else advise or help me about how to start or how to tune oficial OTA to achieve my purpose?

    Thanks in advance for your help and support!

  • Any help from TI?

    Does CC2538 support external memory for downloading the new firmware image? Or the only way to operate is to divide the memory for storing two different firmware images?

  • Sorry for the delay in answering.

    The CC2538 OTA example does not support external memory. But this does not mean it can not be done, you would need to modify hal_ota.c to write into external memory instead of flash.

    Regards, TC.

  • Hello Yikai Sir,

    Is there Any Document that Suggest how to test OTA Application for Zstack HA 1.2 SampleSwitchOTA there is a project in Project Directory could be use ful to me but do let me know How to use test this, ???

    Is there any Document to refer for testing this Application ??

    Please let me know!!!

    Regards 

    Manish

  • You can refer to Z-Stack OTA Upgrade User's Guide.pdf in Z-Stack document folder.
  • Hello,

    I'm trying to upgrade the firmware for my end device using an CC2531 USB dongle. The "problem" is my end device does not implement Z-stack or any other stacks. Everything is proprietary and the firmware now is written using the CC flasher. From what I read until now, I know I must create a Boot Loader that should check the correct image is used and be able to use DMA to write the code into the Flash. I know I must break my hex file into chunks that will be written into the flash and then reset the device.

    The questions are:

    - how should I break my hex file in order to write my code

    - how should I modify my code in order to be able to do the operations mentioned above?

    - should I create my own Boot Loader or can I use / modify an already existing project?

    I must mention that this is my first OTA project.

    Thank you,

    Mircea

  • You can use existing boot loader in Z-Stack and refer to how Z-Stack does OTA upgrade to do it by yourself accordingly.