Skip to content

Commit 9ede286

Browse files
committed
Update wolfHAL driver name. Add option to not compile in wolfhal gpio
1 parent 55979c2 commit 9ede286

7 files changed

Lines changed: 63 additions & 37 deletions

File tree

config/examples/stm32wb-wolfhal.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ WOLFHAL_TARGET=stm32wb
1212
WOLFHAL_BOARD=stm32wb55_nucleo
1313
WOLFHAL_FLASH_START=0x08000000
1414
WOLFHAL_FLASH_SIZE=0x100000
15+
WOLFHAL_NO_GPIO=1

hal/wolfHAL/stm32wb55_nucleo.c

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@
1111
whal_Clock wbClockController;
1212
whal_Flash wbFlash;
1313

14+
1415
/* Core clock controller (MSI -> PLL -> SYSCLK at 64 MHz). */
1516
whal_Clock wbClockController = {
1617
WHAL_STM32WB55_RCC_PLL_DEVICE,
1718

18-
.cfg = &(whal_StRcc_Cfg) {
19+
.cfg = &(whal_Stm32wbRcc_Cfg) {
1920
.flash = &wbFlash,
20-
.flashLatency = WHAL_ST_FLASH_LATENCY_3,
21+
.flashLatency = WHAL_STM32WB_FLASH_LATENCY_3,
2122

22-
.sysClkSrc = WHAL_ST_RCC_SYSCLK_SRC_PLL,
23-
.sysClkCfg = &(whal_StRcc_PllClkCfg)
23+
.sysClkSrc = WHAL_STM32WB_RCC_SYSCLK_SRC_PLL,
24+
.sysClkCfg = &(whal_Stm32wbRcc_PllClkCfg)
2425
{
25-
.clkSrc = WHAL_ST_RCC_PLLCLK_SRC_MSI,
26+
.clkSrc = WHAL_STM32WB_RCC_PLLCLK_SRC_MSI,
2627
/* 64 MHz */
2728
.n = 32,
2829
.m = 0,
@@ -37,43 +38,44 @@ whal_Clock wbClockController = {
3738
whal_Flash wbFlash = {
3839
WHAL_STM32WB55_FLASH_DEVICE,
3940

40-
.cfg = &(whal_StFlash_Cfg) {
41+
.cfg = &(whal_Stm32wbFlash_Cfg) {
4142
.clkCtrl = &wbClockController,
42-
.clk = &(whal_StRcc_Clk){WHAL_STM32WB55_FLASH_CLOCK},
43+
.clk = &(whal_Stm32wbRcc_Clk){WHAL_STM32WB55_FLASH_CLOCK},
4344

4445
.startAddr = 0x08000000,
4546
.size = 0x100000,
4647
},
4748
};
4849

50+
#ifndef WOLFHAL_NO_GPIO
4951
/* GPIO pin configuration: LED on PB5 and optional UART1 pins. */
50-
whal_StGpio_PinCfg pinCfg[] = {
52+
whal_Stm32wbGpio_PinCfg pinCfg[] = {
5153
{ /* LED */
52-
.port = WHAL_STGPIO_PORT_B,
54+
.port = WHAL_STM32WB_GPIO_PORT_B,
5355
.pin = 5,
54-
.mode = WHAL_STGPIO_MODE_OUT,
55-
.outType = WHAL_STGPIO_OUTTYPE_PUSHPULL,
56-
.speed = WHAL_STGPIO_SPEED_LOW,
57-
.pull = WHAL_STGPIO_PULL_UP,
56+
.mode = WHAL_STM32WB_GPIO_MODE_OUT,
57+
.outType = WHAL_STM32WB_GPIO_OUTTYPE_PUSHPULL,
58+
.speed = WHAL_STM32WB_GPIO_SPEED_LOW,
59+
.pull = WHAL_STM32WB_GPIO_PULL_UP,
5860
.altFn = 0,
5961
},
6062
#if defined(DEBUG_UART) || defined(UART_FLASH)
6163
{ /* UART1 TX */
62-
.port = WHAL_STGPIO_PORT_B,
64+
.port = WHAL_STM32WB_GPIO_PORT_B,
6365
.pin = 6,
64-
.mode = WHAL_STGPIO_MODE_ALTFN,
65-
.outType = WHAL_STGPIO_OUTTYPE_PUSHPULL,
66-
.speed = WHAL_STGPIO_SPEED_FAST,
67-
.pull = WHAL_STGPIO_PULL_UP,
66+
.mode = WHAL_STM32WB_GPIO_MODE_ALTFN,
67+
.outType = WHAL_STM32WB_GPIO_OUTTYPE_PUSHPULL,
68+
.speed = WHAL_STM32WB_GPIO_SPEED_FAST,
69+
.pull = WHAL_STM32WB_GPIO_PULL_UP,
6870
.altFn = 7,
6971
},
7072
{ /* UART1 RX */
71-
.port = WHAL_STGPIO_PORT_B,
73+
.port = WHAL_STM32WB_GPIO_PORT_B,
7274
.pin = 7,
73-
.mode = WHAL_STGPIO_MODE_ALTFN,
74-
.outType = WHAL_STGPIO_OUTTYPE_PUSHPULL,
75-
.speed = WHAL_STGPIO_SPEED_FAST,
76-
.pull = WHAL_STGPIO_PULL_UP,
75+
.mode = WHAL_STM32WB_GPIO_MODE_ALTFN,
76+
.outType = WHAL_STM32WB_GPIO_OUTTYPE_PUSHPULL,
77+
.speed = WHAL_STM32WB_GPIO_SPEED_FAST,
78+
.pull = WHAL_STM32WB_GPIO_PULL_UP,
7779
.altFn = 7,
7880
},
7981
#endif /* DEBUG_UART || UART_FLASH */
@@ -83,23 +85,24 @@ whal_StGpio_PinCfg pinCfg[] = {
8385
whal_Gpio wbGpio = {
8486
WHAL_STM32WB55_GPIO_DEVICE,
8587

86-
.cfg = &(whal_StGpio_Cfg) {
88+
.cfg = &(whal_Stm32wbGpio_Cfg) {
8789
.clkCtrl = &wbClockController,
88-
.clk = &(whal_StRcc_Clk) {WHAL_STM32WB55_GPIOB_CLOCK},
90+
.clk = &(whal_Stm32wbRcc_Clk) {WHAL_STM32WB55_GPIOB_CLOCK},
8991

9092
.pinCfg = pinCfg,
91-
.pinCount = sizeof(pinCfg) / sizeof(whal_StGpio_PinCfg),
93+
.pinCount = sizeof(pinCfg) / sizeof(whal_Stm32wbGpio_PinCfg),
9294
},
9395
};
96+
#endif
9497

9598
#if defined(DEBUG_UART) || defined(UART_FLASH)
9699
/* UART1 configuration for debug/flash operations. */
97100
whal_Uart wbUart = {
98101
WHAL_STM32WB55_UART1_DEVICE,
99102

100-
.cfg = &(whal_StUart_Cfg){
103+
.cfg = &(whal_Stm32wbUart_Cfg){
101104
.clkCtrl = &wbClockController,
102-
.clk = &(whal_StRcc_Clk) {WHAL_STM32WB55_UART1_CLOCK},
105+
.clk = &(whal_Stm32wbRcc_Clk) {WHAL_STM32WB55_UART1_CLOCK},
103106

104107
.baud = 115200,
105108
},

hal/wolfHAL/stm32wb55_nucleo.mk

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,24 @@ CFLAGS += -DWHAL_CFG_NO_CALLBACKS=1
22

33
OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/reg.o
44

5-
OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/clock/st_rcc.o \
6-
$(WOLFBOOT_LIB_WOLFHAL)/src/gpio/st_gpio.o \
7-
$(WOLFBOOT_LIB_WOLFHAL)/src/flash/st_flash.o
5+
OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/clock/stm32wb_rcc.o \
6+
$(WOLFBOOT_LIB_WOLFHAL)/src/flash/stm32wb_flash.o
87

98
ifeq ($(DEBUG_UART),1)
10-
OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/uart/st_uart.o
119
endif
1210

1311
APP_OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/reg.o
1412

15-
APP_OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/clock/st_rcc.o \
16-
$(WOLFBOOT_LIB_WOLFHAL)/src/gpio/st_gpio.o \
17-
$(WOLFBOOT_LIB_WOLFHAL)/src/flash/st_flash.o
13+
APP_OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/clock/stm32wb_rcc.o \
14+
$(WOLFBOOT_LIB_WOLFHAL)/src/flash/stm32wb_flash.o
15+
16+
17+
ifeq ($(WOLFHAL_NO_GPIO),)
18+
OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/gpio/stm32wb_gpio.o
19+
APP_OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/gpio/stm32wb_gpio.o
20+
endif
1821

1922
ifeq ($(DEBUG_UART),1)
20-
APP_OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/uart/st_uart.o
23+
OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/uart/stm32wb_uart.o
24+
APP_OBJS += $(WOLFBOOT_LIB_WOLFHAL)/src/uart/stm32wb_uart.o
2125
endif

hal/wolfhal.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
#include "image.h"
2525

2626
extern whal_Clock wbClockController;
27+
#ifndef WOLFHAL_NO_GPIO
2728
extern whal_Gpio wbGpio;
29+
#endif
2830
extern whal_Flash wbFlash;
2931
#if defined(DEBUG_UART) || defined(UART_FLASH)
3032
extern whal_Uart wbUart;
@@ -39,10 +41,12 @@ void hal_init(void)
3941
return;
4042
}
4143

44+
#ifndef WOLFHAL_NO_GPIO
4245
err = whal_Gpio_Init(&wbGpio);
4346
if (err) {
4447
return;
4548
}
49+
#endif
4650

4751
err = whal_Flash_Init(&wbFlash);
4852
if (err) {
@@ -66,7 +70,9 @@ void hal_prepare_boot(void)
6670

6771
whal_Flash_Deinit(&wbFlash);
6872

73+
#ifndef WOLFHAL_NO_GPIO
6974
whal_Gpio_Deinit(&wbGpio);
75+
#endif
7076

7177
whal_Clock_Deinit(&wbClockController);
7278
}

options.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,3 +1153,7 @@ endif
11531153
ifneq ($(WOLFHAL_FLASH_SIZE),)
11541154
CFLAGS+=-DWOLFHAL_FLASH_SIZE=$(WOLFHAL_FLASH_SIZE)
11551155
endif
1156+
1157+
ifneq ($(WOLFHAL_NO_GPIO),)
1158+
CFLAGS+=-DWOLFHAL_NO_GPIO=$(WOLFHAL_NO_GPIO)
1159+
endif

test-app/app_wolfhal.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@
3535
#define BOOT_LED_PIN 0
3636

3737
extern whal_Clock wbClock;
38+
#ifndef WOLFHAL_NO_GPIO
3839
extern whal_Gpio wbGpio;
40+
#endif
3941
extern whal_Flash wbFlash;
4042
#if defined(DEBUG_UART) || defined(UART_FLASH)
4143
extern whal_Uart wbUart;
@@ -58,7 +60,9 @@ void main(void) {
5860

5961
hal_init();
6062

63+
#ifndef WOLFHAL_NO_GPIO
6164
whal_Gpio_Set(&wbGpio, BOOT_LED_PIN, 1);
65+
#endif
6266

6367
version = wolfBoot_current_firmware_version();
6468
updv = wolfBoot_update_firmware_version();
@@ -70,12 +74,16 @@ void main(void) {
7074

7175
if ((version == 1) && (updv != 8)) {
7276
uint32_t sz;
77+
#ifndef WOLFHAL_NO_GPIO
7378
whal_Gpio_Set(&wbGpio, BOOT_LED_PIN, 0);
79+
#endif
7480
#if EXT_ENCRYPTED
7581
wolfBoot_set_encrypt_key((uint8_t *)enc_key,(uint8_t *)(enc_key + 32));
7682
#endif
7783
wolfBoot_update_trigger();
84+
#ifndef WOLFHAL_NO_GPIO
7885
whal_Gpio_Set(&wbGpio, BOOT_LED_PIN, 1);
86+
#endif
7987
} else {
8088
if (version != 7)
8189
wolfBoot_success();

0 commit comments

Comments
 (0)