cypress: update user documentation with disclaimer and additional instructions
This change adds Disclaimer section to Cypress related documentation and adds details about custom hardware configuration flow. Signed-off-by: Roman Okhrimenko <roman.okhrimenko@cypress.com>
This commit is contained in:
parent
ff026122e1
commit
6ea44be64f
|
@ -1,6 +1,6 @@
|
|||
### Blinking LED test application for MCUBoot Bootloader.
|
||||
### Blinking LED test application for MCUBoot Bootloader
|
||||
|
||||
**Description:**
|
||||
### Description
|
||||
|
||||
Implements simple Blinky LED CM4 application to demonstrate MCUBoot Application operation in terms of BOOT and UPGRADE process.
|
||||
|
||||
|
@ -12,11 +12,18 @@ Functionality:
|
|||
* Prints debug info and version of itself to terminal at 115200 baud.
|
||||
* Can be built for BOOT slot or UPGRADE slot of bootloader.
|
||||
|
||||
**Currently supported platforms:**
|
||||
Currently supported platforms
|
||||
|
||||
* PSOC_062_2M
|
||||
|
||||
**Pre-build action:**
|
||||
### Hardware limitations
|
||||
|
||||
Since this application is created to demonstrate MCUBoot library features and not as reference examples some considerations are taken.
|
||||
|
||||
1. Port/pin `P5_0` and `P5_1` used to configure serial port for debug prints. These pins are the most commonly used for serial port connection among available Cypress PSoC 6 kits. If you try to use custom hardware with this application - change definitions of `CY_DEBUG_UART_TX` and `CY_DEBUG_UART_RX` in `main.c` of BlinkyApp to port/pin pairs corresponding to your design.
|
||||
2. Port `GPIO_PRT13` pin `7U` used to define user connection LED. This pin is the most commonly used for USER_LED connection among available Cypress PSoC 6 kits. If you try to use custom hardware with this application - change definitions of `LED_PORT` and `LED_PIN` in `main.c` of BlinkyApp to port/pin pairs corresponding to your design.
|
||||
|
||||
### Pre-build action
|
||||
|
||||
Pre-build action is implemented for defining start address and size of flash, as well as RAM start address and size for BlinkyApp.
|
||||
These values are set by specifing following macros: `-DUSER_APP_SIZE`, `-DUSER_APP_START`, `-DRAM_SIZE`, `-DRAM_START` in makefile.
|
||||
|
@ -29,7 +36,7 @@ Default values set for currently supported targets:
|
|||
**Important**: make sure RAM areas of CM4-based BlinkyApp and CM0p-based MCUBootApp bootloader do not overlap.
|
||||
Memory (stack) corruption of CM0p application can cause failure if SystemCall-served operations invoked from CM4.
|
||||
|
||||
**Building an application:**
|
||||
### Building an application
|
||||
|
||||
Root directory for build is **boot/cypress.**
|
||||
|
||||
|
@ -90,13 +97,13 @@ In case of using muti-image configuration, upgrade image for second application
|
|||
|
||||
Note: for S25FL512S block address shuld be mutiple by 0x40000
|
||||
|
||||
**Post-Build:**
|
||||
### Post-Build
|
||||
|
||||
Post build action is executed at compile time for `BlinkyApp`. In case of build for `PSOC_062_2M` platform it calls `imgtool` from `MCUBoot` scripts and adds signature to compiled image.
|
||||
|
||||
Flags passed to `imgtool` for signature are defined in `SIGN_ARGS` variable in BlinkyApp.mk.
|
||||
|
||||
**How to program an application:**
|
||||
### How to program an application
|
||||
|
||||
Use any preferred tool for programming hex files.
|
||||
|
||||
|
@ -121,7 +128,7 @@ Files to use for programming are:
|
|||
|
||||
**NOTE**: In case of `UPGRADE` image `HEADER_OFFSET` should be set to MCUBoot Bootloader slot size.
|
||||
|
||||
**Example terminal output:**
|
||||
### Example terminal output
|
||||
|
||||
When user application programmed in BOOT slot:
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ MCUBootApp checks image integrity with SHA256, image authenticity with EC256 dig
|
|||
**Important**: make sure RAM areas of CM0p-based MCUBootApp bootloader and CM4-based BlinkyApp do not overlap.
|
||||
Memory (stack) corruption of CM0p application can cause failure if SystemCall-served operations invoked from CM4.
|
||||
|
||||
**Hardware cryptography acceleration:**
|
||||
### Hardware cryptography acceleration
|
||||
|
||||
Cypress PSOC6 MCU family supports hardware acceleration of cryptography based on mbedTLS Library via shim layer. Implementation of this layer is supplied as separate submodule `cy-mbedtls-acceleration`. HW acceleration of cryptography shortens boot time more then 4 times, comparing to software implementation (observation results).
|
||||
|
||||
|
@ -38,7 +38,7 @@ To enable hardware acceleration in `MCUBootApp` pass flag `USE_CRYPTO_HW=1` to `
|
|||
|
||||
Hardware acceleration of cryptography is enabled for PSOC6 devices by default.
|
||||
|
||||
**How to modify Flash map:**
|
||||
### How to modify memory map
|
||||
|
||||
__Option 1.__
|
||||
|
||||
|
@ -112,7 +112,16 @@ Size of slots `0x10000` - 64kb
|
|||
__Note:__ It is also possible to place secondary (upgrade) slots in external memory module so resulting image size can be doubled.
|
||||
For more details about External Memory usage, please refer to separate guiding document `ExternalMemory.md`.
|
||||
|
||||
**Downloading Solution's Assets**
|
||||
### Hardware limitations
|
||||
|
||||
Since this application is created to demonstrate MCUBoot library features and not as reference examples some considerations are taken.
|
||||
|
||||
1. `SCB5` used to configure serial port for debug prints. This is the most commonly used Serial Communication Block number among available Cypress PSoC 6 kits. If you try to use custom hardware with this application - change definition of `CYBSP_UART_HW` in `main.c` of MCUBootApp to SCB* that correspond to your design.
|
||||
|
||||
2. `CY_SMIF_SLAVE_SELECT_0` is used as definition SMIF driver API. This configuration is used on evaluation kit for this example CY8CPROTO-062-4343W. If you try to use custom hardware with this application - change value of `smif_id` in `main.c` of MCUBootApp to value that corresponds to your design.
|
||||
|
||||
|
||||
### Downloading Solution's Assets
|
||||
|
||||
There is a set assets required:
|
||||
|
||||
|
@ -125,7 +134,7 @@ To get submodules - run the following command:
|
|||
|
||||
git submodule update --init --recursive
|
||||
|
||||
**Building Solution**
|
||||
### Building Solution
|
||||
|
||||
This folder contains make files infrastructure for building MCUBoot Bootloader. Same approach used in sample BlinkyLedApp application. Example command are provided below for couple different build configurations.
|
||||
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
### Port of MCUBoot library to be used with Cypress targets
|
||||
### Port of MCUBoot library for evaluation with Cypress PSoC 6 chips
|
||||
|
||||
**Solution Description**
|
||||
### Disclaimer
|
||||
|
||||
Given solution demonstrates operation of MCUBoot on Cypress' PSoC6 device.
|
||||
Given solution is included in `mcuboot` repository with purpose to demonstrate basic consepts and features of MCUBoot library on Cypress PSoC 6 device. Applications are created per mcuboot library maintainers requirements. Implemetation differs from conventional and recomended by Cypress Semiconductors development flow for PSoC 6 devices. These applications are not recomended as a starting point for development and should not be considered as supported examples for PSoC 6 devices.
|
||||
|
||||
There are four applications implemented:
|
||||
Examples provided to use with **ModusToolbox® Software Environment** are a recommended reference point to start development of MCUBoot based bootloaders for PSoC 6 devices.
|
||||
|
||||
Refer to **Cypress Semiconductors** [github](https://github.com/cypresssemiconductorco) page to find examples.
|
||||
|
||||
1. MCUboot-Based Basic Bootloader [mtb-example-psoc6-mcuboot-basic](https://github.com/cypresssemiconductorco/mtb-example-psoc6-mcuboot-basic)
|
||||
2. MCUboot-Based Bootloader with Rollback to Factory App in External Flash [mtb-example-anycloud-mcuboot-rollback](https://github.com/cypresssemiconductorco/mtb-example-anycloud-mcuboot-rollback)
|
||||
|
||||
### Solution Description
|
||||
|
||||
There are two applications implemented:
|
||||
* MCUBootApp - PSoC6 MCUBoot-based bootloading application;
|
||||
* BlinkyApp - simple PSoC6 blinking LED application which is a target of BOOT/UPGRADE;
|
||||
|
||||
|
@ -22,7 +31,7 @@ For more details about External Memory usage, please refer to separate guiding d
|
|||
|
||||
MCUBootApp checks image integrity with SHA256, image authenticity with EC256 digital signature verification and uses completely SW implementation of cryptographic functions based on mbedTLS Library.
|
||||
|
||||
**Downloading Solution's Assets**
|
||||
### Downloading Solution's Assets
|
||||
|
||||
There is a set assets required:
|
||||
|
||||
|
@ -43,7 +52,7 @@ Submodules can also be updated and initialized separately:
|
|||
|
||||
|
||||
|
||||
**Building Solution**
|
||||
### Building Solution
|
||||
|
||||
Root directory for build is **boot/cypress.**
|
||||
|
||||
|
@ -51,11 +60,11 @@ This folder contains make files infrastructure for building both MCUBoot Bootloa
|
|||
|
||||
Instructions on how to build and upload MCUBootApp bootloader application and sample user applocation are located in `Readme.md` files in corresponding folders.
|
||||
|
||||
**Currently supported platforms:**
|
||||
Currently supported platforms:
|
||||
|
||||
* PSOC_062_2M - for MCUBoot, BlinkyApp;
|
||||
|
||||
**Build environment troubleshooting:**
|
||||
### Build environment troubleshooting
|
||||
|
||||
Following CLI / IDE are supported for project build:
|
||||
|
||||
|
|
Loading…
Reference in New Issue