├── 00-Hardware ├── README.md ├── STM32F207VC.PcbDoc ├── STM32F207VC.PrjPCB └── STM32F207VC.SchDoc ├── 01-Libraries ├── CMSIS │ ├── CMSIS END USER LICENCE AGREEMENT.pdf │ ├── Device │ │ └── ST │ │ │ └── STM32F2xx │ │ │ ├── Include │ │ │ ├── stm32f2xx.h │ │ │ └── system_stm32f2xx.h │ │ │ ├── Release_Notes.html │ │ │ └── Source │ │ │ └── Templates │ │ │ ├── TASKING │ │ │ └── cstart_thumb2.asm │ │ │ ├── TrueSTUDIO │ │ │ └── startup_stm32f2xx.s │ │ │ ├── arm │ │ │ └── startup_stm32f2xx.s │ │ │ ├── gcc_ride7 │ │ │ └── startup_stm32f2xx.s │ │ │ ├── iar │ │ │ └── startup_stm32f2xx.s │ │ │ └── system_stm32f2xx.c │ ├── Documentation │ │ ├── CMSIS-SVD_Schema_1_0.xsd │ │ ├── CMSIS_CM4_SIMD.htm │ │ ├── CMSIS_Core.htm │ │ ├── CMSIS_DebugSupport.htm │ │ ├── CMSIS_History.htm │ │ ├── CMSIS_Logo_Final.jpg │ │ └── CMSIS_System_View_Description.htm │ ├── Include │ │ ├── arm_common_tables.h │ │ ├── arm_math.h │ │ ├── core_cm0.h │ │ ├── core_cm3.h │ │ ├── core_cm4.h │ │ ├── core_cm4_simd.h │ │ ├── core_cmFunc.h │ │ └── core_cmInstr.h │ ├── README.txt │ └── index.htm ├── STM32F2x7_ETH_Driver │ ├── Release_Notes.html │ ├── inc │ │ └── stm32f2x7_eth.h │ └── src │ │ └── stm32f2x7_eth.c ├── STM32F2xx_StdPeriph_Driver │ ├── Release_Notes.html │ ├── 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 ├── STM32_USB_Device_Library │ ├── Class │ │ ├── audio │ │ │ ├── inc │ │ │ │ ├── usbd_audio_core.h │ │ │ │ └── usbd_audio_out_if.h │ │ │ └── src │ │ │ │ ├── usbd_audio_core.c │ │ │ │ └── usbd_audio_out_if.c │ │ ├── cdc │ │ │ ├── inc │ │ │ │ ├── usbd_cdc_core.h │ │ │ │ ├── usbd_cdc_core_loopback.h │ │ │ │ └── usbd_cdc_if_template.h │ │ │ └── src │ │ │ │ ├── usbd_cdc_core.c │ │ │ │ ├── usbd_cdc_core_loopback.c │ │ │ │ └── usbd_cdc_if_template.c │ │ ├── customhid │ │ │ ├── inc │ │ │ │ └── usbd_customhid_core.h │ │ │ └── src │ │ │ │ └── usbd_customhid_core.c │ │ ├── dfu │ │ │ ├── inc │ │ │ │ ├── usbd_dfu_core.h │ │ │ │ ├── usbd_dfu_mal.h │ │ │ │ ├── usbd_flash_if.h │ │ │ │ ├── usbd_mem_if_template.h │ │ │ │ └── usbd_otp_if.h │ │ │ └── src │ │ │ │ ├── usbd_dfu_core.c │ │ │ │ ├── usbd_dfu_mal.c │ │ │ │ ├── usbd_flash_if.c │ │ │ │ ├── usbd_mem_if_template.c │ │ │ │ └── usbd_otp_if.c │ │ ├── hid │ │ │ ├── inc │ │ │ │ └── usbd_hid_core.h │ │ │ └── src │ │ │ │ └── usbd_hid_core.c │ │ ├── hid_cdc_wrapper │ │ │ ├── inc │ │ │ │ └── usbd_hid_cdc_wrapper.h │ │ │ └── src │ │ │ │ └── usbd_hid_cdc_wrapper.c │ │ ├── hid_msc_wrapper │ │ │ ├── inc │ │ │ │ └── usbd_msc_hid_core.h │ │ │ └── src │ │ │ │ └── usbd_msc_hid_core.c │ │ └── msc │ │ │ ├── inc │ │ │ ├── usbd_msc_bot.h │ │ │ ├── usbd_msc_core.h │ │ │ ├── usbd_msc_data.h │ │ │ ├── usbd_msc_mem.h │ │ │ └── usbd_msc_scsi.h │ │ │ └── src │ │ │ ├── usbd_msc_bot.c │ │ │ ├── usbd_msc_core.c │ │ │ ├── usbd_msc_data.c │ │ │ ├── usbd_msc_scsi.c │ │ │ └── usbd_storage_template.c │ ├── Core │ │ ├── inc │ │ │ ├── usbd_conf_template.h │ │ │ ├── usbd_core.h │ │ │ ├── usbd_def.h │ │ │ ├── usbd_ioreq.h │ │ │ ├── usbd_req.h │ │ │ └── usbd_usr.h │ │ └── src │ │ │ ├── usbd_core.c │ │ │ ├── usbd_ioreq.c │ │ │ └── usbd_req.c │ └── Release_Notes.html ├── STM32_USB_HOST_Library │ ├── Class │ │ ├── CDC │ │ │ ├── inc │ │ │ │ ├── usbh_cdc_core.h │ │ │ │ └── usbh_cdc_funct.h │ │ │ └── src │ │ │ │ ├── usbh_cdc_core.c │ │ │ │ └── usbh_cdc_funct.c │ │ ├── HID │ │ │ ├── inc │ │ │ │ ├── usbh_hid_core.h │ │ │ │ ├── usbh_hid_keybd.h │ │ │ │ └── usbh_hid_mouse.h │ │ │ └── src │ │ │ │ ├── usbh_hid_core.c │ │ │ │ ├── usbh_hid_keybd.c │ │ │ │ └── usbh_hid_mouse.c │ │ └── MSC │ │ │ ├── inc │ │ │ ├── usbh_msc_bot.h │ │ │ ├── usbh_msc_core.h │ │ │ └── usbh_msc_scsi.h │ │ │ └── src │ │ │ ├── usbh_msc_bot.c │ │ │ ├── usbh_msc_core.c │ │ │ ├── usbh_msc_fatfs.c │ │ │ └── usbh_msc_scsi.c │ ├── Core │ │ ├── inc │ │ │ ├── usbh_conf_template.h │ │ │ ├── usbh_core.h │ │ │ ├── usbh_def.h │ │ │ ├── usbh_hcs.h │ │ │ ├── usbh_ioreq.h │ │ │ └── usbh_stdreq.h │ │ └── src │ │ │ ├── usbh_core.c │ │ │ ├── usbh_hcs.c │ │ │ ├── usbh_ioreq.c │ │ │ └── usbh_stdreq.c │ └── Release_Notes.html └── STM32_USB_OTG_Driver │ ├── Release_Notes.html │ ├── inc │ ├── usb_bsp.h │ ├── usb_conf_template.h │ ├── usb_core.h │ ├── usb_dcd.h │ ├── usb_dcd_int.h │ ├── usb_defines.h │ ├── usb_hcd.h │ ├── usb_hcd_int.h │ ├── usb_otg.h │ └── usb_regs.h │ └── src │ ├── usb_bsp_template.c │ ├── usb_core.c │ ├── usb_dcd.c │ ├── usb_dcd_int.c │ ├── usb_hcd.c │ ├── usb_hcd_int.c │ └── usb_otg.c ├── 02-Template ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 03-ASM ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 04-Delay ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 05-LCD ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 06-GPIO-Input-Output ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 07-GPIO-JTAG ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 08-GPIO-bit-band ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 09-EXTI ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 10-CRC&RNG ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 11-SPI ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── Ex_Flash.c ├── Ex_Flash.h ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 12-SPI-Simulation ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── Ex_Flash.c ├── Ex_Flash.h ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 13-IIC ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── i2c_io.c ├── i2c_io.h ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 14-Flash-Program ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 15-Flash-Write-Protection ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 16-Flash-Read-Protection ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 17-DMA-M-To-M ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 18-IWDG ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 19-WWDG ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 20-Timer-Base ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 21-Timer-PWMOUT ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 22-Timer-InputCapture ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 23-Timer-MultiTimer ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── MultiTimer │ ├── MultiTimer.c │ └── MultiTimer.h ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 23-Timer-Touchpad ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 24-ADC ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 25-DAC ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 26-SDIO ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2x_sdio_sd.c ├── stm32f2x_sdio_sd.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 27-USART-Interrupt ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 28-USART-Printf ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── LCD_disp.c ├── LCD_disp.h ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 29-IDE-Printf ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 30-ETH ├── Project │ ├── EWARM │ │ ├── Project.ewd │ │ ├── Project.ewp │ │ ├── Project.eww │ │ ├── startup_stm32f2xx.s │ │ └── stm32f2xx_flash.icf │ ├── MDK-ARM │ │ ├── Project.uvopt │ │ ├── Project.uvproj │ │ └── startup_stm32f2xx.s │ ├── inc │ │ ├── app │ │ │ ├── LCD_disp.h │ │ │ ├── hard_bsp.h │ │ │ └── main.h │ │ ├── lwip │ │ │ ├── arch │ │ │ │ ├── bpstruct.h │ │ │ │ ├── cc.h │ │ │ │ ├── cpu.h │ │ │ │ ├── epstruct.h │ │ │ │ ├── perf.h │ │ │ │ ├── sys_arch.c │ │ │ │ └── sys_arch.h │ │ │ ├── ethernetif.h │ │ │ ├── lwip_app.h │ │ │ ├── lwipopts.h │ │ │ ├── stm32f2x7_eth_bsp.h │ │ │ └── stm32f2x7_eth_conf.h │ │ ├── stm32f2x7_eth_conf.h │ │ ├── stm32f2xx_conf.h │ │ └── stm32f2xx_it.h │ └── src │ │ ├── app │ │ ├── LCD_disp.c │ │ ├── hard_bsp.c │ │ └── main.c │ │ ├── lwip │ │ ├── ethernetif.c │ │ ├── lwip_app.c │ │ └── stm32f2x7_eth_bsp.c │ │ └── stm32f2xx_it.c └── Third_Party │ └── lwip-1.4.1 │ ├── CHANGELOG │ ├── COPYING │ ├── FILES │ ├── README │ ├── UPGRADING │ ├── doc │ ├── FILES │ ├── contrib.txt │ ├── rawapi.txt │ ├── savannah.txt │ ├── snmp_agent.txt │ └── sys_arch.txt │ ├── src │ ├── FILES │ ├── api │ │ ├── api_lib.c │ │ ├── api_msg.c │ │ ├── err.c │ │ ├── netbuf.c │ │ ├── netdb.c │ │ ├── netifapi.c │ │ ├── sockets.c │ │ └── tcpip.c │ ├── core │ │ ├── def.c │ │ ├── dhcp.c │ │ ├── dns.c │ │ ├── init.c │ │ ├── ipv4 │ │ │ ├── autoip.c │ │ │ ├── icmp.c │ │ │ ├── igmp.c │ │ │ ├── inet.c │ │ │ ├── inet_chksum.c │ │ │ ├── ip.c │ │ │ ├── ip_addr.c │ │ │ └── ip_frag.c │ │ ├── ipv6 │ │ │ ├── README │ │ │ ├── icmp6.c │ │ │ ├── inet6.c │ │ │ ├── ip6.c │ │ │ └── ip6_addr.c │ │ ├── mem.c │ │ ├── memp.c │ │ ├── netif.c │ │ ├── pbuf.c │ │ ├── raw.c │ │ ├── snmp │ │ │ ├── asn1_dec.c │ │ │ ├── asn1_enc.c │ │ │ ├── mib2.c │ │ │ ├── mib_structs.c │ │ │ ├── msg_in.c │ │ │ └── msg_out.c │ │ ├── stats.c │ │ ├── sys.c │ │ ├── tcp.c │ │ ├── tcp_in.c │ │ ├── tcp_out.c │ │ ├── timers.c │ │ └── udp.c │ ├── include │ │ ├── ipv4 │ │ │ └── lwip │ │ │ │ ├── autoip.h │ │ │ │ ├── icmp.h │ │ │ │ ├── igmp.h │ │ │ │ ├── inet.h │ │ │ │ ├── inet_chksum.h │ │ │ │ ├── ip.h │ │ │ │ ├── ip_addr.h │ │ │ │ └── ip_frag.h │ │ ├── ipv6 │ │ │ └── lwip │ │ │ │ ├── icmp.h │ │ │ │ ├── inet.h │ │ │ │ ├── ip.h │ │ │ │ └── ip_addr.h │ │ ├── lwip │ │ │ ├── api.h │ │ │ ├── api_msg.h │ │ │ ├── arch.h │ │ │ ├── debug.h │ │ │ ├── def.h │ │ │ ├── dhcp.h │ │ │ ├── dns.h │ │ │ ├── err.h │ │ │ ├── init.h │ │ │ ├── mem.h │ │ │ ├── memp.h │ │ │ ├── memp_std.h │ │ │ ├── netbuf.h │ │ │ ├── netdb.h │ │ │ ├── netif.h │ │ │ ├── netifapi.h │ │ │ ├── opt.h │ │ │ ├── pbuf.h │ │ │ ├── raw.h │ │ │ ├── sio.h │ │ │ ├── snmp.h │ │ │ ├── snmp_asn1.h │ │ │ ├── snmp_msg.h │ │ │ ├── snmp_structs.h │ │ │ ├── sockets.h │ │ │ ├── stats.h │ │ │ ├── sys.h │ │ │ ├── tcp.h │ │ │ ├── tcp_impl.h │ │ │ ├── tcpip.h │ │ │ ├── timers.h │ │ │ └── udp.h │ │ ├── netif │ │ │ ├── etharp.h │ │ │ ├── ppp_oe.h │ │ │ └── slipif.h │ │ └── posix │ │ │ ├── netdb.h │ │ │ └── sys │ │ │ └── socket.h │ └── netif │ │ ├── FILES │ │ ├── etharp.c │ │ ├── ethernetif.c │ │ ├── ppp │ │ ├── auth.c │ │ ├── auth.h │ │ ├── chap.c │ │ ├── chap.h │ │ ├── chpms.c │ │ ├── chpms.h │ │ ├── fsm.c │ │ ├── fsm.h │ │ ├── ipcp.c │ │ ├── ipcp.h │ │ ├── lcp.c │ │ ├── lcp.h │ │ ├── magic.c │ │ ├── magic.h │ │ ├── md5.c │ │ ├── md5.h │ │ ├── pap.c │ │ ├── pap.h │ │ ├── ppp.c │ │ ├── ppp.h │ │ ├── ppp_impl.h │ │ ├── ppp_oe.c │ │ ├── pppdebug.h │ │ ├── randm.c │ │ ├── randm.h │ │ ├── vj.c │ │ └── vj.h │ │ └── slipif.c │ └── test │ └── unit │ ├── core │ ├── test_mem.c │ └── test_mem.h │ ├── etharp │ ├── test_etharp.c │ └── test_etharp.h │ ├── lwip_check.h │ ├── lwip_unittests.c │ ├── lwipopts.h │ ├── tcp │ ├── tcp_helper.c │ ├── tcp_helper.h │ ├── test_tcp.c │ ├── test_tcp.h │ ├── test_tcp_oos.c │ └── test_tcp_oos.h │ └── udp │ ├── test_udp.c │ └── test_udp.h ├── 31-USB-Host-MSC ├── Project │ ├── EWARM │ │ ├── Project.ewd │ │ ├── Project.ewp │ │ ├── Project.eww │ │ ├── stm32f2xx_flash.icf │ │ ├── stm32f2xx_flash_extsram.icf │ │ └── stm32f2xx_sram.icf │ ├── Ex_Flash.c │ ├── Ex_Flash.h │ ├── LCD_disp.c │ ├── LCD_disp.h │ ├── MDK-ARM │ │ ├── Project.uvopt │ │ └── Project.uvproj │ ├── USBAPP │ │ ├── usb_bsp.c │ │ ├── usb_conf.h │ │ ├── usbh_conf.h │ │ ├── usbh_usr.c │ │ └── usbh_usr.h │ ├── main.c │ ├── main.h │ ├── stm32f2x_sdio_sd.c │ ├── stm32f2x_sdio_sd.h │ ├── stm32f2xx_conf.h │ ├── stm32f2xx_it.c │ └── stm32f2xx_it.h └── Third_Party │ └── fatfs │ ├── 00history.txt │ ├── 00readme.txt │ ├── diskio.c │ ├── diskio.h │ ├── ff.c │ ├── ff.h │ ├── ffconf.h │ ├── integer.h │ └── option │ ├── cc932.c │ ├── cc936.c │ ├── cc949.c │ ├── cc950.c │ ├── ccsbcs.c │ ├── syscall.c │ └── unicode.c ├── 32-USB-Slave-MSC └── Project │ ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ ├── stm32f2xx_flash.icf │ ├── stm32f2xx_flash_extsram.icf │ └── stm32f2xx_sram.icf │ ├── Ex_Flash.c │ ├── Ex_Flash.h │ ├── LCD_disp.c │ ├── LCD_disp.h │ ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj │ ├── USBAPP │ ├── usb_bsp.c │ ├── usb_conf.h │ ├── usbd_conf.h │ ├── usbd_desc.c │ ├── usbd_desc.h │ ├── usbd_storage_msd.c │ └── usbd_usr.c │ ├── main.c │ ├── main.h │ ├── stm32f2x_sdio_sd.c │ ├── stm32f2x_sdio_sd.h │ ├── stm32f2xx_conf.h │ ├── stm32f2xx_it.c │ ├── stm32f2xx_it.h │ ├── systick.c │ └── systick.h ├── 33-USART-DMA-Receive ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 34-USART-Receive-DMAInterrupt ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 35-USART-DMA-Receive-Interrupt ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 36-USART-DMA-Receive-Send ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 37-USART-Ringbuff ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 38-MPU6050 ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── MPU6050 │ ├── eMPL │ │ ├── dmpKey.h │ │ ├── dmpmap.h │ │ ├── inv_mpu.c │ │ ├── inv_mpu.h │ │ ├── inv_mpu_dmp_motion_driver.c │ │ └── inv_mpu_dmp_motion_driver.h │ ├── mpu6050.c │ └── mpu6050.h ├── README.md ├── i2c_io.c ├── i2c_io.h ├── main.c ├── main.h ├── report_data.c ├── report_data.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c ├── stm32f2xx_it.h ├── sys_delay.c └── sys_delay.h ├── 39-Measure-Time ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 40-DWT ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 41-SoftwareTask ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── main.c ├── main.h ├── software_task.c ├── software_task.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h ├── 42-cmd-parser ├── EWARM │ ├── Project.ewd │ ├── Project.ewp │ ├── Project.eww │ └── stm32f2xx_flash.icf ├── MDK-ARM │ ├── Project.uvopt │ └── Project.uvproj ├── README.md ├── cmd-parser │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── cmd.c │ ├── cmd.h │ └── test.c ├── main.c ├── main.h ├── stm32f2xx_conf.h ├── stm32f2xx_it.c └── stm32f2xx_it.h └── README.md /00-Hardware/README.md: -------------------------------------------------------------------------------- 1 | # Hardware 2 | **兼容ST207和GD207** 3 | 4 | | 引脚编号 | STM32F207 | GD32F207 | 兼容设计 | 5 | | :---------- | --------- |--------- |--------- | 6 | | 19 |接上VDD电源,再接电容接地 |接地|通过0欧姆电阻选择不同电路| 7 | | 20 |接地 |VREF-,可以接地|直接接地| 8 | | 49 |接电容接地 |接地|PCB设计电容接地,ST贴电容,GD贴0欧姆电阻| 9 | | 73 |接电容接地 |悬空|PCB设计电容接地,ST贴电容,GD不贴| 10 | | 99 | 悬空 |接电容接地|PCB设计电容接地,ST不贴,GD贴电容| 11 | 12 | **板载资源**: 13 | 14 | - USB串口 15 | - 网口(RTL8201) 16 | - 两颗LED 17 | - RTC 18 | - NorFlash 19 | - 电源(5V转3.3V) 20 | - TF卡 21 | - 触摸按键 22 | - 4个独立按键 23 | - 8位并口LCD 24 | - USB 25 | - ESP8266的WIFI模块 26 | - ESP8266的USB下载口 27 | 28 | **设计缺陷** 29 | 30 | - 四个角忘记放置定位孔 31 | - BOOT0和BOOT1的丝印错写为GND 32 | - 没有纽扣电池供电给RTC 33 | - 很水的原理图和layout 34 | 35 | **重要说明** 36 | 37 | 使用的LCD的型号是深圳市拓普微科技开发有限公司的LMT028DNHFWL,分辨率320*240,使用565模式显示一整屏幕图片需要150KB的内存。 38 | 39 | 40 | 41 | STM32F207VC只有96KB的SRAM,只能用于显示一些文字,图形等。当然也可以使用曲线救国方式显示一张图片。 42 | 43 | 44 | 45 | GD32F207VG有256KB的SRAM,有足够的内存显示一张图片。 46 | 47 | 48 | 49 | > 上述设计只用于学习参考使用,在普通室温环境下使用没问题,对于参考电路造成商业产品或工业产品故障,本人不负责 -------------------------------------------------------------------------------- /00-Hardware/STM32F207VC.PcbDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/00-Hardware/STM32F207VC.PcbDoc -------------------------------------------------------------------------------- /00-Hardware/STM32F207VC.SchDoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/00-Hardware/STM32F207VC.SchDoc -------------------------------------------------------------------------------- /01-Libraries/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Documentation/CMSIS_CM4_SIMD.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Documentation/CMSIS_CM4_SIMD.htm -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Documentation/CMSIS_Core.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Documentation/CMSIS_Core.htm -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Documentation/CMSIS_DebugSupport.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Documentation/CMSIS_DebugSupport.htm -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Documentation/CMSIS_History.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Documentation/CMSIS_History.htm -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Documentation/CMSIS_Logo_Final.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Documentation/CMSIS_Logo_Final.jpg -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Documentation/CMSIS_System_View_Description.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/Documentation/CMSIS_System_View_Description.htm -------------------------------------------------------------------------------- /01-Libraries/CMSIS/Include/arm_common_tables.h: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------- 2 | * Copyright (C) 2010 ARM Limited. All rights reserved. 3 | * 4 | * $Date: 11. November 2010 5 | * $Revision: V1.0.2 6 | * 7 | * Project: CMSIS DSP Library 8 | * Title: arm_common_tables.h 9 | * 10 | * Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions 11 | * 12 | * Target Processor: Cortex-M4/Cortex-M3 13 | * 14 | * Version 1.0.2 2010/11/11 15 | * Documentation updated. 16 | * 17 | * Version 1.0.1 2010/10/05 18 | * Production release and review comments incorporated. 19 | * 20 | * Version 1.0.0 2010/09/20 21 | * Production release and review comments incorporated. 22 | * -------------------------------------------------------------------- */ 23 | 24 | #ifndef _ARM_COMMON_TABLES_H 25 | #define _ARM_COMMON_TABLES_H 26 | 27 | #include "arm_math.h" 28 | 29 | extern uint16_t armBitRevTable[256]; 30 | extern q15_t armRecipTableQ15[64]; 31 | extern q31_t armRecipTableQ31[64]; 32 | extern const q31_t realCoefAQ31[1024]; 33 | extern const q31_t realCoefBQ31[1024]; 34 | 35 | #endif /* ARM_COMMON_TABLES_H */ 36 | -------------------------------------------------------------------------------- /01-Libraries/CMSIS/README.txt: -------------------------------------------------------------------------------- 1 | * ------------------------------------------------------------------- 2 | * Copyright (C) 2011 ARM Limited. All rights reserved. 3 | * 4 | * Date: 25 July 2011 5 | * Revision: V2.10 6 | * 7 | * Project: Cortex Microcontroller Software Interface Standard (CMSIS) 8 | * Title: Release Note for CMSIS 9 | * 10 | * ------------------------------------------------------------------- 11 | 12 | 13 | NOTE - Open the index.html file to access CMSIS documentation 14 | 15 | 16 | The Cortex Microcontroller Software Interface Standard (CMSIS) provides a single standard across all 17 | Cortex-Mx processor series vendors. It enables code re-use and code sharing across software projects 18 | and reduces time-to-market for new embedded applications. 19 | 20 | CMSIS is released under the terms of the end user license agreement ("CMSIS END USER LICENCE AGREEMENT.pdf"). 21 | Any user of the software package is bound to the terms and conditions of the end user license agreement. 22 | 23 | 24 | You will find the following sub-directories: 25 | 26 | Documentation - Contains CMSIS documentation. 27 | 28 | DSP_Lib - MDK project files, Examples and source files etc.. to build the 29 | CMSIS DSP Software Library for Cortex-M0, Cortex-M3, Cortex-M4 processors. 30 | 31 | Include - CMSIS Core Support and CMSIS DSP Include Files. 32 | 33 | Lib - CMSIS DSP Binaries 34 | --- -------------------------------------------------------------------------------- /01-Libraries/CMSIS/index.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/CMSIS/index.htm -------------------------------------------------------------------------------- /01-Libraries/STM32F2x7_ETH_Driver/inc/stm32f2x7_eth.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/STM32F2x7_ETH_Driver/inc/stm32f2x7_eth.h -------------------------------------------------------------------------------- /01-Libraries/STM32F2x7_ETH_Driver/src/stm32f2x7_eth.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/STM32F2x7_ETH_Driver/src/stm32f2x7_eth.c -------------------------------------------------------------------------------- /01-Libraries/STM32_USB_Device_Library/Class/cdc/inc/usbd_cdc_if_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_cdc_if_template.h 4 | * @author MCD Application Team 5 | * @version V1.2.1 6 | * @date 17-March-2018 7 | * @brief Header for dfu_mal.c file. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© Copyright (c) 2015 STMicroelectronics. 12 | * All rights reserved.

13 | * 14 | * This software component is licensed by ST under Ultimate Liberty license 15 | * SLA0044, the "License"; You may not use this file except in compliance with 16 | * the License. You may obtain a copy of the License at: 17 | * 18 | * 19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __USBD_CDC_IF_TEMPLATE_H 24 | #define __USBD_CDC_IF_TEMPLATE_H 25 | 26 | /* Includes ------------------------------------------------------------------*/ 27 | #include "usb_conf.h" 28 | #include "usbd_conf.h" 29 | #include "usbd_cdc_core.h" 30 | 31 | /* Exported types ------------------------------------------------------------*/ 32 | /* Exported constants --------------------------------------------------------*/ 33 | 34 | extern CDC_IF_Prop_TypeDef TEMPLATE_fops; 35 | 36 | /* Exported macro ------------------------------------------------------------*/ 37 | /* Exported functions ------------------------------------------------------- */ 38 | #endif /* __USBD_CDC_IF_TEMPLATE_H */ 39 | 40 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 41 | -------------------------------------------------------------------------------- /01-Libraries/STM32_USB_Device_Library/Class/dfu/inc/usbd_otp_if.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_otp_if.h 4 | * @author MCD Application Team 5 | * @version V1.2.1 6 | * @date 17-March-2018 7 | * @brief Header for usbd_otp_if.c file. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© Copyright (c) 2015 STMicroelectronics. 12 | * All rights reserved.

13 | * 14 | * This software component is licensed by ST under Ultimate Liberty license 15 | * SLA0044, the "License"; You may not use this file except in compliance with 16 | * the License. You may obtain a copy of the License at: 17 | * 18 | * 19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __OTP_IF_MAL_H 24 | #define __OTP_IF_MAL_H 25 | 26 | /* Includes ------------------------------------------------------------------*/ 27 | #include "usbd_dfu_mal.h" 28 | 29 | /* Exported types ------------------------------------------------------------*/ 30 | /* Exported constants --------------------------------------------------------*/ 31 | #define OTP_START_ADD 0x1FFF7800 32 | #define OTP_END_ADD (uint32_t)(OTP_START_ADD + 528) 33 | 34 | #define OTP_IF_STRING (uint8_t*)"@OTP Area /0x1FFF7800/01*512 g,01*016 g" 35 | 36 | extern DFU_MAL_Prop_TypeDef DFU_Otp_cb; 37 | 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | 41 | #endif /* __OTP_IF_MAL_H */ 42 | 43 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 44 | -------------------------------------------------------------------------------- /01-Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_core.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usbd_msc_core.h 4 | * @author MCD Application Team 5 | * @version V1.2.1 6 | * @date 17-March-2018 7 | * @brief header for the usbd_msc_core.c file 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© Copyright (c) 2015 STMicroelectronics. 12 | * All rights reserved.

13 | * 14 | * This software component is licensed by ST under Ultimate Liberty license 15 | * SLA0044, the "License"; You may not use this file except in compliance with 16 | * the License. You may obtain a copy of the License at: 17 | * 18 | * 19 | ****************************************************************************** 20 | */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef _USB_MSC_CORE_H_ 24 | #define _USB_MSC_CORE_H_ 25 | 26 | #include "usbd_ioreq.h" 27 | 28 | /** @addtogroup USBD_MSC_BOT 29 | * @{ 30 | */ 31 | 32 | /** @defgroup USBD_MSC 33 | * @brief This file is the Header file for USBD_msc.c 34 | * @{ 35 | */ 36 | 37 | 38 | /** @defgroup USBD_BOT_Exported_Defines 39 | * @{ 40 | */ 41 | 42 | 43 | #define BOT_GET_MAX_LUN 0xFE 44 | #define BOT_RESET 0xFF 45 | #define USB_MSC_CONFIG_DESC_SIZ 32 46 | 47 | #define MSC_EPIN_SIZE MSC_MAX_PACKET 48 | #define MSC_EPOUT_SIZE MSC_MAX_PACKET 49 | 50 | /** 51 | * @} 52 | */ 53 | 54 | /** @defgroup USB_CORE_Exported_Types 55 | * @{ 56 | */ 57 | 58 | extern USBD_Class_cb_TypeDef USBD_MSC_cb; 59 | /** 60 | * @} 61 | */ 62 | 63 | /** 64 | * @} 65 | */ 66 | #endif /* _USB_MSC_CORE_H_ */ 67 | /** 68 | * @} 69 | */ 70 | 71 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 72 | -------------------------------------------------------------------------------- /01-Libraries/STM32_USB_HOST_Library/Release_Notes.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/01-Libraries/STM32_USB_HOST_Library/Release_Notes.html -------------------------------------------------------------------------------- /02-Template/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /02-Template/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /02-Template/README.md: -------------------------------------------------------------------------------- 1 | # Template 2 | 通过SysTick实现LED灯闪烁 3 | 4 | 5 | 6 | IAR版本:iar for arm 7.2.2 7 | 8 | Keil版本:Keil 5 V5.25 9 | 10 | 11 | 12 | **备注:** 13 | 14 | 为解决在IAR编译环境下类似Label 'Reset_Handler' is defined pubweak in a section implicitly declared root一系列错误,对每个向量表做以下修改 15 | ``` 16 | Reset_Handler 17 | LDR R0, =SystemInit 18 | BLX R0 19 | LDR R0, =__iar_program_start 20 | BX R0 21 | PUBWEAK NMI_Handler 22 | SECTION .text:CODE:REORDER(1) 23 | ``` 24 | 修改为 25 | ``` 26 | Reset_Handler 27 | LDR R0, =SystemInit 28 | BLX R0 29 | LDR R0, =__iar_program_start 30 | BX R0 31 | PUBWEAK NMI_Handler 32 | SECTION .text:CODE:REORDER:NOROOT(1) 33 | ``` -------------------------------------------------------------------------------- /02-Template/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/02-Template/main.c -------------------------------------------------------------------------------- /03-ASM/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /03-ASM/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /03-ASM/README.md: -------------------------------------------------------------------------------- 1 | # ASM 2 | 3 | 在STM32F207平台下使用的汇编代码 4 | 5 | - 使用汇编实现延时代码,优点:不会被编译器优化,时间相对准确 6 | 7 | -------------------------------------------------------------------------------- /03-ASM/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/03-ASM/main.c -------------------------------------------------------------------------------- /03-ASM/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /04-Delay/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /04-Delay/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /04-Delay/README.md: -------------------------------------------------------------------------------- 1 | # Delay 2 | 通过SysTick实现LED灯闪烁 3 | 4 | 没有中断的情况下 5 | -------------------------------------------------------------------------------- /04-Delay/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/04-Delay/main.c -------------------------------------------------------------------------------- /04-Delay/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | 41 | 42 | #endif /* __MAIN_H */ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 45 | -------------------------------------------------------------------------------- /05-LCD/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /05-LCD/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /05-LCD/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/05-LCD/LCD_disp.c -------------------------------------------------------------------------------- /05-LCD/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/05-LCD/LCD_disp.h -------------------------------------------------------------------------------- /05-LCD/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /05-LCD/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/05-LCD/main.c -------------------------------------------------------------------------------- /05-LCD/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /06-GPIO-Input-Output/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /06-GPIO-Input-Output/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /06-GPIO-Input-Output/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/06-GPIO-Input-Output/LCD_disp.c -------------------------------------------------------------------------------- /06-GPIO-Input-Output/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/06-GPIO-Input-Output/LCD_disp.h -------------------------------------------------------------------------------- /06-GPIO-Input-Output/README.md: -------------------------------------------------------------------------------- 1 | # GPIO-Input-Output 2 | 3 | GPIO简单的输入和输出功能 4 | -------------------------------------------------------------------------------- /06-GPIO-Input-Output/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/06-GPIO-Input-Output/main.c -------------------------------------------------------------------------------- /07-GPIO-JTAG/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /07-GPIO-JTAG/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /07-GPIO-JTAG/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/07-GPIO-JTAG/LCD_disp.c -------------------------------------------------------------------------------- /07-GPIO-JTAG/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/07-GPIO-JTAG/LCD_disp.h -------------------------------------------------------------------------------- /07-GPIO-JTAG/README.md: -------------------------------------------------------------------------------- 1 | # GPIO-JTAG 2 | 3 | 上电前,按住KEY1,锁定JTAG,上电时不按KEY1,不会锁定JTAG 4 | -------------------------------------------------------------------------------- /07-GPIO-JTAG/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/07-GPIO-JTAG/main.c -------------------------------------------------------------------------------- /08-GPIO-bit-band/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /08-GPIO-bit-band/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /08-GPIO-bit-band/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/08-GPIO-bit-band/LCD_disp.c -------------------------------------------------------------------------------- /08-GPIO-bit-band/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/08-GPIO-bit-band/LCD_disp.h -------------------------------------------------------------------------------- /08-GPIO-bit-band/README.md: -------------------------------------------------------------------------------- 1 | # GPIO-bit-band 2 | 3 | 使用CortexM3的位段功能驱动GPIO 4 | -------------------------------------------------------------------------------- /08-GPIO-bit-band/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/08-GPIO-bit-band/main.c -------------------------------------------------------------------------------- /09-EXTI/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /09-EXTI/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /09-EXTI/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/09-EXTI/LCD_disp.c -------------------------------------------------------------------------------- /09-EXTI/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/09-EXTI/LCD_disp.h -------------------------------------------------------------------------------- /09-EXTI/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /09-EXTI/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/09-EXTI/main.c -------------------------------------------------------------------------------- /09-EXTI/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /10-CRC&RNG/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /10-CRC&RNG/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /10-CRC&RNG/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/10-CRC&RNG/LCD_disp.c -------------------------------------------------------------------------------- /10-CRC&RNG/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/10-CRC&RNG/LCD_disp.h -------------------------------------------------------------------------------- /10-CRC&RNG/README.md: -------------------------------------------------------------------------------- 1 | # 09-CRC 2 | 3 | STM32F207硬件CRC32计算单元 4 | 5 | -------------------------------------------------------------------------------- /10-CRC&RNG/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/10-CRC&RNG/main.c -------------------------------------------------------------------------------- /10-CRC&RNG/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /11-SPI/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /11-SPI/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /11-SPI/Ex_Flash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/11-SPI/Ex_Flash.c -------------------------------------------------------------------------------- /11-SPI/Ex_Flash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/11-SPI/Ex_Flash.h -------------------------------------------------------------------------------- /11-SPI/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/11-SPI/LCD_disp.c -------------------------------------------------------------------------------- /11-SPI/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/11-SPI/LCD_disp.h -------------------------------------------------------------------------------- /11-SPI/README.md: -------------------------------------------------------------------------------- 1 | # SPI 2 | 3 | 使用STM32F207的SPI控制器去读norflash 4 | -------------------------------------------------------------------------------- /11-SPI/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/11-SPI/main.c -------------------------------------------------------------------------------- /11-SPI/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /12-SPI-Simulation/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /12-SPI-Simulation/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /12-SPI-Simulation/Ex_Flash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/12-SPI-Simulation/Ex_Flash.c -------------------------------------------------------------------------------- /12-SPI-Simulation/Ex_Flash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/12-SPI-Simulation/Ex_Flash.h -------------------------------------------------------------------------------- /12-SPI-Simulation/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/12-SPI-Simulation/LCD_disp.c -------------------------------------------------------------------------------- /12-SPI-Simulation/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/12-SPI-Simulation/LCD_disp.h -------------------------------------------------------------------------------- /12-SPI-Simulation/README.md: -------------------------------------------------------------------------------- 1 | # SPI-Simulation 2 | 3 | 用模拟SPI读取norflash 4 | -------------------------------------------------------------------------------- /12-SPI-Simulation/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/12-SPI-Simulation/main.c -------------------------------------------------------------------------------- /13-IIC/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /13-IIC/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /13-IIC/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/13-IIC/LCD_disp.c -------------------------------------------------------------------------------- /13-IIC/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/13-IIC/LCD_disp.h -------------------------------------------------------------------------------- /13-IIC/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /13-IIC/i2c_io.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/13-IIC/i2c_io.c -------------------------------------------------------------------------------- /13-IIC/i2c_io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/13-IIC/i2c_io.h -------------------------------------------------------------------------------- /13-IIC/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/13-IIC/main.c -------------------------------------------------------------------------------- /13-IIC/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /14-Flash-Program/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /14-Flash-Program/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /14-Flash-Program/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/14-Flash-Program/LCD_disp.c -------------------------------------------------------------------------------- /14-Flash-Program/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/14-Flash-Program/LCD_disp.h -------------------------------------------------------------------------------- /14-Flash-Program/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /14-Flash-Program/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/14-Flash-Program/main.c -------------------------------------------------------------------------------- /15-Flash-Write-Protection/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /15-Flash-Write-Protection/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /15-Flash-Write-Protection/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/15-Flash-Write-Protection/LCD_disp.c -------------------------------------------------------------------------------- /15-Flash-Write-Protection/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/15-Flash-Write-Protection/LCD_disp.h -------------------------------------------------------------------------------- /15-Flash-Write-Protection/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /15-Flash-Write-Protection/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/15-Flash-Write-Protection/main.c -------------------------------------------------------------------------------- /16-Flash-Read-Protection/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /16-Flash-Read-Protection/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /16-Flash-Read-Protection/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/16-Flash-Read-Protection/LCD_disp.c -------------------------------------------------------------------------------- /16-Flash-Read-Protection/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/16-Flash-Read-Protection/LCD_disp.h -------------------------------------------------------------------------------- /16-Flash-Read-Protection/README.md: -------------------------------------------------------------------------------- 1 | # Flash-Read-Protection 2 | 3 | 没有完成,读保护没有实现 4 | 5 | 6 | -------------------------------------------------------------------------------- /16-Flash-Read-Protection/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/16-Flash-Read-Protection/main.c -------------------------------------------------------------------------------- /17-DMA-M-To-M/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /17-DMA-M-To-M/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /17-DMA-M-To-M/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/17-DMA-M-To-M/LCD_disp.c -------------------------------------------------------------------------------- /17-DMA-M-To-M/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/17-DMA-M-To-M/LCD_disp.h -------------------------------------------------------------------------------- /17-DMA-M-To-M/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /17-DMA-M-To-M/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/17-DMA-M-To-M/main.c -------------------------------------------------------------------------------- /18-IWDG/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /18-IWDG/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /18-IWDG/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/18-IWDG/LCD_disp.c -------------------------------------------------------------------------------- /18-IWDG/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/18-IWDG/LCD_disp.h -------------------------------------------------------------------------------- /18-IWDG/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /18-IWDG/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/18-IWDG/main.c -------------------------------------------------------------------------------- /18-IWDG/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /19-WWDG/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /19-WWDG/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /19-WWDG/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/19-WWDG/LCD_disp.c -------------------------------------------------------------------------------- /19-WWDG/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/19-WWDG/LCD_disp.h -------------------------------------------------------------------------------- /19-WWDG/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /19-WWDG/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/19-WWDG/main.c -------------------------------------------------------------------------------- /19-WWDG/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /20-Timer-Base/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /20-Timer-Base/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /20-Timer-Base/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/20-Timer-Base/LCD_disp.c -------------------------------------------------------------------------------- /20-Timer-Base/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/20-Timer-Base/LCD_disp.h -------------------------------------------------------------------------------- /20-Timer-Base/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-Template 2 | 通过SysTick实现LED灯闪烁 3 | 4 | 5 | 6 | IAR版本:iar for arm 7.2.2 [点击下载](https://blog.csdn.net/firefly_cjd/article/details/77285224) 7 | 8 | Keil版本:Keil 5 V5.25 9 | 10 | 11 | 12 | **备注:** 13 | 14 | 为解决在IAR编译环境下类似Label 'Reset_Handler' is defined pubweak in a section implicitly declared root一系列错误,对每个向量表做以下修改 15 | ``` 16 | Reset_Handler 17 | LDR R0, =SystemInit 18 | BLX R0 19 | LDR R0, =__iar_program_start 20 | BX R0 21 | PUBWEAK NMI_Handler 22 | SECTION .text:CODE:REORDER(1) 23 | ``` 24 | 修改为 25 | ``` 26 | Reset_Handler 27 | LDR R0, =SystemInit 28 | BLX R0 29 | LDR R0, =__iar_program_start 30 | BX R0 31 | PUBWEAK NMI_Handler 32 | SECTION .text:CODE:REORDER:NOROOT(1) 33 | ``` -------------------------------------------------------------------------------- /20-Timer-Base/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/20-Timer-Base/main.c -------------------------------------------------------------------------------- /21-Timer-PWMOUT/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /21-Timer-PWMOUT/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /21-Timer-PWMOUT/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/21-Timer-PWMOUT/LCD_disp.c -------------------------------------------------------------------------------- /21-Timer-PWMOUT/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/21-Timer-PWMOUT/LCD_disp.h -------------------------------------------------------------------------------- /21-Timer-PWMOUT/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-Template 2 | 通过SysTick实现LED灯闪烁 3 | 4 | 5 | 6 | IAR版本:iar for arm 7.2.2 [点击下载](https://blog.csdn.net/firefly_cjd/article/details/77285224) 7 | 8 | Keil版本:Keil 5 V5.25 9 | 10 | 11 | 12 | **备注:** 13 | 14 | 为解决在IAR编译环境下类似Label 'Reset_Handler' is defined pubweak in a section implicitly declared root一系列错误,对每个向量表做以下修改 15 | ``` 16 | Reset_Handler 17 | LDR R0, =SystemInit 18 | BLX R0 19 | LDR R0, =__iar_program_start 20 | BX R0 21 | PUBWEAK NMI_Handler 22 | SECTION .text:CODE:REORDER(1) 23 | ``` 24 | 修改为 25 | ``` 26 | Reset_Handler 27 | LDR R0, =SystemInit 28 | BLX R0 29 | LDR R0, =__iar_program_start 30 | BX R0 31 | PUBWEAK NMI_Handler 32 | SECTION .text:CODE:REORDER:NOROOT(1) 33 | ``` -------------------------------------------------------------------------------- /21-Timer-PWMOUT/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/21-Timer-PWMOUT/main.c -------------------------------------------------------------------------------- /22-Timer-InputCapture/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /22-Timer-InputCapture/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /22-Timer-InputCapture/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/22-Timer-InputCapture/LCD_disp.c -------------------------------------------------------------------------------- /22-Timer-InputCapture/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/22-Timer-InputCapture/LCD_disp.h -------------------------------------------------------------------------------- /22-Timer-InputCapture/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-Template 2 | 通过SysTick实现LED灯闪烁 3 | 4 | 5 | 6 | IAR版本:iar for arm 7.2.2 [点击下载](https://blog.csdn.net/firefly_cjd/article/details/77285224) 7 | 8 | Keil版本:Keil 5 V5.25 9 | 10 | 11 | 12 | **备注:** 13 | 14 | 为解决在IAR编译环境下类似Label 'Reset_Handler' is defined pubweak in a section implicitly declared root一系列错误,对每个向量表做以下修改 15 | ``` 16 | Reset_Handler 17 | LDR R0, =SystemInit 18 | BLX R0 19 | LDR R0, =__iar_program_start 20 | BX R0 21 | PUBWEAK NMI_Handler 22 | SECTION .text:CODE:REORDER(1) 23 | ``` 24 | 修改为 25 | ``` 26 | Reset_Handler 27 | LDR R0, =SystemInit 28 | BLX R0 29 | LDR R0, =__iar_program_start 30 | BX R0 31 | PUBWEAK NMI_Handler 32 | SECTION .text:CODE:REORDER:NOROOT(1) 33 | ``` -------------------------------------------------------------------------------- /22-Timer-InputCapture/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/22-Timer-InputCapture/main.c -------------------------------------------------------------------------------- /22-Timer-InputCapture/stm32f2xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/22-Timer-InputCapture/stm32f2xx_it.c -------------------------------------------------------------------------------- /23-Timer-MultiTimer/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /23-Timer-MultiTimer/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /23-Timer-MultiTimer/MultiTimer/MultiTimer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/23-Timer-MultiTimer/MultiTimer/MultiTimer.h -------------------------------------------------------------------------------- /23-Timer-MultiTimer/README.md: -------------------------------------------------------------------------------- 1 | # Timer-MultiTimer 2 | MultiTimer源码链接https://github.com/0x1abin/MultiTimer.git 3 | 4 | -------------------------------------------------------------------------------- /23-Timer-MultiTimer/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/23-Timer-MultiTimer/main.c -------------------------------------------------------------------------------- /23-Timer-Touchpad/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /23-Timer-Touchpad/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /23-Timer-Touchpad/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/23-Timer-Touchpad/LCD_disp.c -------------------------------------------------------------------------------- /23-Timer-Touchpad/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/23-Timer-Touchpad/LCD_disp.h -------------------------------------------------------------------------------- /23-Timer-Touchpad/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/23-Timer-Touchpad/main.c -------------------------------------------------------------------------------- /24-ADC/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /24-ADC/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /24-ADC/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/24-ADC/LCD_disp.c -------------------------------------------------------------------------------- /24-ADC/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/24-ADC/LCD_disp.h -------------------------------------------------------------------------------- /24-ADC/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/24-ADC/main.c -------------------------------------------------------------------------------- /24-ADC/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /25-DAC/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /25-DAC/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /25-DAC/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/25-DAC/LCD_disp.c -------------------------------------------------------------------------------- /25-DAC/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/25-DAC/LCD_disp.h -------------------------------------------------------------------------------- /25-DAC/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/25-DAC/main.c -------------------------------------------------------------------------------- /25-DAC/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /26-SDIO/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /26-SDIO/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /26-SDIO/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/26-SDIO/LCD_disp.c -------------------------------------------------------------------------------- /26-SDIO/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/26-SDIO/LCD_disp.h -------------------------------------------------------------------------------- /26-SDIO/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/26-SDIO/main.c -------------------------------------------------------------------------------- /26-SDIO/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /26-SDIO/stm32f2x_sdio_sd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/26-SDIO/stm32f2x_sdio_sd.c -------------------------------------------------------------------------------- /26-SDIO/stm32f2x_sdio_sd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/26-SDIO/stm32f2x_sdio_sd.h -------------------------------------------------------------------------------- /27-USART-Interrupt/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /27-USART-Interrupt/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /27-USART-Interrupt/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/27-USART-Interrupt/LCD_disp.c -------------------------------------------------------------------------------- /27-USART-Interrupt/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/27-USART-Interrupt/LCD_disp.h -------------------------------------------------------------------------------- /27-USART-Interrupt/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/27-USART-Interrupt/main.c -------------------------------------------------------------------------------- /28-USART-Printf/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /28-USART-Printf/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /28-USART-Printf/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/28-USART-Printf/LCD_disp.c -------------------------------------------------------------------------------- /28-USART-Printf/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/28-USART-Printf/LCD_disp.h -------------------------------------------------------------------------------- /28-USART-Printf/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/28-USART-Printf/main.c -------------------------------------------------------------------------------- /29-IDE-Printf/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /29-IDE-Printf/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /29-IDE-Printf/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/29-IDE-Printf/main.c -------------------------------------------------------------------------------- /30-ETH/Project/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /30-ETH/Project/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /30-ETH/Project/inc/app/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/inc/app/LCD_disp.h -------------------------------------------------------------------------------- /30-ETH/Project/inc/app/hard_bsp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/inc/app/hard_bsp.h -------------------------------------------------------------------------------- /30-ETH/Project/inc/app/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 07-October-2011 7 | * @brief This file contains all the functions prototypes for the main.c 8 | * file. 9 | ****************************************************************************** 10 | * @attention 11 | * 12 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 13 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE 14 | * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY 15 | * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING 16 | * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE 17 | * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 18 | * 19 | *

© COPYRIGHT 2011 STMicroelectronics

20 | ****************************************************************************** 21 | */ 22 | 23 | /* Define to prevent recursive inclusion -------------------------------------*/ 24 | #ifndef __MAIN_H 25 | #define __MAIN_H 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | /* Includes ------------------------------------------------------------------*/ 32 | #include "stm32f2xx.h" 33 | 34 | 35 | 36 | 37 | 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | 46 | /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ 47 | 48 | -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/arch/bpstruct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science. 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without modification, 6 | * are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 25 | * OF SUCH DAMAGE. 26 | * 27 | * This file is part of the lwIP TCP/IP stack. 28 | * 29 | * Author: Adam Dunkels 30 | * 31 | */ 32 | 33 | #if defined(__IAR_SYSTEMS_ICC__) 34 | #pragma pack(1) 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/arch/cpu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/inc/lwip/arch/cpu.h -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/arch/epstruct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2001-2003 Swedish Institute of Computer Science. 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without modification, 6 | * are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 25 | * OF SUCH DAMAGE. 26 | * 27 | * This file is part of the lwIP TCP/IP stack. 28 | * 29 | * Author: Adam Dunkels 30 | * 31 | */ 32 | 33 | #if defined(__IAR_SYSTEMS_ICC__) 34 | #pragma pack() 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/arch/perf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/inc/lwip/arch/perf.h -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/arch/sys_arch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/inc/lwip/arch/sys_arch.c -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/ethernetif.h: -------------------------------------------------------------------------------- 1 | #ifndef __ETHERNETIF_H__ 2 | #define __ETHERNETIF_H__ 3 | 4 | 5 | #include "lwip/err.h" 6 | #include "lwip/netif.h" 7 | 8 | err_t ethernetif_init(struct netif *netif); 9 | err_t ethernetif_input(struct netif *netif); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /30-ETH/Project/inc/lwip/lwip_app.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/inc/lwip/lwip_app.h -------------------------------------------------------------------------------- /30-ETH/Project/src/app/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/src/app/LCD_disp.c -------------------------------------------------------------------------------- /30-ETH/Project/src/app/hard_bsp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/src/app/hard_bsp.c -------------------------------------------------------------------------------- /30-ETH/Project/src/app/main.c: -------------------------------------------------------------------------------- 1 | #include "stm32f2xx.h" 2 | #include "main.h" 3 | #include "lwip_app.h" 4 | #include 5 | 6 | uint32 G_timeTicks; 7 | uint32 sys_LED_state; 8 | uint32 sys_LED_time; 9 | uint32 sys_LED_mode = 1; 10 | Struct_sys_change G_change; 11 | 12 | /*! 13 | * @brief main() 14 | * @param NONE 15 | * @return NONE 16 | * @note 17 | */ 18 | int main(){ 19 | uint32_t line = 0; 20 | NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 21 | timer4Init(); 22 | LED_Init(); 23 | UART_Init(); 24 | LCD_Init(); 25 | 26 | ETH_BSP_Config(); 27 | 28 | printf("\r\n======================================================================"); 29 | printf("\r\n= (C) COPYRIGHT 2020 ="); 30 | printf("\r\n= ="); 31 | printf("\r\n= ST207_ETH Program Demo ="); 32 | printf("\r\n= ="); 33 | printf("\r\n= By Firefly ="); 34 | printf("\r\n======================================================================"); 35 | printf("\r\n\r\n"); 36 | 37 | LCD_ShowString(0,16*(line++),"========================================"); 38 | LCD_ShowString(0,16*(line++),"= (C) COPYRIGHT 2020 ="); 39 | LCD_ShowString(0,16*(line++),"= ="); 40 | LCD_ShowString(0,16*(line++),"= ST207_ETH Program Demo ="); 41 | LCD_ShowString(0,16*(line++),"= ="); 42 | LCD_ShowString(0,16*(line++),"= By Firefly ="); 43 | LCD_ShowString(0,16*(line++),"========================================"); 44 | 45 | while(1){ 46 | Deal_with_Ethernet_MAC_IP(); 47 | LED_ray_run(); 48 | } 49 | } 50 | 51 | -------------------------------------------------------------------------------- /30-ETH/Project/src/lwip/ethernetif.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/src/lwip/ethernetif.c -------------------------------------------------------------------------------- /30-ETH/Project/src/lwip/lwip_app.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/src/lwip/lwip_app.c -------------------------------------------------------------------------------- /30-ETH/Project/src/lwip/stm32f2x7_eth_bsp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/src/lwip/stm32f2x7_eth_bsp.c -------------------------------------------------------------------------------- /30-ETH/Project/src/stm32f2xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Project/src/stm32f2xx_it.c -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/CHANGELOG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/30-ETH/Third_Party/lwip-1.4.1/CHANGELOG -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/COPYING: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2001, 2002 Swedish Institute of Computer Science. 3 | * All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without modification, 6 | * are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 19 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 21 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 24 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 25 | * OF SUCH DAMAGE. 26 | * 27 | * This file is part of the lwIP TCP/IP stack. 28 | * 29 | * Author: Adam Dunkels 30 | * 31 | */ 32 | 33 | 34 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/FILES: -------------------------------------------------------------------------------- 1 | src/ - The source code for the lwIP TCP/IP stack. 2 | doc/ - The documentation for lwIP. 3 | 4 | See also the FILES file in each subdirectory. 5 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/doc/FILES: -------------------------------------------------------------------------------- 1 | savannah.txt - How to obtain the current development source code. 2 | contrib.txt - How to contribute to lwIP as a developer. 3 | rawapi.txt - The documentation for the core API of lwIP. 4 | Also provides an overview about the other APIs and multithreading. 5 | snmp_agent.txt - The documentation for the lwIP SNMP agent. 6 | sys_arch.txt - The documentation for a system abstraction layer of lwIP. 7 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/src/FILES: -------------------------------------------------------------------------------- 1 | api/ - The code for the high-level wrapper API. Not needed if 2 | you use the lowel-level call-back/raw API. 3 | 4 | core/ - The core of the TPC/IP stack; protocol implementations, 5 | memory and buffer management, and the low-level raw API. 6 | 7 | include/ - lwIP include files. 8 | 9 | netif/ - Generic network interface device drivers are kept here, 10 | as well as the ARP module. 11 | 12 | For more information on the various subdirectories, check the FILES 13 | file in each directory. 14 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/src/core/ipv4/inet.c: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * Functions common to all TCP/IPv4 modules, such as the byte order functions. 4 | * 5 | */ 6 | 7 | /* 8 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science. 9 | * All rights reserved. 10 | * 11 | * Redistribution and use in source and binary forms, with or without modification, 12 | * are permitted provided that the following conditions are met: 13 | * 14 | * 1. Redistributions of source code must retain the above copyright notice, 15 | * this list of conditions and the following disclaimer. 16 | * 2. Redistributions in binary form must reproduce the above copyright notice, 17 | * this list of conditions and the following disclaimer in the documentation 18 | * and/or other materials provided with the distribution. 19 | * 3. The name of the author may not be used to endorse or promote products 20 | * derived from this software without specific prior written permission. 21 | * 22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 31 | * OF SUCH DAMAGE. 32 | * 33 | * This file is part of the lwIP TCP/IP stack. 34 | * 35 | * Author: Adam Dunkels 36 | * 37 | */ 38 | 39 | #include "lwip/opt.h" 40 | 41 | #include "lwip/inet.h" 42 | 43 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/src/core/ipv6/README: -------------------------------------------------------------------------------- 1 | IPv6 support in lwIP is very experimental. 2 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/src/include/posix/netdb.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * This file is a posix wrapper for lwip/netdb.h. 4 | */ 5 | 6 | /* 7 | * Redistribution and use in source and binary forms, with or without modification, 8 | * are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 3. The name of the author may not be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 27 | * OF SUCH DAMAGE. 28 | * 29 | * This file is part of the lwIP TCP/IP stack. 30 | * 31 | */ 32 | 33 | #include "lwip/netdb.h" 34 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/src/include/posix/sys/socket.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * This file is a posix wrapper for lwip/sockets.h. 4 | */ 5 | 6 | /* 7 | * Redistribution and use in source and binary forms, with or without modification, 8 | * are permitted provided that the following conditions are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright notice, 11 | * this list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright notice, 13 | * this list of conditions and the following disclaimer in the documentation 14 | * and/or other materials provided with the distribution. 15 | * 3. The name of the author may not be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 19 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 20 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 21 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 22 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 23 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 26 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 27 | * OF SUCH DAMAGE. 28 | * 29 | * This file is part of the lwIP TCP/IP stack. 30 | * 31 | */ 32 | 33 | #include "lwip/sockets.h" 34 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/src/netif/FILES: -------------------------------------------------------------------------------- 1 | This directory contains generic network interface device drivers that 2 | do not contain any hardware or architecture specific code. The files 3 | are: 4 | 5 | etharp.c 6 | Implements the ARP (Address Resolution Protocol) over 7 | Ethernet. The code in this file should be used together with 8 | Ethernet device drivers. Note that this module has been 9 | largely made Ethernet independent so you should be able to 10 | adapt this for other link layers (such as Firewire). 11 | 12 | ethernetif.c 13 | An example of how an Ethernet device driver could look. This 14 | file can be used as a "skeleton" for developing new Ethernet 15 | network device drivers. It uses the etharp.c ARP code. 16 | 17 | loopif.c 18 | A "loopback" network interface driver. It requires configuration 19 | through the define LWIP_LOOPIF_MULTITHREADING (see opt.h). 20 | 21 | slipif.c 22 | A generic implementation of the SLIP (Serial Line IP) 23 | protocol. It requires a sio (serial I/O) module to work. 24 | 25 | ppp/ Point-to-Point Protocol stack 26 | The PPP stack has been ported from ucip (http://ucip.sourceforge.net). 27 | It matches quite well to pppd 2.3.1 (http://ppp.samba.org), although 28 | compared to that, it has some modifications for embedded systems and 29 | the source code has been reordered a bit. -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/core/test_mem.c: -------------------------------------------------------------------------------- 1 | #include "test_mem.h" 2 | 3 | #include "lwip/mem.h" 4 | #include "lwip/stats.h" 5 | 6 | #if !LWIP_STATS || !MEM_STATS 7 | #error "This tests needs MEM-statistics enabled" 8 | #endif 9 | #if LWIP_DNS 10 | #error "This test needs DNS turned off (as it mallocs on init)" 11 | #endif 12 | 13 | /* Setups/teardown functions */ 14 | 15 | static void 16 | mem_setup(void) 17 | { 18 | } 19 | 20 | static void 21 | mem_teardown(void) 22 | { 23 | } 24 | 25 | 26 | /* Test functions */ 27 | 28 | /** Call mem_malloc, mem_free and mem_trim and check stats */ 29 | START_TEST(test_mem_one) 30 | { 31 | #define SIZE1 16 32 | #define SIZE1_2 12 33 | #define SIZE2 16 34 | void *p1, *p2; 35 | mem_size_t s1, s2; 36 | LWIP_UNUSED_ARG(_i); 37 | 38 | #if LWIP_DNS 39 | fail("This test needs DNS turned off (as it mallocs on init)"); 40 | #endif 41 | 42 | fail_unless(lwip_stats.mem.used == 0); 43 | 44 | p1 = mem_malloc(SIZE1); 45 | fail_unless(p1 != NULL); 46 | fail_unless(lwip_stats.mem.used >= SIZE1); 47 | s1 = lwip_stats.mem.used; 48 | 49 | p2 = mem_malloc(SIZE2); 50 | fail_unless(p2 != NULL); 51 | fail_unless(lwip_stats.mem.used >= SIZE2 + s1); 52 | s2 = lwip_stats.mem.used; 53 | 54 | mem_trim(p1, SIZE1_2); 55 | 56 | mem_free(p2); 57 | fail_unless(lwip_stats.mem.used <= s2 - SIZE2); 58 | 59 | mem_free(p1); 60 | fail_unless(lwip_stats.mem.used == 0); 61 | } 62 | END_TEST 63 | 64 | 65 | /** Create the suite including all tests for this module */ 66 | Suite * 67 | mem_suite(void) 68 | { 69 | TFun tests[] = { 70 | test_mem_one 71 | }; 72 | return create_suite("MEM", tests, sizeof(tests)/sizeof(TFun), mem_setup, mem_teardown); 73 | } 74 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/core/test_mem.h: -------------------------------------------------------------------------------- 1 | #ifndef __TEST_MEM_H__ 2 | #define __TEST_MEM_H__ 3 | 4 | #include "../lwip_check.h" 5 | 6 | Suite *mem_suite(void); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/etharp/test_etharp.h: -------------------------------------------------------------------------------- 1 | #ifndef __TEST_ETHARP_H__ 2 | #define __TEST_ETHARP_H__ 3 | 4 | #include "../lwip_check.h" 5 | 6 | Suite* etharp_suite(void); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/lwip_check.h: -------------------------------------------------------------------------------- 1 | #ifndef __LWIP_CHECK_H__ 2 | #define __LWIP_CHECK_H__ 3 | 4 | /* Common header file for lwIP unit tests using the check framework */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #define FAIL_RET() do { fail(); return; } while(0) 11 | #define EXPECT(x) fail_unless(x) 12 | #define EXPECT_RET(x) do { fail_unless(x); if(!(x)) { return; }} while(0) 13 | #define EXPECT_RETX(x, y) do { fail_unless(x); if(!(x)) { return y; }} while(0) 14 | #define EXPECT_RETNULL(x) EXPECT_RETX(x, NULL) 15 | 16 | /** typedef for a function returning a test suite */ 17 | typedef Suite* (suite_getter_fn)(void); 18 | 19 | /** Create a test suite */ 20 | static Suite* create_suite(const char* name, TFun *tests, size_t num_tests, SFun setup, SFun teardown) 21 | { 22 | size_t i; 23 | Suite *s = suite_create(name); 24 | 25 | for(i = 0; i < num_tests; i++) { 26 | /* Core test case */ 27 | TCase *tc_core = tcase_create("Core"); 28 | if ((setup != NULL) || (teardown != NULL)) { 29 | tcase_add_checked_fixture(tc_core, setup, teardown); 30 | } 31 | tcase_add_test(tc_core, tests[i]); 32 | suite_add_tcase(s, tc_core); 33 | } 34 | return s; 35 | } 36 | 37 | #endif /* __LWIP_CHECK_H__ */ 38 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/lwip_unittests.c: -------------------------------------------------------------------------------- 1 | #include "lwip_check.h" 2 | 3 | #include "udp/test_udp.h" 4 | #include "tcp/test_tcp.h" 5 | #include "tcp/test_tcp_oos.h" 6 | #include "core/test_mem.h" 7 | #include "etharp/test_etharp.h" 8 | 9 | #include "lwip/init.h" 10 | 11 | 12 | int main() 13 | { 14 | int number_failed; 15 | SRunner *sr; 16 | size_t i; 17 | suite_getter_fn* suites[] = { 18 | udp_suite, 19 | tcp_suite, 20 | tcp_oos_suite, 21 | mem_suite, 22 | etharp_suite 23 | }; 24 | size_t num = sizeof(suites)/sizeof(void*); 25 | LWIP_ASSERT("No suites defined", num > 0); 26 | 27 | lwip_init(); 28 | 29 | sr = srunner_create((suites[0])()); 30 | for(i = 1; i < num; i++) { 31 | srunner_add_suite(sr, ((suite_getter_fn*)suites[i])()); 32 | } 33 | 34 | #ifdef LWIP_UNITTESTS_NOFORK 35 | srunner_set_fork_status(sr, CK_NOFORK); 36 | #endif 37 | #ifdef LWIP_UNITTESTS_FORK 38 | srunner_set_fork_status(sr, CK_FORK); 39 | #endif 40 | 41 | srunner_run_all(sr, CK_NORMAL); 42 | number_failed = srunner_ntests_failed(sr); 43 | srunner_free(sr); 44 | return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; 45 | } 46 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/tcp/test_tcp.h: -------------------------------------------------------------------------------- 1 | #ifndef __TEST_TCP_H__ 2 | #define __TEST_TCP_H__ 3 | 4 | #include "../lwip_check.h" 5 | 6 | Suite *tcp_suite(void); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/tcp/test_tcp_oos.h: -------------------------------------------------------------------------------- 1 | #ifndef __TEST_TCP_OOS_H__ 2 | #define __TEST_TCP_OOS_H__ 3 | 4 | #include "../lwip_check.h" 5 | 6 | Suite *tcp_oos_suite(void); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/udp/test_udp.c: -------------------------------------------------------------------------------- 1 | #include "test_udp.h" 2 | 3 | #include "lwip/udp.h" 4 | #include "lwip/stats.h" 5 | 6 | #if !LWIP_STATS || !UDP_STATS || !MEMP_STATS 7 | #error "This tests needs UDP- and MEMP-statistics enabled" 8 | #endif 9 | 10 | /* Helper functions */ 11 | static void 12 | udp_remove_all(void) 13 | { 14 | struct udp_pcb *pcb = udp_pcbs; 15 | struct udp_pcb *pcb2; 16 | 17 | while(pcb != NULL) { 18 | pcb2 = pcb; 19 | pcb = pcb->next; 20 | udp_remove(pcb2); 21 | } 22 | fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0); 23 | } 24 | 25 | /* Setups/teardown functions */ 26 | 27 | static void 28 | udp_setup(void) 29 | { 30 | udp_remove_all(); 31 | } 32 | 33 | static void 34 | udp_teardown(void) 35 | { 36 | udp_remove_all(); 37 | } 38 | 39 | 40 | /* Test functions */ 41 | 42 | START_TEST(test_udp_new_remove) 43 | { 44 | struct udp_pcb* pcb; 45 | LWIP_UNUSED_ARG(_i); 46 | 47 | fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0); 48 | 49 | pcb = udp_new(); 50 | fail_unless(pcb != NULL); 51 | if (pcb != NULL) { 52 | fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 1); 53 | udp_remove(pcb); 54 | fail_unless(lwip_stats.memp[MEMP_UDP_PCB].used == 0); 55 | } 56 | } 57 | END_TEST 58 | 59 | 60 | /** Create the suite including all tests for this module */ 61 | Suite * 62 | udp_suite(void) 63 | { 64 | TFun tests[] = { 65 | test_udp_new_remove, 66 | }; 67 | return create_suite("UDP", tests, sizeof(tests)/sizeof(TFun), udp_setup, udp_teardown); 68 | } 69 | -------------------------------------------------------------------------------- /30-ETH/Third_Party/lwip-1.4.1/test/unit/udp/test_udp.h: -------------------------------------------------------------------------------- 1 | #ifndef __TEST_UDP_H__ 2 | #define __TEST_UDP_H__ 3 | 4 | #include "../lwip_check.h" 5 | 6 | Suite* udp_suite(void); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/EWARM/stm32f2xx_flash_extsram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x64000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x640FFFFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; /* EXTSRAM_region */ 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/EWARM/stm32f2xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/Ex_Flash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/Ex_Flash.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/Ex_Flash.h: -------------------------------------------------------------------------------- 1 | #ifndef _Ex_Flash_H 2 | #define _Ex_Flash_H 3 | #include 4 | /* Private define ------------------------------------------------------------*/ 5 | #define WRITE 0x02 /* Write to Memory instruction */ 6 | #define QUADWRITE 0x32 /* Quad Write to Memory instruction */ 7 | #define WRSR 0x01 /* Write Status Register instruction */ 8 | #define WREN 0x06 /* Write enable instruction */ 9 | 10 | #define READ 0x03 /* Read from Memory instruction */ 11 | #define QUADREAD 0x6B /* Read from Memory instruction */ 12 | #define RDSR 0x05 /* Read Status Register instruction */ 13 | #define RDID 0x9F /* Read identification */ 14 | #define SE 0x20 /* Sector Erase instruction */ 15 | #define BE 0xC7 /* Bulk Erase instruction */ 16 | 17 | #define WTSR 0x05 /* Write Status Register instruction */ 18 | 19 | 20 | #define WIP_Flag 0x01 /* Write In Progress (WIP) flag */ 21 | #define Dummy_Byte 0xA5 22 | 23 | 24 | #define Ex_FLASH_PageSize 0x100 25 | 26 | #define Ex_FLASH_SecSize 0x1000 27 | 28 | #define Ex_FLASH_Max_Addr (Ex_FLASH_SecSize*512) 29 | 30 | #define Ex_Flash_OK 0 31 | #define Ex_Flash_Over_Addr 1 32 | 33 | uint8_t Ex_FLASH_Write(uint32_t WriteAddr,uint8_t* pBuffer, uint16_t NumByteToWrite); 34 | uint8_t Ex_Flash_RD_Sec(uint32_t Sec_Num,uint8_t* RcvBuf); 35 | uint8_t Ex_Flash_RD(uint32_t ReadAddr,uint8_t* RcvBuf,uint32_t NByte); 36 | void Ex_FLASH_ReadUID(uint8_t *uid); 37 | uint32_t Ex_FLASH_ReadID(void); 38 | uint8_t Ex_FLASH_SectorErase(uint32_t Sec_Num); 39 | 40 | #endif 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/LCD_disp.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/LCD_disp.h -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/USBAPP/usbh_usr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/USBAPP/usbh_usr.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/main.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/stm32f2x_sdio_sd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/stm32f2x_sdio_sd.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Project/stm32f2xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Project/stm32f2xx_it.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Third_Party/fatfs/00readme.txt: -------------------------------------------------------------------------------- 1 | FatFs Module Source Files R0.12 2 | 3 | 4 | FILES 5 | 6 | 00readme.txt This file. 7 | history.txt Revision history. 8 | ffconf.h Configuration file for FatFs module. 9 | ff.h Common include file for FatFs and application module. 10 | ff.c FatFs module. 11 | diskio.h Common include file for FatFs and disk I/O module. 12 | diskio.c An example of glue function to attach existing disk I/O module to FatFs. 13 | integer.h Integer type definitions for FatFs. 14 | option Optional external functions. 15 | 16 | 17 | Low level disk I/O module is not included in this archive because the FatFs 18 | module is only a generic file system layer and not depend on any specific 19 | storage device. You have to provide a low level disk I/O module that written 20 | to control the target storage device. 21 | 22 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Third_Party/fatfs/diskio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/31-USB-Host-MSC/Third_Party/fatfs/diskio.c -------------------------------------------------------------------------------- /31-USB-Host-MSC/Third_Party/fatfs/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _FF_INTEGER 6 | #define _FF_INTEGER 7 | 8 | #ifdef _WIN32 /* FatFs development platform */ 9 | 10 | #include 11 | #include 12 | typedef unsigned __int64 QWORD; 13 | 14 | 15 | #else /* Embedded platform */ 16 | 17 | /* These types MUST be 16-bit or 32-bit */ 18 | typedef int INT; 19 | typedef unsigned int UINT; 20 | 21 | /* This type MUST be 8-bit */ 22 | typedef unsigned char BYTE; 23 | 24 | /* These types MUST be 16-bit */ 25 | typedef short SHORT; 26 | typedef unsigned short WORD; 27 | typedef unsigned short WCHAR; 28 | 29 | /* These types MUST be 32-bit */ 30 | typedef long LONG; 31 | typedef unsigned long DWORD; 32 | 33 | /* This type MUST be 64-bit (Remove this for C89 compatibility) */ 34 | typedef unsigned long long QWORD; 35 | 36 | #endif 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /31-USB-Host-MSC/Third_Party/fatfs/option/unicode.c: -------------------------------------------------------------------------------- 1 | #include "../ff.h" 2 | 3 | #if _USE_LFN != 0 4 | 5 | #if _CODE_PAGE == 932 /* Japanese Shift_JIS */ 6 | #include "cc932.c" 7 | #elif _CODE_PAGE == 936 /* Simplified Chinese GBK */ 8 | #include "cc936.c" 9 | #elif _CODE_PAGE == 949 /* Korean */ 10 | #include "cc949.c" 11 | #elif _CODE_PAGE == 950 /* Traditional Chinese Big5 */ 12 | #include "cc950.c" 13 | #else /* Single Byte Character-Set */ 14 | #include "ccsbcs.c" 15 | #endif 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/EWARM/stm32f2xx_flash_extsram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x64000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x640FFFFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; /* EXTSRAM_region */ 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/EWARM/stm32f2xx_sram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x20000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; 32 | -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/Ex_Flash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/Ex_Flash.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/Ex_Flash.h: -------------------------------------------------------------------------------- 1 | #ifndef _Ex_Flash_H 2 | #define _Ex_Flash_H 3 | #include 4 | 5 | /* Private define ------------------------------------------------------------*/ 6 | #define WRITE 0x02 /* Write to Memory instruction */ 7 | #define QUADWRITE 0x32 /* Quad Write to Memory instruction */ 8 | #define WRSR 0x01 /* Write Status Register instruction */ 9 | #define WREN 0x06 /* Write enable instruction */ 10 | 11 | #define READ 0x03 /* Read from Memory instruction */ 12 | #define QUADREAD 0x6B /* Read from Memory instruction */ 13 | #define RDSR 0x05 /* Read Status Register instruction */ 14 | #define RDID 0x9F /* Read identification */ 15 | #define SE 0x20 /* Sector Erase instruction */ 16 | #define BE 0xC7 /* Bulk Erase instruction */ 17 | 18 | #define WTSR 0x05 /* Write Status Register instruction */ 19 | 20 | 21 | #define WIP_Flag 0x01 /* Write In Progress (WIP) flag */ 22 | #define Dummy_Byte 0xA5 23 | 24 | 25 | #define Ex_FLASH_PageSize 0x100 26 | 27 | #define Ex_FLASH_SecSize 0x1000 28 | 29 | #define Ex_FLASH_Max_Addr (Ex_FLASH_SecSize*512) 30 | 31 | #define Ex_Flash_OK 0 32 | #define Ex_Flash_Over_Addr 1 33 | 34 | uint8_t Ex_FLASH_Write(uint32_t WriteAddr,uint8_t* pBuffer, uint16_t NumByteToWrite); 35 | uint8_t Ex_Flash_RD_Sec(uint32_t Sec_Num,uint8_t* RcvBuf); 36 | uint8_t Ex_Flash_RD(uint32_t ReadAddr,uint8_t* RcvBuf,uint32_t NByte); 37 | void Ex_FLASH_ReadUID(uint8_t *uid); 38 | uint32_t Ex_FLASH_ReadID(void); 39 | uint8_t Ex_FLASH_SectorErase(uint32_t Sec_Num); 40 | 41 | #endif 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/LCD_disp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/LCD_disp.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/LCD_disp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/LCD_disp.h -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/USBAPP/usbd_storage_msd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/USBAPP/usbd_storage_msd.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/USBAPP/usbd_usr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/USBAPP/usbd_usr.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/main.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/stm32f2x_sdio_sd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/stm32f2x_sdio_sd.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/stm32f2x_sdio_sd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/stm32f2x_sdio_sd.h -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/stm32f2xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/32-USB-Slave-MSC/Project/stm32f2xx_it.c -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/systick.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file TIMER/Cascade_Synchro/systick.c 4 | * @author MCU SD 5 | * @version V1.0.0 6 | * @date 15-Jul-2015 7 | * @brief The SysTick configuration file. 8 | ****************************************************************************** 9 | */ 10 | 11 | /* Includes ------------------------------------------------------------------*/ 12 | #include "gd32f20x.h" 13 | #include "SysTick.h" 14 | 15 | /* Private variables ---------------------------------------------------------*/ 16 | static __IO uint32_t TimingDelay; 17 | 18 | /* Private functions ---------------------------------------------------------*/ 19 | /** 20 | * @brief Configure a SysTick Base time to 1us. 21 | * @param None 22 | * @retval None 23 | */ 24 | void SysTick_Configuration(void) 25 | { 26 | /* Setup SysTick Timer for 1ms interrupts */ 27 | if (SysTick_Config(SystemCoreClock / 1000)) 28 | { 29 | /* Capture error */ 30 | while (1); 31 | } 32 | /* Configure the SysTick handler priority */ 33 | NVIC_SetPriority(SysTick_IRQn, 0x00); 34 | } 35 | 36 | /** 37 | * @brief Insert a delay time. 38 | * @param nTime: specifies the delay time length, in milliseconds. 39 | * @retval None 40 | */ 41 | void Delay_1ms(uint32_t nTime) 42 | { 43 | TimingDelay = nTime; 44 | while(TimingDelay != 0); 45 | } 46 | 47 | /** 48 | * @brief Decrement the TimingDelay variable. 49 | * @param None. 50 | * @retval None 51 | */ 52 | void TimingDelay_Decrement(void) 53 | { 54 | if (TimingDelay != 0x00) 55 | { 56 | TimingDelay--; 57 | } 58 | } 59 | 60 | /******************* (C) COPYRIGHT 2015 GIGADEVICE *****END OF FILE****/ 61 | -------------------------------------------------------------------------------- /32-USB-Slave-MSC/Project/systick.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file TIMER/Cascade_Synchro/systick.h 4 | * @author MCU SD 5 | * @version V1.0.0 6 | * @date 15-Jul-2015 7 | * @brief The header file of the SysTick configuration. 8 | ****************************************************************************** 9 | */ 10 | 11 | /* Define to prevent recursive inclusion -------------------------------------*/ 12 | #ifndef SYS_TICK_H 13 | #define SYS_TICK_H 14 | 15 | /* Exported functions ------------------------------------------------------- */ 16 | void SysTick_Configuration(void); 17 | void Delay_1ms(uint32_t nTime); 18 | void TimingDelay_Decrement(void); 19 | 20 | #endif /* SYS_TICK_H */ 21 | 22 | /******************* (C) COPYRIGHT 2015 GIGADEVICE *****END OF FILE****/ 23 | -------------------------------------------------------------------------------- /33-USART-DMA-Receive/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /33-USART-DMA-Receive/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /33-USART-DMA-Receive/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/33-USART-DMA-Receive/main.c -------------------------------------------------------------------------------- /34-USART-Receive-DMAInterrupt/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /34-USART-Receive-DMAInterrupt/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /34-USART-Receive-DMAInterrupt/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/34-USART-Receive-DMAInterrupt/main.c -------------------------------------------------------------------------------- /35-USART-DMA-Receive-Interrupt/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /35-USART-DMA-Receive-Interrupt/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /35-USART-DMA-Receive-Interrupt/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/35-USART-DMA-Receive-Interrupt/main.c -------------------------------------------------------------------------------- /35-USART-DMA-Receive-Interrupt/stm32f2xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/35-USART-DMA-Receive-Interrupt/stm32f2xx_it.c -------------------------------------------------------------------------------- /36-USART-DMA-Receive-Send/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /36-USART-DMA-Receive-Send/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /36-USART-DMA-Receive-Send/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/36-USART-DMA-Receive-Send/main.c -------------------------------------------------------------------------------- /36-USART-DMA-Receive-Send/stm32f2xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/36-USART-DMA-Receive-Send/stm32f2xx_it.c -------------------------------------------------------------------------------- /37-USART-Ringbuff/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /37-USART-Ringbuff/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /37-USART-Ringbuff/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/37-USART-Ringbuff/main.c -------------------------------------------------------------------------------- /38-MPU6050/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /38-MPU6050/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /38-MPU6050/MPU6050/eMPL/inv_mpu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/MPU6050/eMPL/inv_mpu.c -------------------------------------------------------------------------------- /38-MPU6050/MPU6050/eMPL/inv_mpu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/MPU6050/eMPL/inv_mpu.h -------------------------------------------------------------------------------- /38-MPU6050/MPU6050/eMPL/inv_mpu_dmp_motion_driver.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/MPU6050/eMPL/inv_mpu_dmp_motion_driver.c -------------------------------------------------------------------------------- /38-MPU6050/MPU6050/mpu6050.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/MPU6050/mpu6050.c -------------------------------------------------------------------------------- /38-MPU6050/MPU6050/mpu6050.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/MPU6050/mpu6050.h -------------------------------------------------------------------------------- /38-MPU6050/README.md: -------------------------------------------------------------------------------- 1 | # STM32F207VC-LCD 2 | 3 | 驱动LCD,显示红色的字母和数字,字体大小:宽8高16 4 | 5 | LCD的型号是深圳市拓普微科技开发有限公司的LMT028,[官网链接](http://www.topwaydisplay.com/cn/products/LMT028DHHFWL-NBN.html) 6 | 7 | 8 | -------------------------------------------------------------------------------- /38-MPU6050/i2c_io.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/i2c_io.c -------------------------------------------------------------------------------- /38-MPU6050/i2c_io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/i2c_io.h -------------------------------------------------------------------------------- /38-MPU6050/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/main.c -------------------------------------------------------------------------------- /38-MPU6050/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | void TimingDelay_Decrement(void); 41 | void Delay(__IO uint32_t nTime); 42 | 43 | #endif /* __MAIN_H */ 44 | 45 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 46 | -------------------------------------------------------------------------------- /38-MPU6050/report_data.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/report_data.c -------------------------------------------------------------------------------- /38-MPU6050/report_data.h: -------------------------------------------------------------------------------- 1 | #ifndef __REPORT_DATA_H 2 | #define __REPORT_DATA_H 3 | 4 | #include "stm32f2xx.h" 5 | 6 | 7 | extern void mpu6050_send_data(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz); 8 | extern void usart1_report_imu(short aacx,short aacy,short aacz,short gyrox,short gyroy,short gyroz,short roll,short pitch,short yaw); 9 | 10 | #endif -------------------------------------------------------------------------------- /38-MPU6050/sys_delay.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/38-MPU6050/sys_delay.c -------------------------------------------------------------------------------- /38-MPU6050/sys_delay.h: -------------------------------------------------------------------------------- 1 | #ifndef __SYS_DELAY_H 2 | #define __SYS_DELAY_H 3 | 4 | #include "stm32f2xx.h" 5 | 6 | extern void SysCtlDelay(unsigned long ulCount); 7 | extern void Sys_delay_ms(unsigned long ulCount); 8 | 9 | #endif 10 | 11 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 12 | -------------------------------------------------------------------------------- /39-Measure-Time/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /39-Measure-Time/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /39-Measure-Time/README.md: -------------------------------------------------------------------------------- 1 | # Measure-Time 2 | 通过定时器测量代码运行时间 3 | -------------------------------------------------------------------------------- /39-Measure-Time/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/39-Measure-Time/main.c -------------------------------------------------------------------------------- /39-Measure-Time/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | 41 | 42 | #endif /* __MAIN_H */ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 45 | -------------------------------------------------------------------------------- /40-DWT/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /40-DWT/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /40-DWT/README.md: -------------------------------------------------------------------------------- 1 | # DWT 2 | 使用DWT模块延时,测量代码运行时间 3 | -------------------------------------------------------------------------------- /40-DWT/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/40-DWT/main.c -------------------------------------------------------------------------------- /40-DWT/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | 41 | 42 | #endif /* __MAIN_H */ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 45 | -------------------------------------------------------------------------------- /41-SoftwareTask/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /41-SoftwareTask/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /41-SoftwareTask/README.md: -------------------------------------------------------------------------------- 1 | # SoftwareTask 2 | SoftwareTask简单的任务调度器 3 | -------------------------------------------------------------------------------- /41-SoftwareTask/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/41-SoftwareTask/main.c -------------------------------------------------------------------------------- /41-SoftwareTask/main.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file Project/STM32F2xx_StdPeriph_Template/main.h 4 | * @author MCD Application Team 5 | * @version V1.1.0 6 | * @date 13-April-2012 7 | * @brief Header for main.c module 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© COPYRIGHT 2012 STMicroelectronics

12 | * 13 | * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 | * You may not use this file except in compliance with the License. 15 | * You may obtain a copy of the License at: 16 | * 17 | * http://www.st.com/software_license_agreement_liberty_v2 18 | * 19 | * Unless required by applicable law or agreed to in writing, software 20 | * distributed under the License is distributed on an "AS IS" BASIS, 21 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 | * See the License for the specific language governing permissions and 23 | * limitations under the License. 24 | * 25 | ****************************************************************************** 26 | */ 27 | 28 | /* Define to prevent recursive inclusion -------------------------------------*/ 29 | #ifndef __MAIN_H 30 | #define __MAIN_H 31 | 32 | /* Includes ------------------------------------------------------------------*/ 33 | #include "stm32f2xx.h" 34 | #include 35 | 36 | /* Exported types ------------------------------------------------------------*/ 37 | /* Exported constants --------------------------------------------------------*/ 38 | /* Exported macro ------------------------------------------------------------*/ 39 | /* Exported functions ------------------------------------------------------- */ 40 | 41 | 42 | #endif /* __MAIN_H */ 43 | 44 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 45 | -------------------------------------------------------------------------------- /41-SoftwareTask/software_task.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __SOFTWARE_TASK_H__ 3 | #define __SOFTWARE_TASK_H__ 4 | 5 | #include "stdint.h" 6 | 7 | //任务个数和占用内存相关 8 | #define CONFIG_TASK_NUMBER 8 //任务个数,1~254,任务号越低,优先级越高 9 | #define RR_EVENTS_TIMER (0x0001) 10 | 11 | #define TCB_SIZE ((CONFIG_TASK_NUMBER >> 3) + 1) 12 | 13 | #define SW_NULL 0 14 | 15 | 16 | typedef uint8_t (*fun_callback)(uint8_t task_id, uint16_t events, void *p); 17 | 18 | 19 | typedef struct 20 | { 21 | uint32_t tick; //任务计时?? 22 | uint32_t tick_delay; //任务执行间隔 23 | // events为2字节事件标志,每bit表示一个事件,最大可表示16个事件, 24 | //其中bit0为定时器事件,置1有效,置0无效 25 | uint16_t events; 26 | fun_callback fun; //任务执行函数 27 | } S_TASK; 28 | 29 | 30 | //使用方法流程 31 | // step1:SW_task_tick_cnt()放定示器计时 32 | // step2:SW_task_scheduler()死循环调度,或用定时器调度 33 | // step3:SW_task_create()建立任务; 34 | // step4:SW_task_start_scheduler()使能调度 35 | // events为2字节事件标志,每bit表示一个事件,最大可表示16个事件 36 | //其中bit0为定时器事件,置1有效,置0无效 37 | 38 | 39 | 40 | extern void SW_task_init(void); 41 | extern void SW_task_start_scheduler(void); 42 | extern void SW_task_tick_cnt(void); //放定时器计时 43 | extern void SW_task_set_events(uint8_t task_id, uint16_t event); 44 | extern void SW_task_set_events_irq(uint8_t task_id, uint16_t event); 45 | extern uint8_t SW_task_create(uint8_t task_id, fun_callback callback, uint32_t tick_delay); 46 | extern void SW_task_scheduler(void); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /42-cmd-parser/EWARM/Project.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Project.ewp 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /42-cmd-parser/EWARM/stm32f2xx_flash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | 17 | define memory mem with size = 4G; 18 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 19 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; 20 | 21 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 22 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 23 | 24 | initialize by copy { readwrite }; 25 | do not initialize { section .noinit }; 26 | 27 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 28 | 29 | place in ROM_region { readonly }; 30 | place in RAM_region { readwrite, 31 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /42-cmd-parser/README.md: -------------------------------------------------------------------------------- 1 | # 说明 2 | 3 | 原作者链接 4 | https://github.com/jiejieTop -------------------------------------------------------------------------------- /42-cmd-parser/cmd-parser/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | -------------------------------------------------------------------------------- /42-cmd-parser/cmd-parser/README.md: -------------------------------------------------------------------------------- 1 | ![](https://img.shields.io/badge/build-passing-brightgreen.svg) 2 | [![license](https://img.shields.io/badge/license-Apache-blue.svg)](https://github.com/jiejieTop/cmd-parser/blob/master/LICENSE) 3 | ![](https://img.shields.io/badge/platform-MDK|IAR-orange.svg) 4 | 5 | # cmd-parser 6 | 7 | 一个非常简单好用的命令解析器... 8 | 9 | 这个命令解析器有什么用?? 10 | 11 | > 简单来说,我希望我的开发板,可以通过命令执行一些处理,比如说我用串口发一个命令`A`,开发板就执行`A`的一些处理,或者,在调试某些`AT`模组的时候,当我收到模组返回的一些指令后,自动执行一些处理。当然,还有其他的地方可以用得上的,兄弟们自行挖掘!!欢迎提交**pr**与点个**star**~ 12 | 13 | ## 问题 14 | 15 | 欢迎以 [GitHub Issues](https://github.com/jiejieTop/mqttclient/issues) 的形式提交问题和bug报告 16 | 17 | ## 版权和许可 18 | 19 | cmd-parser 遵循 [Apache License v2.0](https://github.com/jiejieTop/mqttclient/blob/master/LICENSE) 开源协议。鼓励代码共享和尊重原作者的著作权,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或闭源软件发布,**但必须保留原作者版权声明**。 20 | 21 | ## 使用方法 22 | 23 | 1. 注册命令 24 | 25 | 在工程中的任意位置均可调用(在函数外) 26 | 27 | ```c 28 | REGISTER_CMD(test1, test1_cmd); 29 | ``` 30 | 31 | 2. cmd初始化 32 | 33 | ```c 34 | cmd_init(); 35 | ``` 36 | 37 | 3. 解析命令 38 | 39 | ```c 40 | cmd_parsing("test1"); 41 | ``` 42 | 43 | ## 特色 44 | 45 | - 用户无需关心命令的存储区域与大小,由编译器静态分配。 46 | - 加入哈希算法超快速匹配命令,时间复杂度从O(n*m)变为O(n)。 47 | - 命令支持忽略大小写。 48 | - 非常易用与非常简洁的代码(不足150行)。 49 | 50 | ## 注意事项 51 | 52 | - 本代码目前只支持`MDK`与`IAR`的编译器,对于`gcc`尚未移植,欢迎参与贡献 53 | 54 | 55 | ## test.c 56 | ```c 57 | #include "cmd.h" 58 | 59 | void test1_cmd(void) 60 | { 61 | printf("test1_cmd\n"); 62 | } 63 | 64 | void test2_cmd(void) 65 | { 66 | printf("test2_cmd\n"); 67 | } 68 | 69 | void test3_cmd(void) 70 | { 71 | printf("test3_cmd\n"); 72 | } 73 | 74 | REGISTER_CMD(test1, test1_cmd); 75 | REGISTER_CMD(test2, test2_cmd); 76 | REGISTER_CMD(test3, test3_cmd); 77 | 78 | int main(void) 79 | { 80 | cmd_init(); 81 | 82 | while (1) 83 | { 84 | cmd_parsing("test1"); 85 | cmd_parsing("test2"); 86 | cmd_parsing("test3"); 87 | } 88 | 89 | return 0; 90 | } 91 | ``` 92 | -------------------------------------------------------------------------------- /42-cmd-parser/cmd-parser/cmd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/42-cmd-parser/cmd-parser/cmd.c -------------------------------------------------------------------------------- /42-cmd-parser/cmd-parser/cmd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: jiejie 3 | * @Github: https://github.com/jiejieTop 4 | * @Date: 2019-12-13 10:48:52 5 | * @LastEditTime: 2019-12-16 21:26:56 6 | * @Description: the code belongs to jiejie, please keep the author information and source code according to the license. 7 | */ 8 | #ifndef _CMD_H_ 9 | #define _CMD_H_ 10 | 11 | #define CMD_HASH 0xb433e5c6 12 | 13 | #if defined(__CC_ARM) || defined(__CLANG_ARM) /* ARM Compiler */ 14 | #define SECTION(x) __attribute__((section(x))) 15 | #define CMD_USED __attribute__((used)) 16 | 17 | #elif defined (__IAR_SYSTEMS_ICC__) /* IAR Compiler */ 18 | #define SECTION(x) @ x 19 | #define CMD_USED __root 20 | #else 21 | #error "not supported tool chain..." 22 | #endif 23 | 24 | 25 | typedef void (*cmd_handler)(void); 26 | 27 | typedef struct cmd { 28 | const char* cmd; 29 | const char* cmd_mess; 30 | unsigned int hash; 31 | cmd_handler handler; 32 | } cmd_t; 33 | 34 | #define REGISTER_CMD(cmd, handler,desc) \ 35 | const char _register_##cmd##_cmd[] = #cmd; \ 36 | const char _register_##cmd##_desc[] = #desc; \ 37 | CMD_USED cmd_t _register_##cmd SECTION("CMDS")= \ 38 | { \ 39 | _register_##cmd##_cmd, \ 40 | _register_##cmd##_desc, \ 41 | (unsigned int)CMD_HASH, \ 42 | (cmd_handler)&handler \ 43 | }; 44 | 45 | void cmd_init(void); 46 | void cmd_parsing(char *str); 47 | 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /42-cmd-parser/cmd-parser/test.c: -------------------------------------------------------------------------------- 1 | /* 2 | * @Author: jiejie 3 | * @Github: https://github.com/jiejieTop 4 | * @Date: 2019-12-13 19:15:30 5 | * @LastEditTime: 2019-12-17 13:38:49 6 | * @Description: the code belongs to jiejie, please keep the author information and source code according to the license. 7 | */ 8 | #include "cmd.h" 9 | 10 | void test1_cmd(void) 11 | { 12 | printf("test1_cmd\n"); 13 | } 14 | 15 | void test2_cmd(void) 16 | { 17 | printf("test2_cmd\n"); 18 | } 19 | 20 | void test3_cmd(void) 21 | { 22 | printf("test3_cmd\n"); 23 | } 24 | 25 | REGISTER_CMD(test1, test1_cmd,test1 demo); 26 | REGISTER_CMD(test2, test2_cmd,test2 demo); 27 | REGISTER_CMD(test3, test3_cmd,test3 demo); 28 | 29 | int main(void) 30 | { 31 | cmd_init(); 32 | 33 | while (1) 34 | { 35 | cmd_parsing("_list"); 36 | cmd_parsing("test1"); 37 | cmd_parsing("test2"); 38 | cmd_parsing("test3"); 39 | delay(1000); 40 | } 41 | 42 | return 0; 43 | } 44 | -------------------------------------------------------------------------------- /42-cmd-parser/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/strongercjd/STM32F207VCT6/d4208aaa6066a2ddcba919f2bf62482403c0afb3/42-cmd-parser/main.c --------------------------------------------------------------------------------