File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -96,3 +96,15 @@ ifeq ($(TARGET),kinetis)
9696 # # ECC_EXTRA_OBJS+=./lib/wolfssl/wolfcrypt/src/port/nxp/ksdk_port.o $(KINETIS_DRIVERS)/drivers/fsl_ltc.o
9797 # #endif
9898endif
99+
100+ ifeq ($(TARGET ) ,stm32wb)
101+ ifneq ($(PKA),0)
102+ ECC_EXTRA_OBJS+ = $(STM32CUBE ) /Drivers/STM32WBxx_HAL_Driver/Src/stm32wbxx_hal_pka.o ./lib/wolfssl/wolfcrypt/src/port/st/stm32.o
103+ ECC_EXTRA_CFLAGS+ =-DWOLFSSL_STM32_PKA -I$(STM32CUBE ) /Drivers/STM32WBxx_HAL_Driver/Inc \
104+ -Isrc -I$(STM32CUBE ) /Drivers/BSP/P-NUCLEO-WB55.Nucleo/ -I$(STM32CUBE ) /Drivers/CMSIS/Device/ST/STM32WBxx/Include \
105+ -I$(STM32CUBE ) /Drivers/STM32WBxx_HAL_Driver/Inc/ \
106+ -I$(STM32CUBE ) /Drivers/CMSIS/Include \
107+ -Ihal \
108+ -DSTM32WB55xx
109+ endif
110+ endif
Original file line number Diff line number Diff line change @@ -2,3 +2,4 @@ TARGET=stm32wb
22SIGN=ECC256
33WOLFBOOT_PARTITION_BOOT_ADDRESS=0xA000
44WOLFBOOT_PARTITION_SIZE=0x4000
5+ PKA=1
Original file line number Diff line number Diff line change 2020 */
2121
2222#include <stdint.h>
23- #include <image.h>
23+ #include "image.h"
24+ #ifdef WOLFSSL_STM32_PKA
25+ #include "stm32wbxx_hal.h"
26+ PKA_HandleTypeDef hpka = { };
27+ #endif
28+
2429/* STM32 WB register configuration */
2530
2631/* Assembly helpers */
@@ -286,6 +291,11 @@ static void clock_pll_on(void)
286291void hal_init (void )
287292{
288293 clock_pll_on ();
294+ #ifdef WOLFSSL_STM32_PKA
295+ __HAL_RCC_PKA_CLK_ENABLE ();
296+ hpka .Instance = PKA ;
297+ HAL_PKA_Init (& hpka );
298+ #endif
289299}
290300
291301void hal_prepare_boot (void )
@@ -297,3 +307,26 @@ void hal_prepare_boot(void)
297307 clock_pll_off ();
298308}
299309
310+ #ifdef WOLFSSL_STM32_PKA
311+
312+
313+ void HAL_PKA_MspInit (PKA_HandleTypeDef * hpka )
314+ {
315+ if (hpka -> Instance == PKA )
316+ {
317+ /* Peripheral clock enable */
318+ __HAL_RCC_PKA_CLK_ENABLE ();
319+ }
320+ }
321+
322+ /* This value is unused, the function is never called
323+ * as long as the timeout is 0xFFFFFFFF.
324+ * It is defined here only to avoid a compiler error
325+ * for a missing symbol in hal_pka_driver.
326+ */
327+ uint32_t HAL_GetTick (void )
328+ {
329+ return 0 ;
330+ }
331+
332+ #endif
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ ifeq ($(ARCH),)
88 KINETIS_DRIVERS? =$(KINETIS ) /devices/MK64F12
99 KINETIS_CMSIS? =$(KINETIS ) /CMSIS
1010 FREEDOM_E_SDK? =$(HOME ) /src/freedom-e-sdk
11+ STM32CUBE? =$(HOME ) /src/STM32CubeWB/STM32Cube_FW_WB_V1.2.0
1112 DEBUG? =0
1213 VTOR? =1
1314 CORTEX_M0? =0
3132
3233
3334CONFIG_VARS: = ARCH TARGET SIGN KINETIS KINETIS_CPU KINETIS_DRIVERS \
34- KINETIS_CMSIS FREEDOM_E_SDK DEBUG VTOR CORTEX_M0 NO_ASM EXT_FLASH \
35+ KINETIS_CMSIS FREEDOM_E_SDK STM32CUBE DEBUG VTOR CORTEX_M0 NO_ASM EXT_FLASH \
3536 SPI_FLASH ALLOW_DOWNGRADE NVM_FLASH_WRITEONCE WOLFBOOT_VERSION V \
3637 SPMATH RAM_CODE DUALBANK_SWAP IMAGE_HEADER_SIZE \
3738 WOLFBOOT_PARTITION_SIZE WOLFBOOT_SECTOR_SIZE \
You can’t perform that action at this time.
0 commit comments