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
@@ -3402,3 +3403,145 @@ wolfBoot supports the AURIX TC3xx family of devices, and provides a demo applica
3402
3403
For detailed instructions on using wolfBoot with the AURIX TC3xx, please refer to [IDE/AURIX/README.md](../IDE/AURIX/README.md).
3403
3404
3404
3405
wolfBoot can also integrate with [wolfHSM](https://www.wolfssl.com/products/wolfhsm/) on AURIX TC3xx devices, offloading cryptographic operations and key storage to the AURIX HSM core. For more information on using wolfBoot with wolfHSM on AURIX devices, please contact us at [email protected].
3406
+
3407
+
## Microchip PIC32CZ
3408
+
3409
+
The PIC32CZ is a high-performance 32-bit microcontroller family from Microchip featuring an ARM Cortex-M7 core. wolfBoot has been tested on the PIC32CZCA91 Curiosity board, which has GPIO pins PB21 and PB22 connected to LED0 and LED1, respectively, for status indication.
3410
+
3411
+
### Configuration
3412
+
3413
+
The PIC32CZ supports a dual-bank update mechanism that can be activated using the `DUALBANK_SWAP=1` option in the configuration file. When activated, the boot partition must be configured to reside in the lower Program Flash Memory (PFM) area, while the update partition should be in the upper PFM area. An example configuration for the PIC32CZ with 4MB RAM is provided in `config/examples/pic32cz.config`.
3414
+
3415
+
### Building
3416
+
3417
+
To build wolfBoot for the PIC32CZ:
3418
+
3419
+
1. Configure the build using the example configuration file:
Then enable advanced setting in the MPLAB IPE Gui, and enable the "Allow Import Multiple Hex file" option in the Production view.
3470
+
After that load the hex files into the MPLAB IPE Gui (File -> Import -> Multiple hex) and program the device.
3471
+
3472
+
### Behavior During Testing
3473
+
3474
+
The test behavior depends on whether the `DUALBANK_SWAP` feature is enabled:
3475
+
3476
+
-**If `DUALBANK_SWAP=1`:** The higher version of the application will be automatically selected, and LED1 will turn on.
3477
+
-**If `DUALBANK_SWAP=0`:** The application version 1 will boot first. The application will trigger the update and light LED0. On the next reset, wolfBoot will update the application, boot application version 2, and turn on LED1.
3478
+
3479
+
## Microchip PIC32CK
3480
+
3481
+
The PIC32CK is a high-performance 32-bit microcontroller family from Microchip featuring an ARM Cortex-M33 core. wolfBoot has been tested on the PIC32CKSG Curiosity board, which has GPIO pins PD20 and PB25 connected to LED0 and LED1, respectively, for status indication.
3482
+
3483
+
### Configuration
3484
+
3485
+
The PIC32CK SG family models support TrustZone. The flash and memory areas marked as secure or non secure depend on configuration settings. If setting `TZEN=0`, wolfBoot ignores TrustZone configuration, with the net effect to stage the application in the secure domain. In this case the flash area used to store BOOT and UPDATE partition should be marked as secure. The config file provided in `config/examples/pic32ck.config` sets `TZEN=0` and uses flash partition addresses that are marked as secure under default settings.
3486
+
The PIC32CK supports a dual-bank update mechanism but, based on configuration settings, the swap may cause an area marked as secure to be mapped in non-secure flash space. For this reason `DUALBANK_SWAP` feature should be only used after precise configuration.
3487
+
3488
+
### Building
3489
+
3490
+
To build wolfBoot for the PIC32CK:
3491
+
3492
+
1. Configure the build using the example configuration file:
Then enable advanced setting in the MPLAB IPE Gui, and enable the "Allow Import Multiple Hex file" option in the Production view.
3543
+
After that load the hex files into the MPLAB IPE Gui (File -> Import -> Multiple hex) and program the device.
3544
+
3545
+
### Behavior During Testing
3546
+
3547
+
- The application version 1 will boot first. The application will trigger the update and light LED0. On the next reset, wolfBoot will update the application, boot application version 2, and turn on LED1.
0 commit comments