Skip to content

Commit

Permalink
Upload ota-update 4.3.1.1045 [2752]
Browse files Browse the repository at this point in the history
  • Loading branch information
gitlab-runner committed Sep 28, 2024
1 parent a46fedb commit b650b09
Show file tree
Hide file tree
Showing 20 changed files with 51 additions and 1,812 deletions.
1 change: 0 additions & 1 deletion OTA_MAKEFILE_INFO_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ This guide shows Makefile variables and build DEFINES used when building an appl
| OTA_HTTP_SUPPORT=<0,1> | No | 0 | Include OTA support for update transfers using HTTP directly to a server.<br>App can use Job or Direct update flow Pull Model. |
| OTA_MQTT_SUPPORT=<0,1> | No | 0 | Include OTA support for MQTT Broker transfers over HTTP. Implies HTTP library support<br>App can use Job or Direct update flow Pull Model. |
| OTA_BT_SUPPORT=<0,1> | No | 0 | Include BT Support for transfers over BT/BLE/BLESS<br>Push Model. |
| OTA_BT_SECURE=<0,1> | No | 0 | Include BT TLS secure connection support.<br> Requires OTA_BT_SUPPORT=1 |
| APP_VERSION_MAJOR=\<application_version\> | Yes | Error | Application Major version number X.y.z|
| APP_VERSION_MINOR=\<application_version\> | Yes | Error | Application Minor version number x.Y.z|
| APP_VERSION_BUILD=\<application_version\> | Yes | Error | Application Build version number x.y.Z |
Expand Down
28 changes: 13 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ For <b>Bluetooth®</b>, the OTA library works with an intermediate peer applicat

To handle the downloaded upgrade image, the user must implement storage API callbacks based on the chosen bootloader.

<b>NOTE:</b> The library 'ota-bootloader-abstraction' includes storage API callbacks implementation that handles downloaded MCUBootloader/H1-CP based upgrade images. To use these storage API callbacks implementation, user must register these callbacks during OTA agent initialization.
<b>NOTE:</b> The library 'ota-bootloader-abstraction' includes storage API callbacks implementation that handles MCUBootloader based images and in-built bootloader based (CYW955913SDCM2WLIPA platform) images. To use these storage API callbacks implementation, user must register these callbacks during OTA agent initialization.

## Library Versions

Expand Down Expand Up @@ -97,13 +97,11 @@ With a "Job" flow approach, the device downloads a JSON formatted job document t
```
https://github.com/Infineon/ota-update#latest-v4.X#$$ASSET_REPO$$/ota-update/latest-v4.X
```
**NOTE** : H1-CP platform support added in *ota-update* version *release-v4.2.0*.
- For MCUBootloader-based OTA code examples on platforms like PSoC,20829, 89829 and XMC7200, Users need to create an *ota-bootloader-abstraction.mtb* file to pull *ota-bootloader-abstraction* library which has storage APIs to handle the MCUBootloader based OTA upgrade files and place it in the application *deps* folder. The contents of *ota-bootloader-abstraction.mtb* should be as follows:
```
https://github.com/Infineon/ota-bootloader-abstraction#latest-v1.X#$$ASSET_REPO$$/ota-bootloader-abstraction/latest-v1.X
```
**NOTE** : H1-CP platform support added in *ota-bootloader-abstraction* version *release-v1.2.0*.
- For WiFi-based OTA code examples on platforms like PSoC6, Users need to create an *wifi-core-freertos-lwip-mbedtls.mtb* file for the WiFi bundle and place it in the application *deps* folder. The contents of *wifi-core-freertos-lwip-mbedtls.mtb* should be as follows:
```
Expand All @@ -116,11 +114,14 @@ With a "Job" flow approach, the device downloads a JSON formatted job document t
https://github.com/Infineon/wifi-core-threadx-cat5#latest-v1.X#$$ASSET_REPO$$/wifi-core-threadx-cat5/latest-v1.X
```
- For Ethernet-based OTA code examples on platforms like XMC7200, Users need to create an *ethernet-core-freertos-lwip-mbedtls.mtb* file for the Ethernet bundle and place it in the application *deps* folder. The contents of *ethernet-core-freertos-lwip-mbedtls.mtb* should be as follows:
- For Ethernet-based OTA code examples on platforms like XMC7200, Users need to create an *ethernet-core-freertos-lwip-mbedtls.mtb* file for the Ethernet bundle along with *ethernet-phy-driver.mtb* file for ethernet PHY drivers and place it in the application *deps* folder. The contents of *ethernet-core-freertos-lwip-mbedtls.mtb* and *ethernet-phy-driver.mtb* should be as follows:
```
https://github.com/Infineon/ethernet-core-freertos-lwip-mbedtls#latest-v1.X#$$ASSET_REPO$$/ethernet-core-freertos-lwip-mbedtls/latest-v1.X
https://github.com/Infineon/ethernet-core-freertos-lwip-mbedtls#latest-v2.X#$$ASSET_REPO$$/ethernet-core-freertos-lwip-mbedtls/latest-v2.X
```
**NOTE**: ota-update library currently supports *ethernet-core-freertos-lwip-mbedtls/latest-v1.X* only.
```
https://github.com/Infineon/ethernet-phy-driver#latest-v1.X#$$ASSET_REPO$$/ethernet-phy-driver/latest-v1.X
```
**NOTE**: Applications using the *ethernet-core-freertos-lwip-mbedtls v1.X* library for OTA updates do not need to pull the *ethernet-phy-driver*.
- For BLE-based OTA code examples on platforms like PSoC6, 20829 and 89829, Users need to create an *btstack-integration.mtb* file for the btstack and place it in the application *deps* folder. The contents of *btstack-integration.mtb* should be as follows:
```
Expand All @@ -138,8 +139,6 @@ With a "Job" flow approach, the device downloads a JSON formatted job document t
https://github.com/Infineon/http-client#latest-v1.X#$$ASSET_REPO$$/http-client/latest-v1.X
```
- For BLE-based secure OTA updates, the ota-update library uses *Mbed-TLS* crypto APIs to verify downloaded images in FreeRTOS-based OTA applications. Therefore, users need to pull the *Mbed-TLS* library along with other dependent libraries.
- Once you have added the necessary *.mtb* files to the *deps* folder of your application, run the command 'make getlibs' to fetch these libraries and their dependencies.
```
make getlibs
Expand All @@ -149,7 +148,7 @@ With a "Job" flow approach, the device downloads a JSON formatted job document t
- For MCUBootloader support, Update OTA Application Makefile by referring *ota-bootloader-abstraction* library [MCUBootloader Support Makefile Readme](https://github.com/Infineon/ota-bootloader-abstraction/blob/master/source/COMPONENT_MCUBOOT/MCUBOOT_OTA_MAKEFILE_INFO_README.md)
- For platforms like CYW955913EVK-01 which has in-built bootloader(H1-CP Bootloader), Update OTA Application Makefile by referring *ota-bootloader-abstraction* library [H1-CP_Bootloader Support Makefile Readme](https://github.com/Infineon/ota-bootloader-abstraction/blob/master/source/COMPONENT_H1_CP/H1-CP_OTA_MAKEFILE_INFO_README.md)
- For platforms like CYW955913EVK-01 which has in-built bootloader, update OTA Application Makefile by referring *ota-bootloader-abstraction* library [CYW955913SDCM2WLIPA_Bootloader Support Makefile Readme](https://github.com/Infineon/ota-bootloader-abstraction/blob/master/source/COMPONENT_CYW955913SDCM2WLIPA/CYW955913SDCM2WLIPA_OTA_MAKEFILE_INFO_README.md)
- The "cy_ota_config.h" file provides configuration options to adjust multiple timing values to customize how often to check for updates, and other parameters for the MQTT Broker/HTTP Server connection.
Copy the configuration file "\<ota-update library\>configs/cy_ota_config.h" file to the directory where your application Makefile is, and adjust as needed.
Expand Down Expand Up @@ -199,17 +198,16 @@ To support MCUBootloader based OTA using ota-update library, User can implement
Refer *ota-bootloader-abstraction* library [Readme](https://github.com/Infineon/ota-bootloader-abstraction/blob/master/README.md) for enabling MCUBootloader support.
### 5.2 H1-CP bootloader Support
### 5.2 CYW955913EVK-01 in-built bootloader Support
H1-CP bootloader is programmed in ROM section of CYW955913EVK-01.
An in-built bootloader is programmed in ROM section of CYW955913EVK-01.
To support H1-CP bootloader based OTA using ota-update library, User can implement his own storage operation callbacks to handle upgrade image or can make use of *ota-bootloader-abstraction* library.
To support OTA using ota-update library on CYW955913EVK-01 kit, user can implement his own storage operation callbacks to handle upgrade image or can make use of *ota-bootloader-abstraction* library.
*ota-bootloader-abstraction* library has below support for H1-CP bootloader based platforms like CYW955913EVK-01.
*ota-bootloader-abstraction* library has below support for in-built bootloader based platforms like CYW955913EVK-01.
- Storage operation callback APIs to handle MCUBootloader based upgrade image.
- README for H1-CP bootloader based OTA.
Refer *ota-bootloader-abstraction* library [Readme](https://github.com/Infineon/ota-bootloader-abstraction/blob/master/README.md) for enabling H1-CP bootloader support.
Refer *ota-bootloader-abstraction* library [Readme](https://github.com/Infineon/ota-bootloader-abstraction/blob/master/README.md) for enabling in-built CYW955913EVK-01 bootloader support.
### 5.3 Other bootloader Support
Expand Down
6 changes: 5 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ See the [README.md](./README.md) for a complete description of the OTA library.

## Changelog

### v4.3.1

- Minor Documentation updates.

### v4.3.0

- Added support for CY8CEVAL-062S2-CYW955513SDM2WLIPA kit.
Expand Down Expand Up @@ -86,7 +90,7 @@ This version of the library was validated for compatibility with the following s
| - ModusToolbox&trade; Device Configurator | 4.20 |
| - ModusToolbox&trade; Bluetooth Configurator | 2.90 |
| - ModusToolbox&trade; CapSense Configurator / Tuner tools | 6.20.0 |
| Peripheral Driver Library (PDL CAT1) | 3.11.0 |
| Peripheral Driver Library (PDL CAT1) | 3.12.0 |
| GCC Compiler | 11.3.1 |
| IAR Compiler | 9.40.2 |
| Arm Compiler 6 | 6.16 |
41 changes: 0 additions & 41 deletions configs/COMPONENT_OTA_BLUETOOTH_SECURE/ecdsa256_pub.c

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -560,8 +560,8 @@ <h2 class="groupheader">Function Documentation</h2>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ctx_ptr</td><td>Pointer to OTA agent context <a class="el" href="group__group__ota__typedefs.html#ga50b8b1ec191a1d5f9a8fcd3472811694">cy_ota_context_ptr</a> </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">update_file_crc</td><td>32 Bit CRC sent from the Host. For SECURE_BT(OTA_BT_SECURE=1) CRC is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">verify_crc_or_signature</td><td>OTA library need to verify CRC(For SECURE_BT=0) or Signature(For SECURE_BT=1)?</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">update_file_crc</td><td>32 Bit CRC sent from the Host. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">verify_crc_or_signature</td><td>OTA library need to verify CRC.</td></tr>
</table>
</dd>
</dl>
Expand Down
34 changes: 14 additions & 20 deletions docs/api_reference_manual/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
<div class="title">Over The Air(OTA) Library Overview </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The library provides support for performing over-the-air (OTA) updates on the application code that runs on various devices, including PSoC™ 6 Connectivity Devices, 20829 (CYW920829M2EVK-02) Devices, 89829 (CYW989829M2EVB-01) Devices, XMC7200 (KIT_XMC72_EVK) Devices, and H1-CP (CYW955913EVK-01) Devices, which can be connected via Wi-Fi, Bluetooth®, or Ethernet.<br />
<div class="textblock"><p>The library provides support for performing over-the-air (OTA) updates on the application code that runs on various devices, including PSoC™ 6 Connectivity Devices, 20829 (CYW920829M2EVK-02) Devices, 89829 (CYW989829M2EVB-01) Devices, XMC7000 (KIT_XMC72_EVK) Devices, and CYW955913SDCM2WLIPA (CYW955913EVK-01) Devices, which can be connected via Wi-Fi, Bluetooth®, or Ethernet.<br />
For simplification, this document may refer to an MQTT Broker or an HTTP Server as "server".<br />
<br />
The library provides a number of combinations to get the OTA image:<br />
Expand Down Expand Up @@ -186,12 +186,8 @@ <h1><a class="anchor" id="section_notes"></a>
<div class="fragment"><div class="line">OTA_MQTT_SUPPORT=1</div>
</div><!-- fragment --> <br />
</li>
<li>For <b>Non-Secure Bluetooth®</b> support, add the following to the application Makefile:<br />
<div class="fragment"><div class="line">OTA_BT_SUPPORT=1 OTA_BT_SECURE=0</div>
</div><!-- fragment --> <br />
</li>
<li>For <b>Secure Bluetooth®</b> support, add the following to the application Makefile:<br />
<div class="fragment"><div class="line">OTA_BT_SUPPORT=1 OTA_BT_SECURE=1</div>
<li>For <b>Bluetooth®</b> support, add the following to the application Makefile:<br />
<div class="fragment"><div class="line">OTA_BT_SUPPORT=1</div>
</div><!-- fragment --> <br />
</li>
<li>OTA_MQTT_SUPPORT, OTA_HTTP_SUPPORT and OTA_BT_SUPPORT can be used simultaneously, but will possibly be too large to fit in the FLASH slot available.<br />
Expand Down Expand Up @@ -230,16 +226,16 @@ <h1><a class="anchor" id="section_concept"></a>
c. The updated application must validate the update. <br />
</li>
</ol>
<p><b> H1-CP Bootloader - The basic device boot sequence is as follows:</b> <br />
<p><b> CYW955913EVK-01 kit's in-built Bootloader - The basic device boot sequence is as follows:</b> <br />
</p><ol type="1">
<li>ROM boot will start H1-CP Bootloader.<br />
<li>ROM boot will start CYW955913EVK-01 kit's in-built Bootloader.<br />
</li>
<li>H1-CP Bootloader starts the current application in Active DS.<br />
<li>In-built Bootloader starts the current application in Active DS.<br />
</li>
<li>If there is an update available in Non Active DS,<br />
a. H1-CP Bootloader verifies the update image headers and certificates.<br />
b. If a valid upgrade image is found, the H1-CP Bootloader will activate the non-active DS and deactivate the active DS.<br />
c. On reset, H1-CP Bootloader starts the application in Active DS. <br />
a. In-built Bootloader verifies the update image headers and certificates.<br />
b. If a valid upgrade image is found, the in-built Bootloader will activate the non-active DS and deactivate the active DS.<br />
c. On reset, in-built Bootloader starts the application in Active DS. <br />
</li>
</ol>
<p>For more general information, see the various README.md files in the ota-update/&lt;version&gt;/ directory: <br />
Expand Down Expand Up @@ -416,7 +412,7 @@ <h1><a class="anchor" id="section_override"></a>
MCUBootloader is a secure bootloader for 32-bits microcontrollers and users should build it outside of the user OTA application. It is programmed separately to the device before flashing the user OTA application and is not updated for the life of the device. To support MCUBootloader based OTA using ota-update library, User can implement his own storage operation callbacks to handle upgrade image or can make use of <em>ota-bootloader-abstraction</em> library.<br />
ota-bootloader-abstraction library has below support.<br />
</p><ol type="1">
<li>Template flashmaps for PSoC6, 20829, 89829 and XMC7200 platforms.<br />
<li>Template flashmaps for PSoC6, 20829, 89829 and XMC7000 platforms.<br />
</li>
<li>Template linker files for GCC_ARM, ARM, and IAR toolchains.<br />
</li>
Expand All @@ -425,13 +421,11 @@ <h1><a class="anchor" id="section_override"></a>
<li>Prebuild and Postbuild scripts for generating and signing MCUBootloader based BOOT and UPGRADE image of an OTA Application.<br />
</li>
</ol>
<p><b>2. H1-CP Bootloader Support</b><br />
Platforms like CYW955913EVK-01 which has in-built bootloader(H1-CP Bootloader). To support H1-CP bootloader based OTA using ota-update library, User can implement his own storage operation callbacks to handle upgrade image or can make use of <em>ota-bootloader-abstraction</em> library.<br />
ota-bootloader-abstraction library has below support for H1-CP bootloader based platforms like CYW955913EVK-01.<br />
<p><b>2. In-built Bootloader Support on CYW955913EVK-01 kit</b><br />
Platforms like CYW955913EVK-01 have in-built bootloader. To support OTA using ota-update library on CYW955913EVK-01 kit, user can implement his own storage operation callbacks to handle upgrade image or can make use of ota-bootloader-abstraction library.<br />
ota-bootloader-abstraction library has below support for in-built bootloader based platforms like CYW955913EVK-01.<br />
</p><ol type="1">
<li>Storage operation callback APIs to handle MCUBootloader based upgrade image.<br />
</li>
<li>README for H1-CP bootloader based OTA.<br />
<li>Storage operation callback APIs to handle CYW955913EVK-01 in-built Bootloader based upgrade image.<br />
</li>
</ol>
<p>User needs to register storage operation callbacks available in ota-bootloader-abstraction during OTA agent start.<br />
Expand Down
4 changes: 2 additions & 2 deletions include/cy_ota_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -1270,8 +1270,8 @@ cy_rslt_t cy_ota_ble_download_write(cy_ota_context_ptr ctx_ptr, uint8_t *data_bu
* @brief Bluetooth® OTA Verify download
*
* @param[in] ctx_ptr Pointer to OTA agent context @ref cy_ota_context_ptr
* @param[in] update_file_crc 32 Bit CRC sent from the Host. For SECURE_BT(OTA_BT_SECURE=1) CRC is 0.
* @param[in] verify_crc_or_signature OTA library need to verify CRC(For SECURE_BT=0) or Signature(For SECURE_BT=1)?
* @param[in] update_file_crc 32 Bit CRC sent from the Host.
* @param[in] verify_crc_or_signature OTA library need to verify CRC.
*
* @return CY_RSLT_SUCCESS
* CY_RSLT_OTA_ERROR_BLE_VERIFY
Expand Down
Loading

0 comments on commit b650b09

Please sign in to comment.