diff --git a/IDE/Renesas/e2studio/RA6M4/Readme.md b/IDE/Renesas/e2studio/RA6M4/Readme.md index cb141744..7061fa18 100644 --- a/IDE/Renesas/e2studio/RA6M4/Readme.md +++ b/IDE/Renesas/e2studio/RA6M4/Readme.md @@ -2,7 +2,7 @@ ## 1. Overview -It demonstrates simple secure firmware update by wolfBoot. A sample application v1 is +This example demonstrates simple secure firmware update by wolfBoot. A sample application v1 is securely updated to v2. Both versions behave the same except displaying its version of v1 or v2. They are compiled by e2Studio and running on the target board. @@ -176,7 +176,7 @@ $ aarch64-none-elf-objcopy.exe -I binary -O srec --change-addresses=0x00010000 a Now, you can download and start wolfBoot program by e2Studio debugger. After starting the program, you can see the partition information as follows. -If the boot program succeeds integlity and authenticity check, it initiate the +If the boot program succeeds integrity and authenticity check, it initiate the application V1. ``` @@ -246,7 +246,7 @@ $ aarch64-none-elf-objcopy.exe -I binary -O srec --change-addresses=0x00080000 a ### 8) Re-boot and secure update to V2 -The boot program checks integlity and authenticity of V2, swap the partition +The boot program checks integrity and authenticity of V2, swap the partition safely and initiates V2. You will see following message after the partition information. diff --git a/IDE/Renesas/e2studio/RX72N/Readme.md b/IDE/Renesas/e2studio/RX72N/Readme.md index 80a4e19e..e9379787 100644 --- a/IDE/Renesas/e2studio/RX72N/Readme.md +++ b/IDE/Renesas/e2studio/RX72N/Readme.md @@ -2,7 +2,7 @@ ## 1. Overview -It demonstrates simple secure firmware update by wolfBoot. A sample application v1 is +This example demonstrates simple secure firmware update by wolfBoot. A sample application v1 is securely updated to v2. Both versions behave the same except displaying its version of v1 or v2. They are compiled by e2Studio and running on the target board. @@ -188,7 +188,7 @@ $ rx-elf-objcopy.exe -I binary -O srec --change-addresses=0xffc10000 app_Renesas Now, you can download and start wolfBoot program by e2Studio debugger. After starting the program, you can see the partition information as follows. -If the boot program succeeds integlity and authenticity check, it initiate the +If the boot program succeeds integrity and authenticity check, it initiate the application V1. @@ -218,7 +218,7 @@ After hitting any key, the application calls wolfBoot_success() to set boot part state and wait for any key again. if you re-start the boot program at this moment, -after checking the integlity and authenticity, it jumps to the application. +after checking the integrity and authenticity, it jumps to the application. You can see the state is Success("00"). ``` @@ -252,7 +252,7 @@ rx-elf-objcopy.exe -I binary -O srec --change-addresses=0xffdf0000 app_RenesasRx ### 3-9 Re-boot and secure update to V2 Now the image is downloaded but note that the partition status is not changed yet. -When it is re-boot, it checks integlity and authenticity of V1 and initiate V1 as in +When it is re-boot, it checks integrity and authenticity of V1 and initiate V1 as in step 6. ``` @@ -271,10 +271,10 @@ updating the firmware. Since this is just a trigger, the application can continue the process. In the demo application it outputs a message "Firmware Update is triggered" and enters -a infinit loop of nop. +a infinite loop of nop. -Now you can re-boot it by start wolfBoot by e2Studion debugger. The boot -program checks integlity and authenticity of V2 now, swap the partition +Now you can reboot it by start wolfBoot by e2studio debugger. The boot +program checks integrity and authenticity of V2 now, swap the partition safely and initiates V2. You will see following message after the partition information. diff --git a/docs/Targets.md b/docs/Targets.md index 89cedffe..4eb49b4e 100644 --- a/docs/Targets.md +++ b/docs/Targets.md @@ -25,6 +25,8 @@ This README describes configuration of supported targets. * [STM32WB55](#stm32wb55) * [TI Hercules TMS570LC435](#ti-hercules-tms570lc435) * [Xilinx Zynq UltraScale](#xilinx-zynq-ultrascale) +* [Renesas RX72N](#renesas-rx72n) +* [Renesas RA6M4](#renesas-ra6m4) ## STM32F4 @@ -1528,3 +1530,60 @@ make test-sim-internal-flash-with-update # it should print 2 ./wolfboot.elf success get_version ``` +## renesas-rx72n + +This example for `Renesas RX72N` demonstrates simple secure firmware update by wolfBoot. A sample application v1 is +securely updated to v2. Both versions behave the same except displaying its version of v1 or v2. +They are compiled by e2Studio and running on the target board. + +In this demo, you may download two versions of application binary file by Renesas Flash Programmer. +You can download and excute wolfBoot by e2Studio debugger. Use a USB connection between PC and the +board for the debugger and flash programmer. + +Flash Allocation: +``` ++---------------------------+------------------------+-----+ +| B |H| |H| | | +| o |e| Primary |e| Update |Swap | +| o |a| Partition |a| Partition |Sect | +| t |d| |d| | | ++---------------------------+------------------------+-----+ +0xffc00000: wolfBoot +0xffc10000: Primary partition (Header) +0xffc10100: Primary partition (Application image) /* When it uses IMAGE_HEADER_SIZE 256, e.g. ED25519, EC256, EC384 or EC512 */ +0xffc10200: Primary partition (Application image) /* When it uses IMAGE_HEADER_SIZE 512, e.g. RSA2048, RSA3072 */ +0xffdf0000: Update partition (Header) +0xffdf0100: Update partition (Application image) +0xfffd0000: Swap sector + +``` + +Detail steps can be found at [Readme](../IDE/Renesas/e2studio/RX72N/Readme.md). + +## renesas-ra6m4 + +This example for `Renesas RA6M4` demonstrates a simple secure firmware update by wolfBoot. A sample application v1 is +securely updated to v2. Both versions behave the same except displaying its version of v1 or v2. +They are compiled by e2Studio and running on the target board. + +In this demo, you may download two versions of application binary file by Renesas Flash Programmer. +You can download and excute wolfBoot by e2Studio debugger. Use a USB connection between PC and the +board for the debugger and flash programmer. + +Flash Allocation: +``` ++---------------------------+------------------------+-----+ +| B |H| |H| | | +| o |e| Primary |e| Update |Swap | +| o |a| Partition |a| Partition |Sect | +| t |d| |d| | | ++---------------------------+------------------------+-----+ +0x00000000: wolfBoot +0x00010000: Primary partition (Header) +0x00010200: Primary partition (Application image) +0x00080000: Update partition (Header) +0x00080200: Update partition (Application image) +0x000F0000: Swap sector +``` + +Detail steps can be found at [Readme](../IDE/Renesas/e2studio/RA6M4/Readme.md).