UPDATE_FROM_SDK function, upgrade path from 3.1.2 to 4.0.1?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
user_108962310
Level 4
Level 4
10 likes received 10 likes given 5 likes given

I am interested in modernizing the code base that I currently have, which is built on top of SDK 3.1.2 .
I have seen a lot of bugs get caught on this forum (TLS, memory leak, etc), and it looks like there is a new wifi FW image for the 43362, so I would like to get all those eventually deployed to existing hardware.

Is there documentation about the function in the build system for the UPDATE_FROM_SDK option?

We currently roll out updates by our own OTA process, where the ELF is loaded into the device in an "App" section of the serial flash. So, I need to make absolutely certain that everything will still work, and to be aware of any address or organizational changes, and then figure out if it will be possible to have a safe upgrade path and all the steps involved.
So ... slightly daunting. I am presently reading through the makefiles to figure out the implications of that option, but any documentation would help.

0 Likes
3 Replies
AxLi_1746341
Level 7
Level 7
10 comments on KBA 5 comments on KBA First comment on KBA

Run "make" then you should get below usage:

    Build an Over The Air (OTA) in-field upgrade for an older SDK (SDK-3.6.3 and up)

    The Bootloader is never updated. Match parts of the DCT with the older SDK Bootloader

       make snip.ping-BCM943362WCD4 UPDATE_FROM_SDK=X_X_X <APP_USED_BT=1> <APP_USED_P2P=1> <APP_USED_OTA2=1>

      Where X_X_X is the SDK you are creating an update application for

      Valid SDKs: 3_0_1

                            3_1_0   3_1_1   3_1_2

                            3_3_0   3_3_1

                            3_4_0

                            3_5_1   3_5_2

                            3_6_0   3_6_1   3_6_2

            Optional additions - Must match original app compilation to match these DCT sections

            APP_USED_BT=1 If Original Applciation used Bluetooth

            That is, this was added to <application>.mk file:

  GLOBAL_DEFINES += WICED_DCT_INCLUDE_BT_CONFIG

            APP_USED_P2P=1 If Original Applciation used P2P

            That is, this was added to <application>.mk file:

  GLOBAL_DEFINES += WICED_DCT_INCLUDE_P2P_CONFIG

            APP_USED_OTA2=1 If Original Applciation used OTA2

            That is, if the command line build included "ota2_xxx" as described for OTA2 builds above.  Stop.

0 Likes

Thanks for the reply. I really should go in and read the specific of what actions those makefile flags invoke to be sure of the implications.

My concern still remains for upgrading the core libraries (i.e. not just the app section), and then also for the Wi-fi radio FW itself (I think SDK 4.0 and higher has a new radio FW binary?).

0 Likes
AxLi_1746341
Level 7
Level 7
10 comments on KBA 5 comments on KBA First comment on KBA

user_108962310 wrote:

I am interested in modernizing the code base that I currently have, which is built on top of SDK 3.1.2 .
I have seen a lot of bugs get caught on this forum (TLS, memory leak, etc), and it looks like there is a new wifi FW image for the 43362, so I would like to get all those eventually deployed to existing hardware.

BTW, there is no TLS memory leak in SDK-3.1.2.

The memory leak happens in SDK-3.7.0 and fixed in SDK-3.7.0-7.

0 Likes