33#include "bootuf2.h"
44#include "usb_config.h"
55#include <board.h>
6+ #include <hpm_dma_mgr.h>
67#include <hpm_gpio_drv.h>
78#include <hpm_gpiom_drv.h>
89#include <hpm_l1c_drv.h>
910#include <usb_log.h>
10- #include "HSLink_Pro_expansion.h"
11- #include <hpm_dma_mgr.h>
1211
1312ATTR_PLACE_AT (".bl_setting" )
1413static BL_Setting_t bl_setting ;
1514
15+ static const uint32_t CONFIG_P_EN = IOC_PAD_PA31 ;
16+ static const uint32_t CONFIG_Port_EN = IOC_PAD_PA04 ;
17+
1618static void jump_app (void )
1719{
1820 fencei ();
@@ -103,7 +105,7 @@ static void show_rainbow(void)
103105 WS2812_SetPixel (i , r , g , b );
104106 }
105107 WS2812_Update ();
106- board_delay_ms (10 ); // 纯阻塞,好孩子别学
108+ board_delay_ms (50 ); // 纯阻塞,好孩子别学
107109 }
108110}
109111
@@ -115,12 +117,31 @@ static void TurnOffLED(void)
115117 ;
116118}
117119
120+ static void IOInit (void )
121+ {
122+ // 将输出全部设置为高阻态
123+
124+ // PowerEN
125+ HPM_IOC -> PAD [CONFIG_P_EN ].FUNC_CTL = IOC_PAD_FUNC_CTL_ALT_SELECT_SET (0 );
126+
127+ gpiom_set_pin_controller (HPM_GPIOM , GPIO_GET_PORT_INDEX (CONFIG_P_EN ), GPIO_GET_PIN_INDEX (CONFIG_P_EN ), gpiom_soc_gpio0 );
128+ gpio_set_pin_output (HPM_GPIO0 , GPIO_GET_PORT_INDEX (CONFIG_P_EN ), GPIO_GET_PIN_INDEX (CONFIG_P_EN ));
129+ gpio_write_pin (HPM_GPIO0 , GPIO_GET_PORT_INDEX (CONFIG_P_EN ), GPIO_GET_PIN_INDEX (CONFIG_P_EN ), 0 );
130+
131+ // PortEN
132+ HPM_IOC -> PAD [CONFIG_Port_EN ].FUNC_CTL = IOC_PAD_FUNC_CTL_ALT_SELECT_SET (0 );
133+
134+ gpiom_set_pin_controller (HPM_GPIOM , GPIO_GET_PORT_INDEX (CONFIG_Port_EN ), GPIO_GET_PIN_INDEX (CONFIG_Port_EN ), gpiom_soc_gpio0 );
135+ gpio_set_pin_output (HPM_GPIO0 , GPIO_GET_PORT_INDEX (CONFIG_Port_EN ), GPIO_GET_PIN_INDEX (CONFIG_Port_EN ));
136+ gpio_write_pin (HPM_GPIO0 , GPIO_GET_PORT_INDEX (CONFIG_Port_EN ), GPIO_GET_PIN_INDEX (CONFIG_Port_EN ), 0 );
137+ }
138+
118139int main (void )
119140{
120141 board_init ();
142+ IOInit ();
121143 dma_mgr_init ();
122144 show_logo ();
123- HSP_Init (); // 关闭电源输出,将电平修改为3.3V
124145 board_init_usb (HPM_USB0 );
125146 bootloader_button_init ();
126147 WS2812_Init ();
0 commit comments