Commit Graph

54 Commits (iar)

Author SHA1 Message Date
David Garske 3f1a18f8a9 Fixed unused warning fixes and missing errno.h in keygen.c. Update tools/keytools Makefile to build keygen. Cleanup to support using C version of "sign" and "keygen" after "make keytools". 2020-04-07 18:27:05 +02:00
Daniele Lacamera 988258099e Fixed regression in ed25519 mode 2020-03-19 13:28:31 +01:00
David Garske c0b534edd7 wolfBoot Aarch64 support (Xilinx Zynq and Raspberry Pi):
* Added Aarch64 boot/startup support
* Added configuration templates for Raspberry Pi 3 and Xilinx ZynqMP UltraScale+
* Added Xilinx Zynq QSPI bare-metal Driver
* Added `NO_XIP` option for full `ext_flash_*` API on all partitions
* Added Xilinx SDK Project Template
* Added support for DTS image partitions
* Added wolfBoot signing tool in Native C (`tools/keytools/sign.c`).
* Added libwolfboot functions `int wolfBoot_fallback_is_possible(void);` and `int wolfBoot_dualboot_candidate(void);`
* Performance improvement to only hash application firmware image once
2020-03-04 12:04:46 -08:00
Daniele Lacamera c32c5da6a1 Renamed KINETIS to MCUXPRESSO, added initial support for LPC family 2020-03-04 08:01:05 +01:00
Daniele Lacamera d33c5acac8 Added support for SHA3 2020-01-07 20:35:31 +01:00
Daniele Lacamera c847529698 Added RSA-4096 bit support 2020-01-07 11:32:09 +01:00
David Garske 79277d60ce Progress on expanding STM32WB testing support. Including external SPI/TPM and RSA. Fixes to prevent STM32WB macro collisions with PKA. Makefile improvements for combinations of PKA, SIGN and WOLFTPM. 2019-12-20 19:08:31 +01:00
Daniele Lacamera 25455744b6 Make Stm32 SPI driver more generic to reuse on other STM32 platforms 2019-12-20 19:08:31 +01:00
David Garske 041ca75793 Added support for TPM2.0 module via wolfTPM. Tested with STM32F4. Build using `make SIGN=ECC256 WOLFTPM=1`. 2019-12-17 10:59:11 -08:00
David Garske ac9e2b8647 Updated SP build options and stack usage warning. 2019-12-17 09:44:02 -08:00
David Garske fae6a974c8 Adds RSA support to wolfBoot using "SIGN=RSA2048". Includes RSA signing script tool in Python and instructions. 2019-12-17 09:44:02 -08:00
Daniele Lacamera f359134de8 Added -ffunction-sections -fdata-sections to CFLAGS to group unused
symbols
2019-11-19 18:10:41 +01:00
Daniele Lacamera 1c6ea8d732 Minor fix to Makefile to ensure config changes are effective 2019-10-16 16:25:16 +02:00
Daniele Lacamera ca9ffbab7c Configuration (via .config), single entry point for options 2019-10-10 20:39:25 +02:00
Daniele Lacamera 93b0aceaea Removed dead code (old crypto front-end) 2019-07-30 17:49:47 +02:00
Daniele Lacamera 34def41dd1 Added support for STM32F7 + DUALBANK_SWAP hw-assisted support 2019-07-17 11:37:43 -07:00
Daniele Lacamera e016722e66 Added support for STM32L0X3
(firmware update successfully tested on STM32L073)
2019-07-15 08:55:15 -07:00
David Garske 92ed57832f Fixes for long jump. Targets.md fix for RAM_CODE typo. 2019-06-12 17:25:38 +02:00
David Garske 0f00f8e700 SiFive HiFive (FE310) RISC-V support
* HiFive1 HAL Support for PLL Clock, UART, RTC and Flash QSPI Erase/Write.
* HiFive1 update demo application for accepting firmware updates over UART.
* Added test-update-server application for pushing firmware image over UART.
* Fixes for building with `make SIGN=ECC256`.
* Improvements to wolfCrypt `user_settings.h`.
* General library cleanup (license headers and formatting)
* Updated the wolfSSL submodule to latest.
* Documentation updates including new `Targets.md` section for hardare instructions.
2019-06-07 13:08:15 -07:00
Daniele Lacamera 0c14005e14 Fixed retrieving partition offset during build
fix for #12
2019-05-29 15:43:22 +02:00
Daniele Lacamera fc547e4a25 wolfBoot can update itself when compiled with RAM_CODE=1
- Added wolfBoot version
- Added extra 16bit header tag to identify the image type and authentication
- Implemented optional in-ram self-update of the bootloader, with version control
and authentication mechanism (not fail-safe)
2019-04-29 20:32:04 +02:00
Daniele Lacamera 937e9d46fb Introducing RAMCODE tag to transfer functions to RAM
- Moved functions in the flash write path to RAM, so their execution
does not depend on flash access

- RAMCODE can be enabled via "make RAM_CODE=1"
2019-04-29 20:32:04 +02:00
Daniele Lacamera 905e6a049a Should fix 'make clean' on MacOS 2019-04-24 20:14:52 +02:00
Daniele Lacamera 94af1b74cb Fixed MacOS compatibility + python3 requirement 2019-04-24 20:14:06 +02:00
Daniele Lacamera 75fc9cc59a C Host key tools rewritten in python (fix for #4) 2019-04-17 07:15:59 +02:00
Daniele Lacamera 97a88ff76c Added sifive-hifive test application with external bsp 2019-04-04 16:33:24 +02:00
Daniele Lacamera b918014203 Multi-platform test application, added K82 to Kinetis port 2019-04-04 16:31:45 +02:00
Daniele Lacamera b5fd49a82a Initial experimental support for RISC-V
- New Makefile to support multiple architectures
- Separate architecture-specific start-up files
- Stub for a hifive1 HAL port
2019-04-01 14:01:14 +02:00
Daniele Lacamera 2cb57e9326 wolfSSL submodule: to commit b528997d30 2019-03-22 08:38:21 +01:00
Daniele Lacamera 6324e8fe37 [CI] SPI tests fixed 2019-03-18 12:21:44 +01:00
Daniele Lacamera 630a10eafa Automated tests for EXT_FLASH/SPI_FLASH 2019-03-15 11:16:34 +01:00
Daniele Lacamera ccf794cf4c Added test makefile targets for test automation 2019-03-13 14:56:33 +01:00
Daniele Lacamera d3d938d087 Kinetis SDK path: fixed command line variable 2019-03-10 14:09:38 +01:00
Daniele Lacamera 8eb8374795 Added NVM_FLASH_WRITEONCE compile option. Optimized write in kinetis HAL. 2019-03-10 12:40:21 +01:00
Daniele Lacamera 472cdd07b3 Kinetis hal: removed clock settings from libwolfboot 2019-03-10 09:49:14 +01:00
Daniele Lacamera 8a8875fc05 Added support for Kinetis SDK 2019-03-05 20:35:04 +01:00
Daniele Lacamera 6b5b1ed854 Added support for Texas Instrument cc26x2 2019-02-25 09:20:33 +01:00
Daniele Lacamera 27a306b7f5 Prevent downgrade attacks by default, unless compiled with
ALLOW_DOWNGRADE=1
2019-02-15 15:16:07 +01:00
Daniele Lacamera 503b008cf5 New feature: allow swapping from external memory (e.g. SPI flash) 2019-02-15 13:41:06 +01:00
Daniele Lacamera 07db864ab1 EXT flash support: image header mapping 2019-02-13 13:08:32 +01:00
Daniele Lacamera 3a455383a1 STM32F4 Test application: modified to turn a led on early at boot to measure
boot time.
2019-01-22 11:58:42 +01:00
Daniele Lacamera e14efd641a ECC verification: added support for ASM optimization, enabled by default
(turn off with NO_ASM=1)
2019-01-21 09:51:12 +01:00
Daniele Lacamera a5b15bc40f Fixed static buffer allocation for ECC signature verification 2019-01-21 06:36:03 +01:00
Daniele Lacamera 41c60f4bd2 Ecc256 signature verification with sp-math support, work in progress 2019-01-21 05:28:59 +01:00
Daniele Lacamera 9410a6fe7b Fixed Makefile to add Cortex-M0 support 2019-01-08 09:08:23 +01:00
Daniele Lacamera 24f8c091ac Fixed nrf52 hal for unaligned byte write operations 2018-11-22 18:52:13 +01:00
Daniele Lacamera 61bbfef35c Separated library functions for in-app use 2018-11-22 16:22:30 +01:00
Daniele Lacamera 9403c711ad Update mechanism implemented, ed25519 signing tool changed 2018-11-22 15:47:41 +01:00
Daniele Lacamera 6b3dfe2e69 Removed dependency on bootutil. Starting from a new clean-room update design 2018-11-21 07:00:35 +01:00
Daniele Lacamera 62fcc55285 Simplified code structure, got rid of some configuration defines 2018-10-23 12:14:50 +02:00