You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -52,16 +52,30 @@ This list will grow over time as we work to support key STM32 NUCLEO, DISCO, EVA
52
52
53
53
Please post an issue if you'd like a particular board supported.
54
54
55
+
### IAP Reference Designs
56
+
57
+
**List of IAP (In-Application Programming) firmware update open source reference designs using the stm32-secure-patching-bootloder.**
58
+
59
+
These reference designs can be adapted to any board that the stm32-secure-patching-bootloader supports. Of course, the bootloader itself always has capability for secure YMODEM/UART and/or USB flash drive firmware update even if the application has failed or become unavailable.
|[Web Server IAP Update](https://github.com/firmwaremodules/STM32CubeF4/tree/master/Projects/STM32F429ZI-Nucleo/Applications/LwIP/LwIP_HTTP_Server_Netconn_RTOS)|[NUCLEO-F429ZI](https://github.com/firmwaremodules/stm32-secure-patching-bootloader/main/Libs/NUCLEO-F429ZI/stm32-secure-patching-bootloader-README_NUCLEO-F429ZI_v1.3.0)| Ethernet / TCPIP/ multipart forms file upload |
65
+
66
+
67
+
68
+
55
69
### Delta Patch Engine
56
70
57
71
The Delta Patch Engine is built into the bootloader and ready to be accessed by your application at runtime or by the bootloader through UART or USB flash drive updates. The Delta Patch Engine features:
58
72
59
-
* Same security as regular full-image .sfb files. The .sfbp patch container is secured with the same signed header and encrypted.
73
+
* Same security as regular full-image .sfb files. The .sfbp patch container is secured with the same digital signature and encryption technology.
60
74
* Regenerates the full firmware update image into SLOT1 from the content of the patch and the content of the existing application in SLOT0. The final result is as-if a full image .sfb update was performed (in fact exactly the same as the SHA256 digest will attest).
61
75
* Performs SHA256 digest check on the source image (SLOT0) and compares to expected digest embedded in the patch container before taking any action.
62
-
* Single-byte streaming update capability. The patch engine can be fed any number of bytes at a time (including just 1 byte) to support any OTA update method.
76
+
* Single-byte streaming update capability. The patch engine can be fed any number of bytes at a time (including just 1 byte) to support any IAP / OTA update method.
63
77
* The installation of firmware (copy from SLOT1 to SLOT0) is always handled by the bootloader at startup and only occurs after the regenerated firmware image in SLOT1 has been verified and authenticated and the user application has requested or initiated a reboot.
64
-
* The patching engine API consists of just three functions (Init(), Data(), Finish()) described in one header file and implemented in one object file bound at link time.
78
+
* The patching engine API consists of just two core functions (`SE_PATCH_Init`, `SE_PATCH_Data`) described in one header file and bound at link time through a linker include script.
65
79
66
80
67
81
### TouchGFX
@@ -89,7 +103,7 @@ I will happily generate a made-to-order registered version of the stm32-secure-p
89
103
Please head over to my [store](https://www.firmwaremodules.com/products/stm32-secure-patching-bootloader) to get pricing details.
90
104
[Contact me](mailto:contact@firmwaremodules.com) to get the ball rolling.
91
105
92
-
Commercial, registered users get an additional **production** version of the bootloader binary that checks and enforces **RDP Level 2**
106
+
Commercial, registered users optionally get an additional **production** version of the bootloader binary that checks and enforces **RDP Level 2**
93
107
to help mitigate chip-level attacks such as [RDP regression](https://www.usenix.org/system/files/conference/woot17/woot17-paper-obermaier.pdf). Your use of the production version is optional. When utilized, it will
94
108
automatically set RDP Level 2 and write protect the bootloader flash area at startup.
0 commit comments