mirror of https://github.com/wolfSSL/wolfBoot.git
Added support for STM32 PKA
parent
2cf2e7eae8
commit
c78f0d7026
12
arch.mk
12
arch.mk
|
@ -96,3 +96,15 @@ ifeq ($(TARGET),kinetis)
|
|||
## ECC_EXTRA_OBJS+=./lib/wolfssl/wolfcrypt/src/port/nxp/ksdk_port.o $(KINETIS_DRIVERS)/drivers/fsl_ltc.o
|
||||
##endif
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET),stm32wb)
|
||||
ifneq ($(PKA),0)
|
||||
ECC_EXTRA_OBJS+= $(STM32CUBE)/Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pka.o ./lib/wolfssl/wolfcrypt/src/port/st/stm32.o
|
||||
ECC_EXTRA_CFLAGS+=-DWOLFSSL_STM32_PKA -I$(STM32CUBE)/Drivers/STM32WBxx_HAL_Driver/Inc \
|
||||
-Isrc -I$(STM32CUBE)/Drivers/BSP/P-NUCLEO-WB55.Nucleo/ -I$(STM32CUBE)/Drivers/CMSIS/Device/ST/STM32WBxx/Include \
|
||||
-I$(STM32CUBE)/Drivers/STM32WBxx_HAL_Driver/Inc/ \
|
||||
-I$(STM32CUBE)/Drivers/CMSIS/Include \
|
||||
-Ihal \
|
||||
-DSTM32WB55xx
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -2,3 +2,4 @@ TARGET=stm32wb
|
|||
SIGN=ECC256
|
||||
WOLFBOOT_PARTITION_BOOT_ADDRESS=0xA000
|
||||
WOLFBOOT_PARTITION_SIZE=0x4000
|
||||
PKA=1
|
||||
|
|
|
@ -20,7 +20,12 @@
|
|||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <image.h>
|
||||
#include "image.h"
|
||||
#ifdef WOLFSSL_STM32_PKA
|
||||
#include "stm32wbxx_hal.h"
|
||||
PKA_HandleTypeDef hpka = { };
|
||||
#endif
|
||||
|
||||
/* STM32 WB register configuration */
|
||||
|
||||
/* Assembly helpers */
|
||||
|
@ -286,6 +291,11 @@ static void clock_pll_on(void)
|
|||
void hal_init(void)
|
||||
{
|
||||
clock_pll_on();
|
||||
#ifdef WOLFSSL_STM32_PKA
|
||||
__HAL_RCC_PKA_CLK_ENABLE();
|
||||
hpka.Instance = PKA;
|
||||
HAL_PKA_Init(&hpka);
|
||||
#endif
|
||||
}
|
||||
|
||||
void hal_prepare_boot(void)
|
||||
|
@ -297,3 +307,26 @@ void hal_prepare_boot(void)
|
|||
clock_pll_off();
|
||||
}
|
||||
|
||||
#ifdef WOLFSSL_STM32_PKA
|
||||
|
||||
|
||||
void HAL_PKA_MspInit(PKA_HandleTypeDef* hpka)
|
||||
{
|
||||
if(hpka->Instance==PKA)
|
||||
{
|
||||
/* Peripheral clock enable */
|
||||
__HAL_RCC_PKA_CLK_ENABLE();
|
||||
}
|
||||
}
|
||||
|
||||
/* This value is unused, the function is never called
|
||||
* as long as the timeout is 0xFFFFFFFF.
|
||||
* It is defined here only to avoid a compiler error
|
||||
* for a missing symbol in hal_pka_driver.
|
||||
*/
|
||||
uint32_t HAL_GetTick(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -8,6 +8,7 @@ ifeq ($(ARCH),)
|
|||
KINETIS_DRIVERS?=$(KINETIS)/devices/MK64F12
|
||||
KINETIS_CMSIS?=$(KINETIS)/CMSIS
|
||||
FREEDOM_E_SDK?=$(HOME)/src/freedom-e-sdk
|
||||
STM32CUBE?=$(HOME)/src/STM32CubeWB/STM32Cube_FW_WB_V1.2.0
|
||||
DEBUG?=0
|
||||
VTOR?=1
|
||||
CORTEX_M0?=0
|
||||
|
@ -31,7 +32,7 @@ endif
|
|||
|
||||
|
||||
CONFIG_VARS:= ARCH TARGET SIGN KINETIS KINETIS_CPU KINETIS_DRIVERS \
|
||||
KINETIS_CMSIS FREEDOM_E_SDK DEBUG VTOR CORTEX_M0 NO_ASM EXT_FLASH \
|
||||
KINETIS_CMSIS FREEDOM_E_SDK STM32CUBE DEBUG VTOR CORTEX_M0 NO_ASM EXT_FLASH \
|
||||
SPI_FLASH ALLOW_DOWNGRADE NVM_FLASH_WRITEONCE WOLFBOOT_VERSION V \
|
||||
SPMATH RAM_CODE DUALBANK_SWAP IMAGE_HEADER_SIZE \
|
||||
WOLFBOOT_PARTITION_SIZE WOLFBOOT_SECTOR_SIZE \
|
||||
|
|
Loading…
Reference in New Issue