Parcourir la source

[bsp][hc32]更正pin和usart初始化顺序

yangpeng il y a 1 an
Parent
commit
7c07a97479

+ 25 - 3
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)

+ 25 - 3
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)

+ 0 - 1
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 */

+ 2 - 0
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__ */

+ 1 - 3
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 */

+ 2 - 0
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')
  ******************************************************************************/