【实例简介】
STM32F207的U盘升级程序,USB的通讯模式为USB_HOST主机模式。
工作方式:将带有F207_Template.bin升级程序(名称可自行更改)的U盘插在控制板上;复位控制板自动升级并跳转执行APP程序;
如若没有插USB或没有可升级文件,一秒后自动跳转,执行APP程序;
【实例截图】
【核心代码】
Bootloader_USB
└── Bootloader_USB
├── CORE
│ ├── core_cm3.c
│ ├── core_cm3.h
│ └── startup_stm32f2xx.s
├── HARDWARE
│ ├── DELAY
│ │ ├── delay.c
│ │ └── delay.h
│ ├── FATFS
│ │ ├── ccsbcs.c
│ │ ├── diskio.h
│ │ ├── fattime.c
│ │ ├── fattime.h
│ │ ├── ff.c
│ │ ├── ff.h
│ │ ├── ffconf.h
│ │ ├── integer.h
│ │ └── stdbool.h
│ ├── IAP
│ │ ├── iap.c
│ │ └── iap.h
│ ├── STMFLASH
│ │ ├── stmflash.c
│ │ └── stmflash.h
│ ├── USART
│ │ ├── usart.c
│ │ └── usart.h
│ └── USB
│ ├── USB_APP
│ │ ├── usb_bsp.c
│ │ ├── usb_conf.h
│ │ ├── usbh_conf.h
│ │ ├── usbh_usr.c
│ │ └── usbh_usr.h
│ └── USB_LIB
│ ├── inc
│ │ ├── usb_bsp.h
│ │ ├── usb_core.h
│ │ ├── usb_defines.h
│ │ ├── usb_hcd.h
│ │ ├── usb_hcd_int.h
│ │ ├── usb_regs.h
│ │ ├── usbh_conf_template.h
│ │ ├── usbh_core.h
│ │ ├── usbh_def.h
│ │ ├── usbh_hcs.h
│ │ ├── usbh_ioreq.h
│ │ ├── usbh_msc_bot.h
│ │ ├── usbh_msc_core.h
│ │ ├── usbh_msc_scsi.h
│ │ └── usbh_stdreq.h
│ └── src
│ ├── usb_core.c
│ ├── usb_hcd.c
│ ├── usb_hcd_int.c
│ ├── usbh_core.c
│ ├── usbh_hcs.c
│ ├── usbh_ioreq.c
│ ├── usbh_msc_bot.c
│ ├── usbh_msc_core.c
│ ├── usbh_msc_fatfs.c
│ ├── usbh_msc_scsi.c
│ └── usbh_stdreq.c
├── OBJ
│ ├── Bootloader_USB.axf
│ ├── Bootloader_USB.build_log.htm
│ ├── Bootloader_USB.hex
│ ├── Bootloader_USB.htm
│ ├── Bootloader_USB.lnp
│ ├── Bootloader_USB.sct
│ ├── Bootloader_USB_Target 1.dep
│ ├── Bootloader_USB_sct.Bak
│ ├── ccsbcs.crf
│ ├── ccsbcs.d
│ ├── ccsbcs.o
│ ├── core_cm3.crf
│ ├── core_cm3.d
│ ├── core_cm3.o
│ ├── delay.crf
│ ├── delay.d
│ ├── delay.o
│ ├── fattime.crf
│ ├── fattime.d
│ ├── fattime.o
│ ├── ff.crf
│ ├── ff.d
│ ├── ff.o
│ ├── iap.crf
│ ├── iap.d
│ ├── iap.o
│ ├── main.crf
│ ├── main.d
│ ├── main.o
│ ├── misc.crf
│ ├── misc.d
│ ├── misc.o
│ ├── startup_stm32f2xx.d
│ ├── startup_stm32f2xx.o
│ ├── stm32f2xx_crc.crf
│ ├── stm32f2xx_crc.d
│ ├── stm32f2xx_crc.o
│ ├── stm32f2xx_exti.crf
│ ├── stm32f2xx_exti.d
│ ├── stm32f2xx_exti.o
│ ├── stm32f2xx_flash.crf
│ ├── stm32f2xx_flash.d
│ ├── stm32f2xx_flash.o
│ ├── stm32f2xx_gpio.crf
│ ├── stm32f2xx_gpio.d
│ ├── stm32f2xx_gpio.o
│ ├── stm32f2xx_rcc.crf
│ ├── stm32f2xx_rcc.d
│ ├── stm32f2xx_rcc.o
│ ├── stm32f2xx_tim.crf
│ ├── stm32f2xx_tim.d
│ ├── stm32f2xx_tim.o
│ ├── stm32f2xx_usart.crf
│ ├── stm32f2xx_usart.d
│ ├── stm32f2xx_usart.o
│ ├── stmflash.crf
│ ├── stmflash.d
│ ├── stmflash.o
│ ├── system_stm32f2xx.crf
│ ├── system_stm32f2xx.d
│ ├── system_stm32f2xx.o
│ ├── usart.crf
│ ├── usart.d
│ ├── usart.o
│ ├── usb_bsp.crf
│ ├── usb_bsp.d
│ ├── usb_bsp.o
│ ├── usb_core.crf
│ ├── usb_core.d
│ ├── usb_core.o
│ ├── usb_hcd.crf
│ ├── usb_hcd.d
│ ├── usb_hcd.o
│ ├── usb_hcd_int.crf
│ ├── usb_hcd_int.d
│ ├── usb_hcd_int.o
│ ├── usbh_core.crf
│ ├── usbh_core.d
│ ├── usbh_core.o
│ ├── usbh_hcs.crf
│ ├── usbh_hcs.d
│ ├── usbh_hcs.o
│ ├── usbh_ioreq.crf
│ ├── usbh_ioreq.d
│ ├── usbh_ioreq.o
│ ├── usbh_msc_bot.crf
│ ├── usbh_msc_bot.d
│ ├── usbh_msc_bot.o
│ ├── usbh_msc_core.crf
│ ├── usbh_msc_core.d
│ ├── usbh_msc_core.o
│ ├── usbh_msc_fatfs.crf
│ ├── usbh_msc_fatfs.d
│ ├── usbh_msc_fatfs.o
│ ├── usbh_msc_scsi.crf
│ ├── usbh_msc_scsi.d
│ ├── usbh_msc_scsi.o
│ ├── usbh_stdreq.crf
│ ├── usbh_stdreq.d
│ ├── usbh_stdreq.o
│ ├── usbh_usr.crf
│ ├── usbh_usr.d
│ └── usbh_usr.o
├── STM32F20x_EWLib
│ ├── inc
│ │ ├── misc.h
│ │ ├── stm32f2xx_adc.h
│ │ ├── stm32f2xx_can.h
│ │ ├── stm32f2xx_crc.h
│ │ ├── stm32f2xx_cryp.h
│ │ ├── stm32f2xx_dac.h
│ │ ├── stm32f2xx_dbgmcu.h
│ │ ├── stm32f2xx_dcmi.h
│ │ ├── stm32f2xx_dma.h
│ │ ├── stm32f2xx_exti.h
│ │ ├── stm32f2xx_flash.h
│ │ ├── stm32f2xx_fsmc.h
│ │ ├── stm32f2xx_gpio.h
│ │ ├── stm32f2xx_hash.h
│ │ ├── stm32f2xx_i2c.h
│ │ ├── stm32f2xx_iwdg.h
│ │ ├── stm32f2xx_pwr.h
│ │ ├── stm32f2xx_rcc.h
│ │ ├── stm32f2xx_rng.h
│ │ ├── stm32f2xx_rtc.h
│ │ ├── stm32f2xx_sdio.h
│ │ ├── stm32f2xx_spi.h
│ │ ├── stm32f2xx_syscfg.h
│ │ ├── stm32f2xx_tim.h
│ │ ├── stm32f2xx_usart.h
│ │ └── stm32f2xx_wwdg.h
│ └── src
│ ├── misc.c
│ ├── stm32f2xx_adc.c
│ ├── stm32f2xx_can.c
│ ├── stm32f2xx_crc.c
│ ├── stm32f2xx_cryp.c
│ ├── stm32f2xx_cryp_aes.c
│ ├── stm32f2xx_cryp_des.c
│ ├── stm32f2xx_cryp_tdes.c
│ ├── stm32f2xx_dac.c
│ ├── stm32f2xx_dbgmcu.c
│ ├── stm32f2xx_dcmi.c
│ ├── stm32f2xx_dma.c
│ ├── stm32f2xx_exti.c
│ ├── stm32f2xx_flash.c
│ ├── stm32f2xx_fsmc.c
│ ├── stm32f2xx_gpio.c
│ ├── stm32f2xx_hash.c
│ ├── stm32f2xx_hash_md5.c
│ ├── stm32f2xx_hash_sha1.c
│ ├── stm32f2xx_i2c.c
│ ├── stm32f2xx_iwdg.c
│ ├── stm32f2xx_pwr.c
│ ├── stm32f2xx_rcc.c
│ ├── stm32f2xx_rng.c
│ ├── stm32f2xx_rtc.c
│ ├── stm32f2xx_sdio.c
│ ├── stm32f2xx_spi.c
│ ├── stm32f2xx_syscfg.c
│ ├── stm32f2xx_tim.c
│ ├── stm32f2xx_usart.c
│ └── stm32f2xx_wwdg.c
├── USER
│ ├── Bootloader_USB.uvguix.xujian
│ ├── Bootloader_USB.uvoptx
│ ├── Bootloader_USB.uvprojx
│ ├── DebugConfig
│ │ └── Target_1_STM32F207VETx.dbgconf
│ ├── JLinkLog.txt
│ ├── JLinkSettings.ini
│ ├── Listings
│ │ ├── Bootloader_USB.map
│ │ └── startup_stm32f2xx.lst
│ ├── delay.s
│ ├── main.c
│ ├── main.h
│ ├── stm32f2xx.h
│ ├── stm32f2xx_conf.h
│ ├── stm32f2xx_it.h
│ ├── system_stm32f2xx.c
│ └── system_stm32f2xx.h
└── keilkilll.bat
20 directories, 228 files