Thank you for your response.
According to "OTA Method for CYW43438+STM32F412", "Over The Air update in CYW43907" and sample makefiles in installed directory "\WICED-Studio-6.4\43xxx_Wi-Fi\platforms", it seems to me that the OTA2 is only supported on BCM4390x. When you build an application for BCM94390x, "BCM94390x_common.mk" and "BCM94390x_targets.mk" are used, while for STM32F4xx, "standard_platform_targets.mk" is used instead of these makefiles.
The following is quoted from "standard_platform_targets.mk":
ifeq (1,$(OTA2_SUPPORT)) NO_BUILD_BOOTLOADER:=1 NO_BOOTLOADER_REQUIRED:=1 endif
I assume that this is why the WICED Studio skips building the ota2_bootloader if OTA2_SUPPORT is enabled. Additionally, I learned that there is another problem of the RAM requirements from the thread.
Is it absolutely impossible to add OTA2 to STM32F412? I thought it is possible because of the document says "OTA2 is supported on BCM94390x and STM32F4xx platforms under ThreadX".
I do not need entire functions of example application, so, can I make it possible by using limited components of OTA2 Library?
1 of 1 people found this helpful
STM processors usually don't support OTA2 because of insufficient RAM conditions.It's possible to add OTA2 to STM32F412 by using limited components of OTA2 library but we haven't tested the same for STM32F412 processor.
Can you please provide some more information about the functions that are not needed for your example application.
I need the following functions of OTA2:
1. Refer to the DCT, select an appropriate one from below applications by ota2_bootloader:
- Current Application that I developed
- Extract Application (extract the OTA2 Image from Staging Area to Current Application Area)
- Failsafe Application (extract the OTA2 Image from Factory Reset Area to Current Application Area)
2. Check if the staged OTA2 Image is valid before extraction.
3. Keep track of the extracting status until next power cycle.
(I want to know whether the extraction has finished successfully or aborted accidentally)
In other words, I do not need functions concern a web server such as SoftAP.
Due to the application communicates with the server in a specified way, I must implement this parts.
So, I have another question:
When I download the OTA2 Image from the server and save it to the Staging Area, I should copy its binary data to the area in order from the top. Is it right?
For the OTA2 library implementation, the RAM requirements would be around 640 KB if your example application is of size 256 KB. But most of the STM32F412 processors has around 256 KB of RAM and 1 MB of flash size. That's the reason why STM32F412 processors don't support OTA2.
I believe it would be more difficult for you to add OTA2 functionality for your implementation and as mentioned in my previous response, we haven't tested OTA2 and doesn't have any ready-made application on OTA2 for STM32F412 processors.