Skip to content

Commit

Permalink
Upload dfu 5.0.0.726 [1022]
Browse files Browse the repository at this point in the history
  • Loading branch information
gitlab-runner committed Mar 31, 2023
1 parent ecf49f6 commit 3b5570f
Show file tree
Hide file tree
Showing 244 changed files with 7,046 additions and 5,557 deletions.
1 change: 1 addition & 0 deletions .cyignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export
config
docs
linker_scripts
21 changes: 11 additions & 10 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ PURCHASER.
"Development Tools" means software that is intended to be installed on a
personal computer and used to create programming code for Firmware,
Drivers, or Host Applications. Examples of Development Tools are
Cypress's PSoC Creator software, Cypress's WICED SDKs, and Cypress's
Cypress's PSoC Creator software, Cypress's AIROC SDKs, and Cypress's
ModusToolbox software.

"Firmware" means software that executes on a Cypress hardware product.
Expand Down Expand Up @@ -87,11 +87,12 @@ Software is subject to the applicable license agreement and not this
Agreement. If you are entitled to receive the source code from Cypress for
any Third Party Software included with the Software, either the source code
will be included with the Software or you may obtain the source code at no
charge from <http://www.cypress.com/go/opensource>. The applicable license
terms will accompany each source code package. To review the license terms
applicable to any Third Party Software for which Cypress is not required to
provide you with source code, please see the Software's installation directory
on your computer.
charge from
<https://www.infineon.com/cms/en/design-support/software/free-and-open-source-software-foss/>.
The applicable license terms will accompany each source code package. To
review the license terms applicable to any Third Party Software for which
Cypress is not required to provide you with source code, please see the
Software's installation directory on your computer.

4. Proprietary Rights; Ownership. The Software, including all intellectual
property rights therein, is and will remain the sole and exclusive property of
Expand Down Expand Up @@ -182,10 +183,10 @@ Software shall be only those set forth in this Agreement.
registration on Cypress IoT Community Forum or other Cypress websites,
including contact information or other personal information, may be collected
and used by Cypress consistent with its Data Privacy Policy
(www.cypress.com/privacy-policy), as updated or revised from time to time, and
may be provided to its third party sales representatives, distributors and
other entities conducting sales activities for Cypress for sales-related and
other business purposes.
(https://www.infineon.com/cms/en/about-infineon/privacy-policy/), as updated
or revised from time to time, and may be provided to its third party sales
representatives, distributors and other entities conducting sales activities
for Cypress for sales-related and other business purposes.

12. General. This Agreement will bind and inure to the benefit of each
party's successors and assigns, provided that you may not assign or transfer
Expand Down
109 changes: 55 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,42 +3,50 @@
## Overview

The purpose of the DFU middleware library is to provide an SDK for updating
firmware images. The middleware allows creating two types of projects:
firmware images. The middleware allows creating these types of projects:

1. An application loader receives the program and switch to
- An application loader receives the program and switch to
the new application.
2. A loadable application to be transferred and programmed.
- A loadable application to be transferred and programmed.

A project can contain features of both first and second type.
A project can contain the features of both types.

## Features

* Read firmware images from a host through a number of transport interfaces,
e.g. BLE, USB, UART, I2C, SPI.
* Program a firmware image to the specified address in internal flash,
XIP region, or any external memory that supports the DFU API.
* Copy applications.
* Validate applications.
* Safe Update: updates at a temporary location, validates, and if valid,
overwrites a working image.
* Switches applications. Passes parameters in RAM when switching
applications.
* Supports encrypted image files.
Transfers encrypted images without decrypting in the middle.
* Supports many application images, the number of which is limited by
the metadata size. Each image can be an application loader. For example,
512-byte metadata supports up to 63 applications.
* Supports customization.
* Supports the CRC-32 checksum to validate data.
- Reads firmware images from a host through a number of transport interfaces,
e.g. USB, UART, I2C, SPI
Supports dynamic switching (during runtime) of the communication interfaces
- Provides ready-for-use transport interface templates based on HAL drivers for
PDL drivers for CAT1 devices and CAT2 devices
- Supported flows: Basic bootloader and MCUBoot compatibility
- Device support: CAT1A, CAT2 (Basic bootloader flow),
CAT1C (MCUBoot compatibility flow)
- Programs a firmware image to the specified address in internal flash,
XIP region or any external memory that supports the DFU API
- Copies applications
- Validates applications
- Updates safely - updates at a temporary location, validates, and if valid,
overwrites the working image
- Switches applications - passes parameters in RAM when switching
applications
- Supports encrypted image files - transfers encrypted images without decrypting
in the middle
- Supports many application images - the number of applications is limited by
the metadata size; each image can be an application loader, for example,
512-byte metadata supports up to 63 applications
- Supports customization
- Supports the CRC-32 checksum to validate data.

## DFU Specific Instructions

The DFU middleware requires configuration files located in the /config
directory. The directory /config is skipped from a build process, so
copy the configuration files manually. The application loader requires
dfu_user.h/c, transport files (e.g. for loading with UART - transport_uart.c/h).
The loadable application requires dfu_user.h file.
For a build, use the dfu linker scripts located in the linker_script directory.
The DFU middleware requires configuration files which should be enabled by
components in the Makefile. The application loader requires DFU_USER component,
transport components (e.g. for loading with UART - DFU_UART).
The loadable application does not require specific component and dfu_user.h file
includes with DFU middleware. The configuration files is copies in the application
and could be updated based on the specific use cases.
For a build with a the basic bootloader flow, use the dfu linker scripts located
in the linker_script directory.

## Quick Start

Expand All @@ -49,32 +57,25 @@ describes step-by-step instructions to set up a DFU application.

For more information, refer to the following links:

* [DFU Middleware Library Release Notes](./RELEASE.md)
* [DFU Middleware Library API Reference](https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html)
* [AN213924](http://www.cypress.com/an213924) DFU SDK User Guide
* [CE213903](http://www.cypress.com/ce213903) DFU SDK Basic Communication Code Examples
* [CE216767](http://www.cypress.com/ce216767) DFU SDK BLE OTA Code Example
* [CAT1 Peripheral Driver Library API Reference](https://infineon.github.io/mtb-pdl-cat1/pdl_api_reference_manual/html/index.html)
* [CAT2 Peripheral Driver Library API Reference](https://infineon.github.io/mtb-pdl-cat2/pdl_api_reference_manual/html/index.html)
* [USB Device Middleware Library API Reference](https://infineon.github.io/usbdev/usbfs_dev_api_reference_manual/html/index.html)
* [PSoC 6 BLE Middleware Library API Reference](https://infineon.github.io/bless/ble_api_reference_manual/html/index.html)
* [ModusToolbox Software Environment, Quick Start Guide, Documentation, and Videos](https://www.cypress.com/products/modustoolbox-software-environment)
* [Code Examples for ModusToolbox Software](https://github.com/Infineon/Code-Examples-for-ModusToolbox-Software)
* [ModusToolbox Device Configurator Tool Guide](https://www.cypress.com/ModusToolboxDeviceConfig)
* [ModusToolbox Device Firmware Update Host Tool](https://www.cypress.com/ModusToolboxDFUHostTool)
* [ModusToolbox USB Configurator Tool Guide](https://www.cypress.com/ModusToolboxUSBConfig)
* [ModusToolbox BT Configurator Tool Guide](https://www.cypress.com/ModusToolboxBLEConfig)
* [CySmart - BLE Test and Debug Tool](http://www.cypress.com/documentation/software-and-drivers/cysmart-bluetooth-le-test-and-debug-tool)
* [CySmart – Mobile App](https://www.cypress.com/documentation/software-and-drivers/cysmart-mobile-app)
* [PSoC 6 BLE Pioneer Kit](http://www.cypress.com/CY8CKIT-062-BLE)
* [PSoC 6 WiFi-BT Pioneer Kit](http://www.cypress.com/CY8CKIT-062-WiFi-BT)
* [PSoC 6 Wi-Fi BT Prototyping Kit](http://www.cypress.com/cy8cproto-062-4343w)
* [PSoC 6 MCU Datasheets](http://www.cypress.com/psoc6ds)
* [PSoC 6 MCU Application Notes](http://www.cypress.com/psoc6an)
* [PSoC 6 MCU Technical Reference Manuals](http://www.cypress.com/psoc6trm)
* [PSoC 4 Technical Reference Manuals](https://www.cypress.com/search/all?f%5B0%5D=meta_type%3Atechnical_documents&f%5B1%5D=resource_meta_type%3A583&f%5B2%5D=field_related_products%3A1314)
* [PSoC 4 MCU Datasheets](https://www.cypress.com/search/all?f%5B0%5D=meta_type%3Atechnical_documents&f%5B1%5D=field_related_products%3A1297&f%5B2%5D=resource_meta_type%3A575)
* [Cypress Semiconductor](http://www.cypress.com)
- [DFU Middleware Library Release Notes](./RELEASE.md)
- [DFU Middleware Library API Reference](https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html)
- [AN213924](https://www.infineon.com/an213924) DFU SDK User Guide
- [CE213903](https://www.infineon.com/ce213903) DFU SDK Basic Communication Code Examples
- [CAT1 Peripheral Driver Library API Reference](https://infineon.github.io/mtb-pdl-cat1/pdl_api_reference_manual/html/index.html)
- [CAT2 Peripheral Driver Library API Reference](https://infineon.github.io/mtb-pdl-cat2/pdl_api_reference_manual/html/index.html)
- [USB Device Middleware Library API Reference](https://infineon.github.io/usbdev/usbfs_dev_api_reference_manual/html/index.html)
- [Code Examples for ModusToolbox Software](https://github.com/Infineon/Code-Examples-for-ModusToolbox-Software)
- [ModusToolbox Device Configurator Tool Guide](https://www.infineon.com/ModusToolboxDeviceConfig)
- [ModusToolbox Device Firmware Update Host Tool](https://www.infineon.com/ModusToolboxDFUHostTool)
- [ModusToolbox USB Configurator Tool Guide](https://www.infineon.com/ModusToolboxUSBConfig)
- [PSoC 6 BLE Pioneer Kit](https://www.infineon.com/CY8CKIT-062-BLE)
- [PSoC 6 WiFi-BT Pioneer Kit](https://www.infineon.com/CY8CKIT-062-WiFi-BT)
- [PSoC 6 Wi-Fi BT Prototyping Kit](https://www.infineon.com/cy8cproto-062-4343w)
- [XMC7200 evaluation kit](https://www.infineon.com/KIT_XMC72_EVK)
- [PSoC 6 MCU Datasheets](https://www.infineon.com/cms/en/search.html#!view=downloads&term=psoc6&doc_group=Data%20Sheet)
- [PSoC 6 MCU Technical Reference Manuals](https://www.infineon.com/cms/en/search.html#!view=downloads&term=psoc6&doc_group=Additional%20Technical%20Information)
- [PSoC 4 product page](https://www.infineon.com/cms/en/product/microcontroller/32-bit-psoc-arm-cortex-microcontroller/psoc-4-32-bit-arm-cortex-m0-mcu)
- [Infineon Technologies AG](https://www.infineon.com)

---
© Cypress Semiconductor Corporation (an Infineon company), 2021.
© Cypress Semiconductor Corporation (an Infineon company), 2023.
36 changes: 18 additions & 18 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Device Firmware Update (DFU) Middleware Library 4.20
# Device Firmware Update (DFU) Middleware Library 5.0

## What's Included?

Expand All @@ -7,38 +7,38 @@ and the [DFU API Reference](https://infineon.github.io/dfu/dfu_sdk_api_reference
The revision history of the DFU middleware is also available in the [API Reference Changelog](https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#group_dfu_changelog).
New in this release:

* Added USB CDC transport configuration for the CAT2 PDL.
* Documentation improvement.
* Added support of the MCUBoot flow
* Added support of the transport switching at the run time

## Defect Fixes

* Fixed the DFU Host Tool timeout-error for the CAT1A SPI transport.
See [API Reference Changelog](https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#group_dfu_changelog) for details.
No fixes

## Known Issues

Several template files (transport_uart.c, transport_spi.c) use the old type
uint32, which was deprecated and removed in mtb-pdl-cat2 v2.0.0. Now, using
mtb-pdl-cat2 v2.0.0 or later causes a build error of an/the undeclared type.
To avoid this, change the uint32 type to uint32_t or use mtb-pdl-cat2 v1.x.
No known issues

## Supported Software and Tools

This version of the DFU middleware was validated for compatibility with the following Software and Tools (add and remove information as needed):

| Software and Tools | Version |
| :--- | :----: |
| ModusToolbox Software Environment | 2.20 |
| - ModusToolbox Device Configurator | 2.20 |
| - Device Firmware Update Host Tool | 1.3 |
| - CyMCUElfTool | 1.0 |
| GCC Compiler | 9.3.1 |
| IAR Compiler | 8.42.2 |
| ARM Compiler 6 | 6.13 |
| :--------------------------------------- | :----: |
| ModusToolbox Software Environment | 3.0 |
| - ModusToolbox Device Configurator | 2.20 |
| - Device Firmware Update Host Tool | 2.0 |
| - CyMCUElfTool | 1.0 |
| GCC Compiler | 10.3.1 |
| IAR Compiler | 9.30.1 |
| ARM Compiler 6 | 6.16 |
| mtb-hal-cat1 | 2.3.0 |

Usage of the CAT1 HAL flow requires mtb-hal-cat1 2.3.0 or higher.
Usage of the MCUBoot flow requires DFU Host Tool 2.0 or higher.

## More information

* [README.md](./README.md)

---
© Cypress Semiconductor Corporation (an Infineon company), 2021.
© Cypress Semiconductor Corporation (an Infineon company), 2023.
Loading

0 comments on commit 3b5570f

Please sign in to comment.