summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangpeng <[email protected]>2024-01-02 15:03:47 +0800
committerMeco Man <[email protected]>2024-01-02 19:06:13 +0800
commit7c07a974792b0f6dc60375eb54095c903e250091 (patch)
tree19155c731ecd8cff1a9ce0e615fbbdd0adc3f1dd
parent32be3c4a30fd6ee7dc4b56534039303f9ed96018 (diff)
[bsp][hc32]更正pin和usart初始化顺序
-rw-r--r--bsp/hc32/ev_hc32f460_lqfp100_v2/board/board.c28
-rw-r--r--bsp/hc32/ev_hc32f4a0_lqfp176/board/board.c28
-rw-r--r--bsp/hc32/libraries/hc32_drivers/drv_gpio.c1
-rw-r--r--bsp/hc32/libraries/hc32_drivers/drv_gpio.h2
-rw-r--r--bsp/hc32/libraries/hc32_drivers/drv_usart.c4
-rw-r--r--bsp/hc32/libraries/hc32_drivers/drv_usart.h2
6 files changed, 55 insertions, 10 deletions
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 <drv_gpio.h>
+#endif
+
+#ifdef RT_USING_SERIAL
+#ifdef RT_USING_SERIAL_V2
+#include <drv_usart_v2.h>
+#else
+#include <drv_usart.h>
+#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 <drv_gpio.h>
+#endif
+
+#ifdef RT_USING_SERIAL
+#ifdef RT_USING_SERIAL_V2
+#include <drv_usart_v2.h>
+#else
+#include <drv_usart.h>
+#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')
******************************************************************************/