void System_Init(void) { INTX_DISABLE(); //close all interruption HF_BSP_Init(); enter_bootloader_flag=STMFLASH_ReadWord(FLASH_APP1_ADDR - 4); if(enter_bootloader_flag !=256 ) //jump to app code { enter_bootloader_flag=256; STMFLASH_Write(FLASH_APP1_ADDR - 4 , &enter_bootloader_flag , 1); HF_Set_Beep_State(1); delay_ms(500); delay_ms(500); HF_Set_Beep_State(0); enter_bootloader_flag=0; STMFLASH_Write(FLASH_APP1_ADDR - 4 , &enter_bootloader_flag , 1); Load_Flash_APP(FLASH_APP1_ADDR); } enter_bootloader_flag = 0; STMFLASH_Write(FLASH_APP1_ADDR - 4 , &enter_bootloader_flag , 1); HF_Set_Beep_State(1); delay_ms(500); delay_ms(500); delay_ms(500); delay_ms(500); HF_Set_Beep_State(0); INTX_ENABLE(); //enable all interruption }
//硬件初始化 void borad_HarwareInit(void) { //OS_ERR err; //CPU_SR_ALLOC(); delay_init(168); //时钟初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中断分组配置 uart_init(115200); //串口初始化 INTX_DISABLE(); //关中断,防止滴答定时器对外设初始化的打扰 LED_Init(); //LED初始化 LCD_Init(); //LCD初始化 POINT_COLOR = RED; LCD_ShowString(30,10,200,16,16,"HardWare: STM32F4"); LCD_ShowString(30,30,200,16,16,"SotfWareSystem:UCOSIII,FATFS"); LCD_ShowString(30,50,200,16,16,"STM32_NC"); LCD_ShowString(30,70,200,16,16,"HuBei University of Technology"); LCD_ShowString(30,90,200,16,16,"2016/1/16"); //SD卡初始化 SDCard_Init(); INTX_ENABLE(); //开中断 }