diff --git a/bsp/hc32/ev_hc32f460_lqfp100_v2/board/board.c b/bsp/hc32/ev_hc32f460_lqfp100_v2/board/board.c index c51b27eaeb..d064052943 100644 --- a/bsp/hc32/ev_hc32f460_lqfp100_v2/board/board.c +++ b/bsp/hc32/ev_hc32f460_lqfp100_v2/board/board.c @@ -11,6 +11,18 @@ #include "board.h" +#ifdef RT_USING_PIN +#include +#endif + +#ifdef RT_USING_SERIAL +#ifdef RT_USING_SERIAL_V2 +#include +#else +#include +#endif /* RT_USING_SERIAL */ +#endif /* RT_USING_SERIAL_V2 */ + /* unlock/lock peripheral */ #define EXAMPLE_PERIPH_WE (LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | \ LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM) @@ -145,14 +157,24 @@ void rt_hw_board_init() rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); #endif - /* Board underlying hardware initialization */ -#ifdef RT_USING_COMPONENTS_INIT - rt_components_board_init(); + /* Pin driver initialization is open by default */ +#ifdef RT_USING_PIN + rt_hw_pin_init(); +#endif + + /* USART driver initialization is open by default */ +#ifdef RT_USING_SERIAL + rt_hw_usart_init(); #endif #if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) rt_console_set_device(RT_CONSOLE_DEVICE_NAME); #endif + + /* Board underlying hardware initialization */ +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif } void rt_hw_us_delay(rt_uint32_t us) diff --git a/bsp/hc32/ev_hc32f4a0_lqfp176/board/board.c b/bsp/hc32/ev_hc32f4a0_lqfp176/board/board.c index f6bb7402e5..857cb17fb1 100644 --- a/bsp/hc32/ev_hc32f4a0_lqfp176/board/board.c +++ b/bsp/hc32/ev_hc32f4a0_lqfp176/board/board.c @@ -11,6 +11,18 @@ #include "board.h" +#ifdef RT_USING_PIN +#include +#endif + +#ifdef RT_USING_SERIAL +#ifdef RT_USING_SERIAL_V2 +#include +#else +#include +#endif /* RT_USING_SERIAL */ +#endif /* RT_USING_SERIAL_V2 */ + /* unlock/lock peripheral */ #define EXAMPLE_PERIPH_WE (LL_PERIPH_GPIO | LL_PERIPH_EFM | LL_PERIPH_FCG | \ LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_SRAM) @@ -152,14 +164,24 @@ void rt_hw_board_init() rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); #endif - /* Board underlying hardware initialization */ -#ifdef RT_USING_COMPONENTS_INIT - rt_components_board_init(); + /* Pin driver initialization is open by default */ +#ifdef RT_USING_PIN + rt_hw_pin_init(); +#endif + + /* USART driver initialization is open by default */ +#ifdef RT_USING_SERIAL + rt_hw_usart_init(); #endif #if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) rt_console_set_device(RT_CONSOLE_DEVICE_NAME); #endif + + /* Board underlying hardware initialization */ +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif } void rt_hw_us_delay(rt_uint32_t us) diff --git a/bsp/hc32/libraries/hc32_drivers/drv_gpio.c b/bsp/hc32/libraries/hc32_drivers/drv_gpio.c index 4245c0f33c..e81942c439 100644 --- a/bsp/hc32/libraries/hc32_drivers/drv_gpio.c +++ b/bsp/hc32/libraries/hc32_drivers/drv_gpio.c @@ -503,6 +503,5 @@ int rt_hw_pin_init(void) return rt_device_pin_register("pin", &hc32_pin_ops, RT_NULL); } -INIT_BOARD_EXPORT(rt_hw_pin_init); #endif /* RT_USING_PIN */ diff --git a/bsp/hc32/libraries/hc32_drivers/drv_gpio.h b/bsp/hc32/libraries/hc32_drivers/drv_gpio.h index ae0621d34b..36fe8137c6 100644 --- a/bsp/hc32/libraries/hc32_drivers/drv_gpio.h +++ b/bsp/hc32/libraries/hc32_drivers/drv_gpio.h @@ -27,6 +27,8 @@ struct hc32_pin_irq_map struct hc32_irq_config irq_config; }; +int rt_hw_pin_init(void); + #endif #endif /* __DRV_GPIO_H__ */ diff --git a/bsp/hc32/libraries/hc32_drivers/drv_usart.c b/bsp/hc32/libraries/hc32_drivers/drv_usart.c index 82f2a637a2..723650f588 100644 --- a/bsp/hc32/libraries/hc32_drivers/drv_usart.c +++ b/bsp/hc32/libraries/hc32_drivers/drv_usart.c @@ -1447,7 +1447,7 @@ static const struct rt_uart_ops hc32_uart_ops = .dma_transmit = hc32_dma_transmit }; -int hc32_hw_uart_init(void) +int rt_hw_usart_init(void) { rt_err_t result = RT_EOK; rt_size_t obj_num = sizeof(uart_obj) / sizeof(struct hc32_uart); @@ -1489,8 +1489,6 @@ int hc32_hw_uart_init(void) return result; } -INIT_BOARD_EXPORT(hc32_hw_uart_init); - #endif #endif /* RT_USING_SERIAL */ diff --git a/bsp/hc32/libraries/hc32_drivers/drv_usart.h b/bsp/hc32/libraries/hc32_drivers/drv_usart.h index 4b70bcdb04..1a51b8d513 100644 --- a/bsp/hc32/libraries/hc32_drivers/drv_usart.h +++ b/bsp/hc32/libraries/hc32_drivers/drv_usart.h @@ -26,6 +26,8 @@ extern "C" { #endif +int rt_hw_usart_init(void); + /******************************************************************************* * Global type definitions ('typedef') ******************************************************************************/