From 40e04e3772726829d66c12e69f24b03920d79c67 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 25 Jan 2017 22:24:18 +0100 Subject: o Moving tinyprintf and stm libraries under thirdparty. --- .../Projects/Audio_Speaker/EWARM/AudioSpeaker.ewd | 4627 +++++++ .../Projects/Audio_Speaker/EWARM/AudioSpeaker.ewp | 3956 ++++++ .../Projects/Audio_Speaker/EWARM/AudioSpeaker.eww | 34 + .../Audio_Speaker/EWARM/stm32f10x_flash.icf | 31 + .../Audio_Speaker/EWARM/stm32l1xx_flash.icf | 31 + .../Audio_Speaker/MDK-ARM/AudioSpeaker.uvproj | 4415 ++++++ .../Projects/Audio_Speaker/RIDE/AudioSpeaker.rapp | 826 ++ .../Projects/Audio_Speaker/RIDE/AudioSpeaker.rprj | 17 + .../Audio_Speaker/TASKING/STM3210B-EVAL/.cproject | 135 + .../Audio_Speaker/TASKING/STM3210B-EVAL/.project | 192 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 44 + .../TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl | 165 + .../TASKING/STM3210E-EVAL_XL/.project | 207 + .../Audio_Speaker/TASKING/STM32L152-EVAL/.cproject | 137 + .../Audio_Speaker/TASKING/STM32L152-EVAL/.project | 212 + .../TASKING/STM32L152-EVAL/STM32L152-EVAL.launch | 44 + .../TrueSTUDIO/STM3210B-EVAL/.cproject | 267 + .../TrueSTUDIO/STM3210B-EVAL/.project | 231 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210B-EVAL/STM3210B-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL/.project | 235 + .../STM3210E-EVAL/STM3210E-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 231 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM32L152-EVAL/.project | 241 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152-EVAL/STM32_flash.ld | 171 + .../Projects/Audio_Speaker/inc/i2s_codec.h | 193 + .../Projects/Audio_Speaker/inc/platform_config.h | 129 + .../Projects/Audio_Speaker/inc/stm32_it.h | 63 + .../Projects/Audio_Speaker/inc/stm32f10x_conf.h | 85 + .../Projects/Audio_Speaker/inc/usb_istr.h | 93 + .../Projects/Audio_Speaker/inc/usb_pwr.h | 72 + .../Projects/Audio_Speaker/readme.txt | 148 + .../Projects/Audio_Speaker/src/hw_config.c | 461 + .../Projects/Audio_Speaker/src/i2s_codec.c | 1573 +++ .../Projects/Audio_Speaker/src/main.c | 87 + .../Projects/Audio_Speaker/src/stm32_it.c | 336 + .../Projects/Audio_Speaker/src/system_stm32f10x.c | 917 ++ .../Projects/Audio_Speaker/src/system_stm32l1xx.c | 533 + .../Projects/Audio_Speaker/src/usb_desc.c | 251 + .../Projects/Audio_Speaker/src/usb_istr.c | 248 + .../Projects/Audio_Speaker/src/usb_pwr.c | 318 + .../Composite_Example/EWARM/stm32f10x_flash.icf | 31 + .../Composite_Example/EWARM/stm32f30x_flash.icf | 31 + .../Composite_Example/EWARM/stm32l1xx_flash.icf | 31 + .../MDK-ARM/Composite_Example.uvopt | 2649 ++++ .../MDK-ARM/Composite_Example.uvproj | 13585 +++++++++++++++++++ .../Composite_Example/RIDE/Composite_Example.rprj | 4 + .../TASKING/STM3210B-EVAL/.project | 247 + .../TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl | 148 + .../TASKING/STM3210E-EVAL/.cproject | 112 + .../TASKING/STM3210E-EVAL/.launch | 44 + .../TASKING/STM3210E-EVAL/.project | 203 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 41 + .../TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl | 165 + .../TASKING/STM3210E-EVAL_XL/.cproject | 112 + .../TASKING/STM3210E-EVAL_XL/.launch | 44 + .../TASKING/STM3210E-EVAL_XL/.project | 247 + .../STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl | 165 + .../TASKING/STM32303C_EVAL/.cproject | 119 + .../TASKING/STM32373C_EVAL/.cproject | 123 + .../TASKING/STM32373C_EVAL/STM32373C_EVAL.launch | 41 + .../TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl | 200 + .../TASKING/STM32L152-EVAL/.cproject | 112 + .../TASKING/STM32L152-EVAL/.project | 237 + .../TASKING/STM32L152D-EVAL/.launch | 44 + .../TASKING/STM32L152D-EVAL/.project | 237 + .../STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl | 205 + .../TrueSTUDIO/STM3210B-EVAL/.cproject | 265 + .../TrueSTUDIO/STM3210B-EVAL/.project | 291 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../STM3210B-EVAL/STM3210B-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld | 170 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../STM3210E-EVAL/STM3210E-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 262 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 296 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM32303C-EVAL/.cproject | 352 + .../TrueSTUDIO/STM32303C-EVAL/.project | 340 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../TrueSTUDIO/STM32373C-EVAL/.cproject | 352 + .../TrueSTUDIO/STM32373C-EVAL/.project | 345 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../.settings/org.eclipse.cdt.core.prefs | 4 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../STM32373C-EVAL/STM32373C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld | 170 + .../TrueSTUDIO/STM32L152-EVAL/.cproject | 265 + .../TrueSTUDIO/STM32L152-EVAL/.project | 281 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 44 + .../TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld | 171 + .../TrueSTUDIO/STM32L152D-EVAL/.cproject | 265 + .../TrueSTUDIO/STM32L152D-EVAL/.project | 286 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld | 171 + .../Projects/Composite_Example/inc/fsmc_nand.h | 112 + .../Projects/Composite_Example/inc/mass_mal.h | 49 + .../Projects/Composite_Example/inc/memory.h | 46 + .../Composite_Example/inc/platform_config.h | 224 + .../Projects/Composite_Example/inc/stm32_it.h | 57 + .../Composite_Example/inc/stm32f10x_conf.h | 85 + .../Composite_Example/inc/stm32f30x_conf.h | 82 + .../Composite_Example/inc/stm32f37x_conf.h | 83 + .../Composite_Example/inc/stm32l1xx_conf.h | 83 + .../Projects/Composite_Example/inc/usb_desc.h | 69 + .../Projects/Composite_Example/inc/usb_istr.h | 95 + .../Projects/Composite_Example/inc/usb_prop.h | 89 + .../Projects/Composite_Example/inc/usb_pwr.h | 70 + .../Projects/Composite_Example/inc/usb_scsi.h | 154 + .../Projects/Composite_Example/readme.txt | 177 + .../Projects/Composite_Example/src/fsmc_nand.c | 503 + .../Projects/Composite_Example/src/hw_config.c | 707 + .../Projects/Composite_Example/src/mass_mal.c | 233 + .../Projects/Composite_Example/src/memory.c | 175 + .../Projects/Composite_Example/src/nand_if.c | 557 + .../Projects/Composite_Example/src/scsi_data.c | 158 + .../Projects/Composite_Example/src/stm32_it.c | 426 + .../Composite_Example/src/system_stm32f10x.c | 917 ++ .../Composite_Example/src/system_stm32f30x.c | 382 + .../Composite_Example/src/system_stm32l1xx.c | 533 + .../Projects/Composite_Example/src/usb_bot.c | 343 + .../Projects/Composite_Example/src/usb_desc.c | 299 + .../Projects/Composite_Example/src/usb_endp.c | 159 + .../Projects/Composite_Example/src/usb_prop.c | 581 + .../Projects/Composite_Example/src/usb_pwr.c | 318 + .../Projects/Custom_HID/EWARM/Custom_HID.ewd | 8092 +++++++++++ .../Projects/Custom_HID/EWARM/Custom_HID.ewp | 6868 ++++++++++ .../Projects/Custom_HID/EWARM/Custom_HID.eww | 34 + .../Projects/Custom_HID/EWARM/stm32f10x_flash.icf | 31 + .../Projects/Custom_HID/EWARM/stm32f30x_flash.icf | 31 + .../Projects/Custom_HID/EWARM/stm32f37x_flash.icf | 33 + .../Projects/Custom_HID/EWARM/stm32l1xx_flash.icf | 31 + .../Projects/Custom_HID/MDK-ARM/Custom_HID.uvproj | 12783 +++++++++++++++++ .../Projects/Custom_HID/RIDE/Custom_HID.rprj | 4 + .../Custom_HID/TASKING/STM3210B-EVAL/.cproject | 136 + .../Custom_HID/TASKING/STM3210B-EVAL/.project | 202 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl | 148 + .../Custom_HID/TASKING/STM3210E-EVAL/.cproject | 138 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 48 + .../Custom_HID/TASKING/STM3210E-EVAL_XL/.project | 207 + .../STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch | 44 + .../Custom_HID/TASKING/STM32303C_EVAL/.cproject | 111 + .../Custom_HID/TASKING/STM32303C_EVAL/.project | 202 + .../TASKING/STM32303C_EVAL/STM32303C_EVAL.launch | 41 + .../TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl | 211 + .../Custom_HID/TASKING/STM32373C_EVAL/.project | 207 + .../TASKING/STM32373C_EVAL/STM32373C_EVAL.launch | 41 + .../TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl | 200 + .../Custom_HID/TASKING/STM32L152-EVAL/.cproject | 137 + .../Custom_HID/TASKING/STM32L152-EVAL/.project | 207 + .../Custom_HID/TASKING/STM32L152D-EVAL/.cproject | 137 + .../Custom_HID/TASKING/STM32L152D-EVAL/.project | 212 + .../TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch | 48 + .../STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl | 205 + .../Custom_HID/TrueSTUDIO/STM3210B-EVAL/.cproject | 267 + .../Custom_HID/TrueSTUDIO/STM3210B-EVAL/.project | 241 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld | 170 + .../Custom_HID/TrueSTUDIO/STM3210E-EVAL/.cproject | 353 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 264 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 241 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld | 170 + .../Custom_HID/TrueSTUDIO/STM32303C-EVAL/.cproject | 352 + .../Custom_HID/TrueSTUDIO/STM32303C-EVAL/.project | 310 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld | 190 + .../Custom_HID/TrueSTUDIO/STM32373C-EVAL/.cproject | 352 + .../Custom_HID/TrueSTUDIO/STM32373C-EVAL/.project | 315 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32373C-EVAL/STM32373C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld | 170 + .../Custom_HID/TrueSTUDIO/STM32L152-EVAL/.cproject | 267 + .../Custom_HID/TrueSTUDIO/STM32L152-EVAL/.project | 246 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/.cproject | 267 + .../Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.project | 246 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld | 171 + .../Projects/Custom_HID/inc/hw_config.h | 58 + .../Projects/Custom_HID/inc/platform_config.h | 210 + .../Projects/Custom_HID/inc/stm32_it.h | 57 + .../Projects/Custom_HID/inc/stm32f10x_conf.h | 85 + .../Projects/Custom_HID/inc/stm32f30x_conf.h | 82 + .../Projects/Custom_HID/inc/stm32f37x_conf.h | 83 + .../Projects/Custom_HID/inc/stm32l1xx_conf.h | 82 + .../Projects/Custom_HID/inc/usb_istr.h | 95 + .../Projects/Custom_HID/readme.txt | 177 + .../Projects/Custom_HID/src/main.c | 103 + .../Projects/Custom_HID/src/stm32_it.c | 401 + .../Projects/Custom_HID/src/system_stm32f30x.c | 382 + .../Projects/Custom_HID/src/system_stm32f37x.c | 380 + .../Projects/Custom_HID/src/usb_desc.c | 285 + .../Projects/Custom_HID/src/usb_istr.c | 236 + .../Projects/Custom_HID/src/usb_prop.c | 534 + .../Projects/Custom_HID/src/usb_pwr.c | 318 + .../Projects/Device_Firmware_Upgrade/EWARM/DFU.ewd | 8092 +++++++++++ .../Projects/Device_Firmware_Upgrade/EWARM/DFU.ewp | 6913 ++++++++++ .../Projects/Device_Firmware_Upgrade/EWARM/DFU.eww | 34 + .../EWARM/stm32f10x_flash.icf | 31 + .../EWARM/stm32f30x_flash.icf | 31 + .../EWARM/stm32f37x_flash.icf | 33 + .../EWARM/stm32l1xx_flash.icf | 31 + .../Device_Firmware_Upgrade/MDK-ARM/DFU.uvopt | 2520 ++++ .../Projects/Device_Firmware_Upgrade/RIDE/DFU.rapp | 1542 +++ .../TASKING/STM3210B-EVAL/.project | 217 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl | 148 + .../TASKING/STM3210E-EVAL/.cproject | 138 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 48 + .../TASKING/STM3210E-EVAL_XL/.cproject | 138 + .../TASKING/STM3210E-EVAL_XL/.project | 237 + .../STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch | 48 + .../STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl | 165 + .../TASKING/STM32303C_EVAL/.project | 207 + .../TASKING/STM32373C_EVAL/.cproject | 113 + .../TASKING/STM32373C_EVAL/.project | 207 + .../TASKING/STM32373C_EVAL/STM32373C_EVAL.launch | 41 + .../TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl | 200 + .../TASKING/STM32L152-EVAL/.cproject | 138 + .../TASKING/STM32L152-EVAL/.project | 217 + .../TASKING/STM32L152D-EVAL/.cproject | 138 + .../TASKING/STM32L152D-EVAL/.project | 222 + .../STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl | 205 + .../TrueSTUDIO/STM3210B-EVAL/.cproject | 267 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL/.cproject | 353 + .../TrueSTUDIO/STM3210E-EVAL/.project | 265 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 264 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 261 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM32303C-EVAL/.cproject | 352 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld | 190 + .../TrueSTUDIO/STM32373C-EVAL/.cproject | 352 + .../TrueSTUDIO/STM32373C-EVAL/.project | 320 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32373C-EVAL/STM32373C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld | 170 + .../TrueSTUDIO/STM32L152-EVAL/.project | 246 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld | 171 + .../TrueSTUDIO/STM32L152D-EVAL/.cproject | 362 + .../STM32L152D-EVAL/STM32L152D-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld | 171 + .../binary_template/EWARM/SysTick.ewd | 8092 +++++++++++ .../binary_template/EWARM/SysTick.ewp | 6777 +++++++++ .../binary_template/EWARM/SysTick.eww | 34 + .../EWARM/stm32f10x_flash_offset.icf | 31 + .../EWARM/stm32f30x_flash_offset.icf | 31 + .../EWARM/stm32l1xx_flash_offset.icf | 31 + .../binary_template/MDK-ARM/SysTick.uvproj | 12188 +++++++++++++++++ .../binary_template/RIDE/SysTick.rprj | 4 + .../RIDE/stm32f10x_md_flash_offset.ld | 242 + .../RIDE/stm32f10x_xl_flash_offset.ld | 242 + .../binary_template/RIDE/stm32f37x_flash_offset.ld | 242 + .../TASKING/STM3210B-EVAL/.cproject | 136 + .../binary_template/TASKING/STM3210B-EVAL/.project | 127 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.hex | 51 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl | 148 + .../TASKING/STM3210E-EVAL/.cproject | 135 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.hex | 52 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 44 + .../TASKING/STM3210E-EVAL/STM3210E.dfu | Bin 0 -> 1665 bytes .../TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl | 165 + .../TASKING/STM3210E-EVAL_XL/.cproject | 135 + .../TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.hex | 52 + .../STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch | 44 + .../TASKING/STM32303C_EVAL/.cproject | 106 + .../binary_template/TASKING/STM32303C_EVAL/.launch | 44 + .../TASKING/STM32303C_EVAL/.project | 137 + .../TASKING/STM32303C_EVAL/STM32303C_EVAL.hex | 55 + .../TASKING/STM32303C_EVAL/STM32F30.dfu | Bin 0 -> 1775 bytes .../TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl | 211 + .../TASKING/STM32373C_EVAL/.cproject | 106 + .../TASKING/STM32373C_EVAL/.project | 132 + .../TASKING/STM32373C_EVAL/STM32373C_EVAL.hex | 54 + .../TASKING/STM32373C_EVAL/STM32F37.dfu | Bin 0 -> 1777 bytes .../TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl | 200 + .../TASKING/STM32L152-EVAL/STM32L152-EVAL.hex | 54 + .../TASKING/STM32L152-EVAL/STM32L152-EVAL.launch | 44 + .../STM32L152-EVAL/TASKING/stm32l1xx_md.lsl | 151 + .../TASKING/STM32L152-EVAL/TASKING/vssver.scc | Bin 0 -> 48 bytes .../TASKING/STM32L152D-EVAL/.project | 132 + .../STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl | 205 + .../TrueSTUDIO/STM3210B-EVAL/.project | 156 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210B-EVAL/STM3210B-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL/.cproject | 352 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210E-EVAL/STM3210E-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 263 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 156 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM32303C-EVAL/.cproject | 357 + .../TrueSTUDIO/STM32303C-EVAL/.project | 245 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../org.eclipse.cdt.managedbuilder.core.prefs | 12 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld | 190 + .../TrueSTUDIO/STM32373C-EVAL/.cproject | 355 + .../TrueSTUDIO/STM32373C-EVAL/.project | 250 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld | 170 + .../TrueSTUDIO/STM32L152-EVAL/.cproject | 267 + .../TrueSTUDIO/STM32L152-EVAL/.project | 156 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld | 171 + .../TrueSTUDIO/STM32L152D-EVAL/.cproject | 266 + .../TrueSTUDIO/STM32L152D-EVAL/.project | 156 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../binary_template/inc/main.h | 45 + .../binary_template/inc/platform_config.h | 80 + .../binary_template/inc/stm32_it.h | 55 + .../binary_template/inc/stm32f10x_conf.h | 85 + .../binary_template/inc/stm32f30x_conf.h | 82 + .../binary_template/inc/stm32l1xx_conf.h | 82 + .../binary_template/readme.txt | 219 + .../binary_template/src/main.c | 161 + .../binary_template/src/system_stm32f10x.c | 1100 ++ .../binary_template/src/system_stm32f37x.c | 380 + .../binary_template/src/system_stm32l1xx.c | 533 + .../Projects/Device_Firmware_Upgrade/inc/dfu_mal.h | 74 + .../Device_Firmware_Upgrade/inc/flash_if.h | 48 + .../Device_Firmware_Upgrade/inc/fsmc_nor.h | 71 + .../Projects/Device_Firmware_Upgrade/inc/nor_if.h | 47 + .../Device_Firmware_Upgrade/inc/platform_config.h | 160 + .../Device_Firmware_Upgrade/inc/stm32_it.h | 55 + .../Device_Firmware_Upgrade/inc/stm32f10x_conf.h | 85 + .../Device_Firmware_Upgrade/inc/stm32f30x_conf.h | 82 + .../Device_Firmware_Upgrade/inc/stm32f37x_conf.h | 83 + .../Device_Firmware_Upgrade/inc/stm32l1xx_conf.h | 82 + .../Device_Firmware_Upgrade/inc/usb_desc.h | 82 + .../Device_Firmware_Upgrade/inc/usb_prop.h | 141 + .../Projects/Device_Firmware_Upgrade/inc/usb_pwr.h | 68 + .../Projects/Device_Firmware_Upgrade/readme.txt | 173 + .../Projects/Device_Firmware_Upgrade/src/dfu_mal.c | 253 + .../Device_Firmware_Upgrade/src/flash_if.c | 171 + .../Device_Firmware_Upgrade/src/fsmc_nor.c | 427 + .../Projects/Device_Firmware_Upgrade/src/spi_if.c | 110 + .../Device_Firmware_Upgrade/src/system_stm32f30x.c | 382 + .../Device_Firmware_Upgrade/src/system_stm32f37x.c | 380 + .../Device_Firmware_Upgrade/src/usb_desc.c | 489 + .../Device_Firmware_Upgrade/src/usb_prop.c | 745 + .../Projects/Device_Firmware_Upgrade/src/usb_pwr.c | 318 + .../Projects/JoyStickMouse/EWARM/JoyStickMouse.ewd | 8092 +++++++++++ .../JoyStickMouse/EWARM/stm32f10x_flash.icf | 31 + .../JoyStickMouse/EWARM/stm32f30x_flash.icf | 31 + .../JoyStickMouse/MDK-ARM/JoyStickMouse.uvproj | 12713 +++++++++++++++++ .../JoyStickMouse/TASKING/STM3210B-EVAL/.cproject | 136 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl | 148 + .../TASKING/STM3210E-EVAL_XL/.cproject | 138 + .../TASKING/STM3210E-EVAL_XL/.project | 207 + .../STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch | 44 + .../STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl | 165 + .../JoyStickMouse/TASKING/STM32303C_EVAL/.cproject | 113 + .../JoyStickMouse/TASKING/STM32303C_EVAL/.project | 207 + .../TASKING/STM32303C_EVAL/STM32303C_EVAL.launch | 41 + .../TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl | 211 + .../JoyStickMouse/TASKING/STM32373C_EVAL/.cproject | 113 + .../JoyStickMouse/TASKING/STM32L152-EVAL/.project | 207 + .../TASKING/STM32L152-EVAL/STM32L152-EVAL.launch | 44 + .../TASKING/STM32L152D-EVAL/.cproject | 137 + .../TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch | 48 + .../TrueSTUDIO/STM3210B-EVAL/.project | 236 + .../STM3210B-EVAL/STM3210B-EVAL.elf.launch | 43 + .../STM3210E-EVAL/STM3210E-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 264 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM32303C-EVAL/.cproject | 352 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/.project | 315 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32373C-EVAL/STM32373C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32L152-EVAL/.cproject | 362 + .../TrueSTUDIO/STM32L152-EVAL/.project | 246 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld | 171 + .../TrueSTUDIO/STM32L152D-EVAL/.project | 246 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../Projects/JoyStickMouse/inc/hw_config.h | 62 + .../Projects/JoyStickMouse/inc/platform_config.h | 216 + .../Projects/JoyStickMouse/inc/stm32_it.h | 58 + .../Projects/JoyStickMouse/inc/stm32f10x_conf.h | 85 + .../Projects/JoyStickMouse/inc/stm32f37x_conf.h | 83 + .../Projects/JoyStickMouse/inc/stm32l1xx_conf.h | 82 + .../Projects/JoyStickMouse/inc/usb_conf.h | 91 + .../Projects/JoyStickMouse/inc/usb_istr.h | 95 + .../Projects/JoyStickMouse/inc/usb_prop.h | 82 + .../Projects/JoyStickMouse/inc/usb_pwr.h | 71 + .../Projects/JoyStickMouse/readme.txt | 166 + .../Projects/JoyStickMouse/src/hw_config.c | 535 + .../Projects/JoyStickMouse/src/main.c | 95 + .../Projects/JoyStickMouse/src/stm32_it.c | 260 + .../Projects/JoyStickMouse/src/system_stm32f10x.c | 917 ++ .../Projects/JoyStickMouse/src/system_stm32f30x.c | 382 + .../Projects/JoyStickMouse/src/system_stm32l1xx.c | 533 + .../Projects/JoyStickMouse/src/usb_desc.c | 243 + .../Projects/JoyStickMouse/src/usb_istr.c | 229 + .../Projects/JoyStickMouse/src/usb_prop.c | 414 + .../Mass_Storage/EWARM/MassStorageSimpleBuffer.ewd | 8092 +++++++++++ .../Mass_Storage/EWARM/MassStorageSimpleBuffer.ewp | 6934 ++++++++++ .../Mass_Storage/EWARM/MassStorageSimpleBuffer.eww | 34 + .../Mass_Storage/EWARM/stm32f10x_flash.icf | 31 + .../Mass_Storage/EWARM/stm32f30x_flash.icf | 31 + .../Mass_Storage/EWARM/stm32f37x_flash.icf | 33 + .../Mass_Storage/EWARM/stm32l1xx_flash.icf | 31 + .../MDK-ARM/MassStorageSimpleBuffer.uvopt | 2519 ++++ .../MDK-ARM/MassStorageSimpleBuffer.uvproj | 13488 ++++++++++++++++++ .../Mass_Storage/RIDE/MassStorageSimpleBuffer.rprj | 4 + .../Mass_Storage/TASKING/STM3210B-EVAL/.cproject | 136 + .../Mass_Storage/TASKING/STM3210B-EVAL/.project | 232 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl | 148 + .../Mass_Storage/TASKING/STM3210E-EVAL/.cproject | 138 + .../Mass_Storage/TASKING/STM3210E-EVAL/.project | 252 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 48 + .../TASKING/STM3210E-EVAL_XL/.cproject | 138 + .../Mass_Storage/TASKING/STM3210E-EVAL_XL/.project | 252 + .../STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch | 44 + .../STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl | 165 + .../Mass_Storage/TASKING/STM32303C_EVAL/.cproject | 112 + .../Mass_Storage/TASKING/STM32303C_EVAL/.project | 232 + .../TASKING/STM32303C_EVAL/STM32303C_EVAL.launch | 41 + .../TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl | 211 + .../Mass_Storage/TASKING/STM32L152-EVAL/.cproject | 137 + .../Mass_Storage/TASKING/STM32L152-EVAL/.project | 237 + .../TASKING/STM32L152-EVAL/STM32L152-EVAL.launch | 44 + .../STM32L152-EVAL/TASKING/stm32l1xx_md.lsl | 151 + .../Mass_Storage/TASKING/STM32L152D-EVAL/.cproject | 139 + .../Mass_Storage/TASKING/STM32L152D-EVAL/.project | 242 + .../TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch | 48 + .../STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl | 205 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210B-EVAL/STM3210B-EVAL.elf.launch | 43 + .../Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.project | 290 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 286 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM32303C-EVAL/.project | 340 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld | 190 + .../TrueSTUDIO/STM32373C-EVAL/.cproject | 352 + .../TrueSTUDIO/STM32373C-EVAL/.project | 345 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32373C-EVAL/STM32373C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld | 170 + .../TrueSTUDIO/STM32L152-EVAL/.project | 271 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/.cproject | 267 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152D-EVAL/STM32L152D-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld | 171 + .../Projects/Mass_Storage/inc/fsmc_nand.h | 112 + .../Projects/Mass_Storage/inc/hw_config.h | 64 + .../Projects/Mass_Storage/inc/mass_mal.h | 49 + .../Projects/Mass_Storage/inc/memory.h | 46 + .../Projects/Mass_Storage/inc/platform_config.h | 182 + .../Projects/Mass_Storage/inc/stm32_it.h | 61 + .../Projects/Mass_Storage/inc/stm32f10x_conf.h | 85 + .../Projects/Mass_Storage/inc/stm32f30x_conf.h | 82 + .../Projects/Mass_Storage/inc/stm32f37x_conf.h | 83 + .../Projects/Mass_Storage/inc/usb_desc.h | 62 + .../Projects/Mass_Storage/inc/usb_prop.h | 72 + .../Projects/Mass_Storage/inc/usb_pwr.h | 73 + .../Projects/Mass_Storage/inc/usb_scsi.h | 154 + .../Projects/Mass_Storage/readme.txt | 169 + .../Projects/Mass_Storage/src/fsmc_nand.c | 503 + .../Projects/Mass_Storage/src/main.c | 86 + .../Projects/Mass_Storage/src/mass_mal.c | 233 + .../Projects/Mass_Storage/src/memory.c | 178 + .../Projects/Mass_Storage/src/nand_if.c | 557 + .../Projects/Mass_Storage/src/scsi_data.c | 158 + .../Projects/Mass_Storage/src/stm32_it.c | 256 + .../Projects/Mass_Storage/src/system_stm32f10x.c | 917 ++ .../Projects/Mass_Storage/src/system_stm32f37x.c | 380 + .../Projects/Mass_Storage/src/system_stm32l1xx.c | 533 + .../Projects/Mass_Storage/src/usb_bot.c | 343 + .../Projects/Mass_Storage/src/usb_desc.c | 147 + .../Projects/Mass_Storage/src/usb_endp.c | 66 + .../Projects/Mass_Storage/src/usb_prop.c | 411 + .../Projects/Mass_Storage/src/usb_scsi.c | 440 + .../EWARM/VirtualComport_Loopback.ewd | 8092 +++++++++++ .../EWARM/VirtualComport_Loopback.ewp | 6898 ++++++++++ .../EWARM/VirtualComport_Loopback.eww | 34 + .../EWARM/stm32f30x_flash.icf | 31 + .../MDK-ARM/VirtualComport_Loopback.uvopt | 2389 ++++ .../RIDE/VirtualComport_Loopback.rprj | 4 + .../TASKING/STM3210B-EVAL/.cproject | 112 + .../TASKING/STM3210B-EVAL/.launch | 44 + .../TASKING/STM3210B-EVAL/.project | 187 + .../TASKING/STM3210E-EVAL/.project | 197 + .../TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl | 165 + .../TASKING/STM3210E-EVAL_XL/.launch | 44 + .../TASKING/STM32303C_EVAL/.cproject | 111 + .../TASKING/STM32303C_EVAL/.project | 202 + .../TASKING/STM32303C_EVAL/STM32303C_EVAL.launch | 41 + .../TASKING/STM32373C_EVAL/.project | 207 + .../TASKING/STM32373C_EVAL/STM32373C_EVAL.launch | 41 + .../TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl | 200 + .../TASKING/STM32L152-EVAL/.launch | 44 + .../TASKING/STM32L152-EVAL/.project | 197 + .../STM32L152-EVAL/TASKING/stm32l1xx_md.lsl | 151 + .../TASKING/STM32L152D-EVAL/.project | 202 + .../TrueSTUDIO/STM3210B-EVAL/.cproject | 267 + .../TrueSTUDIO/STM3210B-EVAL/.project | 226 + .../TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL/.cproject | 353 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 264 + .../TrueSTUDIO/STM3210E-EVAL_XL/.project | 226 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM32303C-EVAL/.project | 310 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/.cproject | 352 + .../STM32373C-EVAL/STM32373C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld | 170 + .../TrueSTUDIO/STM32L152-EVAL/.cproject | 267 + .../TrueSTUDIO/STM32L152-EVAL/.project | 231 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM32L152D-EVAL/.cproject | 267 + .../TrueSTUDIO/STM32L152D-EVAL/.project | 231 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152D-EVAL/STM32L152D-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld | 171 + .../VirtualComport_Loopback/inc/hw_config.h | 60 + .../VirtualComport_Loopback/inc/platform_config.h | 155 + .../VirtualComport_Loopback/inc/stm32f10x_conf.h | 85 + .../VirtualComport_Loopback/inc/stm32f30x_conf.h | 82 + .../VirtualComport_Loopback/inc/stm32f37x_conf.h | 83 + .../VirtualComport_Loopback/inc/usb_conf.h | 103 + .../VirtualComport_Loopback/inc/usb_desc.h | 66 + .../VirtualComport_Loopback/inc/usb_istr.h | 94 + .../VirtualComport_Loopback/inc/usb_prop.h | 87 + .../Projects/VirtualComport_Loopback/readme.txt | 175 + .../VirtualComport_Loopback/src/hw_config.c | 379 + .../Projects/VirtualComport_Loopback/src/main.c | 100 + .../VirtualComport_Loopback/src/stm32_it.c | 214 + .../VirtualComport_Loopback/src/system_stm32f30x.c | 382 + .../VirtualComport_Loopback/src/system_stm32f37x.c | 380 + .../VirtualComport_Loopback/src/usb_desc.c | 174 + .../VirtualComport_Loopback/src/usb_endp.c | 78 + .../VirtualComport_Loopback/src/usb_prop.c | 414 + .../Projects/VirtualComport_Loopback/src/usb_pwr.c | 318 + .../Virtual_COM_Port/EWARM/VirtualCOMPort.ewd | 8092 +++++++++++ .../Virtual_COM_Port/EWARM/VirtualCOMPort.ewp | 6860 ++++++++++ .../Virtual_COM_Port/EWARM/VirtualCOMPort.eww | 34 + .../Virtual_COM_Port/EWARM/stm32f10x_flash.icf | 31 + .../Virtual_COM_Port/EWARM/stm32f37x_flash.icf | 33 + .../Virtual_COM_Port/EWARM/stm32l1xx_flash.icf | 31 + .../Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvopt | 2403 ++++ .../Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvproj | 12678 +++++++++++++++++ .../Virtual_COM_Port/RIDE/VirtualCOMPort.rapp | 1427 ++ .../Virtual_COM_Port/RIDE/VirtualCOMPort.rprj | 4 + .../TASKING/STM3210B-EVAL/.project | 202 + .../TASKING/STM3210B-EVAL/STM3210B-EVAL.launch | 44 + .../TASKING/STM3210E-EVAL/.cproject | 137 + .../TASKING/STM3210E-EVAL/.project | 207 + .../TASKING/STM3210E-EVAL/STM3210E-EVAL.launch | 44 + .../TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl | 165 + .../TASKING/STM3210E-EVAL_XL/.project | 207 + .../STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl | 165 + .../TASKING/STM32303C_EVAL/.cproject | 112 + .../TASKING/STM32303C_EVAL/.launch | 44 + .../TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl | 211 + .../TASKING/STM32373C_EVAL/.project | 197 + .../TASKING/STM32373C_EVAL/STM32373C_EVAL.launch | 41 + .../TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl | 200 + .../TASKING/STM32L152-EVAL/.project | 207 + .../TASKING/STM32L152-EVAL/STM32L152-EVAL.launch | 44 + .../STM32L152-EVAL/TASKING/stm32l1xx_md.lsl | 151 + .../TASKING/STM32L152D-EVAL/.project | 212 + .../TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch | 48 + .../STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl | 205 + .../TrueSTUDIO/STM3210B-EVAL/.project | 226 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL/.cproject | 353 + .../TrueSTUDIO/STM3210E-EVAL/.project | 230 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM3210E-EVAL_XL/.cproject | 264 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM3210E-EVAL_XL/STM32F10X_XL.elf.launch | 43 + .../TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld | 170 + .../TrueSTUDIO/STM32303C-EVAL/.cproject | 352 + .../TrueSTUDIO/STM32303C-EVAL/.project | 310 + ....atollic.truestudio.debug.hardware_device.prefs | 21 + .../STM32303C-EVAL/STM32303C-EVAL.elf.launch | 40 + .../TrueSTUDIO/STM32373C-EVAL/.project | 315 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + ....atollic.truestudio.debug.hardware_device.prefs | 12 + .../STM32L152-EVAL/STM32L152-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/.project | 231 + .../STM32L152D-EVAL/STM32L152D-EVAL.elf.launch | 43 + .../TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld | 171 + .../Projects/Virtual_COM_Port/inc/hw_config.h | 64 + .../Virtual_COM_Port/inc/platform_config.h | 161 + .../Projects/Virtual_COM_Port/inc/stm32_it.h | 59 + .../Projects/Virtual_COM_Port/inc/stm32f10x_conf.h | 85 + .../Projects/Virtual_COM_Port/inc/stm32f30x_conf.h | 82 + .../Projects/Virtual_COM_Port/inc/stm32f37x_conf.h | 83 + .../Projects/Virtual_COM_Port/inc/usb_conf.h | 103 + .../Projects/Virtual_COM_Port/inc/usb_desc.h | 66 + .../Projects/Virtual_COM_Port/inc/usb_prop.h | 87 + .../Projects/Virtual_COM_Port/inc/usb_pwr.h | 72 + .../Projects/Virtual_COM_Port/readme.txt | 215 + .../Projects/Virtual_COM_Port/src/hw_config.c | 561 + .../Projects/Virtual_COM_Port/src/main.c | 82 + .../Projects/Virtual_COM_Port/src/stm32_it.c | 236 + .../Virtual_COM_Port/src/system_stm32f10x.c | 917 ++ .../Virtual_COM_Port/src/system_stm32f37x.c | 380 + .../Virtual_COM_Port/src/system_stm32l1xx.c | 533 + .../Projects/Virtual_COM_Port/src/usb_desc.c | 174 + .../Projects/Virtual_COM_Port/src/usb_endp.c | 144 + .../Projects/Virtual_COM_Port/src/usb_istr.c | 233 + .../Projects/Virtual_COM_Port/src/usb_prop.c | 418 + .../Projects/Virtual_COM_Port/src/usb_pwr.c | 318 + 652 files changed, 306333 insertions(+) create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32l1xx_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/MDK-ARM/AudioSpeaker.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rapp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/i2s_codec.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_istr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_pwr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/hw_config.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/i2s_codec.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32f10x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32l1xx.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_istr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_pwr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f30x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32l1xx_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvopt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/RIDE/Composite_Example.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/fsmc_nand.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/mass_mal.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/memory.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32l1xx_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_desc.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_istr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_prop.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_pwr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_scsi.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/fsmc_nand.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/hw_config.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/mass_mal.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/memory.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/nand_if.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/scsi_data.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f10x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f30x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32l1xx.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_bot.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_endp.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_pwr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f30x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f37x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32l1xx_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/MDK-ARM/Custom_HID.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/RIDE/Custom_HID.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/hw_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32l1xx_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/usb_istr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f30x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f37x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_istr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_pwr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f30x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f37x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32l1xx_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/MDK-ARM/DFU.uvopt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/RIDE/DFU.rapp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32303C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f10x_flash_offset.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f30x_flash_offset.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32l1xx_flash_offset.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/MDK-ARM/SysTick.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/SysTick.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_md_flash_offset.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_xl_flash_offset.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f37x_flash_offset.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.hex create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.hex create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E.dfu create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.hex create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32303C_EVAL.hex create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32F30.dfu create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32373C_EVAL.hex create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32F37.dfu create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.hex create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/vssver.scc create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/main.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32l1xx_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f10x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f37x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32l1xx.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/dfu_mal.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/flash_if.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/fsmc_nor.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/nor_if.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32l1xx_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_desc.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_prop.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_pwr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/dfu_mal.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/flash_if.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/fsmc_nor.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/spi_if.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f30x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f37x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_pwr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/JoyStickMouse.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f30x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/MDK-ARM/JoyStickMouse.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32373C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/hw_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32l1xx_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_istr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_prop.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_pwr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/hw_config.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f10x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f30x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32l1xx.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_istr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f30x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f37x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32l1xx_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvopt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/RIDE/MassStorageSimpleBuffer.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/fsmc_nand.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/hw_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/mass_mal.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/memory.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_desc.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_prop.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_pwr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_scsi.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/fsmc_nand.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/mass_mal.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/memory.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/nand_if.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/scsi_data.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f10x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f37x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32l1xx.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_bot.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_endp.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_scsi.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/stm32f30x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/MDK-ARM/VirtualComport_Loopback.uvopt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/RIDE/VirtualComport_Loopback.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL_XL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/hw_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_desc.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_istr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_prop.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/hw_config.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f30x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f37x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_endp.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_pwr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewd create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.eww create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f10x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f37x_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32l1xx_flash.icf create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvopt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvproj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rapp create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rprj create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.cproject create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/.project create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/hw_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/platform_config.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32_it.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f10x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f30x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f37x_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_desc.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_prop.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_pwr.h create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/readme.txt create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/hw_config.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/main.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/stm32_it.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f10x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f37x.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32l1xx.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_desc.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_endp.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_istr.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_prop.c create mode 100644 thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_pwr.c (limited to 'thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects') diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewd new file mode 100644 index 0000000..5079872 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewd @@ -0,0 +1,4627 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewp new file mode 100644 index 0000000..bdc2d27 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.ewp @@ -0,0 +1,3956 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152-EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + + + + $PROJ_DIR$\..\src\system_stm32f10x.c + + STM32L152-EVAL + + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\src\i2s_codec.c + + STM3210B-EVAL + STM32L152-EVAL + + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + + $PROJ_DIR$\..\src\system_stm32l1xx.c + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + + + + + STM32L152_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210B-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dac.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + USB-FS-Device_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + User + + $PROJ_DIR$\..\src\hw_config.c + + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\stm32_it.c + + + $PROJ_DIR$\..\src\usb_desc.c + + + $PROJ_DIR$\..\src\usb_endp.c + + + $PROJ_DIR$\..\src\usb_istr.c + + + $PROJ_DIR$\..\src\usb_prop.c + + + $PROJ_DIR$\..\src\usb_pwr.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.eww new file mode 100644 index 0000000..bff01d7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/AudioSpeaker.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\AudioSpeaker.ewp + + + + USB-Package-AudioSpeaker + + AudioSpeaker + STM3210B-EVAL + + + AudioSpeaker + STM3210C-EVAL + + + AudioSpeaker + STM3210E-EVAL + + + AudioSpeaker + STM3210E-EVAL_XL + + + AudioSpeaker + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..6721a0d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32l1xx_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32l1xx_flash.icf new file mode 100644 index 0000000..efbc10a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/EWARM/stm32l1xx_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20003FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/MDK-ARM/AudioSpeaker.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/MDK-ARM/AudioSpeaker.uvproj new file mode 100644 index 0000000..063f796 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/MDK-ARM/AudioSpeaker.uvproj @@ -0,0 +1,4415 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_MD, USE_STM3210B_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_tim.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_dac.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_dac.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dac.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_tim.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM3210B_EVAL + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + i2s_codec.c + 1 + ..\src\i2s_codec.c + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_tim.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_dac.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_dac.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dac.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_tim.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM3210B_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E_EVAL + + + i2s_codec.c + 1 + ..\src\i2s_codec.c + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 1 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_tim.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_dac.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_dac.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dac.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_tim.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM3210B_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E_EVAL + + + i2s_codec.c + 1 + ..\src\i2s_codec.c + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L152VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5249 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_tim.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_dac.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_dac.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dac.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_tim.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_tim.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM3210B_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + i2s_codec.c + 1 + ..\src\i2s_codec.c + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152_EVAL + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rapp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rapp new file mode 100644 index 0000000..dc3a59e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rapp @@ -0,0 +1,826 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ + + +
+ + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + + +
+
+ + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + +
+ +
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+
+ + + +
+ +
+ +
+ +
+
\ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rprj new file mode 100644 index 0000000..9477f43 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/RIDE/AudioSpeaker.rprj @@ -0,0 +1,17 @@ + + + + + + +
+ + +
+ +
+ +
+ +
+
\ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..68c7412 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.cproject @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..fc75ce1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,192 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210B_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..547d59a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl new file mode 100644 index 0000000..1233f43 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 512k; + map ( size = 512k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 64k; + map ( size = 64k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMAChannel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMAChannel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMAChannel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMAChannel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMAChannel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMAChannel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMAChannel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..a2b8070 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,207 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/i2s_codec.c + 1 + PARENT-2-PROJECT_LOC/src/i2s_codec.c + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM3210x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM3210x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM3210x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM3210x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM3210x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM3210x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM3210x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..cb9c7d9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.cproject @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..d66bfae --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,212 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/i2s_codec.c + 1 + PARENT-2-PROJECT_LOC/src/i2s_codec.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch new file mode 100644 index 0000000..d494039 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..ad296ee --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..65e9603 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,231 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/readme.txt + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/hw_config.c + + + User/i2s_codec.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/i2s_codec.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..e058ee6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:53:23 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch new file mode 100644 index 0000000..bd4ac0c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld new file mode 100644 index 0000000..e0aa35c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103VB Device with +** 128KByte FLASH, 20KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20005000; /* end of 20K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/.project new file mode 100644 index 0000000..e6f3506 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/.project @@ -0,0 +1,235 @@ + + + STM3210E-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/readme.txt + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + TrueSTUDIO/startup_stm32f10x_hd.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/hw_config.c + + + User/i2s_codec.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/i2s_codec.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch new file mode 100644 index 0000000..4494ab7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..8320534 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..0fbff9c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,231 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/readme.txt + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/hw_config.c + + + User/i2s_codec.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/i2s_codec.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..d551f74 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:54:24 GMT+01:00 2012 +BOARD=STM3210E-EVAL_XL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZG +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld new file mode 100644 index 0000000..b1c6965 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZG Device with +** 1MByte FLASH, 96KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20018000; /* end of 96K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..0e3555e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,241 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/readme.txt + + + STM32L1xx_StdPeriph_Driver/STM32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/STM32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/STM32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_stm32l1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_stm32l1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/hw_config.c + + + User/i2s_codec.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/i2s_codec.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Audio_Speaker/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..37e4638 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:55:31 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..51982c5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32_flash.ld new file mode 100644 index 0000000..1be62d5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/TrueSTUDIO/STM32L152-EVAL/STM32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_md Device with +** 128KByte FLASH, 16KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20004000; /* end of 16K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x80; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/i2s_codec.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/i2s_codec.h new file mode 100644 index 0000000..c392004 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/i2s_codec.h @@ -0,0 +1,193 @@ +/** + ****************************************************************************** + * @file i2s_codec.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains all the functions prototypes for the I2S codec + * firmware driver. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __I2S_CODEC_H +#define __I2S_CODEC_H + +/* .WAV file format : + + Endian Offset Length Contents + big 0 4 bytes 'RIFF' // 0x52494646 + little 4 4 bytes + big 8 4 bytes 'WAVE' // 0x57415645 + +Next, the fmt chunk describes the sample format: + + big 12 4 bytes 'fmt ' // 0x666D7420 + little 16 4 bytes 0x00000010 // Length of the fmt data (16 bytes) + little 20 2 bytes 0x0001 // Format tag: 1 = PCM + little 22 2 bytes // Channels: 1 = mono, 2 = stereo + little 24 4 bytes // Samples per second: e.g., 22050 + little 28 4 bytes // sample rate * block align + little 32 2 bytes // channels * bits/sample / 8 + little 34 2 bytes // 8 or 16 + +Finally, the data chunk contains the sample data: + + big 36 4 bytes 'data' // 0x64617461 + little 40 4 bytes + little 44 * + +*/ + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f10x.h" + +/* Exported types ------------------------------------------------------------*/ + +/* Audio file information structure */ +typedef struct +{ + uint32_t RIFFchunksize; + uint16_t FormatTag; + uint16_t NumChannels; + uint32_t SampleRate; + uint32_t ByteRate; + uint16_t BlockAlign; + uint16_t BitsPerSample; + uint32_t DataSize; +} WAVE_FormatTypeDef; + +/* Error Identification structure */ +typedef enum +{ + Valid_WAVE_File = 0, + Unvalid_RIFF_ID, + Unvalid_WAVE_Format, + Unvalid_FormatChunk_ID, + Unsupporetd_FormatTag, + Unsupporetd_Number_Of_Channel, + Unsupporetd_Sample_Rate, + Unsupporetd_Bits_Per_Sample, + Unvalid_DataChunk_ID, + Unsupporetd_ExtraFormatBytes, + Unvalid_FactChunk_ID +} ErrorCode; + +/* Exported constants --------------------------------------------------------*/ + +/* Codec output DEVICE */ +#define OutputDevice_SPEAKER 1 +#define OutputDevice_HEADPHONE 2 +#define OutputDevice_BOTH 3 + +/* VOLUME control constants */ +#define DEFAULT_VOL 0x52 +#define VolumeDirection_HIGH 0xF +#define VolumeDirection_LOW 0xA +#define VolumeDirection_LEVEL 0x0 +#define VOLStep 4 + +/* Forward and Rewind constants */ +#define STEP_FORWARD 2 /* 2% of wave file data length*/ +#define STEP_BACK 6 /* 6% of wave file data length*/ + +/* Codec POWER DOWN modes */ +#define CodecPowerDown_HW 1 +#define CodecPowerDown_SW 2 + +/* Audio Play STATUS */ +#define AudioPlayStatus_STOPPED 0 +#define AudioPlayStatus_PLAYING 1 +#define AudioPlayStatus_PAUSED 2 + +/* MUTE commands */ +#define MUTE_ON 1 +#define MUTE_OFF 0 + +/* I2S configuration parameters */ +#define I2S_STANDARD I2S_Standard_Phillips +#define I2S_MCLKOUTPUT I2S_MCLKOutput_Enable + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + + /* CONFIGURATION */ +uint32_t I2S_CODEC_Init(uint32_t OutputDevice, uint32_t Address); +void I2S_CODEC_ReplayConfig(uint32_t Repetions); + + /* AUDIO CONTROL */ +uint32_t I2S_CODEC_Play(uint32_t AudioStartPosition); +uint32_t I2S_CODEC_Pause(void); +uint32_t I2S_CODEC_Stop(void); +uint32_t I2S_CODEC_ControlVolume(uint32_t direction, uint8_t volume); +void I2S_CODEC_Mute(uint32_t Command); +void I2S_CODEC_ForwardPlay(uint32_t Step); +void I2S_CODEC_RewindPlay(uint32_t Step); + + /* EXTRA CONTROLS */ +void I2S_CODEC_PowerDown(uint32_t CodecPowerDown_Mode); +void I2S_CODEC_Reset(void); +uint32_t I2S_CODEC_SpeakerHeadphoneSwap(uint32_t CODEC_AudioOutput, uint32_t Address); +uint8_t GetVar_CurrentVolume(void); + +/* Medium Layer Codec Functions ----------------------------------------------*/ +void I2S_CODEC_DataTransfer(void); +void I2S_CODEC_UpdateStatus(void); +uint32_t GetVar_DataStartAddr(void); +ErrorCode I2S_CODEC_WaveParsing(uint8_t* HeaderTab); +uint32_t GetVar_CurrentOutputDevice(void); + +uint32_t GetVar_AudioDataIndex(void); +void SetVar_AudioDataIndex(uint32_t value); +void ResetVar_AudioDataIndex(void); +void IncrementVar_AudioDataIndex(uint32_t IncrementNumber); +void DecrementVar_AudioDataIndex(uint32_t DecrementNumber); + +uint32_t GetVar_AudioReplay(void); +void Decrement_AudioReplay(void); + +uint32_t GetVar_AudioPlayStatus(void); +uint32_t SetVar_AudioPlayStatus(uint32_t Status); + +uint16_t GetVar_i2saudiofreq(void); +uint32_t GetVar_AudioDataLength(void); + +/* Low Layer Codec Function --------------------------------------------------*/ +uint32_t SetVar_SendDummyData(void); +uint32_t ResetVar_SendDummyData(void); +uint32_t GetVar_SendDummyData(void); +uint32_t AudioFile_Init(void); + +void I2S_GPIO_Config(void); +void I2S_Config(uint16_t Standard, uint16_t MCLKOutput, uint16_t AudioFreq); +uint32_t CODEC_Config(uint16_t AudioOutput, uint16_t I2S_Standard, uint16_t I2S_MCLKOutput, uint8_t Volume); + +uint32_t Media_Init(void); +void Media_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); +void Media_StartReadSequence(uint32_t ReadAddr); +uint16_t Media_ReadHalfWord(uint32_t Offset); +uint8_t Media_ReadByte(uint32_t Offset); + +void delay(__IO uint32_t nCount); + +#endif /* __I2S_CODEC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/platform_config.h new file mode 100644 index 0000000..440c531 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/platform_config.h @@ -0,0 +1,129 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ + +#if defined(STM32L1XX_MD) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #elif defined (USE_STM3210E_EVAL) + #include "i2s_codec.h" + #include "stm3210e_eval.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) + //#define USE_STM3210B_EVAL + //#define USE_STM3210E_EVAL +#define USE_STM32L152_EVAL + +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + +#elif defined(USE_STM3210E_EVAL) + + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + +#elif defined (USE_STM32L152_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + +#endif /* USE_STM3210B_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32_it.h new file mode 100644 index 0000000..6bc6037 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32_it.h @@ -0,0 +1,63 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_HP_CAN1_TX_IRQHandler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); +void USBWakeUp_IRQHandler(void); +void USB_FS_WKUP_IRQHandler(void); +#ifdef USE_STM3210B_EVAL +void TIM2_IRQHandler(void); +#endif /* USE_STM3210B_EVAL */ +#if defined (USE_STM3210E_EVAL) +void SPI2_IRQHandler(void); +#endif /* USE_STM3210E_EVAL */ + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_istr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_istr.h new file mode 100644 index 0000000..de6ca1c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_istr.h @@ -0,0 +1,93 @@ +/** + ****************************************************************************** + * @file usb_istr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file includes the peripherals header files in the user application. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_ISTR_H +#define __USB_ISTR_H + +/* Includes ------------------------------------------------------------------*/ +#include "usb_conf.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void USB_Istr(void); +/* function prototypes Automatically built defining related macros */ + +#ifdef CTR_CALLBACK + void CTR_Callback(void); +#endif + +#ifdef DOVR_CALLBACK + void DOVR_Callback(void); +#endif + +#ifdef ERR_CALLBACK + void ERR_Callback(void); +#endif + +#ifdef WKUP_CALLBACK + void WKUP_Callback(void); +#endif + +#ifdef SUSP_CALLBACK + void SUSP_Callback(void); +#endif + +#ifdef RESET_CALLBACK + void RESET_Callback(void); +#endif + +#ifdef SOF_CALLBACK + void SOF_Callback(void); +#endif + +#ifdef ESOF_CALLBACK + void ESOF_Callback(void); +#endif + +void EP1_IN_Callback(void); +void EP2_IN_Callback(void); +void EP3_IN_Callback(void); +void EP4_IN_Callback(void); +void EP5_IN_Callback(void); +void EP6_IN_Callback(void); +void EP7_IN_Callback(void); + +void EP1_OUT_Callback(void); +void EP2_OUT_Callback(void); +void EP3_OUT_Callback(void); +void EP4_OUT_Callback(void); +void EP5_OUT_Callback(void); +void EP6_OUT_Callback(void); +void EP7_OUT_Callback(void); + +#endif /*__USB_ISTR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_pwr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_pwr.h new file mode 100644 index 0000000..af7873e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/inc/usb_pwr.h @@ -0,0 +1,72 @@ +/** + ****************************************************************************** + * @file usb_pwr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PWR_H +#define __USB_PWR_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _RESUME_STATE +{ + RESUME_EXTERNAL, + RESUME_INTERNAL, + RESUME_LATER, + RESUME_WAIT, + RESUME_START, + RESUME_ON, + RESUME_OFF, + RESUME_ESOF +} RESUME_STATE; + +typedef enum _DEVICE_STATE +{ + UNCONNECTED, + ATTACHED, + POWERED, + SUSPENDED, + ADDRESSED, + CONFIGURED +} DEVICE_STATE; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Suspend(void); +void Resume_Init(void); +void Resume(RESUME_STATE eResumeSetVal); +RESULT PowerOn(void); +RESULT PowerOff(void); + +/* External variables --------------------------------------------------------*/ +extern __IO uint32_t bDeviceState; /* USB device status */ +extern __IO bool fSuspendEnabled; /* true when suspend is possible */ + +#endif /*__USB_PWR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/readme.txt new file mode 100644 index 0000000..044f814 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/readme.txt @@ -0,0 +1,148 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB Audio_Speaker Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +The USB-FS-Device Audio Speaker demo gives examples of how to use the STM32F10xxx +and STM32L15xxx USB-FS-Device peripheral to communicate with the PC host in the +isochronous transfer mode. +It provides a demonstration of the correct method for configuring an isochronous +endpoint, receiving or transmitting data from/to the host. + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKING: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + +Hardware environment +==================== +This example runs on STMicroelectronics STM3210B-EVAL, STM3210E-EVAL and +STM32L152-EVAL evaluation boards and can be easily tailored to any other hardware. +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + - Jumper JP6 should be not connected. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + - Jumper JP18 (MCKI) should be connected in position 2-3. + + - STM32L152-EVAL Set-up + - Jumper JP16 (Audio Out) should be not connected. + + +How to use it +============= + + EWARM + - Open the AudioSpeaker.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the AudioSpeaker.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the AudioSpeaker.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - under STM32F10B_EVAL directory: to select the project for STM32 Medium-density devices. + - under STM32F10E_EVAL directory: to select the project for STM32 High-density devices + - under STM32F10E_EVAL_XL directory: to select the project for STM32 XL-density devices + - under STM32L152_EVAL directory: to select the project for STM32 Medium-Density Low-Power devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->'build project' menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +NOTE: + - Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx + microcontrollers where the Flash memory density ranges between 16 and 32 Kbytes. + - Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx + microcontrollers where the Flash memory density ranges between 64 and 128 Kbytes. + - High-density devices are STM32F101xx and STM32F103xx microcontrollers where + the Flash memory density ranges between 256 and 512 Kbytes. + - XL-density devices are STM32F101xx and STM32F103xx microcontrollers where + the Flash memory density ranges between 512 and 1024 Kbytes. + - Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers. + - Medium-density Low-Power devices are STM32L15xx microcontrollers where the flash + memory density ranges between 64 and 128 Kbytes. +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/hw_config.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/hw_config.c new file mode 100644 index 0000000..74eb8ed --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/hw_config.c @@ -0,0 +1,461 @@ +/** + ****************************************************************************** + * @file hw_config.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "stm32_it.h" +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "usb_prop.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define TIM2ARRValue 3273 /* 22KHz = 72MHz / 3273 */ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +ErrorStatus HSEStartUpStatus; +EXTI_InitTypeDef EXTI_InitStructure; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len); +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Set_System +* Description : Configures Main system clocks & power +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_System(void) +{ +#if !defined(STM32L1XX_MD) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* STM32L1XX_MD */ +#if defined(USB_USE_EXTERNAL_PULLUP) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* USB_USE_EXTERNAL_PULLUP */ + + /*!< At this stage the microcontroller clock setting is already configured, + this is done through SystemInit() function which is called from startup + file (startup_stm32xxx.s) before to branch to application main. + To reconfigure the default setting of SystemInit() function, refer to + system_stm32xxx.c file + */ + +#ifdef STM32L1XX_MD + /* Enable the SYSCFG module clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); +#endif /* STM32L1XX_MD */ + +#ifdef USE_STM3210B_EVAL + /* Enable GPIOB, TIM2 & TIM4 clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); + RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM4 , ENABLE); +#endif /* USE_STM3210B_EVAL */ + +#if !defined(STM32L1XX_MD) + /* Configure USB pull-up */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT, ENABLE); + + /* Configure USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* STM32L1XX_MD */ + +#if defined(USB_USE_EXTERNAL_PULLUP) + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* USB_USE_EXTERNAL_PULLUP */ + + USB_Cable_Config(DISABLE); + + USB_Cable_Config(ENABLE); + + /* Configure the EXTI line 18 connected internally to the USB IP */ + EXTI_ClearITPendingBit(EXTI_Line18); + EXTI_InitStructure.EXTI_Line = EXTI_Line18; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); +} + +/******************************************************************************* +* Function Name : Set_USBClock +* Description : Configures USB Clock input (48MHz) +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_USBClock(void) +{ +#ifdef STM32L1XX_MD + /* Enable USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); + +#else + /* Select USBCLK source */ + RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); + + /* Enable the USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : Enter_LowPowerMode +* Description : Power-off system clocks and power while entering suspend mode +* Input : None. +* Return : None. +*******************************************************************************/ +void Enter_LowPowerMode(void) +{ + /* Set the device state to suspend */ + bDeviceState = SUSPENDED; +} + +/******************************************************************************* +* Function Name : Leave_LowPowerMode +* Description : Restores system clocks and power while exiting suspend mode +* Input : None. +* Return : None. +*******************************************************************************/ +void Leave_LowPowerMode(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + /* Set the device state to the correct state */ + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } + else + { + bDeviceState = ATTACHED; + } + /*Enable SystemCoreClock*/ + SystemInit(); +} + +/******************************************************************************* +* Function Name : USB_Interrupts_Config +* Description : Configures the USB interrupts +* Input : None. +* Return : None. +*******************************************************************************/ +void USB_Config(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + + NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); + +#ifdef STM32L1XX_MD + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable and configure the priority of the USB_HP IRQ Channel*/ + NVIC_InitStructure.NVIC_IRQChannel = USB_HP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_FS_WKUP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#else /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + + /* Enable and configure the priority of the USB_LP IRQ Channel*/ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable and configure the priority of the USB_HP IRQ Channel*/ + NVIC_InitStructure.NVIC_IRQChannel = USB_HP_CAN1_TX_IRQn; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_Init(&NVIC_InitStructure); + +#endif /* STM32L1XX_MD */ + + /* Audio Components Interrupt configuration */ + Audio_Config(); +} +/******************************************************************************* +* Function Name : USB_Interrupts_Config +* Description : Configures the USB interrupts +* Input : None. +* Return : None. +*******************************************************************************/ +void Audio_Config(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + +#if defined(USE_STM32L152_EVAL) + /* Enable the TIM2 Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#elif defined(USE_STM3210B_EVAL) + /* Enable the TIM2 Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#elif defined(USE_STM3210E_EVAL) + /* SPI2 IRQ Channel configuration */ + NVIC_InitStructure.NVIC_IRQChannel = SPI2_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); +#endif /* USE_STM3210B_EVAL */ +} +/******************************************************************************* +* Function Name : USB_Cable_Config +* Description : Software Connection/Disconnection of USB Cable +* Input : None. +* Return : Status +*******************************************************************************/ +void USB_Cable_Config (FunctionalState NewState) +{ +#ifdef STM32L1XX_MD + if (NewState != DISABLE) + { + STM32L15_USB_CONNECT; + } + else + { + STM32L15_USB_DISCONNECT; + } + +#else + if (NewState != DISABLE) + { + GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } + else + { + GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : Speaker_Timer_Config +* Description : Configure and enable the timer +* Input : None. +* Return : None. +*******************************************************************************/ +void Speaker_Config(void) +{ +#ifdef USE_STM32L152_EVAL + DAC_InitTypeDef DAC_InitStructure; + GPIO_InitTypeDef GPIO_InitStructure; + uint16_t TIM6ARRValue = 4000; + + /* TIM6 and DAC clocks enable */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6 | RCC_APB1Periph_DAC, ENABLE); + + /* Enable GPIOA clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); + + /* Configure DAC Channel1 and Channel2 as output */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; + GPIO_Init(GPIOA, &GPIO_InitStructure); + + /* TIM6 Configuration */ + TIM_DeInit(TIM6); + + TIM6ARRValue = (uint32_t)(SystemCoreClock/22000); /* Audio Sample Rate = 22KHz */ + + /* Set the timer auto reload value dependent on the audio frequency */ + TIM_SetAutoreload(TIM6, TIM6ARRValue); /* 22.KHz = 32MHz / 1454 */ + + /* TIM6 TRGO selection */ + TIM_SelectOutputTrigger(TIM6, TIM_TRGOSource_Update); + + /* Enable TIM6 update interrupt */ + TIM_ITConfig(TIM6, TIM_IT_Update, ENABLE); + + /* DAC deinitialize */ + DAC_DeInit(); + DAC_StructInit(&DAC_InitStructure); + + /* Fill DAC InitStructure */ + DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO; + DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; + DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable; + +/* DAC Channel1: 8bit right---------------------------------------------------*/ + /* DAC Channel1 Init */ + DAC_Init(DAC_Channel_1, &DAC_InitStructure); + + /* Enable DAC Channel1 */ + DAC_Cmd(DAC_Channel_1, ENABLE); + + /* Start TIM6 */ + TIM_Cmd(TIM6, ENABLE); + +#elif defined(USE_STM3210B_EVAL) + GPIO_InitTypeDef GPIO_InitStructure; + TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; + TIM_OCInitTypeDef TIM_OCInitStructure; + + /* Configure PB.08 as alternate function (TIM4_OC3) */ + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOB, &GPIO_InitStructure); + + /* TIM4 configuration */ + TIM_TimeBaseStructure.TIM_Prescaler = 0x00; /* TIM4CLK = 72 MHz */ + TIM_TimeBaseStructure.TIM_Period = 0xFF; /* PWM frequency : 281.250KHz*/ + TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; + TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; + TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); + /* TIM4's Channel3 in PWM1 mode */ + TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; + TIM_OCInitStructure.TIM_Pulse = 0x7F; /* Duty cycle: 50%*/ + TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; /* set high polarity */ + TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; + TIM_OC3Init(TIM4, &TIM_OCInitStructure); + TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable); + + /* TIM2 configuration */ + TIM_TimeBaseStructure.TIM_Period = TIM2ARRValue; + TIM_TimeBaseStructure.TIM_Prescaler = 0x00; /* TIM2CLK = 72 MHz */ + TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; + TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; + TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); + /* Output Compare Inactive Mode configuration: Channel1 */ + TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing; + TIM_OCInitStructure.TIM_Pulse = 0x0; + TIM_OC1Init(TIM2, &TIM_OCInitStructure); + TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Disable); + + /* Start TIM4 */ + TIM_Cmd(TIM4, ENABLE); + + /* Start TIM2 */ + TIM_Cmd(TIM2, ENABLE); + + /* Enable TIM2 update interrupt */ + TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); + +#else + /* Configure the initialization parameters */ + I2S_GPIO_Config(); + I2S_Config(I2S_Standard_Phillips, I2S_MCLKOutput_Enable, I2S_AudioFreq_22k); + CODEC_Config(OutputDevice_SPEAKER, I2S_Standard_Phillips, I2S_MCLKOutput_Enable, 0x08); + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, ENABLE); + +#endif +} + +/******************************************************************************* +* Function Name : Get_SerialNum. +* Description : Create the serial number string descriptor. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Get_SerialNum(void) +{ + uint32_t Device_Serial0, Device_Serial1, Device_Serial2; + + Device_Serial0 = *(uint32_t*)ID1; + Device_Serial1 = *(uint32_t*)ID2; + Device_Serial2 = *(uint32_t*)ID3; + + Device_Serial0 += Device_Serial2; + + if (Device_Serial0 != 0) + { + IntToUnicode (Device_Serial0, &Speaker_StringSerial[2] , 8); + IntToUnicode (Device_Serial1, &Speaker_StringSerial[18], 4); + } +} + +/******************************************************************************* +* Function Name : HexToChar. +* Description : Convert Hex 32Bits value into char. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len) +{ + uint8_t idx = 0; + + for( idx = 0 ; idx < len ; idx ++) + { + if( ((value >> 28)) < 0xA ) + { + pbuf[ 2* idx] = (value >> 28) + '0'; + } + else + { + pbuf[2* idx] = (value >> 28) + 'A' - 10; + } + + value = value << 4; + + pbuf[ 2* idx + 1] = 0; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/i2s_codec.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/i2s_codec.c new file mode 100644 index 0000000..6dd4168 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/i2s_codec.c @@ -0,0 +1,1573 @@ +/** + ****************************************************************************** + * @file i2s_codec.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file includes the I2S Codec driver for AK4343 Audio Codec. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +#include "platform_config.h" +#ifdef USE_STM3210E_EVAL +/* Includes ------------------------------------------------------------------*/ + +#include "i2s_codec.h" + +/* Private typedef -----------------------------------------------------------*/ +typedef enum +{ + LittleEndian, + BigEndian +}Endianness; + +/* Private define ------------------------------------------------------------*/ + +/* Audio file header size */ +#define HEADER_SIZE 100 + +/* EvalBoard pins related to the Codec */ +#define Codec_PDN_GPIO GPIOG +#define Codec_PDN_Pin GPIO_Pin_11 + +/* Uncomment this line to enable verifying data sent to codec after each write operation */ +//#define VERIFY_WRITTENDATA + +/* The 7 bits Codec address mask */ +#define CODEC_ADDRESS 0x27 /* b00100111 */ + +/* Audio Parsing Constants */ +#define ChunkID 0x52494646 /* correspond to the letters 'RIFF' */ +#define FileFormat 0x57415645 /* correspond to the letters 'WAVE' */ +#define FormatID 0x666D7420 /* correspond to the letters 'fmt ' */ +#define DataID 0x64617461 /* correspond to the letters 'data' */ +#define FactID 0x66616374 /* correspond to the letters 'fact' */ + +#define WAVE_FORMAT_PCM 0x01 +#define FormatChunkSize 0x10 +#define Channel_MONO 0x01 +#define Channel_STEREO 0x02 + +#define SampleRate_8000 8000 +#define SampleRate_16000 16000 +#define SampleRate_22050 22050 +#define SampleRate_44100 44100 +#define SampleRate_48000 48000 +#define Bits_Per_Sample_8 8 +#define Bits_Per_Sample_16 16 + +#define DUMMY_DATA 0x1111 +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Audio Frequency value */ +uint16_t i2saudiofreq = I2S_AudioFreq_8k; + +/* Header Table containing the audio file information */ +uint8_t HeaderTabIndex = 0; +uint8_t AudioFileHeader[HEADER_SIZE]; + +/* Audio Codec variables */ +__IO uint32_t AudioFileAddress = 0x0; +uint32_t AudioDataLength = 0;//7000000; +uint32_t DataStartAddr = 0x0; +__IO uint32_t AudioDataIndex = 0; +static __IO uint32_t AudioReplay = 0xFFFF; +static uint32_t AudioReplayCount = 0xFFFF; +static __IO uint32_t SendDummyData = 0; +static __IO uint32_t AudioPlayStatus = AudioPlayStatus_STOPPED; +static uint32_t CurrentOutputDevice = OutputDevice_HEADPHONE; +static uint8_t CurrentVolume = DEFAULT_VOL; +static uint32_t errorcode = 0xFF; +static __IO uint32_t monovar = 0, tmpvar = 0; + +/* Wave details names table */ +WAVE_FormatTypeDef WAVE_Format; +__IO ErrorCode WaveFileStatus = Unvalid_RIFF_ID; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +static void NVIC_Config(void); +static void I2C_Config(void); +static uint32_t CODEC_WriteRegister(uint32_t RegisterAddr, uint32_t RegisterValue); +static uint32_t CODEC_ReadRegister(uint32_t RegisterAddr); +static uint32_t ReadUnit(uint8_t NbrOfBytes, Endianness BytesFormat); +uint32_t AudioFile_Init(void); + +/******************************************************************************* +* Function Name : I2S_CODEC_Init +* Description : Initializes the I2S audio codec according parameters configured +* by I2S_CODEC_Config function. +* Input : - OutputDevice: Could be OutoutDevice_SPEAKER or +* OutoutDevice_HEADPHONE. +* - Address: Specifies the location of the audio file in the memory. +* Output : None +* Return : - 0: if all initializations are OK. +* - 1: if memory initialization failed (LD2 is turned on). +* - 2: if audio file initialization failed (LD2 is turned on). +* - 3: if Codec initialization failed (LD1 is turned on). +*******************************************************************************/ +uint32_t I2S_CODEC_Init(uint32_t OutputDevice, uint32_t Address) +{ + uint32_t count = 0; + + /* Set the audio file address */ + AudioFileAddress = (uint32_t) Address; + + /* Configure I2S interrupt Channel */ + NVIC_Config(); + + /* Configure the I2S2, I2C1 and GPIOF pins */ + I2S_GPIO_Config(); + + /* Read the Audio file to extract the audio data length and frequency */ + errorcode = AudioFile_Init(); + + if (errorcode < 3) + { + /* Turn on LD2 connected to PF.07 */ + GPIO_SetBits(GPIOF, GPIO_Pin_7); + + return errorcode; + } + + /* Configure the SPI2 peripheral in I2S mode */ + I2S_Config(I2S_STANDARD, I2S_MCLKOUTPUT, i2saudiofreq); + + /* Set the current output device */ + CurrentOutputDevice = OutputDevice; + + /* Codec Configuration via I2C interface */ + count = CODEC_Config(OutputDevice, I2S_STANDARD, I2S_MCLKOUTPUT, DEFAULT_VOL); + + if (count != 0) + { + /* Turn on LD1 connected to PF.06 */ + GPIO_SetBits(GPIOF, GPIO_Pin_6); + + return 3; + } + + /* Turn on LD4 connected to PF.09 */ + GPIO_SetBits(GPIOF, GPIO_Pin_9); + + return 0; /* Configuration is OK */ +} + +/******************************************************************************* +* Function Name : I2S_CODEC_ReplayConfig +* Description : Set AudioReplay variable value . +* Input : Repetions: Number of repetitions +* Output : None +* Return : None +*******************************************************************************/ +void I2S_CODEC_ReplayConfig(uint32_t Repetions) +{ + /* Audio Replay number set by user */ + AudioReplay = Repetions; + + /* Audio Replays number remaining (if AudioReplay != 0) */ + AudioReplayCount = Repetions; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_Play +* Description : Plays the audio file. +* Input : - AudioStartPosition: Address from which the wave data begin +* Output : None +* Return : AudioDataIndex value. +*******************************************************************************/ +uint32_t I2S_CODEC_Play(uint32_t AudioStartPosition) +{ + /* Send the read command to the media */ + Media_StartReadSequence(AudioFileAddress + AudioStartPosition + 1); + + /* Set Playing status to inform other modules about the codec status */ + SetVar_AudioPlayStatus(AudioPlayStatus_PLAYING); + + /* Enable the I2S2 TXE Interrupt => Generate the clocks*/ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, ENABLE); + + return AudioDataIndex; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_Pause +* Description : Pause playing the audio file. +* Input : None +* Output : None +* Return : Current Position. +*******************************************************************************/ +uint32_t I2S_CODEC_Pause() +{ + /* Disable the I2S2 TXE Interrupt => stop the clocks*/ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, DISABLE); + + /* Set Paused status to inform other modules about the codec status */ + SetVar_AudioPlayStatus(AudioPlayStatus_PAUSED); + + /* Reset local variables */ + monovar = 0; + tmpvar = 0; + + if (WAVE_Format.NumChannels == Channel_MONO) + { + /* Force the parity of the address */ + AudioDataIndex &= 0xFFFFFFFE; + } + /* Return the current data pointer position */ + return AudioDataIndex; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_Stop +* Description : Stop playing the audio file, reset the pointer and power off +* : the Codec. +* Input : None +* Output : None +* Return : 0 if operation complete. +*******************************************************************************/ +uint32_t I2S_CODEC_Stop() +{ + /* Disable the I2S2 TXE Interrupt => stop the clocks */ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, DISABLE); + + /* Reinitialize the audio data pointer */ + AudioDataIndex = 0; + + /* Power off the Codec to save power and protect the Codec itself */ + I2S_CODEC_PowerDown(CodecPowerDown_SW); + + /* Set Paused status to inform other modules about the codec status */ + SetVar_AudioPlayStatus(AudioPlayStatus_STOPPED); + + /* Reset local variables */ + monovar = 0; + tmpvar = 0; + + return 0; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_ControlVolume +* Description : Controls the audio volume. +* Input : - direction: VolumeDirection_HIGH (0xF) to increase the volume, +* : VolumeDirection_LOW (0xA) to decrease the volume or +* : VolumeDirection_LEVEL (0x0) to set a defined level of volume. +* : - Volume: the step of volume increasing/decreasing (when direction == 0) +* : or the volume level to be set (when direction != 0). +* Output : None +* Return : 0-> correct communication, else wrong communication +*******************************************************************************/ +uint32_t I2S_CODEC_ControlVolume(uint32_t direction, uint8_t Volume) +{ + uint32_t counter = 0; + + if (direction == VolumeDirection_HIGH) + { + /* Check if the volume high limit is reached */ + if (CurrentVolume < VOLStep) + { + CurrentVolume = 0; + } + else + { + /* Save the current volume level */ + CurrentVolume = CODEC_ReadRegister(0x0A) - Volume; + } + + /* Set the new volume */ + counter += CODEC_WriteRegister(0x0A, CurrentVolume); + } + else if (direction == VolumeDirection_LOW) + { + /* Check if the volume low limit is reached */ + if (CurrentVolume > (0xFF - VOLStep)) + { + CurrentVolume = 0xFF; + } + else + { + /* Save the current volume level */ + CurrentVolume = CODEC_ReadRegister(0x0A) + Volume; + } + + /* Set the new volume */ + counter += CODEC_WriteRegister(0x0A, CurrentVolume); + } + else if (direction == VolumeDirection_LEVEL) + { + CurrentVolume = Volume; + + /* Set the new volume */ + counter += CODEC_WriteRegister(0x0A, Volume); + } + else + { + return 0xFF; //Error verifying the Codec registers + } + + return counter; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_Mute +* Description : Enable or disable the MUTE mode by software +* Input : - Command: could be MUTEON to mute sound or MUTEOFF to restore volume +* Output : None. +* Return : None. +*******************************************************************************/ +void I2S_CODEC_Mute(uint32_t Command) +{ + uint32_t tmp = 0; + + /* Read the current value of the config register number 0x0E */ + tmp = CODEC_ReadRegister(0x0E); + + /* Set the Mute mode */ + if (Command == MUTE_ON) + { + tmp |= 0x20; + } + else /* MUTE_OFF Disable the Mute */ + { + tmp &= 0xD1; + } + + /* Write back the CODEC config register w/the new value */ + CODEC_WriteRegister(0x0E, tmp); +} + +/******************************************************************************* +* Function Name : I2S_CODEC_ForwardPlay +* Description : Forward function. +* Input : - Step: number of steps forward +* Output : None. +* Return : None. +*******************************************************************************/ +void I2S_CODEC_ForwardPlay(uint32_t Step) +{ + /* Pause Playing the audio file */ + I2S_CODEC_Pause(); + + /* Increment the Audio pointer */ + IncrementVar_AudioDataIndex((AudioDataLength / 100) * Step); + + /* Insure the index parity */ + AudioDataIndex &= 0xFFFFFFFE; + + /* Resume playing from the new position */ + I2S_CODEC_Play((GetVar_AudioDataIndex())); +} + +/******************************************************************************* +* Function Name : I2S_CODEC_RewindPlay +* Description : Rewind function. +* Input : - Step: number of steps back +* Output : None. +* Return : None. +*******************************************************************************/ +void I2S_CODEC_RewindPlay(uint32_t Step) +{ + /* Pause Playing the audio file */ + I2S_CODEC_Pause(); + + /* Increment the Audio pointer */ + DecrementVar_AudioDataIndex((AudioDataLength / 100) * Step); + + /* Insure the index parity */ + AudioDataIndex &= 0xFFFFFFFE; + + /* Resume playing from the new position */ + I2S_CODEC_Play((GetVar_AudioDataIndex())); +} + +/******************************************************************************* +* Function Name : I2S_CODEC_PowerDown +* Description : Power down the Audio Codec. +* Input : - CodecPowerDown_Mode: could be CodecPowerDown_SW for power down +* : after communication, CodecPowerDown_HW simply shut down the codec +* Output : None +* Return : None +*******************************************************************************/ +void I2S_CODEC_PowerDown(uint32_t CodecPowerDown_Mode) +{ + if (CodecPowerDown_Mode == CodecPowerDown_SW) + { + /* Power down the DAC and the speaker (PMDAC and PMSPK bits)*/ + (void)CODEC_WriteRegister(0x00, 0x40); + /* Power down the VCOM*/ + (void)CODEC_WriteRegister(0x00, 0x00); + } + else /* CodecPowerDown_HW */ + { + /* Power Down the Codec */ + GPIO_ResetBits(Codec_PDN_GPIO, Codec_PDN_Pin); + } +} + +/******************************************************************************* +* Function Name : I2S_CODEC_Reset +* Description : Reset the Audio Codec. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void I2S_CODEC_Reset(void) +{ + /* Power Down the Codec */ + GPIO_ResetBits(Codec_PDN_GPIO, Codec_PDN_Pin); + + /* wait for a delay to allow registers erasing */ + delay(0xFF); + + /* Power On the Codec after the power off => all registers are reinitialized*/ + GPIO_SetBits(Codec_PDN_GPIO, Codec_PDN_Pin); + +} + +/******************************************************************************* +* Function Name : I2S_CODEC_SpeakerHeadphoneSwap +* Description : Configure the Audio Codec output to Speaker or Headphone while +* : the audio wave is Paused or stopped. +* Input : - OutputDevice: could be OutputDevice_Speaker or OutputDevice_Headphone +* or OutputDevice_Both . +* - Address: Specifies the audio file location in the memory. +* Output : None. +* Return : - 0: Operation done without failures. +* - 1: Memory failure occur. +* - 2: Audio file initialization failure occur +* - 3: I2C communication failure occur +*******************************************************************************/ +uint32_t I2S_CODEC_SpeakerHeadphoneSwap(uint32_t OutputDevice, uint32_t Address) +{ + uint32_t tmp_pointer = 0, err = 0; + + /* Reset all Codec Registers */ + I2S_CODEC_Reset(); + + /* Save the current position */ + tmp_pointer = GetVar_AudioDataIndex(); + + /* Reinitialize the CODEC with the new configured parameters */ + err = I2S_CODEC_Init(OutputDevice, Address); + + if (err != 0) + { + return err; + } + + /* Restore the last pointer position */ + AudioDataIndex = tmp_pointer; + + /* Restore the last volume level */ + I2S_CODEC_ControlVolume(VolumeDirection_LEVEL, CurrentVolume); + + /* Play from current position */ + I2S_CODEC_Play(tmp_pointer); + + return 0; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_UpdateStatus +* Description : Check if STOP or PAUSE command are generated and performs the +* : relative action (STOP or PAUSE playing) +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void I2S_CODEC_UpdateStatus(void) +{ + /* STOP command is generated => Stop playing the audio file */ + if ((GetVar_AudioPlayStatus() == AudioPlayStatus_STOPPED) && (SPI_I2S_GetFlagStatus(SPI2, I2S_FLAG_CHSIDE) == SET)) + { + I2S_CODEC_Stop(); + } + + /* PAUSE Command is generated => PAUSE playing the audio File */ + if ((GetVar_AudioPlayStatus() == AudioPlayStatus_PAUSED) && (SPI_I2S_GetFlagStatus(SPI2, I2S_FLAG_CHSIDE) == SET)) + { + I2S_CODEC_Pause(); + } +} + +/******************************************************************************* +* Function Name : GetVar_DataStartAddr +* Description : returns DataStartAddr variable value (used by stm32f10x_it.c file). +* Input : None +* Output : None +* Return : AudioDataIndex +*******************************************************************************/ +uint32_t GetVar_DataStartAddr(void) +{ + return DataStartAddr; +} + + +/******************************************************************************* +* Function Name : GetVar_CurrentVolume +* Description : returns CurrentVolume variable value (used by extern files). +* Input : None +* Output : None +* Return : CurrentVolume +*******************************************************************************/ +uint8_t GetVar_CurrentVolume(void) +{ + return CurrentVolume; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_WaveParsing +* Description : Checks the format of the .WAV file and gets information about +* the audio format. This is done by reading the value of a +* number of parameters stored in the file header and comparing +* these to the values expected authenticates the format of a +* standard .WAV file (44 bytes will be read). If it is a valid +* .WAV file format, it continues reading the header to determine +* the audio format such as the sample rate and the sampled data +* size. If the audio format is supported by this application, +* it retrieves the audio format in WAVE_Format structure and +* returns a zero value. Otherwise the function fails and the +* return value is nonzero.In this case, the return value specifies +* the cause of the function fails. The error codes that can be +* returned by this function are declared in the header file. +* Input : None +* Output : None +* Return : Zero value if the function succeed, otherwise it return +* a nonzero value which specifies the error code. +*******************************************************************************/ +ErrorCode I2S_CODEC_WaveParsing(uint8_t* HeaderTab) +{ + uint32_t Temp = 0x00; + uint32_t ExtraFormatBytes = 0; + + /* Initialize the HeaderTabIndex variable */ + HeaderTabIndex = 0; + + /* Read chunkID, must be 'RIFF' ----------------------------------------------*/ + Temp = ReadUnit(4, BigEndian); + if (Temp != ChunkID) + { + return(Unvalid_RIFF_ID); + } + /* Read the file length ----------------------------------------------------*/ + WAVE_Format.RIFFchunksize = ReadUnit(4, LittleEndian); + + /* Read the file format, must be 'WAVE' ------------------------------------*/ + Temp = ReadUnit(4, BigEndian); + if (Temp != FileFormat) + { + return(Unvalid_WAVE_Format); + } + /* Read the format chunk, must be 'fmt ' -----------------------------------*/ + Temp = ReadUnit(4, BigEndian); + if (Temp != FormatID) + { + return(Unvalid_FormatChunk_ID); + } + /* Read the length of the 'fmt' data, must be 0x10 -------------------------*/ + Temp = ReadUnit(4, LittleEndian); + if (Temp != 0x10) + { + ExtraFormatBytes = 1; + } + /* Read the audio format, must be 0x01 (PCM) -------------------------------*/ + WAVE_Format.FormatTag = ReadUnit(2, LittleEndian); + if (WAVE_Format.FormatTag != WAVE_FORMAT_PCM) + { + return(Unsupporetd_FormatTag); + } + /* Read the number of channels: 0x02->Stereo 0x01->Mono --------------------*/ + WAVE_Format.NumChannels = ReadUnit(2, LittleEndian); + + /* Read the Sample Rate ----------------------------------------------------*/ + WAVE_Format.SampleRate = ReadUnit(4, LittleEndian); + + /* Update the I2S_AudioFreq value according to the .WAV file Sample Rate */ + switch (WAVE_Format.SampleRate) + { + case SampleRate_8000 : + i2saudiofreq = I2S_AudioFreq_8k; + break; + case SampleRate_16000: + i2saudiofreq = I2S_AudioFreq_16k; + break; + case SampleRate_22050: + i2saudiofreq = I2S_AudioFreq_22k; + break; + case SampleRate_44100: + i2saudiofreq = I2S_AudioFreq_44k; + break; + case SampleRate_48000: + i2saudiofreq = I2S_AudioFreq_48k; + break; + default: + return(Unsupporetd_Sample_Rate); + } + /* Read the Byte Rate ------------------------------------------------------*/ + WAVE_Format.ByteRate = ReadUnit(4, LittleEndian); + + /* Read the block alignment ------------------------------------------------*/ + WAVE_Format.BlockAlign = ReadUnit(2, LittleEndian); + + /* Read the number of bits per sample --------------------------------------*/ + WAVE_Format.BitsPerSample = ReadUnit(2, LittleEndian); + if (WAVE_Format.BitsPerSample != Bits_Per_Sample_16) + { + return(Unsupporetd_Bits_Per_Sample); + } + /* If there are Extra format bytes, these bytes will be defined in "Fact Chunk" */ + if (ExtraFormatBytes == 1) + { + /* Read th Extra format bytes, must be 0x00 ------------------------------*/ + Temp = ReadUnit(2, LittleEndian); + if (Temp != 0x00) + { + return(Unsupporetd_ExtraFormatBytes); + } + /* Read the Fact chunk, must be 'fact' -----------------------------------*/ + Temp = ReadUnit(4, BigEndian); + if (Temp != FactID) + { + return(Unvalid_FactChunk_ID); + } + /* Read Fact chunk data Size ---------------------------------------------*/ + Temp = ReadUnit(4, LittleEndian); + + /* Set the index to start reading just after the header end */ + HeaderTabIndex += Temp; + } + /* Read the Data chunk, must be 'data' -------------------------------------*/ + Temp = ReadUnit(4, BigEndian); + if (Temp != DataID) + { + return(Unvalid_DataChunk_ID); + } + /* Read the number of sample data ------------------------------------------*/ + WAVE_Format.DataSize = ReadUnit(4, LittleEndian); + + /* Set the data pointer at the beginning of the effective audio data */ + DataStartAddr += HeaderTabIndex; + + return(Valid_WAVE_File); +} + +/******************************************************************************* +* Function Name : GetVar_AudioDataIndex +* Description : returns AudioDataIndex variable value (used by stm32f10x_it.c file). +* Input : None +* Output : None +* Return : AudioDataIndex +*******************************************************************************/ +uint32_t GetVar_AudioDataIndex(void) +{ + return AudioDataIndex; +} + +/******************************************************************************* +* Function Name : SetVar_AudioDataIndex +* Description : Sets AudioDataIndex variable value (used by stm32f10x_it.c file). +* Input : None +* Output : None +* Return : AudioDataIndex +*******************************************************************************/ +void SetVar_AudioDataIndex(uint32_t value) +{ + AudioDataIndex = value; +} + +/******************************************************************************* +* Function Name : IncrementVar_AudioDataIndex +* Description : Increment the AudioDataIndex variable. +* Input : - IncrementNumber: number of incrementations. +* Output : None +* Return : None +*******************************************************************************/ +void IncrementVar_AudioDataIndex(uint32_t IncrementNumber) +{ + AudioDataIndex += (uint32_t)IncrementNumber; + + if (AudioDataIndex >= AudioDataLength) + { + ResetVar_AudioDataIndex(); + Decrement_AudioReplay(); + } +} + +/******************************************************************************* +* Function Name : DecrementVar_AudioDataIndex +* Description : Set the AudioDataIndex variable to 1. +* Input : None +* Output : None +* Return : None. +*******************************************************************************/ +void DecrementVar_AudioDataIndex(uint32_t DecrementNumber) +{ + if (DecrementNumber >= AudioDataIndex) + { + ResetVar_AudioDataIndex(); + } + else + { + AudioDataIndex -= (uint32_t)DecrementNumber; + } +} + +/******************************************************************************* +* Function Name : ResetVar_AudioDataIndex +* Description : Reset the AudioDataIndex variable. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void ResetVar_AudioDataIndex(void) +{ + AudioDataIndex = DataStartAddr; + + /* Send the read command to the media */ + Media_StartReadSequence(AudioFileAddress + DataStartAddr + 1); +} + +/******************************************************************************* +* Function Name : GetVar_SendDummyData +* Description : returns SendDummyData variable value (used by stm32f10x_it.c file). +* Input : None +* Output : None +* Return : SendDummyData +*******************************************************************************/ +uint32_t GetVar_SendDummyData(void) +{ + return SendDummyData; +} + +/******************************************************************************* +* Function Name : SetVar_SendDummyData +* Description : Set the SendDummyData variable to 1. +* Input : None +* Output : None +* Return : SendDummyData +*******************************************************************************/ +uint32_t SetVar_SendDummyData(void) +{ + SendDummyData = (uint32_t)0x1; + + return SendDummyData; +} + +/******************************************************************************* +* Function Name : ResetVar_SendDummyData +* Description : Reset the SendDummyData variable to 0. +* Input : None +* Output : None +* Return : SendDummyData +*******************************************************************************/ +uint32_t ResetVar_SendDummyData(void) +{ + SendDummyData = (uint32_t)0; + + return SendDummyData; +} + +/******************************************************************************* +* Function Name : GetVar_AudioPlayStatus +* Description : returns AudioPlayStatus variable value (used by stm32f10x_it.c file). +* Input : None +* Output : None +* Return : AudioPlayStatus value. +*******************************************************************************/ +uint32_t GetVar_AudioPlayStatus(void) +{ + return AudioPlayStatus; +} + +/******************************************************************************* +* Function Name : SetVar_AudioPlayStatus +* Description : Set the AudioDataIndex variable to Status. +* Input : Status: could be AudioPlayStatus_STOPPED, AudioPlayStatus_PLAYING +* : or AudioPlayStatus_PAUSED. +* Output : None +* Return : AudioPlayStatus value. +*******************************************************************************/ +uint32_t SetVar_AudioPlayStatus(uint32_t Status) +{ + AudioPlayStatus = (uint32_t)Status; + + return AudioPlayStatus; +} + +/******************************************************************************* +* Function Name : GetVar_AudioReplay +* Description : returns AudioReplay variable value. +* Input : None +* Output : None +* Return : AudioReplay value. +*******************************************************************************/ +uint32_t GetVar_AudioReplay(void) +{ + return AudioReplay; +} + +/******************************************************************************* +* Function Name : SetVar_AudioReplay +* Description : Decrement the AudioReplayCount variable if AudioReplay is different +* : from zero (infinite replaying). +* Input : None. +* Output : None +* Return : AudioPlayStatus value. +*******************************************************************************/ +void Decrement_AudioReplay(void) +{ + if (AudioReplay != 0) + { + AudioReplayCount--; + + if (AudioReplayCount == 0) + { + /* Command the Stop of the audio playing */ + SetVar_AudioPlayStatus(AudioPlayStatus_STOPPED); + + /* Reset the counter */ + AudioReplayCount = AudioReplay; + } + } +} + +/******************************************************************************* +* Function Name : GetVar_CurrentOutputDevice +* Description : Get the current output device selected . +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint32_t GetVar_CurrentOutputDevice(void) +{ + return CurrentOutputDevice; +} + +/******************************************************************************* +* Function Name : GetVar_AudioDataLength +* Description : Get the current audio file data length . +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint32_t GetVar_AudioDataLength(void) +{ + return AudioDataLength; +} + +/******************************************************************************* +* Function Name : GetVar_i2saudiofreq +* Description : Get the current audio frequency . +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t GetVar_i2saudiofreq(void) +{ + return i2saudiofreq; +} + +/******************************************************************************* +* Function Name : AudioFile_Init +* Description : Initializes the SPI_Flash and returns the Wavadatalength variable. +* Input : None +* Output : None +* Return : - The length of the wave file read from the SPI_Flash +* - 1 if an error occurred when initializing the memory. +* - 2 if an error occurred on the audio file initialization. +*******************************************************************************/ +uint32_t AudioFile_Init(void) +{ + uint32_t err = 0; + + /* Initialize the media support */ + err = Media_Init(); + + /* Check if Memory initialization is OK */ + if (err != 0) + { + return 1; + } + + /* Read a Byte buffer and store it in the Header table*/ + Media_BufferRead(AudioFileHeader, AudioFileAddress, HEADER_SIZE); + + /* Read and check the audio file Header */ + WaveFileStatus = I2S_CODEC_WaveParsing(AudioFileHeader); + + /* Check if the selected file is a correct wave file */ + if (WaveFileStatus == Valid_WAVE_File) + { + /* Read and set the audio data length (/!\ data are counted as BYTES /!\) */ + AudioDataLength = WAVE_Format.DataSize ; + + /* Read and set the audio frequency */ + i2saudiofreq = (uint16_t)WAVE_Format.SampleRate; + + /* Return the audio file length */ + return AudioDataLength; + } + else /* Wrong wave file */ + { + return 2; + } +} + +/******************************************************************************* +* Function Name : NVIC_Config +* Description : Configure the I2Ss NVIC channel. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +static void NVIC_Config(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + + /* SPI2 IRQ Channel configuration */ + NVIC_InitStructure.NVIC_IRQChannel = SPI2_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); +} + +/******************************************************************************* +* Function Name : GPIO_Config +* Description : Initializes the GPIO pins used by the codec application. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void I2S_GPIO_Config(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + + /* Enable GPIOB, GPIOC and AFIO clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOG | + RCC_APB2Periph_GPIOF | RCC_APB2Periph_AFIO, ENABLE); + + /* I2S2 SD, CK and WS pins configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_15; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; + GPIO_Init(GPIOB, &GPIO_InitStructure); + + /* I2S2 MCK pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; + GPIO_Init(GPIOC, &GPIO_InitStructure); + + /* LEDs pins configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_Init(GPIOF, &GPIO_InitStructure); + + /* I2C1 SCL PB6 and SDA PB7 pins configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; + GPIO_Init(GPIOB, &GPIO_InitStructure); + + /* Enable the I2C1 APB1 clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); + + /* Turn Off All LEDs */ + GPIO_ResetBits(GPIOF, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9); + GPIO_ResetBits(Codec_PDN_GPIO, Codec_PDN_Pin); + + /* Configure the Codec PDN pin as output PushPull */ + GPIO_InitStructure.GPIO_Pin = Codec_PDN_Pin; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_Init(Codec_PDN_GPIO, &GPIO_InitStructure); +} + +/******************************************************************************* +* Function Name : I2S_Config +* Description : Configure the I2S Peripheral. +* Input : - Standard: I2S_Standard_Phillips, I2S_Standard_MSB or I2S_Standard_LSB +* - MCLKOutput: I2S_MCLKOutput_Enable or I2S_MCLKOutput_Disable +* - AudioFreq: I2S_AudioFreq_8K, I2S_AudioFreq_16K, I2S_AudioFreq_22K, +* I2S_AudioFreq_44K or I2S_AudioFreq_48K +* Output : None +* Return : None +*******************************************************************************/ +void I2S_Config(uint16_t Standard, uint16_t MCLKOutput, uint16_t AudioFreq) +{ + I2S_InitTypeDef I2S_InitStructure; + + /* Enable I2S2 APB1 clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); + + /* Deinitialize SPI2 peripheral */ + SPI_I2S_DeInit(SPI2); + + /* I2S2 peripheral configuration */ + I2S_InitStructure.I2S_Mode = I2S_Mode_MasterTx; + I2S_InitStructure.I2S_Standard = Standard; + I2S_InitStructure.I2S_DataFormat = I2S_DataFormat_16b; + I2S_InitStructure.I2S_MCLKOutput = MCLKOutput; + I2S_InitStructure.I2S_AudioFreq = AudioFreq; + I2S_InitStructure.I2S_CPOL = I2S_CPOL_Low; + I2S_Init(SPI2, &I2S_InitStructure); + + /* Disable the I2S2 TXE Interrupt */ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, DISABLE); + + /* Enable the SPI2/I2S2 peripheral */ + I2S_Cmd(SPI2, ENABLE); +} + +/******************************************************************************* +* Function Name : I2C_Config +* Description : Configure the I2C1 Peripheral. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +static void I2C_Config(void) +{ + I2C_InitTypeDef I2C_InitStructure; + + /* I2C1 configuration */ + I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; + I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; + I2C_InitStructure.I2C_OwnAddress1 = 0x33; + I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; + I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; + I2C_InitStructure.I2C_ClockSpeed = 200000; + I2C_Init(I2C1, &I2C_InitStructure); +} + +/******************************************************************************* +* Function Name : CODEC_Config +* Description : Configure the Codec in Headphone mode. +* Input : - OutputDevice: OutputDeviceHEADPHONE or OutputDeviceSPEAKER +* : - I2S_Standard: I2S communication standard could be I2S_Standard_Phillips +* : I2S_Standard_MSB or I2S_Standard_LSB. +* : - I2S_MCLKOutput: could be I2S_MCLKOutput_ +* : - Volume: +* Output : None +* Return : 0-> correct communication, else wrong communication +*******************************************************************************/ +uint32_t CODEC_Config(uint16_t OutputDevice, uint16_t I2S_Standard, uint16_t I2S_MCLKOutput, uint8_t Volume) +{ + uint32_t Standard = 0, counter = 0, PLLMode = 0; + + /* Command the sending of dummy data */ + ResetVar_SendDummyData(); + + /* Reset the Codec Registers */ + I2S_CODEC_Reset(); + + /* Determine the I2S standard used */ + switch (I2S_Standard) + { + case I2S_Standard_Phillips: + Standard = 0x03; + break; + case I2S_Standard_MSB: + Standard = 0x02; + break; + default : + Standard = 0x01; + break; + } + + /* HEADPHONE codec configuration */ + if ((OutputDevice & OutputDevice_HEADPHONE) != 0) + { + /* PLL Slave SD/WS reference mode ----------------------*/ + if (I2S_MCLKOutput == I2S_MCLKOutput_Disable) + { + /* set the PLLMode variable */ + PLLMode = 0x1; + + /* Phillips(0x03)/MSB(0x02)/LSB(0x01) mode with PLL */ + counter += CODEC_WriteRegister(0x04, (Standard | 0x20)); + /* MCKI input frequency = 256.Fs */ + counter += CODEC_WriteRegister(0x05, 0x03); + /* VCOM Power up (PMVCM bit)*/ + counter += CODEC_WriteRegister(0x00, 0x40); + /* Enable PLL*/ + counter += CODEC_WriteRegister(0x01, 0x01); + } + /* Ext Slave mode with no PLL --------------------------*/ + else + { + /* Reset the PLL mode variable */ + PLLMode = 0; + + /* Phillips(0x03)/MSB(0x02)/LSB(0x01) mode with no PLL */ + counter += CODEC_WriteRegister(0x04, Standard); + /* MCKI input frequency = 256.Fs */ + counter += CODEC_WriteRegister(0x05, 0x00); + /* VCOM Power up (PMVCM bit)*/ + counter += CODEC_WriteRegister(0x00, 0x40); + } + + /* Command the sending of dummy data */ + SetVar_SendDummyData(); + + /* Enable the I2S2 TXE Interrupt => Generate the clocks*/ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, ENABLE); + + /* Extra Configuration (of the ALC) */ + counter += CODEC_WriteRegister(0x06, 0x3C ); + counter += CODEC_WriteRegister(0x08, 0xE1 ); + counter += CODEC_WriteRegister(0x0B, 0x00 ); + counter += CODEC_WriteRegister(0x07, 0x20 ); + counter += CODEC_WriteRegister(0x09, 0xC1 ); + counter += CODEC_WriteRegister(0x0C, 0xC1 ); + + /* MCKI is 256.Fs with no PLL */ + counter += CODEC_WriteRegister(0x05, 0x00 ); + /* Switch control from DAC to Headphone */ + counter += CODEC_WriteRegister(0x0F, 0x09 ); + /* Bass Boost and Deemphasis enable */ + counter += CODEC_WriteRegister(0x0E, 0x18 ); + /* Left Channel Digital Volume control */ + counter += CODEC_WriteRegister(0x0A, Volume); + /* Right Channel Digital Volume control */ + counter += CODEC_WriteRegister(0x0D, Volume); + /* Power up MIN and DAC (PMMIN and PMDAC bits)*/ + counter += CODEC_WriteRegister(0x00, 0x74); + /* Enable Slave mode and Left/Right HP lines*/ + counter += CODEC_WriteRegister(0x01, (0x30 | PLLMode)); + /* Exit HP mute mode */ + counter += CODEC_WriteRegister(0x01, (0x70 | PLLMode)); + } + + /* SPEAKER codec configuration */ + if ((OutputDevice & OutputDevice_SPEAKER) != 0) + { + /* PLL Slave SD/WS reference mode ----------------------*/ + if (I2S_MCLKOutput == I2S_MCLKOutput_Disable) + { + /* Phillips(0x03)/MSB(0x02)/LSB(0x01) mode with no PLL */ + counter += CODEC_WriteRegister(0x04, (Standard | 0x20)); + /* MCKI input frequency = 256.Fs */ + counter += CODEC_WriteRegister(0x05, 0x03); + /* VCOM Power up (PMVCM bit)*/ + counter += CODEC_WriteRegister(0x00, 0x40); + /* Enable PLL*/ + counter += CODEC_WriteRegister(0x01, 0x01); + } + /* Ext Slave mode with no PLL --------------------------*/ + else + { + /* Phillips(0x03)/MSB(0x02)/LSB(0x01) mode with no PLL */ + counter += CODEC_WriteRegister(0x04, Standard); + /* MCKI input frequency = 256.Fs */ + counter += CODEC_WriteRegister(0x05, 0x00); + /* VCOM Power up (PMVCM bit)*/ + counter += CODEC_WriteRegister(0x00, 0x40); + } + + /* Command the sending of dummy data */ + SetVar_SendDummyData(); + + /* Enable the I2S2 TXE Interrupt => Generate the clocks*/ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, ENABLE); + + /* ReSelect the MCKI frequency (FS0-1 bits): 256.Fs */ + counter += CODEC_WriteRegister(0x05, 0x02 ); + /* Set up the path "DAC->Speaker-Amp" with no power save (DACS and SPPSN bits) */ + counter += CODEC_WriteRegister(0x02, 0x20 ); + /* Speaker Gain (SPKG0-1 bits): Gain=+10.65dB(ALC off)/+12.65(ALC on) */ + counter += CODEC_WriteRegister(0x03, 0x10); + + /* Extra Configuration (of the ALC) */ + counter += CODEC_WriteRegister(0x06, 0x3C ); + counter += CODEC_WriteRegister(0x08, 0xE1 ); + counter += CODEC_WriteRegister(0x0B, 0x00 ); + counter += CODEC_WriteRegister(0x07, 0x20 ); + counter += CODEC_WriteRegister(0x09, 0x91 ); + counter += CODEC_WriteRegister(0x0C, 0x91 ); + + /* Left Channel Digital Volume control */ + counter += CODEC_WriteRegister(0x0A, Volume); + /* Right Channel Digital Volume control */ + counter += CODEC_WriteRegister(0x0D, Volume); + /* Power up Speaker and DAC (PMSPK and PMDAC bits)*/ + counter += CODEC_WriteRegister(0x00, 0x54); + /* Set up the path "DAC -> Speaker-Amp" with no power save */ + counter += CODEC_WriteRegister(0x02, 0xA0 /*0xA1*/); + } + + /* Disable the I2S2 TXE Interrupt */ + SPI_I2S_ITConfig(SPI2, SPI_I2S_IT_TXE, DISABLE); + + /* Disable the sending of Dummy data */ + ResetVar_SendDummyData(); + + /* Return the counter value */ + return counter; +} + +/******************************************************************************* +* Function Name : CODEC_WriteRegister +* Description : Writes a value in a register of the audio Codec through I2C. +* Input : - RegisterAddr: The target register address (between 00x and 0x24) +* : - RegisterValue: The target register value to be written +* : - Verify: 0-> Don't verify the written data, 1-> Verify the written data +* Output : None +* Return : - 0 -> Correct write operation +* : - !0 -> Incorrect write operation +*******************************************************************************/ +uint32_t CODEC_WriteRegister(uint32_t RegisterAddr, uint32_t RegisterValue) +{ + uint32_t read_verif = 0; + + /* Reset all I2C2 registers */ + I2C_SoftwareResetCmd(I2C1, ENABLE); + I2C_SoftwareResetCmd(I2C1, DISABLE); + + /* Enable the I2C1 peripheral */ + I2C_Cmd(I2C1, ENABLE); + + /* Configure the I2C peripheral */ + I2C_Config(); + + /* Begin the config sequence */ + I2C_GenerateSTART(I2C1, ENABLE); + + /* Test on EV5 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) + {} + /* Transmit the slave address and enable writing operation */ + I2C_Send7bitAddress(I2C1, CODEC_ADDRESS, I2C_Direction_Transmitter); + + /* Test on EV6 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) + {} + /* Transmit the first address for r/w operations */ + I2C_SendData(I2C1, RegisterAddr); + + /* Test on EV8 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) + {} + + /* Prepare the register value to be sent */ + I2C_SendData(I2C1, RegisterValue); + + /* Test on EV8 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) + {} + + /* End the configuration sequence */ + I2C_GenerateSTOP(I2C1, ENABLE); + + /* Verify (if needed) that the loaded data is correct */ +#ifdef VERIFY_WRITTENDATA + /* Read the just written register*/ + read_verif = CODEC_ReadRegister(RegisterAddr); + + /* Load the register and verify its value */ + if (read_verif != RegisterValue) + { + /* Control data wrongly transferred */ + read_verif = 1; + } + else + { + /* Control data correctly transferred */ + read_verif = 0; + } +#endif + + /* Return the verifying value: 0 (Passed) or 1 (Failed) */ + return read_verif; +} + +/******************************************************************************* +* Function Name : CODEC_ReadRegister +* Description : Reads a register of the audio Codec through I2C. +* Input : - RegisterAddr: The target register address (between 00x and 0x24) +* Output : None +* Return : The value of the read register +*******************************************************************************/ +uint32_t CODEC_ReadRegister(uint32_t RegisterAddr) +{ + uint32_t tmp = 0; + + /* Disable the I2C1 peripheral */ + I2C_Cmd(I2C1, DISABLE); + + /* Reset all I2C2 registers */ + I2C_SoftwareResetCmd(I2C1, ENABLE); + I2C_SoftwareResetCmd(I2C1, DISABLE); + + /* Configure the I2C peripheral */ + I2C_Config(); + + /* Enable the I2C peripheral */ + I2C_GenerateSTART(I2C1, ENABLE); + + /* Test on EV5 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) + {} + + /* Disable Acknowledgement */ + I2C_AcknowledgeConfig(I2C1, DISABLE); + + /* Transmit the slave address and enable writing operation */ + I2C_Send7bitAddress(I2C1, CODEC_ADDRESS, I2C_Direction_Transmitter); + + /* Test on EV6 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) + {} + + /* Transmit the first address for r/w operations */ + I2C_SendData(I2C1, RegisterAddr); + + /* Test on EV8 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) + {} + + /* Regenerate a start condition */ + I2C_GenerateSTART(I2C1, ENABLE); + + /* Test on EV5 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) + {} + + /* Transmit the slave address and enable writing operation */ + I2C_Send7bitAddress(I2C1, CODEC_ADDRESS, I2C_Direction_Receiver); + + /* Test on EV6 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) + {} + + /* Test on EV7 and clear it */ + while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) + {} + + /* End the configuration sequence */ + I2C_GenerateSTOP(I2C1, ENABLE); + + /* Load the register value */ + tmp = I2C_ReceiveData(I2C1); + + /* Disable Acknowledgement */ + I2C_AcknowledgeConfig(I2C1, ENABLE); + + /* Return the read value */ + return tmp; +} + +/******************************************************************************* +* Function Name : ReadUnit +* Description : Reads a number of bytes from the SPI Flash and reorder them +* in Big or little endian. +* Input : - NbrOfBytes : number of bytes to read. +* This parameter must be a number between 1 and 4. +* - ReadAddr : external memory address to read from. +* - Endians : specifies the bytes endianness. +* This parameter can be one of the following values: +* - LittleEndian +* - BigEndian +* Output : None +* Return : Bytes read from the SPI Flash. +*******************************************************************************/ +static uint32_t ReadUnit(uint8_t NbrOfBytes, Endianness BytesFormat) +{ + uint32_t index = 0; + uint32_t Temp = 0; + + if (BytesFormat == LittleEndian) + { + for (index = 0; index < NbrOfBytes; index++) + { + Temp |= AudioFileHeader[HeaderTabIndex++] << (index * 8); + } + } + else + { + for (index = NbrOfBytes; index != 0; index--) + { + Temp |= AudioFileHeader[HeaderTabIndex++] << ((index - 1) * 8); + } + } + + return Temp; +} + +/******************************************************************************* +* Function Name : I2S_CODEC_MediaReadHalfWord +* Description : Read one half word from the media (SPI_Flash/NOR/NAND memories..) +* Input : - Offset: the address offset for read operation +* Output : None. +* Return : Data read from the media memory. +*******************************************************************************/ +uint16_t Media_ReadHalfWord(uint32_t Offset) +{ + /* Test if the left channel is to be sent */ + if (monovar == 0) + { + /* Enable the FSMC that share a pin w/ I2C1 (LBAR) */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); + + tmpvar = (*(__IO uint16_t *) (AudioFileAddress + Offset)); + + /* Disable the FSMC that share a pin w/ I2C1 (LBAR) */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, DISABLE); + + /* Increment the mono variable only if the file is in mono format */ + if (WAVE_Format.NumChannels == Channel_MONO) + { + /* Increment the monovar variable */ + monovar++; + } + + /* Return the read value */ + return tmpvar; + } + /* Right channel to be sent in mono format */ + else + { + /* Reset the monovar variable */ + monovar = 0; + + /* Return the previous read data in mono format */ + return tmpvar; + } +} + +/******************************************************************************* +* Function Name : I2S_CODEC_MediaReadByte +* Description : Read one byte from the media (SPI_Flash/NOR/NAND memories..) +* Input : - Offset: the address offset for read operation +* Output : None. +* Return : Data read from the media memory. +*******************************************************************************/ +uint8_t Media_ReadByte(uint32_t Offset) +{ + uint8_t tmp = 0; + + /* Enable the FSMC that share a pin w/ I2C1 (LBAR) */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); + + /* Read data from the specified location */ + tmp = (*(__IO uint8_t *) (AudioFileAddress + Offset)); + + /* Disable the FSMC that share a pin w/ I2C1 (LBAR) */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, DISABLE); + + return tmp; +} + +/******************************************************************************* +* Function Name : Media_Init +* Description : Read one byte from the media (SPI_Flash/NOR/NAND memories..) +* Input : - Offset: the address offset for read operation +* Output : None. +* Return : - 0 if initialization is OK +* - 1 if initialization failed.. +*******************************************************************************/ +uint32_t Media_Init(void) +{ + return 0; +} + +/******************************************************************************* +* Function Name : Media_BufferRead +* Description : Read a buffer from the memory media +* Input : - pBuffer: Destination buffer address +* : - ReadAddr: start reading position +* : - NumByteToRead: size of the buffer to read +* Output : None. +* Return : None. +*******************************************************************************/ +void Media_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead) +{ + /* Enable the FSMC that share a pin w/ I2C1 (LBAR) */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); + + /* Read the data */ + while (NumByteToRead--) + { + *pBuffer++ = *(__IO uint8_t *)ReadAddr++; + } + + /* Disable the FSMC that share a pin w/ I2C1 (LBAR) */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, DISABLE); +} + +/******************************************************************************* +* Function Name : Media_StartReadSequence +* Description : Initialize reading sequence on the media. +* Input : - ReadAddr: start reading position +* Output : None. +* Return : None. +*******************************************************************************/ +void Media_StartReadSequence(uint32_t ReadAddr) +{ + /* This function could be used for memories needing a start read sequence + like SPI_Flash memory */ +} + +/******************************************************************************* +* Function Name : I2S_CODEC_DataTransfer +* Description : Sends the audio data using the SPI2 peripheral and checks the +* : audio playing status (if a command (Pause/Stop) is pending +* : the playing status is updated). If the TXE flag interrupt +* : is used to synchronize data sending, this function should be +* : called in the SPI2 ISR. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void I2S_CODEC_DataTransfer(void) +{ + /* Audio codec configuration section -------------------------------------*/ + if (GetVar_SendDummyData() == 1) + { + /* Send a dummy data just to generate the I2S clock */ + SPI_I2S_SendData(SPI2, DUMMY_DATA); + } + /* Audio codec communication section -------------------------------------*/ + else + { + /* Send the data read from the memory */ + SPI_I2S_SendData(SPI2, (Media_ReadHalfWord(AudioDataIndex))); + + /* Increment the index */ + IncrementVar_AudioDataIndex(WAVE_Format.NumChannels); + + /* Check and update the stream playing status */ + I2S_CODEC_UpdateStatus(); + } +} +/******************************************************************************* +* Function Name : delay +* Description : Inserts a delay time. +* Input : nCount: specifies the delay time length +* Output : None +* Return : The length of the wave file read from the SPI_Flash +*******************************************************************************/ +void delay(__IO uint32_t nCount) +{ + for (; nCount != 0; nCount--); +} +#endif +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/main.c new file mode 100644 index 0000000..b58c6c3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/main.c @@ -0,0 +1,87 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Audio Speaker Demo main file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_prop.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +extern uint32_t MUTE_DATA; +extern uint16_t In_Data_Offset; +extern uint16_t Out_Data_Offset; +extern uint8_t Stream_Buff[24]; +extern uint8_t IT_Clock_Sent; +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : main. +* Description : Main routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +int main(void) +{ + Set_System(); + Set_USBClock(); + USB_Config(); + USB_Init(); + Speaker_Config(); + while (1) + {} +} + +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while (1) + {} +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/stm32_it.c new file mode 100644 index 0000000..74ba641 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/stm32_it.c @@ -0,0 +1,336 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "stm32_it.h" +#include "usb_istr.h" +#include "usb_lib.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define DUMMYDATA 0x1111 + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint16_t Out_Data_Offset; +extern uint16_t In_Data_Offset; +extern uint8_t Stream_Buff[24]; +extern uint32_t MUTE_DATA; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSV_Handler exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : USB_HP_CAN1_TX_IRQHandler +* Description : This function handles USB High Priority or CAN1 TX interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void USB_HP_CAN1_TX_IRQHandler(void) +{ + CTR_HP(); +} + +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority or CAN RX0 interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +#ifdef USE_STM3210B_EVAL +/******************************************************************************* +* Function Name : TIM2_IRQHandler +* Description : This function handles TIM2 global interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void TIM2_IRQHandler(void) +{ + if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) + { + /* Clear TIM2 update interrupt */ + TIM_ClearITPendingBit(TIM2, TIM_IT_Update); + + if ((Out_Data_Offset < In_Data_Offset) && ((uint8_t)(MUTE_DATA) == 0)) + { + TIM_SetCompare3(TIM4, Stream_Buff[Out_Data_Offset]); + Out_Data_Offset++; + } + } +} +#endif /* USE_STM3210B_EVAL */ + +#if defined (USE_STM3210E_EVAL) +/******************************************************************************* +* Function Name : SPI2_IRQHandler +* Description : This function handles SPI2 global interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SPI2_IRQHandler(void) +{ + static uint8_t channel = 0; + + if ((SPI_I2S_GetITStatus(SPI2, SPI_I2S_IT_TXE) == SET)) + { + /* Audio codec configuration section */ + if (GetVar_SendDummyData() == 1) + { + /* Send a dummy data just to generate the I2S clock */ + SPI_I2S_SendData(SPI2, DUMMYDATA); + } + + else if ((Out_Data_Offset < In_Data_Offset) && ((uint8_t)(MUTE_DATA) == 0)) + { + if ((channel++) & 1) + { + SPI_I2S_SendData(SPI2, (uint16_t)Stream_Buff[Out_Data_Offset++]); + } + else + { + SPI_I2S_SendData(SPI2, (uint16_t)Stream_Buff[Out_Data_Offset]); + } + } + } +} + +#endif /* USE_STM3210E_EVAL */ + +#if defined(STM32L1XX_MD) + +/** + * @brief This function handles TIM6 global interrupt request. + * @param None + * @retval None + */ +void TIM6_IRQHandler(void) +{ + if (TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET) + { + /* Clear TIM6 update interrupt */ + TIM_ClearITPendingBit(TIM6, TIM_IT_Update); + + if ((Out_Data_Offset < In_Data_Offset) && ((uint8_t)(MUTE_DATA) == 0)) + { + /* Set DAC Channel1 DHR register */ + DAC_SetChannel1Data(DAC_Align_8b_R, Stream_Buff[Out_Data_Offset]); + Out_Data_Offset++; + } + } +} + +#endif /* STM32L1XX_XD */ + +/******************************************************************************* +* Function Name : USB_HP_IRQHandler +* Description : This function handles USB High Priority interrupts requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void USB_HP_IRQHandler(void) +{ + CTR_HP(); +} + +/******************************************************************************* +* Function Name : USB_WakeUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) +void USB_FS_WKUP_IRQHandler(void) +#else +void USBWakeUp_IRQHandler(void) +#endif +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32f10x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32f10x.c new file mode 100644 index 0000000..3686a2f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32f10x.c @@ -0,0 +1,917 @@ +/** + ****************************************************************************** + * @file system_stm32f10x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f10x_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on + * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f10x_system + * @{ + */ + +/** @addtogroup STM32F10x_System_Private_Includes + * @{ + */ + +#include "stm32f10x.h" + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) + frequency (after reset the HSI is used as SYSCLK source) + + IMPORTANT NOTE: + ============== + 1. After each device reset the HSI is used as System clock source. + + 2. Please make sure that the selected System clock doesn't exceed your device's + maximum frequency. + + 3. If none of the define below is enabled, the HSI is used as System clock + source. + + 4. The System clock configuration functions provided within this file assume that: + - For Low, Medium and High density Value line devices an external 8MHz + crystal is used to drive the System clock. + - For Low, Medium and High density devices an external 8MHz crystal is + used to drive the System clock. + - For Connectivity line devices an external 25MHz crystal is used to drive + the System clock. + If you are using different crystal you have to adapt those functions accordingly. + */ + +#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ + #define SYSCLK_FREQ_24MHz 24000000 +#else +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ +/* #define SYSCLK_FREQ_24MHz 24000000 */ +/* #define SYSCLK_FREQ_36MHz 36000000 */ +/* #define SYSCLK_FREQ_48MHz 48000000 */ +/* #define SYSCLK_FREQ_56MHz 56000000 */ +#define SYSCLK_FREQ_72MHz 72000000 +#endif + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM3210E-EVAL board (STM32 High density and XL-density devices) or on + STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) +/* #define DATA_IN_ExtSRAM */ +#endif + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Variables + * @{ + */ + +/******************************************************************************* +* Clock Definitions +*******************************************************************************/ +#ifdef SYSCLK_FREQ_HSE + uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_24MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_36MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_48MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_56MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_72MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ +#else /*!< HSI Selected as System Clock source */ + uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ +#endif + +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +#ifdef SYSCLK_FREQ_HSE + static void SetSysClockToHSE(void); +#elif defined SYSCLK_FREQ_24MHz + static void SetSysClockTo24(void); +#elif defined SYSCLK_FREQ_36MHz + static void SetSysClockTo36(void); +#elif defined SYSCLK_FREQ_48MHz + static void SetSysClockTo48(void); +#elif defined SYSCLK_FREQ_56MHz + static void SetSysClockTo56(void); +#elif defined SYSCLK_FREQ_72MHz + static void SetSysClockTo72(void); +#endif + +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ + + RCC->CFGR &= (uint32_t)0xF8FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; +#endif /* STM32F10X_XX */ + +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + + /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ + /* Configure the Flash Latency cycles and enable prefetch buffer */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + uint32_t prediv1factor = 0; +#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } + + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. + * @param None + * @retval None + */ +static void SetSysClock(void) +{ +#ifdef SYSCLK_FREQ_HSE + SetSysClockToHSE(); +#elif defined SYSCLK_FREQ_24MHz + SetSysClockTo24(); +#elif defined SYSCLK_FREQ_36MHz + SetSysClockTo36(); +#elif defined SYSCLK_FREQ_48MHz + SetSysClockTo48(); +#elif defined SYSCLK_FREQ_56MHz + SetSysClockTo56(); +#elif defined SYSCLK_FREQ_72MHz + SetSysClockTo72(); +#endif + + /* If none of the define above is enabled, the HSI is used as System clock + source (default after reset) */ +} + +/** + * @brief Setup the external memory controller. Called in startup_stm32f10x.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f10x_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114; + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0; + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BB; + GPIOD->CRH = 0xBBBBBBBB; + + GPIOE->CRL = 0xB44444BB; + GPIOE->CRH = 0xBBBBBBBB; + + GPIOF->CRL = 0x44BBBBBB; + GPIOF->CRH = 0xBBBB4444; + + GPIOG->CRL = 0x44BBBBBB; + GPIOG->CRH = 0x44444B44; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000200; +} +#endif /* DATA_IN_ExtSRAM */ + +#ifdef SYSCLK_FREQ_HSE +/** + * @brief Selects HSE as System clock source and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockToHSE(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* Select HSE as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; + + /* Wait till HSE is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_24MHz +/** + * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo24(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_XX */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_36MHz +/** + * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo36(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_48MHz +/** + * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo48(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_56MHz +/** + * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo56(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + + /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_72MHz +/** + * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo72(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | + RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#endif + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32l1xx.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32l1xx.c new file mode 100644 index 0000000..1be659d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/system_stm32l1xx.c @@ -0,0 +1,533 @@ +/** + ****************************************************************************** + * @file system_stm32l1xx.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32L1xx Ultra + * Low Power devices, and is generated by the clock configuration + * tool "STM32L1xx_Clock_Configuration_V1.1.0.xls". + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32l1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and MSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * System Clock Configuration + *============================================================================= + * System Clock source | PLL(HSE) + *----------------------------------------------------------------------------- + * SYSCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * HCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * HSE Frequency | 8000000 Hz + *----------------------------------------------------------------------------- + * PLL DIV | 3 + *----------------------------------------------------------------------------- + * PLL MUL | 12 + *----------------------------------------------------------------------------- + * VDD | 3.3 V + *----------------------------------------------------------------------------- + * Vcore | 1.8 V (Range 1) + *----------------------------------------------------------------------------- + * Flash Latency | 1 WS + *----------------------------------------------------------------------------- + * SDIO clock (SDIOCLK) | 48000000 Hz + *----------------------------------------------------------------------------- + * Require 48MHz for USB clock | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32l1xx_system + * @{ + */ + +/** @addtogroup STM32L1xx_System_Private_Includes + * @{ + */ + +#include "stm32l1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM32L152D_EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 32000000; +__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48}; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /*!< Set MSION bit */ + RCC->CR |= (uint32_t)0x00000100; + + /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */ + RCC->CFGR &= (uint32_t)0x88FFC00C; + + /*!< Reset HSION, HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xEEFEFFFE; + + /*!< Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */ + RCC->CFGR &= (uint32_t)0xFF02FFFF; + + /*!< Disable all interrupts */ + RCC->CIR = 0x00000000; + +#ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM */ + + /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI + * value as defined by the MSI range. + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + case 0x04: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x08: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x0C: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmul = RCC->CFGR & RCC_CFGR_PLLMUL; + plldiv = RCC->CFGR & RCC_CFGR_PLLDIV; + pllmul = PLLMulTable[(pllmul >> 18)]; + plldiv = (plldiv >> 22) + 1; + + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + if (pllsource == 0x00) + { + /* HSI oscillator clock selected as PLL clock entry */ + SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv); + } + else + { + /* HSE selected as PLL clock entry */ + SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv); + } + break; + default: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable 64-bit access */ + FLASH->ACR |= FLASH_ACR_ACC64; + + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTEN; + + /* Flash 1 wait state */ + FLASH->ACR |= FLASH_ACR_LATENCY; + + /* Power enable */ + RCC->APB1ENR |= RCC_APB1ENR_PWREN; + + /* Select the Voltage Range 1 (1.8 V) */ + PWR->CR = PWR_CR_VOS_0; + + /* Wait Until the Voltage Regulator is ready */ + while((PWR->CSR & PWR_CSR_VOSF) != RESET) + { + } + + /* HCLK = SYSCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL | + RCC_CFGR_PLLDIV)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL12 | RCC_CFGR_PLLDIV3); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { + /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in SystemInit() function before jump to main. + * This function configures the external SRAM mounted on STM32L152D_EVAL board + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*-- GPIOs Configuration -----------------------------------------------------*/ +/* + +-------------------+--------------------+------------------+------------------+ + + SRAM pins assignment + + +-------------------+--------------------+------------------+------------------+ + | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | + | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | + | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | + | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | + | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | + | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | + | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 | + | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ + | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | + | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | + | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+ + | PD15 <-> FSMC_D1 |--------------------+ + +-------------------+ +*/ + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHBENR = 0x000080D8; + + /* Connect PDx pins to FSMC Alternate function */ + GPIOD->AFR[0] = 0x00CC00CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A0A; + /* Configure PDx pins speed to 40 MHz */ + GPIOD->OSPEEDR = 0xFFFF0F0F; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x00000000; + + /* Connect PEx pins to FSMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA800A; + /* Configure PEx pins speed to 40 MHz */ + GPIOE->OSPEEDR = 0xFFFFC00F; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x00000000; + + /* Connect PFx pins to FSMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 40 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x00000000; + + /* Connect PGx pins to FSMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x00000C00; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 40 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00000000; + +/*-- FSMC Configuration ------------------------------------------------------*/ + /* Enable the FSMC interface clock */ + RCC->AHBENR = 0x400080D8; + + /* Configure and enable Bank1_SRAM3 */ + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000300; + FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF; +/* + Bank1_SRAM3 is configured as follow: + + p.FSMC_AddressSetupTime = 0; + p.FSMC_AddressHoldTime = 0; + p.FSMC_DataSetupTime = 3; + p.FSMC_BusTurnAroundDuration = 0; + p.FSMC_CLKDivision = 0; + p.FSMC_DataLatency = 0; + p.FSMC_AccessMode = FSMC_AccessMode_A; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); +*/ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_desc.c new file mode 100644 index 0000000..7f56731 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_desc.c @@ -0,0 +1,251 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Audio Speaker Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private constants----------------------------------------------------------*/ +/* USB Standard Device Descriptor */ +const uint8_t Speaker_DeviceDescriptor[] = + { + SPEAKER_SIZ_DEVICE_DESC, /* bLength */ + USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x00, /* 2.00 */ /* bcdUSB */ + 0x02, + 0x00, /* bDeviceClass */ + 0x00, /* bDeviceSubClass */ + 0x00, /* bDeviceProtocol */ + 0x40, /* bMaxPacketSize 40 */ + 0x83, /* idVendor */ + 0x04, + 0x30, /* idProduct = 0x5730*/ + 0x57, + 0x00, /* 2.00 */ /* bcdDevice */ + 0x02, + 1, /* iManufacturer */ + 2, /* iProduct */ + 3, /* iSerialNumber */ + 0x01 /* bNumConfigurations */ + }; + +/* USB Configuration Descriptor */ +/* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ +const uint8_t Speaker_ConfigDescriptor[] = + { + /* Configuration 1 */ + 0x09, /* bLength */ + USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x6D, /* wTotalLength 110 bytes*/ + 0x00, + 0x02, /* bNumInterfaces */ + 0x01, /* bConfigurationValue */ + 0x00, /* iConfiguration */ + 0xC0, /* bmAttributes Self Powred*/ + 0x32, /* bMaxPower = 100 mA*/ + /* 09 byte*/ + + /* USB Speaker Standard interface descriptor */ + SPEAKER_SIZ_INTERFACE_DESC_SIZE, /* bLength */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x00, /* bInterfaceNumber */ + 0x00, /* bAlternateSetting */ + 0x00, /* bNumEndpoints */ + USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */ + AUDIO_SUBCLASS_AUDIOCONTROL, /* bInterfaceSubClass */ + AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */ + 0x00, /* iInterface */ + /* 09 byte*/ + + /* USB Speaker Class-specific AC Interface Descriptor */ + SPEAKER_SIZ_INTERFACE_DESC_SIZE, /* bLength */ + AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_CONTROL_HEADER, /* bDescriptorSubtype */ + 0x00, /* 1.00 */ /* bcdADC */ + 0x01, + 0x27, /* wTotalLength = 39*/ + 0x00, + 0x01, /* bInCollection */ + 0x01, /* baInterfaceNr */ + /* 09 byte*/ + + /* USB Speaker Input Terminal Descriptor */ + AUDIO_INPUT_TERMINAL_DESC_SIZE, /* bLength */ + AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_CONTROL_INPUT_TERMINAL, /* bDescriptorSubtype */ + 0x01, /* bTerminalID */ + 0x01, /* wTerminalType AUDIO_TERMINAL_USB_STREAMING 0x0101 */ + 0x01, + 0x00, /* bAssocTerminal */ + 0x01, /* bNrChannels */ + 0x00, /* wChannelConfig 0x0000 Mono */ + 0x00, + 0x00, /* iChannelNames */ + 0x00, /* iTerminal */ + /* 12 byte*/ + + /* USB Speaker Audio Feature Unit Descriptor */ + 0x09, /* bLength */ + AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_CONTROL_FEATURE_UNIT, /* bDescriptorSubtype */ + 0x02, /* bUnitID */ + 0x01, /* bSourceID */ + 0x01, /* bControlSize */ + AUDIO_CONTROL_MUTE, /* bmaControls(0) */ + 0x00, /* bmaControls(1) */ + 0x00, /* iTerminal */ + /* 09 byte*/ + + /*USB Speaker Output Terminal Descriptor */ + 0x09, /* bLength */ + AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_CONTROL_OUTPUT_TERMINAL, /* bDescriptorSubtype */ + 0x03, /* bTerminalID */ + 0x01, /* wTerminalType 0x0301*/ + 0x03, + 0x00, /* bAssocTerminal */ + 0x02, /* bSourceID */ + 0x00, /* iTerminal */ + /* 09 byte*/ + + /* USB Speaker Standard AS Interface Descriptor - Audio Streaming Zero Bandwith */ + /* Interface 1, Alternate Setting 0 */ + SPEAKER_SIZ_INTERFACE_DESC_SIZE, /* bLength */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x01, /* bInterfaceNumber */ + 0x00, /* bAlternateSetting */ + 0x00, /* bNumEndpoints */ + USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */ + AUDIO_SUBCLASS_AUDIOSTREAMING, /* bInterfaceSubClass */ + AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */ + 0x00, /* iInterface */ + /* 09 byte*/ + + /* USB Speaker Standard AS Interface Descriptor - Audio Streaming Operational */ + /* Interface 1, Alternate Setting 1 */ + SPEAKER_SIZ_INTERFACE_DESC_SIZE, /* bLength */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x01, /* bInterfaceNumber */ + 0x01, /* bAlternateSetting */ + 0x01, /* bNumEndpoints */ + USB_DEVICE_CLASS_AUDIO, /* bInterfaceClass */ + AUDIO_SUBCLASS_AUDIOSTREAMING, /* bInterfaceSubClass */ + AUDIO_PROTOCOL_UNDEFINED, /* bInterfaceProtocol */ + 0x00, /* iInterface */ + /* 09 byte*/ + + /* USB Speaker Audio Streaming Interface Descriptor */ + AUDIO_STREAMING_INTERFACE_DESC_SIZE, /* bLength */ + AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_STREAMING_GENERAL, /* bDescriptorSubtype */ + 0x01, /* bTerminalLink */ + 0x01, /* bDelay */ + 0x02, /* wFormatTag AUDIO_FORMAT_PCM8 0x0002*/ + 0x00, + /* 07 byte*/ + + /* USB Speaker Audio Type I Format Interface Descriptor */ + 0x0B, /* bLength */ + AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_STREAMING_FORMAT_TYPE, /* bDescriptorSubtype */ + AUDIO_FORMAT_TYPE_I, /* bFormatType */ + 0x01, /* bNrChannels */ + 0x01, /* bSubFrameSize */ + 8, /* bBitResolution */ + 0x01, /* bSamFreqType */ + 0xF0, /* tSamFreq 22000 = 0x55F0 */ + 0x55, + 0x00, + /* 11 byte*/ + + /* Endpoint 1 - Standard Descriptor */ + AUDIO_STANDARD_ENDPOINT_DESC_SIZE, /* bLength */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x01, /* bEndpointAddress 1 out endpoint*/ + USB_ENDPOINT_TYPE_ISOCHRONOUS, /* bmAttributes */ + 0x16, /* wMaxPacketSize 22 bytes*/ + 0x00, + 0x01, /* bInterval */ + 0x00, /* bRefresh */ + 0x00, /* bSynchAddress */ + /* 09 byte*/ + + /* Endpoint - Audio Streaming Descriptor*/ + AUDIO_STREAMING_ENDPOINT_DESC_SIZE, /* bLength */ + AUDIO_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType */ + AUDIO_ENDPOINT_GENERAL, /* bDescriptor */ + 0x00, /* bmAttributes */ + 0x00, /* bLockDelayUnits */ + 0x00, /* wLockDelay */ + 0x00, + /* 07 byte*/ + }; + +/* USB String Descriptor (optional) */ +const uint8_t Speaker_StringLangID[SPEAKER_SIZ_STRING_LANGID] = + { + 0x04, + 0x03, + 0x09, + 0x04 + } + ; /* LangID = 0x0409: U.S. English */ + +const uint8_t Speaker_StringVendor[SPEAKER_SIZ_STRING_VENDOR] = + { + SPEAKER_SIZ_STRING_VENDOR, /* Size of manufacturer string */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +const uint8_t Speaker_StringProduct[SPEAKER_SIZ_STRING_PRODUCT] = + { + SPEAKER_SIZ_STRING_PRODUCT, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, + 'S', 0, 'p', 0, 'e', 0, 'a', 0, 'k', 0, 'e', 0, 'r', 0 + }; + +uint8_t Speaker_StringSerial[SPEAKER_SIZ_STRING_SERIAL] = + { + SPEAKER_SIZ_STRING_SERIAL, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0 + }; +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_istr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_istr.c new file mode 100644 index 0000000..f5786a2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_istr.c @@ -0,0 +1,248 @@ +/** + ****************************************************************************** + * @file usb_istr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief ISTR events interrupt service routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_prop.h" +#include "usb_pwr.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint16_t wIstr; /* ISTR register last read value */ +__IO uint8_t bIntPackSOF = 0; /* SOFs received between 2 consecutive packets */ +__IO uint32_t esof_counter =0; /* expected SOF counter */ +__IO uint32_t wCNTR=0; + +/* Extern variables ----------------------------------------------------------*/ +extern uint16_t In_Data_Offset; +extern uint16_t Out_Data_Offset; +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* function pointers to non-control endpoints service routines */ +void (*pEpInt_IN[7])(void) = + { + EP1_IN_Callback, + EP2_IN_Callback, + EP3_IN_Callback, + EP4_IN_Callback, + EP5_IN_Callback, + EP6_IN_Callback, + EP7_IN_Callback, + }; + +void (*pEpInt_OUT[7])(void) = + { + EP1_OUT_Callback, + EP2_OUT_Callback, + EP3_OUT_Callback, + EP4_OUT_Callback, + EP5_OUT_Callback, + EP6_OUT_Callback, + EP7_OUT_Callback, + }; + + +/******************************************************************************* +* Function Name : USB_Istr +* Description : ISTR events interrupt service routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void USB_Istr(void) +{ + uint32_t i=0; + __IO uint32_t EP[8]; + + wIstr = _GetISTR(); + +#if (IMR_MSK & ISTR_CTR) + if (wIstr & ISTR_CTR & wInterrupt_Mask) + { + /* servicing of the endpoint correct transfer interrupt */ + /* clear of the CTR flag into the sub */ + CTR_LP(); + +#ifdef CTR_CALLBACK + CTR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_RESET) + if (wIstr & ISTR_RESET & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_RESET); + Device_Property.Reset(); +#ifdef RESET_CALLBACK + RESET_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_DOVR) + if (wIstr & ISTR_DOVR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_DOVR); +#ifdef DOVR_CALLBACK + DOVR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ERR) + if (wIstr & ISTR_ERR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_ERR); +#ifdef ERR_CALLBACK + ERR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_WKUP) + if (wIstr & ISTR_WKUP & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_WKUP); + Resume(RESUME_EXTERNAL); +#ifdef WKUP_CALLBACK + WKUP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SUSP) + if (wIstr & ISTR_SUSP & wInterrupt_Mask) + { + + /* check if SUSPEND is possible */ + if (fSuspendEnabled) + { + Suspend(); + } + else + { + /* if not possible then resume after xx ms */ + Resume(RESUME_LATER); + } + /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ + _SetISTR((uint16_t)CLR_SUSP); +#ifdef SUSP_CALLBACK + SUSP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SOF) + if (wIstr & ISTR_SOF & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_SOF); + bIntPackSOF++; + +#ifdef SOF_CALLBACK + SOF_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ESOF) + if (wIstr & ISTR_ESOF & wInterrupt_Mask) + { + /* clear ESOF flag in ISTR */ + _SetISTR((uint16_t)CLR_ESOF); + + if ((_GetFNR()&FNR_RXDP)!=0) + { + /* increment ESOF counter */ + esof_counter ++; + + /* test if we enter in ESOF more than 3 times with FSUSP =0 and RXDP =1=>> possible missing SUSP flag*/ + if ((esof_counter >3)&&((_GetCNTR()&CNTR_FSUSP)==0)) + { + /* this a sequence to apply a force RESET*/ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + esof_counter = 0; + } + } + else + { + esof_counter = 0; + } + + /* resume handling timing is made with ESOFs */ + Resume(RESUME_ESOF); /* request without change of the machine state */ + +#ifdef ESOF_CALLBACK + ESOF_Callback(); +#endif + } +#endif +} /* USB_Istr */ + +/******************************************************************************* +* Function Name : USB_Istr +* Description : Start of frame callback function. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SOF_Callback(void) +{ + In_Data_Offset = 0; + Out_Data_Offset = 0; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_pwr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_pwr.c new file mode 100644 index 0000000..a2253a8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Audio_Speaker/src/usb_pwr.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file usb_pwr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t bDeviceState = UNCONNECTED; /* USB device status */ +__IO bool fSuspendEnabled = TRUE; /* true when suspend is possible */ +__IO uint32_t EP[8]; + +struct +{ + __IO RESUME_STATE eState; + __IO uint8_t bESOFcnt; +} +ResumeS; + +__IO uint32_t remotewakeupon=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : PowerOn +* Description : +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOn(void) +{ + uint16_t wRegVal; + + /*** cable plugged-in ? ***/ + USB_Cable_Config(ENABLE); + + /*** CNTR_PWDN = 0 ***/ + wRegVal = CNTR_FRES; + _SetCNTR(wRegVal); + + /*** CNTR_FRES = 0 ***/ + wInterrupt_Mask = 0; + _SetCNTR(wInterrupt_Mask); + /*** Clear pending interrupts ***/ + _SetISTR(0); + /*** Set interrupt mask ***/ + wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; + _SetCNTR(wInterrupt_Mask); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : PowerOff +* Description : handles switch-off conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOff() +{ + /* disable all interrupts and force USB reset */ + _SetCNTR(CNTR_FRES); + /* clear interrupt status register */ + _SetISTR(0); + /* Disable the Pull-Up*/ + USB_Cable_Config(DISABLE); + /* switch-off device */ + _SetCNTR(CNTR_FRES + CNTR_PDWN); + /* sw variables reset */ + /* ... */ + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Suspend +* Description : sets suspend mode operating conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Suspend(void) +{ + uint32_t i =0; + uint16_t wCNTR; + uint32_t tmpreg = 0; + __IO uint32_t savePWR_CR=0; + /* suspend preparation */ + /* ... */ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /* This a sequence to apply a force RESET to handle a robustness case */ + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /* unmask RESET flag */ + wCNTR|=CNTR_RESETM; + _SetCNTR(wCNTR); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + /* Now it is safe to enter macrocell in suspend mode */ + wCNTR |= CNTR_FSUSP; + _SetCNTR(wCNTR); + + /* force low-power mode in the macrocell */ + wCNTR = _GetCNTR(); + wCNTR |= CNTR_LPMODE; + _SetCNTR(wCNTR); + + /*prepare entry in low power mode (STOP mode)*/ + /* Select the regulator state in STOP mode*/ + savePWR_CR = PWR->CR; + tmpreg = PWR->CR; + /* Clear PDDS and LPDS bits */ + tmpreg &= ((uint32_t)0xFFFFFFFC); + /* Set LPDS bit according to PWR_Regulator value */ + tmpreg |= PWR_Regulator_LowPower; + /* Store the new value */ + PWR->CR = tmpreg; + /* Set SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; +#else + SCB->SCR |= SCB_SCR_SLEEPDEEP; +#endif + + /* enter system in STOP mode, only when wakeup flag in not set */ + if((_GetISTR()&ISTR_WKUP)==0) + { + __WFI(); + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } + else + { + /* Clear Wakeup flag */ + _SetISTR(CLR_WKUP); + /* clear FSUSP to abort entry in suspend mode */ + wCNTR = _GetCNTR(); + wCNTR&=~CNTR_FSUSP; + _SetCNTR(wCNTR); + + /*restore sleep mode configuration */ + /* restore Power regulator config in sleep mode*/ + PWR->CR = savePWR_CR; + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } +} + +/******************************************************************************* +* Function Name : Resume_Init +* Description : Handles wake-up restoring normal operations +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Resume_Init(void) +{ + uint16_t wCNTR; + + /* ------------------ ONLY WITH BUS-POWERED DEVICES ---------------------- */ + /* restart the clocks */ + /* ... */ + + /* CNTR_LPMODE = 0 */ + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_LPMODE); + _SetCNTR(wCNTR); + + /* restore full power */ + /* ... on connected devices */ + Leave_LowPowerMode(); + + /* reset FSUSP bit */ + _SetCNTR(IMR_MSK); + + /* reverse suspend preparation */ + /* ... */ + +} + +/******************************************************************************* +* Function Name : Resume +* Description : This is the state machine handling resume operations and +* timing sequence. The control is based on the Resume structure +* variables and on the ESOF interrupt calling this subroutine +* without changing machine state. +* Input : a state machine value (RESUME_STATE) +* RESUME_ESOF doesn't change ResumeS.eState allowing +* decrementing of the ESOF counter in different states. +* Output : None. +* Return : None. +*******************************************************************************/ +void Resume(RESUME_STATE eResumeSetVal) +{ + uint16_t wCNTR; + + if (eResumeSetVal != RESUME_ESOF) + ResumeS.eState = eResumeSetVal; + switch (ResumeS.eState) + { + case RESUME_EXTERNAL: + if (remotewakeupon ==0) + { + Resume_Init(); + ResumeS.eState = RESUME_OFF; + } + else /* RESUME detected during the RemoteWAkeup signalling => keep RemoteWakeup handling*/ + { + ResumeS.eState = RESUME_ON; + } + break; + case RESUME_INTERNAL: + Resume_Init(); + ResumeS.eState = RESUME_START; + remotewakeupon = 1; + break; + case RESUME_LATER: + ResumeS.bESOFcnt = 2; + ResumeS.eState = RESUME_WAIT; + break; + case RESUME_WAIT: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + ResumeS.eState = RESUME_START; + break; + case RESUME_START: + wCNTR = _GetCNTR(); + wCNTR |= CNTR_RESUME; + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_ON; + ResumeS.bESOFcnt = 10; + break; + case RESUME_ON: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + { + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_RESUME); + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_OFF; + remotewakeupon = 0; + } + break; + case RESUME_OFF: + case RESUME_ESOF: + default: + ResumeS.eState = RESUME_OFF; + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..6721a0d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f30x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f30x_flash.icf new file mode 100644 index 0000000..9d295c8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32f30x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32l1xx_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32l1xx_flash.icf new file mode 100644 index 0000000..8b7d80d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/EWARM/stm32l1xx_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0805FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvopt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvopt new file mode 100644 index 0000000..f161eaa --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvopt @@ -0,0 +1,2649 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + STM3210B-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210B-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0058NAE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06418041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0058NAE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06418041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC5000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL_XL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -U -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L151xx_152xx_DS.PDF + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -U -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152D-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L162xx_DS.PDF + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + ULP2CM3 + -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UV0579U9E -O2254 -S0 -C0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32373C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + ULP2CM3 + -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32303C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + ULP2CM3 + -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + User + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + misc.c + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + stm32f37x_misc.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\hw_config.c + hw_config.c + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\main.c + main.c + + + 1 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_desc.c + usb_desc.c + + + 1 + 6 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_endp.c + usb_endp.c + + + 1 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_istr.c + usb_istr.c + + + 1 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_prop.c + usb_prop.c + + + 1 + 9 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_pwr.c + usb_pwr.c + + + 1 + 10 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\stm32_it.c + stm32_it.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\fsmc_nand.c + fsmc_nand.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\mass_mal.c + mass_mal.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\memory.c + memory.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\nand_if.c + nand_if.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_bot.c + usb_bot.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_scsi.c + usb_scsi.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\scsi_data.c + scsi_data.c + + + + + CMSIS + 0 + 0 + 0 + + 2 + 11 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f10x.c + system_stm32f10x.c + + + 2 + 12 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32l1xx.c + system_stm32l1xx.c + + + 2 + 13 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + startup_stm32f10x_hd.s + + + 2 + 14 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + startup_stm32f10x_ld.s + + + 2 + 15 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + startup_stm32f10x_ld_vl.s + + + 2 + 16 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + startup_stm32f10x_md.s + + + 2 + 17 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + startup_stm32f10x_md_vl.s + + + 2 + 18 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + startup_stm32f10x_xl.s + + + 2 + 19 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + startup_stm32l1xx_hd.s + + + 2 + 20 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + startup_stm32l1xx_md.s + + + 2 + 21 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + startup_stm32l1xx_mdp.s + + + 2 + 22 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + startup_stm32f37x.s + + + 2 + 23 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f37x.c + system_stm32f37x.c + + + 2 + 24 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f30x.c + system_stm32f30x.c + + + 2 + 25 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + startup_stm32f30x.s + + + + + USB-FS-Device_Driver + 0 + 0 + 0 + + 3 + 26 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + usb_init.c + + + 3 + 27 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + usb_int.c + + + 3 + 28 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + usb_mem.c + + + 3 + 29 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + usb_regs.c + + + 3 + 30 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + usb_core.c + + + 3 + 31 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + 0 + 0 + 0 + + 4 + 32 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + stm32f10x_rcc.c + + + 4 + 33 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + stm32f10x_gpio.c + + + 4 + 34 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + stm32f10x_adc.c + + + 4 + 35 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + stm32f10x_dma.c + + + 4 + 36 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + stm32f10x_exti.c + + + 4 + 37 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + stm32f10x_flash.c + + + 4 + 38 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_usart.c + + + 4 + 39 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + stm32f10x_i2c.c + + + 4 + 40 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + stm32f10x_spi.c + + + 4 + 41 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + stm32f10x_sdio.c + + + 4 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + 0 + 0 + 0 + + 5 + 42 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + stm32l1xx_usart.c + + + 5 + 43 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + stm32l1xx_adc.c + + + 5 + 44 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + stm32l1xx_dma.c + + + 5 + 45 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + stm32l1xx_exti.c + + + 5 + 46 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + stm32l1xx_flash.c + + + 5 + 47 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + stm32l1xx_gpio.c + + + 5 + 48 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + stm32l1xx_i2c.c + + + 5 + 49 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + stm32l1xx_pwr.c + + + 5 + 50 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + stm32l1xx_rcc.c + + + 5 + 51 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + stm32l1xx_syscfg.c + + + 5 + 52 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + stm32l1xx_spi.c + + + 5 + 53 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + 0 + 0 + 0 + + 6 + 54 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + stm32f37x_adc.c + + + 6 + 55 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + stm32f37x_dac.c + + + 6 + 56 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + stm32f37x_dma.c + + + 6 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + stm32f37x_exti.c + + + 6 + 58 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + stm32f37x_flash.c + + + 6 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + stm32f37x_gpio.c + + + 6 + 60 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + stm32f37x_i2c.c + + + 6 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + stm32f37x_pwr.c + + + 6 + 62 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + stm32f37x_rcc.c + + + 6 + 63 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + stm32f37x_spi.c + + + 6 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + stm32f37x_syscfg.c + + + 6 + 65 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + 0 + 0 + 0 + + 7 + 66 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + stm32f30x_adc.c + + + 7 + 67 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + stm32f30x_can.c + + + 7 + 68 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + stm32f30x_crc.c + + + 7 + 69 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + stm32f30x_dac.c + + + 7 + 70 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + stm32f30x_dma.c + + + 7 + 71 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + stm32f30x_exti.c + + + 7 + 72 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + stm32f30x_flash.c + + + 7 + 73 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + stm32f30x_gpio.c + + + 7 + 74 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + stm32f30x_i2c.c + + + 7 + 75 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + stm32f30x_misc.c + + + 7 + 76 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + stm32f30x_pwr.c + + + 7 + 77 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + stm32f30x_rcc.c + + + 7 + 78 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + stm32f30x_rtc.c + + + 7 + 79 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + stm32f30x_spi.c + + + 7 + 80 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + stm32f30x_syscfg.c + + + 7 + 81 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + stm32f30x_usart.c + + + + + STM3210B-EVAL + 0 + 0 + 0 + + 8 + 82 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + stm3210b_eval.c + + + 8 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + 0 + 0 + 0 + + 9 + 83 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + stm3210e_eval.c + + + 9 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + 0 + 0 + 0 + + 10 + 84 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + stm32l152_eval.c + + + 10 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + 0 + 0 + 0 + + 11 + 85 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + stm32l152d_eval.c + + + 11 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + 0 + 0 + 0 + + 12 + 86 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + stm32373c_eval.c + + + 12 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + 0 + 0 + 0 + + 13 + 87 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + stm32303c_eval.c + + + 13 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + stm32303c_eval_spi_sd.c + + + + + Doc + 0 + 0 + 0 + + 14 + 88 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\readme.txt + readme.txt + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvproj new file mode 100644 index 0000000..6c36c3e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/MDK-ARM/Composite_Example.uvproj @@ -0,0 +1,13585 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_MD, USE_STM3210B_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L152VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5249 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + + STM32L152ZD + STMicroelectronics + IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code") + ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + 6190 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15\STM32L152xD.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152D-EVAL\ + STM32L152D-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152D-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 1 + 0x8000000 + 0x60000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x60000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_HD, USE_STM32L152D_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + + STM32F373VCT6 + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM0.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32373C_EVAL\ + STM32373C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F37X, USE_STM32373C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F37x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F37x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + + STM32F303VC + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM4.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32303C_EVAL\ + STM32303C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32303C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F30X, USE_STM32303C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F30x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/RIDE/Composite_Example.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/RIDE/Composite_Example.rprj new file mode 100644 index 0000000..20bcdb6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/RIDE/Composite_Example.rprj @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..8f1ba33 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,247 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F10x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM3210B_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM32F10x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + STM32F10x/CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + STM32F10x/STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x/STM3210B_EVAL/stm3210b_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_spi_sd.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl new file mode 100644 index 0000000..2d09c3d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl @@ -0,0 +1,148 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 20k; + map ( size = 20k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..a479212 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.cproject @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.project new file mode 100644 index 0000000..1295c9c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/.project @@ -0,0 +1,203 @@ + + + STM3210E-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + STM32F10x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + STM32F10x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + STM32F10x/CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + STM32F10x/STM3210E_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + STM32F10x/STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + STM32F10x/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + STM32F10x/STM32F10x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + STM32F10x/STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..af72174 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl new file mode 100644 index 0000000..f1bb71e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 512k; + map ( size = 512k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 64k; + map ( size = 64k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..2f3a8e2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..93a6438 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,247 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F10x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM3210E_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM32F10x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + STM32F10x/CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + STM32F10x/STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl new file mode 100644 index 0000000..a944802 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 0x100000; + map ( size = 0x100000, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 96k; + map ( size = 96k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..276c0b8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/.cproject new file mode 100644 index 0000000..058c9a6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/.cproject @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch new file mode 100644 index 0000000..6c766c6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl new file mode 100644 index 0000000..d8ba5b5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl @@ -0,0 +1,200 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f37x.lsl +// +// Version : @(#)stm32f37x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F37x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F37x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 32k +#endif + +memory STM32F37x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F37x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_TS_IRQHandler" ); // EXTI2_TS_IRQHandler interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1 interrupts + vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts + vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM15_IRQHandler" ); // TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM16_IRQHandler" ); // TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM17_IRQHandler" ); // TIM17 global interrupt + vector ( id = 43, optional, fill = "TIM118_DAC2_IRQHandler" ); // TIM18 global Interrupt and DAC2 underrun Interrupt + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "CEC_IRQHandler" ); // CEC interrupt + vector ( id = 59, optional, fill = "TIM12_IRQHandler" ); // TIM12 global interrupt + vector ( id = 60, optional, fill = "TIM13_IRQHandler" ); // TIM13 global interrupt + vector ( id = 61, optional, fill = "TIM14_IRQHandler" ); // TIM14 global interrupt + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC1_IRQHandler" ); // TIM6 glbl irq, DAC1 CH1 & CH2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "SDADC1_IRQHandler" ); // ADC Sigma Delta 1 global Interrupt + vector ( id = 78, optional, fill = "SDADC2_IRQHandler" ); // ADC Sigma Delta 2 global Interrupt + vector ( id = 79, optional, fill = "SDADC3_IRQHandler" ); // ADC Sigma Delta 3 global Interrupt + vector ( id = 80, optional, fill = "COMP_IRQHandler" ); // COMP1 and COMP2 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt + vector ( id = 92, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup Interrupt + vector ( id = 94, optional, fill = "TIM19_IRQHandler" ); // TIM19 global Interrupt + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..24aeee3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.cproject @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..c34ba34 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,237 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L1xx/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L152_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L1xx_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + STM32L1xx/CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + STM32L1xx/STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx/STM32L152_EVAL/stm32l152_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_spi_sd.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..9672c54 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,237 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L1xx/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L152D_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L1xx_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + STM32L1xx/CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + STM32L1xx/STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx/STM32L152D_EVAL/stm32l152d_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval_sdio_sd.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl new file mode 100644 index 0000000..463038d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx.lsl +// +// Version : @(#)stm32l1xx.lsl 1.5 11/06/30 +// +// Description : LSL file for the STMicroelectronics STM32L1xx +// +// Copyright 2010-2011 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __EEPROM_SIZE Specifies the size of the EEPROM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 73 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x00000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 384k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif +#ifndef __EEPROM_SIZE +# define __EEPROM_SIZE 4k +#endif + +memory STM32L1xx_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_EEPROM +{ + mau = 8; + type = reserved rom; + size = __EEPROM_SIZE; + map ( size = __EEPROM_SIZE, dest_offset=0x08080000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + vector ( id = 61, optional, fill = "SDIO_IRQHandler" ); // SDIO_IRQHandler + vector ( id = 62, optional, fill = "TIM5_IRQHandler" ); //TIM5_IRQHandler + vector ( id = 63, optional, fill = "SPI3_IRQHandler" ); //SPI3_IRQHandler + vector ( id = 64, optional, fill = "UART4_IRQHandler" ); //UART4_IRQHandler + vector ( id = 65, optional, fill = "UART5_IRQHandler" ); //UART5_IRQHandler + vector ( id = 66, optional, fill = "DMA2_Channel1_IRQHandler" ); //DMA2_Channel1_IRQHandler + vector ( id = 67, optional, fill = "DMA2_Channel2_IRQHandler" ); //DMA2_Channel2_IRQHandler + vector ( id = 68, optional, fill = "DMA2_Channel3_IRQHandler" ); //DMA2_Channel3_IRQHandler + vector ( id = 69, optional, fill = "DMA2_Channel4_IRQHandler" ); //DMA2_Channel4_IRQHandler + vector ( id = 70, optional, fill = "DMA2_Channel5_IRQHandler" ); //DMA2_Channel5_IRQHandler + vector ( id = 71, optional, fill = "AES_IRQHandler" ); //AES_IRQHandler + vector ( id = 72, optional, fill = "COMP_ACQ_IRQHandler" ); //Comparator Channel Acquisition + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..7772f2a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.cproject @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..48e3a74 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,291 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210B_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM3210B_EVAL/stm3210b_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_spi_sd.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ba973b2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:15:49 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 0000000..cbbda89 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 16:43:25 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.316348137/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.316348137/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.316348137/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.316348137/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.316348137/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.316348137/appendContributed=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.316348137/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.316348137/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.316348137/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.316348137/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch new file mode 100644 index 0000000..eec22d7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld new file mode 100644 index 0000000..e0aa35c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103VB Device with +** 128KByte FLASH, 20KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20005000; /* end of 20K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..7768c2a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:16:40 GMT+01:00 2012 +BOARD=STM3210E-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZE +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 0000000..aa0068a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 16:43:41 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/appendContributed=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch new file mode 100644 index 0000000..09aa202 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..8320534 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..b543267 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..4c1cd2c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,296 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 0000000..f494c19 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 16:43:56 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.189815562/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.189815562/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.189815562/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.189815562/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.189815562/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.189815562/appendContributed=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.189815562/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.189815562/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.189815562/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.189815562/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld new file mode 100644 index 0000000..b1c6965 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZG Device with +** 1MByte FLASH, 96KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20018000; /* end of 96K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.cproject new file mode 100644 index 0000000..730491d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.project new file mode 100644 index 0000000..ed7266d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.project @@ -0,0 +1,340 @@ + + + STM32303C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32303C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32303C_EVAL/stm32303c_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval_spi_sd.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_opamp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_opamp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_wwdg.c + + + TrueSTUDIO/startup_stm32f30x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/TrueSTUDIO/startup_stm32f30x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..1341ab0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:40:41 GMT+01:00 2012 +BOARD=STM32303C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F303VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 0000000..aa0068a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 16:43:41 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/appendContributed=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.cproject new file mode 100644 index 0000000..c50ce5b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..b7c9e1f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,345 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32373C_EVAL/stm32373c_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval_spi_sd.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..969048d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Fri Dec 14 08:51:00 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 0000000..5ce5ba5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,4 @@ +#Fri Dec 14 09:47:22 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/project/com.atollic.truestudio.exe.debug.311825581/append=true +environment/project/com.atollic.truestudio.exe.debug.311825581/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 0000000..aa0068a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 16:43:41 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/appendContributed=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch new file mode 100644 index 0000000..5bd9514 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld new file mode 100644 index 0000000..35c7d30 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F373VC Device with +** 256KByte FLASH, 32KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20008000; /* end of 32K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x100; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..25d858f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.cproject @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..c0293a7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,281 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L152_EVAL/stm32l152_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_spi_sd.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..6159162 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:18:43 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..54665d9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld new file mode 100644 index 0000000..1be62d5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_md Device with +** 128KByte FLASH, 16KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20004000; /* end of 16K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x80; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..be2da63 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.cproject @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.project new file mode 100644 index 0000000..3a6ee8a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.project @@ -0,0 +1,286 @@ + + + STM32L152D-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152D_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152D_EVAL/stm32l152D_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152D_eval.c + + + STM32L152D_EVAL/stm32l152d_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval_sdio_sd.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_fsmc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa650d6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:48:58 GMT+01:00 2012 +BOARD=STM32L152D-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152ZD +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld new file mode 100644 index 0000000..0d8b7b3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_hd Device with +** 384KByte FLASH, 48KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000BFF8; + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/fsmc_nand.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/fsmc_nand.h new file mode 100644 index 0000000..9bdee98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/fsmc_nand.h @@ -0,0 +1,112 @@ +/** + ****************************************************************************** + * @file fsmc_nand.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for fsmc_nand.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __FSMC_NAND_H +#define __FSMC_NAND_H + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f10x.h" + +/* Exported types ------------------------------------------------------------*/ +typedef struct +{ + uint8_t Maker_ID; + uint8_t Device_ID; + uint8_t Third_ID; + uint8_t Fourth_ID; +}NAND_IDTypeDef; + +typedef struct +{ + uint16_t Zone; + uint16_t Block; + uint16_t Page; +} NAND_ADDRESS; + +/* Exported constants --------------------------------------------------------*/ +/* NAND Area definition for STM3210E-EVAL Board RevD */ +#define CMD_AREA (uint32_t)(1<<16) /* A16 = CLE high */ +#define ADDR_AREA (uint32_t)(1<<17) /* A17 = ALE high */ + +#define DATA_AREA ((uint32_t)0x00000000) + +/* FSMC NAND memory command */ +#define NAND_CMD_AREA_A ((uint8_t)0x00) +#define NAND_CMD_AREA_B ((uint8_t)0x01) +#define NAND_CMD_AREA_C ((uint8_t)0x50) +#define NAND_CMD_AREA_TRUE1 ((uint8_t)0x30) + +#define NAND_CMD_WRITE0 ((uint8_t)0x80) +#define NAND_CMD_WRITE_TRUE1 ((uint8_t)0x10) + +#define NAND_CMD_ERASE0 ((uint8_t)0x60) +#define NAND_CMD_ERASE1 ((uint8_t)0xD0) + +#define NAND_CMD_READID ((uint8_t)0x90) +#define NAND_CMD_STATUS ((uint8_t)0x70) +#define NAND_CMD_LOCK_STATUS ((uint8_t)0x7A) +#define NAND_CMD_RESET ((uint8_t)0xFF) + +/* NAND memory status */ +#define NAND_VALID_ADDRESS ((uint32_t)0x00000100) +#define NAND_INVALID_ADDRESS ((uint32_t)0x00000200) +#define NAND_TIMEOUT_ERROR ((uint32_t)0x00000400) +#define NAND_BUSY ((uint32_t)0x00000000) +#define NAND_ERROR ((uint32_t)0x00000001) +#define NAND_READY ((uint32_t)0x00000040) + +/* FSMC NAND memory parameters */ +#define NAND_PAGE_SIZE ((uint16_t)0x0200) /* 512 bytes per page w/o Spare Area */ +#define NAND_BLOCK_SIZE ((uint16_t)0x0020) /* 32x512 bytes pages per block */ +#define NAND_ZONE_SIZE ((uint16_t)0x0400) /* 1024 Block per zone */ +#define NAND_SPARE_AREA_SIZE ((uint16_t)0x0010) /* last 16 bytes as spare area */ +#define NAND_MAX_ZONE ((uint16_t)0x0004) /* 4 zones of 1024 block */ + +/* FSMC NAND memory address computation */ +#define ADDR_1st_CYCLE(ADDR) (uint8_t)((ADDR)& 0xFF) /* 1st addressing cycle */ +#define ADDR_2nd_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF00) >> 8) /* 2nd addressing cycle */ +#define ADDR_3rd_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF0000) >> 16) /* 3rd addressing cycle */ +#define ADDR_4th_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF000000) >> 24) /* 4th addressing cycle */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void FSMC_NAND_Init(void); +void FSMC_NAND_ReadID(NAND_IDTypeDef* NAND_ID); +uint32_t FSMC_NAND_WriteSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToWrite); +uint32_t FSMC_NAND_ReadSmallPage (uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToRead); +uint32_t FSMC_NAND_WriteSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaTowrite); +uint32_t FSMC_NAND_ReadSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaToRead); +uint32_t FSMC_NAND_EraseBlock(NAND_ADDRESS Address); +uint32_t FSMC_NAND_Reset(void); +uint32_t FSMC_NAND_GetStatus(void); +uint32_t FSMC_NAND_ReadStatus(void); +uint32_t FSMC_NAND_AddressIncrement(NAND_ADDRESS* Address); + +#endif /* __FSMC_NAND_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/mass_mal.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/mass_mal.h new file mode 100644 index 0000000..4374449 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/mass_mal.h @@ -0,0 +1,49 @@ +/** + ****************************************************************************** + * @file mass_mal.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for mass_mal.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MASS_MAL_H +#define __MASS_MAL_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +#define MAL_OK 0 +#define MAL_FAIL 1 +#define MAX_LUN 1 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +uint16_t MAL_Init (uint8_t lun); +uint16_t MAL_GetStatus (uint8_t lun); +uint16_t MAL_Read(uint8_t lun, uint32_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length); +uint16_t MAL_Write(uint8_t lun, uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length); +#endif /* __MASS_MAL_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/memory.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/memory.h new file mode 100644 index 0000000..3cc19a7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/memory.h @@ -0,0 +1,46 @@ +/** + ****************************************************************************** + * @file memory.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Memory management layer + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __memory_H +#define __memory_H + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +#define TXFR_IDLE 0 +#define TXFR_ONGOING 1 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Write_Memory (uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length); +void Read_Memory (uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length); +#endif /* __memory_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/platform_config.h new file mode 100644 index 0000000..609b2fb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/platform_config.h @@ -0,0 +1,224 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #include "stm32l152_eval_spi_sd.h" + +#elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval_sdio_sd.h" + #include "stm32l152d_eval.h" + +#else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ + +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #include "stm3210b_eval_spi_sd.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval_sdio_sd.h" + #include "stm3210e_eval.h" + #include "fsmc_nand.h" + #include "nand_if.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ + +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" + #include "stm32373c_eval_spi_sd.h" + +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" + #include "stm32303c_eval_spi_sd.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL)&& !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) + //#define USE_STM3210B_EVAL + //#define USE_STM3210E_EVAL + //#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define USE_STM32373C_EVAL + #define USE_STM32303C_EVAL +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + + +#define RCC_AHBPeriph_ALLGPIO (RCC_AHBPeriph_GPIOA \ + | RCC_AHBPeriph_GPIOB \ + | RCC_AHBPeriph_GPIOC \ + | RCC_AHBPeriph_GPIOD \ + | RCC_AHBPeriph_GPIOE \ + | RCC_AHBPeriph_GPIOF ) +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + #define ADC1_DR_Address ((uint32_t)0x4001244C) + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + #define ADC1_DR_Address ((uint32_t)0x4001244C) + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + #define RCC_AHBPeriph_GPIO_DISCONNECT 0 + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + + #define ADC1_DR_Address ((uint32_t)0x40012458) + +#endif /* USE_STM3210B_EVAL */ + +#if defined (USE_STM32373C_EVAL) + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC +#endif +#if defined (USE_STM32303C_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB +#endif + +#if defined (USE_STM32L152_EVAL) + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOB + #define GPIO_IOAIN GPIOB + #define GPIO_IOAIN_PIN GPIO_Pin_12 /* PB.12 */ + #define ADC_AIN_CHANNEL ADC_Channel_18 + +#elif defined (USE_STM32L152D_EVAL) + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOF + #define GPIO_IOAIN GPIOF + #define GPIO_IOAIN_PIN GPIO_Pin_10 /* PF.10 */ + #define ADC_AIN_CHANNEL ADC_Channel_31 + +#elif defined (USE_STM32373C_EVAL) + + #define ADC1_DR_Address 0x4001244C + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOB + #define GPIO_IOAIN GPIOB + #define GPIO_IOAIN_PIN GPIO_Pin_1 /* PB.1 */ + #define ADC_AIN_CHANNEL ADC_Channel_9 + #define GPIO_Mode_AIN GPIO_Mode_AN + +#elif defined (USE_STM32303C_EVAL) + + #define ADC1_DR_Address 0x5000030C + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOC + #define GPIO_IOAIN GPIOC + #define GPIO_IOAIN_PIN GPIO_Pin_1 /* PC.1 */ + #define ADC_AIN_CHANNEL ADC_Channel_7 + #define GPIO_Mode_AIN GPIO_Mode_AN + +#else + #define RCC_APB2Periph_GPIO_IOAIN RCC_APB2Periph_GPIOC + #define GPIO_IOAIN GPIOC + #define GPIO_IOAIN_PIN GPIO_Pin_4 /* PC.04 */ + #define ADC_AIN_CHANNEL ADC_Channel_14 + +#endif /* USE_STM32L152_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32_it.h new file mode 100644 index 0000000..7c4b238 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32_it.h @@ -0,0 +1,57 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); +void DMA1_Channel1_IRQHandler(void); +void EXTI9_5_IRQHandler(void); +void EXTI15_10_IRQHandler(void); + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32l1xx_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32l1xx_conf.h new file mode 100644 index 0000000..42c3a01 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/stm32l1xx_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32l1xx_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L1xx_CONF_H +#define __STM32L1xx_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32l1xx_adc.h" +#include "stm32l1xx_crc.h" +#include "stm32l1xx_comp.h" +#include "stm32l1xx_dac.h" +#include "stm32l1xx_dbgmcu.h" +#include "stm32l1xx_dma.h" +#include "stm32l1xx_exti.h" +#include "stm32l1xx_flash.h" +#include "stm32l1xx_gpio.h" +#include "stm32l1xx_syscfg.h" +#include "stm32l1xx_i2c.h" +#include "stm32l1xx_iwdg.h" +#include "stm32l1xx_lcd.h" +#include "stm32l1xx_pwr.h" +#include "stm32l1xx_rcc.h" +#include "stm32l1xx_rtc.h" +#include "stm32l1xx_spi.h" +#include "stm32l1xx_tim.h" +#include "stm32l1xx_usart.h" +#include "stm32l1xx_wwdg.h" +#include "stm32l1xx_sdio.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval : None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32L1xx_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_desc.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_desc.h new file mode 100644 index 0000000..f3f7d31 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_desc.h @@ -0,0 +1,69 @@ +/** + ****************************************************************************** + * @file usb_desc.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptor Header for Custom HID Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_DESC_H +#define __USB_DESC_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define USB_DEVICE_DESCRIPTOR_TYPE 0x01 +#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02 +#define USB_STRING_DESCRIPTOR_TYPE 0x03 +#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04 +#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05 + +#define HID_DESCRIPTOR_TYPE 0x21 +#define CUSTOMHID_SIZ_HID_DESC 0x09 +#define CUSTOMHID_OFF_HID_DESC 0x12 + +#define Composite_SIZ_DEVICE_DESC 18 +#define Composite_SIZ_CONFIG_DESC 64 +#define CUSTOMHID_SIZ_REPORT_DESC 143 +#define Composite_SIZ_STRING_LANGID 4 +#define Composite_SIZ_STRING_VENDOR 38 +#define Composite_SIZ_STRING_PRODUCT 48 +#define Composite_SIZ_STRING_SERIAL 26 + +#define STANDARD_ENDPOINT_DESC_SIZE 0x09 + +/* Exported functions ------------------------------------------------------- */ +extern const uint8_t Composite_DeviceDescriptor[Composite_SIZ_DEVICE_DESC]; +extern const uint8_t Composite_ConfigDescriptor[Composite_SIZ_CONFIG_DESC]; +extern const uint8_t CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC]; +extern const uint8_t Composite_StringLangID[Composite_SIZ_STRING_LANGID]; +extern const uint8_t Composite_StringVendor[Composite_SIZ_STRING_VENDOR]; +extern const uint8_t Composite_StringProduct[Composite_SIZ_STRING_PRODUCT]; +extern uint8_t Composite_StringSerial[Composite_SIZ_STRING_SERIAL]; + +#endif /* __USB_DESC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_istr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_istr.h new file mode 100644 index 0000000..017dce7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_istr.h @@ -0,0 +1,95 @@ +/** + ****************************************************************************** + * @file usb_istr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file includes the peripherals header files in the user application. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_ISTR_H +#define __USB_ISTR_H + +/* Includes ------------------------------------------------------------------*/ +#include "usb_conf.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + + void USB_Istr(void); + +/* function prototypes Automatically built defining related macros */ + +void EP1_IN_Callback(void); +void EP2_IN_Callback(void); +void EP3_IN_Callback(void); +void EP4_IN_Callback(void); +void EP5_IN_Callback(void); +void EP6_IN_Callback(void); +void EP7_IN_Callback(void); + +void EP1_OUT_Callback(void); +void EP2_OUT_Callback(void); +void EP3_OUT_Callback(void); +void EP4_OUT_Callback(void); +void EP5_OUT_Callback(void); +void EP6_OUT_Callback(void); +void EP7_OUT_Callback(void); + + +#ifdef CTR_CALLBACK +void CTR_Callback(void); +#endif + +#ifdef DOVR_CALLBACK +void DOVR_Callback(void); +#endif + +#ifdef ERR_CALLBACK +void ERR_Callback(void); +#endif + +#ifdef WKUP_CALLBACK +void WKUP_Callback(void); +#endif + +#ifdef SUSP_CALLBACK +void SUSP_Callback(void); +#endif + +#ifdef RESET_CALLBACK +void RESET_Callback(void); +#endif + +#ifdef SOF_CALLBACK +void SOF_Callback(void); +#endif + +#ifdef ESOF_CALLBACK +void ESOF_Callback(void); +#endif + +#endif /*__USB_ISTR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_prop.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_prop.h new file mode 100644 index 0000000..a43ee70 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_prop.h @@ -0,0 +1,89 @@ +/** + ****************************************************************************** + * @file usb_prop.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Custom HID demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PROP_H +#define __USB_PROP_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _HID_REQUESTS +{ + GET_REPORT = 1, + GET_IDLE, + GET_PROTOCOL, + + SET_REPORT = 9, + SET_IDLE, + SET_PROTOCOL +} HID_REQUESTS; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void CustomHID_init(void); +void CustomHID_Reset(void); +void CustomHID_SetConfiguration(void); +void CustomHID_SetDeviceAddress (void); +void CustomHID_Status_In (void); +void CustomHID_Status_Out (void); +RESULT CustomHID_Data_Setup(uint8_t); +RESULT CustomHID_NoData_Setup(uint8_t); +RESULT CustomHID_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting); +uint8_t *CustomHID_GetDeviceDescriptor(uint16_t ); +uint8_t *CustomHID_GetConfigDescriptor(uint16_t); +uint8_t *CustomHID_GetStringDescriptor(uint16_t); +RESULT CustomHID_SetProtocol(void); +uint8_t *CustomHID_GetProtocolValue(uint16_t Length); +RESULT CustomHID_SetProtocol(void); +uint8_t *CustomHID_GetReportDescriptor(uint16_t Length); +uint8_t *CustomHID_GetHIDDescriptor(uint16_t Length); +void CustomHID_ClearFeature(void); + +/* MASS Storage Requests*/ +#define GET_MAX_LUN 0xFE +#define MASS_STORAGE_RESET 0xFF +#define LUN_DATA_LENGTH 1 + + +/* Exported define -----------------------------------------------------------*/ +#define CustomHID_GetConfiguration NOP_Process +//#define CustomHID_SetConfiguration NOP_Process +#define CustomHID_GetInterface NOP_Process +#define CustomHID_SetInterface NOP_Process +#define CustomHID_GetStatus NOP_Process +//#define CustomHID_ClearFeature NOP_Process +#define CustomHID_SetEndPointFeature NOP_Process +#define CustomHID_SetDeviceFeature NOP_Process +//#define CustomHID_SetDeviceAddress NOP_Process + +#define REPORT_DESCRIPTOR 0x22 + +#endif /* __USB_PROP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_pwr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_pwr.h new file mode 100644 index 0000000..b15860c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_pwr.h @@ -0,0 +1,70 @@ +/** + ****************************************************************************** + * @file usb_pwr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PWR_H +#define __USB_PWR_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _RESUME_STATE +{ + RESUME_EXTERNAL, + RESUME_INTERNAL, + RESUME_LATER, + RESUME_WAIT, + RESUME_START, + RESUME_ON, + RESUME_OFF, + RESUME_ESOF +} RESUME_STATE; + +typedef enum _DEVICE_STATE +{ + UNCONNECTED, + ATTACHED, + POWERED, + SUSPENDED, + ADDRESSED, + CONFIGURED +} DEVICE_STATE; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Suspend(void); +void Resume_Init(void); +void Resume(RESUME_STATE eResumeSetVal); +RESULT PowerOn(void); +RESULT PowerOff(void); +/* External variables --------------------------------------------------------*/ +extern __IO uint32_t bDeviceState; /* USB device status */ +extern __IO bool fSuspendEnabled; /* true when suspend is possible */ + +#endif /*__USB_PWR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_scsi.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_scsi.h new file mode 100644 index 0000000..5c4d46f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/inc/usb_scsi.h @@ -0,0 +1,154 @@ +/** + ****************************************************************************** + * @file usb_scsi.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to the SCSI commands + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_SCSI_H +#define __USB_SCSI_H + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* SCSI Commands */ +#define SCSI_FORMAT_UNIT 0x04 +#define SCSI_INQUIRY 0x12 +#define SCSI_MODE_SELECT6 0x15 +#define SCSI_MODE_SELECT10 0x55 +#define SCSI_MODE_SENSE6 0x1A +#define SCSI_MODE_SENSE10 0x5A +#define SCSI_ALLOW_MEDIUM_REMOVAL 0x1E +#define SCSI_READ6 0x08 +#define SCSI_READ10 0x28 +#define SCSI_READ12 0xA8 +#define SCSI_READ16 0x88 + +#define SCSI_READ_CAPACITY10 0x25 +#define SCSI_READ_CAPACITY16 0x9E + +#define SCSI_REQUEST_SENSE 0x03 +#define SCSI_START_STOP_UNIT 0x1B +#define SCSI_TEST_UNIT_READY 0x00 +#define SCSI_WRITE6 0x0A +#define SCSI_WRITE10 0x2A +#define SCSI_WRITE12 0xAA +#define SCSI_WRITE16 0x8A + +#define SCSI_VERIFY10 0x2F +#define SCSI_VERIFY12 0xAF +#define SCSI_VERIFY16 0x8F + +#define SCSI_SEND_DIAGNOSTIC 0x1D +#define SCSI_READ_FORMAT_CAPACITIES 0x23 + +#define NO_SENSE 0 +#define RECOVERED_ERROR 1 +#define NOT_READY 2 +#define MEDIUM_ERROR 3 +#define HARDWARE_ERROR 4 +#define ILLEGAL_REQUEST 5 +#define UNIT_ATTENTION 6 +#define DATA_PROTECT 7 +#define BLANK_CHECK 8 +#define VENDOR_SPECIFIC 9 +#define COPY_ABORTED 10 +#define ABORTED_COMMAND 11 +#define VOLUME_OVERFLOW 13 +#define MISCOMPARE 14 + + +#define INVALID_COMMAND 0x20 +#define INVALID_FIELED_IN_COMMAND 0x24 +#define PARAMETER_LIST_LENGTH_ERROR 0x1A +#define INVALID_FIELD_IN_PARAMETER_LIST 0x26 +#define ADDRESS_OUT_OF_RANGE 0x21 +#define MEDIUM_NOT_PRESENT 0x3A +#define MEDIUM_HAVE_CHANGED 0x28 + +#define READ_FORMAT_CAPACITY_DATA_LEN 0x0C +#define READ_CAPACITY10_DATA_LEN 0x08 +#define MODE_SENSE10_DATA_LEN 0x08 +#define MODE_SENSE6_DATA_LEN 0x04 +#define REQUEST_SENSE_DATA_LEN 0x12 +#define STANDARD_INQUIRY_DATA_LEN 0x24 +#define BLKVFY 0x04 + +extern uint8_t Page00_Inquiry_Data[]; +extern uint8_t Standard_Inquiry_Data[]; +extern uint8_t Standard_Inquiry_Data2[]; +extern uint8_t Mode_Sense6_data[]; +extern uint8_t Mode_Sense10_data[]; +extern uint8_t Scsi_Sense_Data[]; +extern uint8_t ReadCapacity10_Data[]; +extern uint8_t ReadFormatCapacity_Data []; + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void SCSI_Inquiry_Cmd(uint8_t lun); +void SCSI_ReadFormatCapacity_Cmd(uint8_t lun); +void SCSI_ReadCapacity10_Cmd(uint8_t lun); +void SCSI_RequestSense_Cmd (uint8_t lun); +void SCSI_Start_Stop_Unit_Cmd(uint8_t lun); +void SCSI_ModeSense6_Cmd (uint8_t lun); +void SCSI_ModeSense10_Cmd (uint8_t lun); +void SCSI_Write10_Cmd(uint8_t lun , uint32_t LBA , uint32_t BlockNbr); +void SCSI_Read10_Cmd(uint8_t lun , uint32_t LBA , uint32_t BlockNbr); +void SCSI_Verify10_Cmd(uint8_t lun); + +void SCSI_Invalid_Cmd(uint8_t lun); +void SCSI_Valid_Cmd(uint8_t lun); +bool SCSI_Address_Management(uint8_t lun , uint8_t Cmd , uint32_t LBA , uint32_t BlockNbr); + +void Set_Scsi_Sense_Data(uint8_t lun , uint8_t Sens_Key, uint8_t Asc); +void SCSI_TestUnitReady_Cmd (uint8_t lun); +void SCSI_Format_Cmd (uint8_t lun); + +//#define SCSI_TestUnitReady_Cmd SCSI_Valid_Cmd +#define SCSI_Prevent_Removal_Cmd SCSI_Valid_Cmd + +/* Invalid (Unsupported) commands */ +#define SCSI_READ_CAPACITY16_Cmd SCSI_Invalid_Cmd +//#define SCSI_FormatUnit_Cmd SCSI_Invalid_Cmd +#define SCSI_Write6_Cmd SCSI_Invalid_Cmd +#define SCSI_Write16_Cmd SCSI_Invalid_Cmd +#define SCSI_Write12_Cmd SCSI_Invalid_Cmd +#define SCSI_Read6_Cmd SCSI_Invalid_Cmd +#define SCSI_Read12_Cmd SCSI_Invalid_Cmd +#define SCSI_Read16_Cmd SCSI_Invalid_Cmd +#define SCSI_Send_Diagnostic_Cmd SCSI_Invalid_Cmd +#define SCSI_Mode_Select6_Cmd SCSI_Invalid_Cmd +#define SCSI_Mode_Select10_Cmd SCSI_Invalid_Cmd +#define SCSI_Verify12_Cmd SCSI_Invalid_Cmd +#define SCSI_Verify16_Cmd SCSI_Invalid_Cmd + +#endif /* __USB_SCSI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/readme.txt new file mode 100644 index 0000000..38afddb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/readme.txt @@ -0,0 +1,177 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the Composite Example Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +This Demo provides a description of how to use the USB-FS-Device on the STM32F10xxx, +STM32F37xxx, STM32F30xxx and STM32L15xxx devices. +The examples provide a composite device +A composite device is one that has multiple interfaces controlled independently of each other. +Using composite device, multiple functions are combined into a single device. +In this Example the independent interfaces are : Mass Storage (MSC) and Custom HID + +LED1,LED2 and LED3 are reserved for Custom HID demo +LED4 reserved for MSC, it is ON when MicroSD is Ready for write and read operations. + +When even one of the interface class of the device is changed, it should be handled +differently by Windows. However, it doesn't recognize the modification. To avoid conflict on +Windows, we suggest to assign another VID/PID to the device (idProduct = 0x5750) or +delete device instance from device manager. + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKING: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + + - STM32L152-EVAL Set-up + - Jumpers JP18 and JP19 should be connected. + - Jumper JP17 should be connected in position 5-6 (PB12 connector) + - Note that JoySitck Right and Left buttons are used for this Demo. + + - STM32L152D-EVAL Set-up + - LCD Glass should be mounted On IO position for Potentiometer usage. + - JP13 should be connected to ADC input. + + - STM32F373C_EVAL Set-up + - None. + + - STM32F303C_EVAL Set-up + - None. + +How to use it +============= + + EWARM + - Open the Composite_Example.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the Composite_Example.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the Composite_Example.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/fsmc_nand.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/fsmc_nand.c new file mode 100644 index 0000000..ae3b79f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/fsmc_nand.c @@ -0,0 +1,503 @@ +/** + ****************************************************************************** + * @file fsmc_nand.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file provides a set of functions needed to drive the +* NAND512W3A2 memory mounted on STM3210E-EVAL board. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "fsmc_nand.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +#define FSMC_Bank_NAND FSMC_Bank2_NAND +#define Bank_NAND_ADDR Bank2_NAND_ADDR +#define Bank2_NAND_ADDR ((uint32_t)0x70000000) + +/* Private macro -------------------------------------------------------------*/ +#define ROW_ADDRESS (Address.Page + (Address.Block + (Address.Zone * NAND_ZONE_SIZE)) * NAND_BLOCK_SIZE) + +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : FSMC_NAND_Init +* Description : Configures the FSMC and GPIOs to interface with the NAND memory. +* This function must be called before any write/read operation +* on the NAND. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NAND_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + FSMC_NANDInitTypeDef FSMC_NANDInitStructure; + FSMC_NAND_PCCARDTimingInitTypeDef p; + + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | + RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG, ENABLE); + +/*-- GPIO Configuration ------------------------------------------------------*/ +/* CLE, ALE, D0->D3, NOE, NWE and NCE2 NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_14 | GPIO_Pin_15 | + GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | + GPIO_Pin_7; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; + + GPIO_Init(GPIOD, &GPIO_InitStructure); + +/* D4->D7 NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10; + + GPIO_Init(GPIOE, &GPIO_InitStructure); + + +/* NWAIT NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; + + GPIO_Init(GPIOD, &GPIO_InitStructure); + +/* INT2 NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; + GPIO_Init(GPIOG, &GPIO_InitStructure); + + /*-- FSMC Configuration ------------------------------------------------------*/ + p.FSMC_SetupTime = 0x1; + p.FSMC_WaitSetupTime = 0x3; + p.FSMC_HoldSetupTime = 0x2; + p.FSMC_HiZSetupTime = 0x1; + + FSMC_NANDInitStructure.FSMC_Bank = FSMC_Bank2_NAND; + FSMC_NANDInitStructure.FSMC_Waitfeature = FSMC_Waitfeature_Enable; + FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b; + FSMC_NANDInitStructure.FSMC_ECC = FSMC_ECC_Enable; + FSMC_NANDInitStructure.FSMC_ECCPageSize = FSMC_ECCPageSize_512Bytes; + FSMC_NANDInitStructure.FSMC_TCLRSetupTime = 0x00; + FSMC_NANDInitStructure.FSMC_TARSetupTime = 0x00; + FSMC_NANDInitStructure.FSMC_CommonSpaceTimingStruct = &p; + FSMC_NANDInitStructure.FSMC_AttributeSpaceTimingStruct = &p; + + FSMC_NANDInit(&FSMC_NANDInitStructure); + + /* FSMC NAND Bank Cmd Test */ + FSMC_NANDCmd(FSMC_Bank2_NAND, ENABLE); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_ReadID +* Description : Reads NAND memory's ID. +* Input : - NAND_ID: pointer to a NAND_IDTypeDef structure which will hold +* the Manufacturer and Device ID. +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NAND_ReadID(NAND_IDTypeDef* NAND_ID) +{ + uint32_t data = 0; + + /* Send Command to the command area */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = 0x90; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + + /* Sequence to read ID from NAND flash */ + data = *(__IO uint32_t *)(Bank_NAND_ADDR | DATA_AREA); + + NAND_ID->Maker_ID = ADDR_1st_CYCLE (data); + NAND_ID->Device_ID = ADDR_2nd_CYCLE (data); + NAND_ID->Third_ID = ADDR_3rd_CYCLE (data); + NAND_ID->Fourth_ID = ADDR_4th_CYCLE (data); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_WriteSmallPage +* Description : This routine is for writing one or several 512 Bytes Page size. +* Input : - pBuffer: pointer on the Buffer containing data to be written +* - Address: First page address +* - NumPageToWrite: Number of page to write +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_WriteSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToWrite) +{ + uint32_t index = 0x00, numpagewritten = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumPageToWrite != 0x00) && (addressstatus == NAND_VALID_ADDRESS) && (status == NAND_READY)) + { + /* Page write command and address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_A; + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE0; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + /* Calculate the size */ + size = NAND_PAGE_SIZE + (NAND_PAGE_SIZE * numpagewritten); + + /* Write data */ + for(; index < size; index++) + { + *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA) = pBuffer[index]; + } + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE_TRUE1; + + /* Check status for successful operation */ + status = FSMC_NAND_GetStatus(); + + if(status == NAND_READY) + { + numpagewritten++; + + NumPageToWrite--; + + /* Calculate Next small page Address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + } + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_ReadSmallPage +* Description : This routine is for sequential read from one or several +* 512 Bytes Page size. +* Input : - pBuffer: pointer on the Buffer to fill +* - Address: First page address +* - NumPageToRead: Number of page to read +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_ReadSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToRead) +{ + uint32_t index = 0x00, numpageread = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumPageToRead != 0x0) && (addressstatus == NAND_VALID_ADDRESS)) + { + /* Page Read command and page address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_A; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_TRUE1; + + /* Calculate the size */ + size = NAND_PAGE_SIZE + (NAND_PAGE_SIZE * numpageread); + + /* Get Data into Buffer */ + for(; index < size; index++) + { + pBuffer[index]= *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA); + } + + numpageread++; + + NumPageToRead--; + + /* Calculate page address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + + status = FSMC_NAND_GetStatus(); + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_WriteSpareArea +* Description : This routine write the spare area information for the specified +* pages addresses. +* Input : - pBuffer: pointer on the Buffer containing data to be written +* - Address: First page address +* - NumSpareAreaTowrite: Number of Spare Area to write +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_WriteSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaTowrite) +{ + uint32_t index = 0x00, numsparesreawritten = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumSpareAreaTowrite != 0x00) && (addressstatus == NAND_VALID_ADDRESS) && (status == NAND_READY)) + { + /* Page write Spare area command and address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_C; + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE0; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + /* Calculate the size */ + size = NAND_SPARE_AREA_SIZE + (NAND_SPARE_AREA_SIZE * numsparesreawritten); + + /* Write the data */ + for(; index < size; index++) + { + *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA) = pBuffer[index]; + } + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE_TRUE1; + + /* Check status for successful operation */ + status = FSMC_NAND_GetStatus(); + + if(status == NAND_READY) + { + numsparesreawritten++; + + NumSpareAreaTowrite--; + + /* Calculate Next page Address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + } + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_ReadSpareArea +* Description : This routine read the spare area information from the specified +* pages addresses. +* Input : - pBuffer: pointer on the Buffer to fill +* - Address: First page address +* - NumSpareAreaToRead: Number of Spare Area to read +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_ReadSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaToRead) +{ + uint32_t numsparearearead = 0x00, index = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumSpareAreaToRead != 0x0) && (addressstatus == NAND_VALID_ADDRESS)) + { + /* Page Read command and page address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_C; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_TRUE1; + + /* Data Read */ + size = NAND_SPARE_AREA_SIZE + (NAND_SPARE_AREA_SIZE * numsparearearead); + + /* Get Data into Buffer */ + for ( ;index < size; index++) + { + pBuffer[index] = *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA); + } + + numsparearearead++; + + NumSpareAreaToRead--; + + /* Calculate page address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + + status = FSMC_NAND_GetStatus(); + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_EraseBlock +* Description : This routine erase complete block from NAND FLASH +* Input : - Address: Any address into block to be erased +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +*******************************************************************************/ +uint32_t FSMC_NAND_EraseBlock(NAND_ADDRESS Address) +{ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_ERASE0; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_ERASE1; + + return (FSMC_NAND_GetStatus()); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_Reset +* Description : This routine reset the NAND FLASH +* Input : None +* Output : None +* Return : NAND_READY +*******************************************************************************/ +uint32_t FSMC_NAND_Reset(void) +{ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_RESET; + + return (NAND_READY); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_GetStatus +* Description : Get the NAND operation status +* Input : None +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +*******************************************************************************/ +uint32_t FSMC_NAND_GetStatus(void) +{ + uint32_t timeout = 0x1000000, status = NAND_READY; + + status = FSMC_NAND_ReadStatus(); + + /* Wait for a NAND operation to complete or a TIMEOUT to occur */ + while ((status != NAND_READY) &&( timeout != 0x00)) + { + status = FSMC_NAND_ReadStatus(); + timeout --; + } + + if(timeout == 0x00) + { + status = NAND_TIMEOUT_ERROR; + } + + /* Return the operation status */ + return (status); +} +/****************************************************************************** +* Function Name : FSMC_NAND_ReadStatus +* Description : Reads the NAND memory status using the Read status command +* Input : None +* Output : None +* Return : The status of the NAND memory. This parameter can be: +* - NAND_BUSY: when memory is busy +* - NAND_READY: when memory is ready for the next operation +* - NAND_ERROR: when the previous operation generates error +*******************************************************************************/ +uint32_t FSMC_NAND_ReadStatus(void) +{ + uint32_t data = 0x00, status = NAND_BUSY; + + /* Read status operation ------------------------------------ */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_STATUS; + data = *(__IO uint8_t *)(Bank_NAND_ADDR); + + if((data & NAND_ERROR) == NAND_ERROR) + { + status = NAND_ERROR; + } + else if((data & NAND_READY) == NAND_READY) + { + status = NAND_READY; + } + else + { + status = NAND_BUSY; + } + + return (status); +} + +/****************************************************************************** +* Function Name : NAND_AddressIncrement +* Description : Increment the NAND memory address +* Input : - Address: address to be incremented. +* Output : None +* Return : The new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_AddressIncrement(NAND_ADDRESS* Address) +{ + uint32_t status = NAND_VALID_ADDRESS; + + Address->Page++; + + if(Address->Page == NAND_BLOCK_SIZE) + { + Address->Page = 0; + Address->Block++; + + if(Address->Block == NAND_ZONE_SIZE) + { + Address->Block = 0; + Address->Zone++; + + if(Address->Zone == NAND_MAX_ZONE) + { + status = NAND_INVALID_ADDRESS; + } + } + } + + return (status); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/hw_config.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/hw_config.c new file mode 100644 index 0000000..98c213d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/hw_config.c @@ -0,0 +1,707 @@ +/** + ****************************************************************************** + * @file hw_config.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "mass_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ + +ErrorStatus HSEStartUpStatus; +uint32_t ADC_ConvertedValueX = 0; +uint32_t ADC_ConvertedValueX_1 = 0; +__IO uint16_t ADC1ConvertedValue = 0, ADC1ConvertedVoltage = 0, calibration_value = 0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len); +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : MAL_Config +* Description : MAL_layer configuration +* Input : None. +* Return : None. +*******************************************************************************/ +void MAL_Config(void) +{ + MAL_Init(0); + +#if defined(STM32F10X_HD) || defined(STM32F10X_XL) + /* Enable the FSMC Clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); + MAL_Init(1); +#endif /* STM32F10X_HD | STM32F10X_XL */ +} +/******************************************************************************* +* Function Name : Set_System +* Description : Configures Main system clocks & power. +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_System(void) +{ +#if defined (STM32F37X) || defined (STM32F30X) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /*STM32L1XX_XD */ + +#if defined(USB_USE_EXTERNAL_PULLUP) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* USB_USE_EXTERNAL_PULLUP */ + + /*!< At this stage the microcontroller clock setting is already configured, + this is done through SystemInit() function which is called from startup + file (startup_stm32xxx.s) before to branch to application main. + To reconfigure the default setting of SystemInit() function, refer to + system_stm32xxx.c file + */ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined (STM32F37X) || defined (STM32F30X) + /* Enable the SYSCFG module clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); + +#endif /* STM32L1XX_XD */ + +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS) && !defined(STM32F37X) && !defined(STM32F30X) + /* Enable USB_DISCONNECT GPIO clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT, ENABLE); + + /* ADCCLK = PCLK2/8 */ + RCC_ADCCLKConfig(RCC_PCLK2_Div8); +#endif /* STM32L1XX_XD */ + + /* Configure the used GPIOs*/ + GPIO_Configuration(); + +#if defined(USB_USE_EXTERNAL_PULLUP) + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* USB_USE_EXTERNAL_PULLUP */ + +#if defined(STM32F37X) || defined(STM32F30X) + + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /*Set PA11,12 as IN - USB_DM,DP*/ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(GPIOA, &GPIO_InitStructure); + + /*SET PA11,12 for USB: USB_DM,DP*/ + GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_14); + GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_14); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); + +#endif +#if defined(STM32L1XX_MD) + /* Configure the LEFT button in EXTI mode */ + STM_EVAL_PBInit(Button_LEFT, Mode_EXTI); + + /* Configure the RIGHT button in EXTI mode */ + STM_EVAL_PBInit(Button_RIGHT, Mode_EXTI); +#else + /* Configure the KEY button in EXTI mode */ + STM_EVAL_PBInit(Button_KEY, Mode_EXTI); +#if !defined(STM32L1XX_HD)&& !defined(STM32L1XX_MD_PLUS) && !defined(STM32F37X) && !defined(STM32F30X) + /* Configure the Tamper button in EXTI mode */ + STM_EVAL_PBInit(Button_TAMPER, Mode_EXTI); +#endif /* STM32L1XX_XD */ +#endif + /* Additional EXTI configuration (configure both edges) */ + EXTI_Configuration(); + + /* Configure the LEDs */ + STM_EVAL_LEDInit(LED1); + STM_EVAL_LEDInit(LED2); + STM_EVAL_LEDInit(LED3); + STM_EVAL_LEDInit(LED4); + +#if defined (STM32F30X) + ADC30x_Configuration(); +#else + /* Configure the ADC*/ + ADC_Configuration(); +#endif + /* MAL configuration */ + MAL_Config(); +} + +/******************************************************************************* +* Function Name : Set_USBClock +* Description : Configures USB Clock input (48MHz). +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Set_USBClock(void) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + /* Enable USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); + +#else + /* Select USBCLK source */ + RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); + + /* Enable the USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : Enter_LowPowerMode. +* Description : Power-off system clocks and power while entering suspend mode. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Enter_LowPowerMode(void) +{ + /* Set the device state to suspend */ + bDeviceState = SUSPENDED; +} + +/******************************************************************************* +* Function Name : Leave_LowPowerMode. +* Description : Restores system clocks and power while exiting suspend mode. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Leave_LowPowerMode(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + /* Set the device state to the correct state */ + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } + else + { + bDeviceState = ATTACHED; + } + /*Enable SystemCoreClock*/ + SystemInit(); +#if defined(STM32L1XX_MD)|| defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + /* Enable The HSI (16Mhz) */ + RCC_HSICmd(ENABLE); +#endif +#if defined(STM32F30X) + ADC30x_Configuration(); +#endif +} + +/******************************************************************************* +* Function Name : USB_Interrupts_Config. +* Description : Configures the USB interrupts. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void USB_Interrupts_Config(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + + /* 2 bit for pre-emption priority, 2 bits for subpriority */ + NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_FS_WKUP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#elif defined(STM32F37X) + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#else + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); +#endif /* STM32L1XX_XD */ + + /* Enable the EXTI9_5 Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the EXTI15_10 Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the DMA1 Channel1 Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel1_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_Init(&NVIC_InitStructure); + +#if defined(STM32F10X_HD) || defined(STM32F10X_XL) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_Init(&NVIC_InitStructure); + NVIC_InitStructure.NVIC_IRQChannel = SD_SDIO_DMA_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_Init(&NVIC_InitStructure); +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : USB_Cable_Config. +* Description : Software Connection/Disconnection of USB Cable. +* Input : NewState: new state. +* Output : None. +* Return : None +*******************************************************************************/ +void USB_Cable_Config (FunctionalState NewState) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + if (NewState != DISABLE) + { + STM32L15_USB_CONNECT; + } + else + { + STM32L15_USB_DISCONNECT; + } +#else + + if (NewState != DISABLE) + { + GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } + else + { + GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : GPIO_Configuration +* Description : Configures the different GPIO ports. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void GPIO_Configuration(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined (STM32F37X) || defined (STM32F30X) + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT | + RCC_AHBPeriph_GPIO_IOAIN , ENABLE); +#else + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT | + RCC_APB2Periph_GPIO_IOAIN , ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* STM32L1XX_XD */ + + /* Configure Potentiometer IO as analog input */ + GPIO_InitStructure.GPIO_Pin = GPIO_IOAIN_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; + GPIO_Init(GPIO_IOAIN, &GPIO_InitStructure); +} + +/******************************************************************************* +* Function Name : EXTI_Configuration. +* Description : Configure the EXTI lines for Key and Tamper push buttons. +* Input : None. +* Output : None. +* Return value : The direction value. +*******************************************************************************/ +void EXTI_Configuration(void) +{ + EXTI_InitTypeDef EXTI_InitStructure; + +#if defined (USE_STM32L152_EVAL) + /* Configure RIGHT EXTI line to generate an interrupt on rising & falling edges */ + EXTI_InitStructure.EXTI_Line = RIGHT_BUTTON_EXTI_LINE; + EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); + + /* Clear the RIGHT EXTI line pending bit */ + EXTI_ClearITPendingBit(RIGHT_BUTTON_EXTI_LINE); + + /* Configure LEFT EXTI Line to generate an interrupt rising & falling edges */ + EXTI_InitStructure.EXTI_Line = LEFT_BUTTON_EXTI_LINE; + EXTI_Init(&EXTI_InitStructure); + + /* Clear the LEFT EXTI line pending bit */ + EXTI_ClearITPendingBit(LEFT_BUTTON_EXTI_LINE); + +#else + /* Configure Key EXTI line to generate an interrupt on rising & falling edges */ + EXTI_InitStructure.EXTI_Line = KEY_BUTTON_EXTI_LINE; + EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); + + /* Clear the Key EXTI line pending bit */ + EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); + + /* Configure Tamper EXTI Line to generate an interrupt rising & falling edges */ +#if !defined (USE_STM32L152D_EVAL) && !defined (STM32F30X) + EXTI_InitStructure.EXTI_Line = TAMPER_BUTTON_EXTI_LINE; + EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); + + /* Clear the Tamper EXTI line pending bit */ + EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); +#endif +#endif /* USE_STM32L152_EVAL */ + + /* Configure the EXTI line 18 connected internally to the USB IP */ + EXTI_ClearITPendingBit(EXTI_Line18); + EXTI_InitStructure.EXTI_Line = EXTI_Line18; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); +} + +#if !defined (STM32F30X) +/******************************************************************************* +* Function Name : ADC_Configuration. +* Description : Configure the ADC and DMA. +* Input : None. +* Output : None. +* Return value : The direction value. +*******************************************************************************/ +void ADC_Configuration(void) +{ + ADC_InitTypeDef ADC_InitStructure; + DMA_InitTypeDef DMA_InitStructure; + /* Enable DMA1 clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); + + /* Enable ADC1 clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); + + /* DMA1 channel1 configuration ---------------------------------------------*/ + DMA_DeInit(DMA1_Channel1); + DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; + DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADC_ConvertedValueX; + DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; + DMA_InitStructure.DMA_BufferSize = 1; + DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; + DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; + DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; + DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; + DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; + DMA_InitStructure.DMA_Priority = DMA_Priority_High; + DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; + DMA_Init(DMA1_Channel1, &DMA_InitStructure); + + /* Enable DMA1 channel1 */ + DMA_Cmd(DMA1_Channel1, ENABLE); + + /* Enable the DMA1 Channel1 Transfer complete interrupt */ + DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE); + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + /* Enable the HSI for the ADC operations */ + RCC_HSICmd(ENABLE); + + /* ADC1 configuration ------------------------------------------------------*/ + ADC_StructInit(&ADC_InitStructure); + ADC_InitStructure.ADC_ScanConvMode = ENABLE; + ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; + ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; + ADC_InitStructure.ADC_NbrOfConversion = 1; + ADC_Init(ADC1, &ADC_InitStructure); + +#if defined (USE_STM32L152D_EVAL) + /* ADC1 regular channel31 configuration */ + ADC_RegularChannelConfig(ADC1, ADC_Channel_31, 1, ADC_SampleTime_384Cycles); + +#else + /* ADC1 regular channel18 configuration */ + ADC_RegularChannelConfig(ADC1, ADC_Channel_18, 1, ADC_SampleTime_384Cycles); +#endif + +#if !defined (USE_STM32373C_EVAL) + /* Enable the request after last transfer for DMA Circular mode */ + ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE); +#endif + /* Enable ADC1 DMA */ + ADC_DMACmd(ADC1, ENABLE); + + /* Enable ADC1 */ + ADC_Cmd(ADC1, ENABLE); + +#else + /* ADC1 configuration ------------------------------------------------------*/ +#if !defined (USE_STM32373C_EVAL) + ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; +#endif + + ADC_InitStructure.ADC_ScanConvMode = ENABLE; + ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; + ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; + ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; + ADC_InitStructure.ADC_NbrOfChannel = 1; + ADC_Init(ADC1, &ADC_InitStructure); + + /* ADC1 regular channel configuration */ + ADC_RegularChannelConfig(ADC1, ADC_AIN_CHANNEL, 1, ADC_SampleTime_55Cycles5); + + /* Enable ADC1 DMA */ + ADC_DMACmd(ADC1, ENABLE); + + /* Enable ADC1 */ + ADC_Cmd(ADC1, ENABLE); + + /* Enable ADC1 reset calibration register */ + ADC_ResetCalibration(ADC1); + /* Check the end of ADC1 reset calibration register */ + while(ADC_GetResetCalibrationStatus(ADC1)); + /* Start ADC1 calibration */ + ADC_StartCalibration(ADC1); + + /* Check the end of ADC1 calibration */ + while(ADC_GetCalibrationStatus(ADC1)); + +#endif /* STM32L1XX_XD */ + +} +#endif /* STM32F30x */ +/******************************************************************************* +* Function Name : Get_SerialNum. +* Description : Create the serial number string descriptor. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Get_SerialNum(void) +{ + uint32_t Device_Serial0, Device_Serial1, Device_Serial2; + + Device_Serial0 = *(uint32_t*)ID1; + Device_Serial1 = *(uint32_t*)ID2; + Device_Serial2 = *(uint32_t*)ID3; + + Device_Serial0 += Device_Serial2; + + if (Device_Serial0 != 0) + { + IntToUnicode (Device_Serial0, &Composite_StringSerial[2] , 8); + IntToUnicode (Device_Serial1, &Composite_StringSerial[18], 4); + } +} + +/******************************************************************************* +* Function Name : HexToChar. +* Description : Convert Hex 32Bits value into char. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len) +{ + uint8_t idx = 0; + + for( idx = 0 ; idx < len ; idx ++) + { + if( ((value >> 28)) < 0xA ) + { + pbuf[ 2* idx] = (value >> 28) + '0'; + } + else + { + pbuf[2* idx] = (value >> 28) + 'A' - 10; + } + + value = value << 4; + + pbuf[ 2* idx + 1] = 0; + } +} + +/******************************************************************************* +* Function Name : ADC30x_Configuration +* Description : Configure the ADC and DMA. +* Input : None. +* Output : None. +* Return value : The direction value. +*******************************************************************************/ +#if defined (STM32F30X) + +void ADC30x_Configuration(void) +{ + ADC_InitTypeDef ADC_InitStructure; + ADC_CommonInitTypeDef ADC_CommonInitStructure; + DMA_InitTypeDef DMA_InitStructure; + + /* Enable DMA1 clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); + /* DMA1 channel1 configuration ---------------------------------------------*/ + DMA_DeInit(DMA1_Channel1); + DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; + DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADC_ConvertedValueX; + DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; + DMA_InitStructure.DMA_BufferSize = 1; + DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; + DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; + DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; + DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; + DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; + DMA_InitStructure.DMA_Priority = DMA_Priority_Medium; + DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; + DMA_Init(DMA1_Channel1, &DMA_InitStructure); + + /* Enable DMA1 channel1 */ + DMA_Cmd(DMA1_Channel1, ENABLE); + + /* Enable the DMA1 Channel1 Transfer complete interrupt */ + DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE); + + /* Configure the ADC clock */ + RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div2); + + /* ADC1 Periph clock enable */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ADC12, ENABLE); + ADC_DeInit(ADC1); + ADC_StructInit(&ADC_InitStructure); + + /* Calibration procedure */ + ADC_VoltageRegulatorCmd(ADC1, ENABLE); + ADC_SelectCalibrationMode(ADC1, ADC_CalibrationMode_Single); + ADC_StartCalibration(ADC1); + + while(ADC_GetCalibrationStatus(ADC1) != RESET ); + calibration_value = ADC_GetCalibrationValue(ADC1); + + /* Configure the ADC1 in continuous mode */ + ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; + ADC_CommonInitStructure.ADC_Clock = ADC_Clock_AsynClkMode; + ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; + ADC_CommonInitStructure.ADC_DMAMode = ADC_DMAMode_OneShot; + ADC_CommonInitStructure.ADC_TwoSamplingDelay = 0; + + ADC_CommonInit(ADC1, &ADC_CommonInitStructure); + + /* ADC1 DMA Enable */ + ADC_DMACmd(ADC1, ENABLE); + ADC_DMAConfig(ADC1, ADC_DMAMode_Circular); + + ADC_InitStructure.ADC_ContinuousConvMode = ADC_ContinuousConvMode_Enable; + ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; + ADC_InitStructure.ADC_ExternalTrigConvEvent = ADC_ExternalTrigConvEvent_0; + ADC_InitStructure.ADC_ExternalTrigEventEdge = ADC_ExternalTrigEventEdge_None; + ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; + ADC_InitStructure.ADC_OverrunMode = ADC_OverrunMode_Disable; + ADC_InitStructure.ADC_AutoInjMode = ADC_AutoInjec_Disable; + ADC_InitStructure.ADC_NbrOfRegChannel = 1; + ADC_Init(ADC1, &ADC_InitStructure); + + /* ADC1 regular channel7 configuration */ + ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 1, ADC_SampleTime_7Cycles5); + + /* Enable ADC1 */ + ADC_Cmd(ADC1, ENABLE); + + /* wait for ADRDY */ + while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_RDY)); + + /* Start ADC1 Software Conversion */ + ADC_StartConversion(ADC1); + + /* Test EOC flag */ + while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET); + /* Get ADC1 converted data */ + + ADC_ConvertedValueX =ADC_GetConversionValue(ADC1); +} + +#endif +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/mass_mal.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/mass_mal.c new file mode 100644 index 0000000..3b5183c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/mass_mal.c @@ -0,0 +1,233 @@ +/** + ****************************************************************************** + * @file mass_mal.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Medium Access Layer interface + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "mass_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint32_t Mass_Memory_Size[2]; +uint32_t Mass_Block_Size[2]; +uint32_t Mass_Block_Count[2]; +__IO uint32_t Status = 0; + +#if defined(USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) +SD_CardInfo mSDCardInfo; +#endif + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : MAL_Init +* Description : Initializes the Media on the STM32 +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Init(uint8_t lun) +{ + uint16_t status = MAL_OK; + + switch (lun) + { + case 0: + Status = SD_Init(); + break; +#ifdef USE_STM3210E_EVAL + case 1: + NAND_Init(); + break; +#endif + default: + return MAL_FAIL; + } + return status; +} +/******************************************************************************* +* Function Name : MAL_Write +* Description : Write sectors +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Write(uint8_t lun, uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length) +{ + + switch (lun) + { + case 0: + Status = SD_WriteMultiBlocks((uint8_t*)Writebuff, Memory_Offset, Transfer_Length,1); +#if defined(USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + Status = SD_WaitWriteOperation(); + while(SD_GetStatus() != SD_TRANSFER_OK); + if ( Status != SD_OK ) + { + return MAL_FAIL; + } +#endif /* USE_STM3210E_EVAL ||USE_STM32L152D_EVAL*/ + break; +#ifdef USE_STM3210E_EVAL + case 1: + NAND_Write(Memory_Offset, Writebuff, Transfer_Length); + break; +#endif /* USE_STM3210E_EVAL */ + default: + return MAL_FAIL; + } + return MAL_OK; +} + +/******************************************************************************* +* Function Name : MAL_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : Buffer pointer +*******************************************************************************/ +uint16_t MAL_Read(uint8_t lun, uint32_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length) +{ + + switch (lun) + { + case 0: + + SD_ReadMultiBlocks((uint8_t*)Readbuff, Memory_Offset, Transfer_Length, 1); +#if defined(USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + Status = SD_WaitReadOperation(); + while(SD_GetStatus() != SD_TRANSFER_OK) + { + } + + if ( Status != SD_OK ) + { + return MAL_FAIL; + } +#endif /* USE_STM3210E_EVAL */ + break; +#ifdef USE_STM3210E_EVAL + case 1: + NAND_Read(Memory_Offset, Readbuff, Transfer_Length); + ; + break; +#endif + default: + return MAL_FAIL; + } + return MAL_OK; +} + +/******************************************************************************* +* Function Name : MAL_GetStatus +* Description : Get status +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_GetStatus (uint8_t lun) +{ +#ifdef USE_STM3210E_EVAL + NAND_IDTypeDef NAND_ID; + uint32_t DeviceSizeMul = 0, NumberOfBlocks = 0; +#else + SD_CSD SD_csd; + uint32_t DeviceSizeMul = 0; +#endif /* USE_STM3210E_EVAL */ + +#ifdef USE_STM32L152D_EVAL + + uint32_t NumberOfBlocks = 0; +#endif + + if (lun == 0) + { +#if defined (USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + if (SD_Init() == SD_OK) + { + SD_GetCardInfo(&mSDCardInfo); + SD_SelectDeselect((uint32_t) (mSDCardInfo.RCA << 16)); + DeviceSizeMul = (mSDCardInfo.SD_csd.DeviceSizeMul + 2); + + if(mSDCardInfo.CardType == SDIO_HIGH_CAPACITY_SD_CARD) + { + Mass_Block_Count[0] = (mSDCardInfo.SD_csd.DeviceSize + 1) * 1024; + } + else + { + NumberOfBlocks = ((1 << (mSDCardInfo.SD_csd.RdBlockLen)) / 512); + Mass_Block_Count[0] = ((mSDCardInfo.SD_csd.DeviceSize + 1) * (1 << DeviceSizeMul) << (NumberOfBlocks/2)); + } + Mass_Block_Size[0] = 512; + + Status = SD_SelectDeselect((uint32_t) (mSDCardInfo.RCA << 16)); + Status = SD_EnableWideBusOperation(SDIO_BusWide_4b); + if ( Status != SD_OK ) + { + return MAL_FAIL; + } + +#else + + uint32_t temp_block_mul = 0; + SD_GetCSDRegister(&SD_csd); + DeviceSizeMul = SD_csd.DeviceSizeMul + 2; + temp_block_mul = (1 << SD_csd.RdBlockLen)/ 512; + Mass_Block_Count[0] = ((SD_csd.DeviceSize + 1) * (1 << (DeviceSizeMul))) * temp_block_mul; + Mass_Block_Size[0] = 512; + Mass_Memory_Size[0] = (Mass_Block_Count[0] * Mass_Block_Size[0]); +#endif /* USE_STM3210E_EVAL */ + Mass_Memory_Size[0] = Mass_Block_Count[0] * Mass_Block_Size[0]; + STM_EVAL_LEDOn(LED4); + return MAL_OK; + +#if defined (USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + } +#endif /* USE_STM3210E_EVAL */ + } +#ifdef USE_STM3210E_EVAL + else + { + FSMC_NAND_ReadID(&NAND_ID); + if (NAND_ID.Device_ID != 0 ) + { + /* only one zone is used */ + Mass_Block_Count[1] = NAND_ZONE_SIZE * NAND_BLOCK_SIZE * NAND_MAX_ZONE ; + Mass_Block_Size[1] = NAND_PAGE_SIZE; + Mass_Memory_Size[1] = (Mass_Block_Count[1] * Mass_Block_Size[1]); + return MAL_OK; + } + } +#endif /* USE_STM3210E_EVAL */ + STM_EVAL_LEDOn(LED4); + return MAL_FAIL; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/memory.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/memory.c new file mode 100644 index 0000000..e574c55 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/memory.c @@ -0,0 +1,175 @@ +/** + ****************************************************************************** + * @file memory.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Memory management layer + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "memory.h" +#include "usb_scsi.h" +#include "usb_bot.h" +#include "usb_regs.h" +#include "usb_mem.h" +#include "usb_conf.h" +#include "hw_config.h" +#include "mass_mal.h" +#include "usb_lib.h" + +#define BULK_MAX_PACKET_SIZE 64 +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t Block_Read_count = 0; +__IO uint32_t Block_offset; +__IO uint32_t Counter = 0; +uint32_t Idx; +uint32_t Data_Buffer[64 *2]; /* 512 bytes*/ +uint8_t TransferState = TXFR_IDLE; +/* Extern variables ----------------------------------------------------------*/ +extern uint8_t Bulk_Data_Buff[64]; /* data buffer*/ +extern uint16_t Data_Len; +extern uint8_t Bot_State; +extern Bulk_Only_CBW CBW; +extern Bulk_Only_CSW CSW; +extern uint32_t Mass_Memory_Size[2]; +extern uint32_t Mass_Block_Size[2]; + +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Read_Memory +* Description : Handle the Read operation from the microSD card. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Read_Memory(uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length) +{ + static uint32_t Offset, Length; + + if (TransferState == TXFR_IDLE ) + { + Offset = Memory_Offset * Mass_Block_Size[lun]; + Length = Transfer_Length * Mass_Block_Size[lun]; + TransferState = TXFR_ONGOING; + } + + if (TransferState == TXFR_ONGOING ) + { + if (!Block_Read_count) + { + MAL_Read(lun , + Offset , + Data_Buffer, + Mass_Block_Size[lun]); + + USB_SIL_Write(EP2_IN, (uint8_t *)Data_Buffer, BULK_MAX_PACKET_SIZE); + + Block_Read_count = Mass_Block_Size[lun] - BULK_MAX_PACKET_SIZE; + Block_offset = BULK_MAX_PACKET_SIZE; + } + else + { + USB_SIL_Write(EP2_IN, (uint8_t *)Data_Buffer + Block_offset, BULK_MAX_PACKET_SIZE); + + Block_Read_count -= BULK_MAX_PACKET_SIZE; + Block_offset += BULK_MAX_PACKET_SIZE; + } + + SetEPTxCount(ENDP2, BULK_MAX_PACKET_SIZE); + SetEPTxStatus(ENDP2, EP_TX_VALID); + Offset += BULK_MAX_PACKET_SIZE; + Length -= BULK_MAX_PACKET_SIZE; + + CSW.dDataResidue -= BULK_MAX_PACKET_SIZE; + } + if (Length == 0) + { + Block_Read_count = 0; + Block_offset = 0; + Offset = 0; + Bot_State = BOT_DATA_IN_LAST; + TransferState = TXFR_IDLE; + } +} + +/******************************************************************************* +* Function Name : Write_Memory +* Description : Handle the Write operation to the microSD card. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Write_Memory (uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length) +{ + + static uint32_t W_Offset, W_Length; + + uint32_t temp = Counter + 64; + + if (TransferState == TXFR_IDLE ) + { + W_Offset = Memory_Offset * Mass_Block_Size[lun]; + W_Length = Transfer_Length * Mass_Block_Size[lun]; + TransferState = TXFR_ONGOING; + } + + if (TransferState == TXFR_ONGOING ) + { + + for (Idx = 0 ; Counter < temp; Counter++) + { + *((uint8_t *)Data_Buffer + Counter) = Bulk_Data_Buff[Idx++]; + } + + W_Offset += Data_Len; + W_Length -= Data_Len; + + if (!(W_Length % Mass_Block_Size[lun])) + { + Counter = 0; + MAL_Write(lun , + W_Offset - Mass_Block_Size[lun], + Data_Buffer, + Mass_Block_Size[lun]); + } + + CSW.dDataResidue -= Data_Len; + SetEPRxStatus(ENDP2, EP_RX_VALID); /* enable the next transaction*/ + } + + if ((W_Length == 0) || (Bot_State == BOT_CSW_Send)) + { + Counter = 0; + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + TransferState = TXFR_IDLE; + } +} +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/nand_if.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/nand_if.c new file mode 100644 index 0000000..7139219 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/nand_if.c @@ -0,0 +1,557 @@ +/** + ****************************************************************************** + * @file nand_if.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief manage NAND operations state machine + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +#include "platform_config.h" + +#ifdef USE_STM3210E_EVAL +/* Includes ------------------------------------------------------------------*/ +#include "nand_if.h" +#include "mass_mal.h" +#include "fsmc_nand.h" +#include "memory.h" +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* extern variables-----------------------------------------------------------*/ +extern uint32_t SCSI_LBA; +extern uint32_t SCSI_BlkLen; +/* Private variables ---------------------------------------------------------*/ +uint16_t LUT[1024]; //Look Up Table Buffer +WRITE_STATE Write_State; +BLOCK_STATE Block_State; +NAND_ADDRESS wAddress, fAddress; +uint16_t phBlock, LogAddress, Initial_Page, CurrentZone = 0; +uint16_t Written_Pages = 0; + +uint16_t LUT[1024]; //Look Up Table Buffer +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +static uint16_t NAND_CleanLUT(uint8_t ZoneNbr); +static NAND_ADDRESS NAND_GetAddress(uint32_t Address); +static uint16_t NAND_GetFreeBlock(void); +static uint16_t NAND_Write_Cleanup(void); +SPARE_AREA ReadSpareArea(uint32_t address); +static uint16_t NAND_Copy(NAND_ADDRESS Address_Src, NAND_ADDRESS Address_Dest, uint16_t PageToCopy); +static NAND_ADDRESS NAND_ConvertPhyAddress(uint32_t Address); +static uint16_t NAND_BuildLUT(uint8_t ZoneNbr); + +/******************************************************************************* +* Function Name : NAND_Init +* Description : Init NAND Interface +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Init(void) +{ + uint16_t Status = NAND_OK; + + FSMC_NAND_Init(); + Status = NAND_BuildLUT(0); + Write_State = WRITE_IDLE; + return Status; +} + +/******************************************************************************* +* Function Name : NAND_Write +* Description : write one sector by once +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Write(uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length) +{ + /* check block status and calculate start and end addresses */ + wAddress = NAND_GetAddress(Memory_Offset / 512); + + /*check Zone: if second zone is requested build second LUT*/ + if (wAddress.Zone != CurrentZone) + { + CurrentZone = wAddress.Zone; + NAND_BuildLUT(CurrentZone); + } + + phBlock = LUT[wAddress.Block]; /* Block Index + flags */ + LogAddress = wAddress.Block ; /* save logical block */ + + /* IDLE state */ + /****************/ + if ( Write_State == WRITE_IDLE) + {/* Idle state */ + + if (phBlock & USED_BLOCK) + { /* USED BLOCK */ + + Block_State = OLD_BLOCK; + /* Get a free Block for swap */ + fAddress.Block = NAND_GetFreeBlock(); + fAddress.Zone = wAddress.Zone; + Initial_Page = fAddress.Page = wAddress.Page; + + /* write the new page */ + FSMC_NAND_WriteSmallPage((uint8_t *)Writebuff, fAddress, PAGE_TO_WRITE); + Written_Pages++; + + /* get physical block */ + wAddress.Block = phBlock & 0x3FF; + + + if (Written_Pages == SCSI_BlkLen) + { + NAND_Write_Cleanup(); + Written_Pages = 0; + return NAND_OK; + } + else + { + if (wAddress.Page == (NAND_BLOCK_SIZE - 1)) + { + NAND_Write_Cleanup(); + return NAND_OK; + } + Write_State = WRITE_ONGOING; + return NAND_OK; + } + } + else + {/* UNUSED BLOCK */ + + Block_State = UNUSED_BLOCK; + /* write the new page */ + wAddress.Block = phBlock & 0x3FF; + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , wAddress, PAGE_TO_WRITE); + + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Written_Pages = 0; + NAND_Write_Cleanup(); + return NAND_OK; + } + else + { + Write_State = WRITE_ONGOING; + return NAND_OK; + } + } + } + /* WRITE state */ + /***************/ + if ( Write_State == WRITE_ONGOING) + {/* Idle state */ + if (phBlock & USED_BLOCK) + { /* USED BLOCK */ + + wAddress.Block = phBlock & 0x3FF; + Block_State = OLD_BLOCK; + fAddress.Page = wAddress.Page; + + /* check if next pages are in next block */ + if (wAddress.Page == (NAND_BLOCK_SIZE - 1)) + { + /* write Last page */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , fAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Written_Pages = 0; + } + /* Clean up and Update the LUT */ + NAND_Write_Cleanup(); + Write_State = WRITE_IDLE; + return NAND_OK; + } + + /* write next page */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , fAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Write_State = WRITE_IDLE; + NAND_Write_Cleanup(); + Written_Pages = 0; + } + + } + else + {/* UNUSED BLOCK */ + wAddress.Block = phBlock & 0x3FF; + /* check if it is the last page in prev block */ + if (wAddress.Page == (NAND_BLOCK_SIZE - 1)) + { + /* write Last page */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , wAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Written_Pages = 0; + } + + /* Clean up and Update the LUT */ + NAND_Write_Cleanup(); + Write_State = WRITE_IDLE; + + + + return NAND_OK; + } + /* write next page in same block */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , wAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Write_State = WRITE_IDLE; + NAND_Write_Cleanup(); + Written_Pages = 0; + } + } + } + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Read(uint32_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length) +{ + NAND_ADDRESS phAddress; + + phAddress = NAND_GetAddress(Memory_Offset / 512); + + if (phAddress.Zone != CurrentZone) + { + CurrentZone = phAddress.Zone; + NAND_BuildLUT(CurrentZone); + } + + if (LUT [phAddress.Block] & BAD_BLOCK) + { + return NAND_FAIL; + } + else + { + phAddress.Block = LUT [phAddress.Block] & ~ (USED_BLOCK | VALID_BLOCK); + FSMC_NAND_ReadSmallPage ( (uint8_t *)Readbuff , phAddress, Transfer_Length / 512); + } + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_CleanLUT +* Description : Erase old blocks & rebuild the look up table +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_CleanLUT (uint8_t ZoneNbr) +{ +#ifdef WEAR_LEVELLING_SUPPORT + uint16_t BlockIdx, LUT_Item; +#endif + /* Rebuild the LUT for the current zone */ + NAND_BuildLUT (ZoneNbr); + +#ifdef WEAR_LEVELLING_SUPPORT + /* Wear Leveling : circular use of free blocks */ + LUT_Item = LUT [BlockIdx] + for (BlockIdx == MAX_LOG_BLOCKS_PER_ZONE ; BlockIdx < MAX_LOG_BLOCKS_PER_ZONE + WEAR_DEPTH ; BlockIdx++) + { + LUT [BlockIdx] = LUT [BlockIdx + 1]; + } + LUT [ MAX_LOG_BLOCKS_PER_ZONE + WEAR_DEPTH - 1] = LUT_Item ; +#endif + + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_GetAddress +* Description : Translate logical address into a phy one +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static NAND_ADDRESS NAND_GetAddress (uint32_t Address) +{ + NAND_ADDRESS Address_t; + + Address_t.Page = Address & (NAND_BLOCK_SIZE - 1); + Address_t.Block = Address / NAND_BLOCK_SIZE; + Address_t.Zone = 0; + + while (Address_t.Block >= MAX_LOG_BLOCKS_PER_ZONE) + { + Address_t.Block -= MAX_LOG_BLOCKS_PER_ZONE; + Address_t.Zone++; + } + return Address_t; +} + +/******************************************************************************* +* Function Name : NAND_GetFreeBlock +* Description : Look for a free block for data exchange +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_GetFreeBlock (void) +{ + return LUT[MAX_LOG_BLOCKS_PER_ZONE]& ~(USED_BLOCK | VALID_BLOCK); +} + +/******************************************************************************* +* Function Name : ReadSpareArea +* Description : Check used block +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +SPARE_AREA ReadSpareArea (uint32_t address) +{ + SPARE_AREA t; + uint8_t Buffer[16]; + NAND_ADDRESS address_s; + address_s = NAND_ConvertPhyAddress(address); + FSMC_NAND_ReadSpareArea(Buffer , address_s, 1) ; + + t = *(SPARE_AREA *)Buffer; + + return t; +} + +/******************************************************************************* +* Function Name : NAND_Copy +* Description : Copy page +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_Copy (NAND_ADDRESS Address_Src, NAND_ADDRESS Address_Dest, uint16_t PageToCopy) +{ + uint8_t Copybuff[512]; + for ( ; PageToCopy > 0 ; PageToCopy-- ) + { + FSMC_NAND_ReadSmallPage ((uint8_t *)Copybuff, Address_Src , 1 ); + FSMC_NAND_WriteSmallPage ((uint8_t *)Copybuff, Address_Dest, 1); + FSMC_NAND_AddressIncrement(&Address_Src); + FSMC_NAND_AddressIncrement(&Address_Dest); + } + + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_Format +* Description : Format the entire NAND flash +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Format (void) +{ + NAND_ADDRESS phAddress; + SPARE_AREA SpareArea; + uint32_t BlockIndex; + + for (BlockIndex = 0 ; BlockIndex < NAND_ZONE_SIZE * NAND_MAX_ZONE; BlockIndex++) + { + phAddress = NAND_ConvertPhyAddress(BlockIndex * NAND_BLOCK_SIZE ); + SpareArea = ReadSpareArea(BlockIndex * NAND_BLOCK_SIZE); + + if((SpareArea.DataStatus != 0)||(SpareArea.BlockStatus != 0)){ + FSMC_NAND_EraseBlock (phAddress); + } + } + NAND_BuildLUT(0); + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_Write_Cleanup +* Description : None +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_Write_Cleanup (void) +{ + uint16_t tempSpareArea [8]; + uint16_t Page_Back; + + if ( Block_State == OLD_BLOCK ) + { + /* precopy old first pages */ + if (Initial_Page != 0) + { + Page_Back = wAddress.Page; + fAddress.Page = wAddress.Page = 0; + NAND_Copy (wAddress, fAddress, Initial_Page); + wAddress.Page = Page_Back ; + } + + /* postcopy remaining pages */ + if ((NAND_BLOCK_SIZE - (wAddress.Page + 1)) != 0) + { + FSMC_NAND_AddressIncrement(&wAddress); + fAddress.Page = wAddress.Page; + NAND_Copy (wAddress, fAddress, NAND_BLOCK_SIZE - wAddress.Page); + } + + /* assign logical address to new block */ + tempSpareArea [0] = LogAddress | USED_BLOCK ; + tempSpareArea [1] = 0xFFFF; + tempSpareArea [2] = 0xFFFF; + + fAddress.Page = 0x00; + FSMC_NAND_WriteSpareArea( (uint8_t *)tempSpareArea , fAddress , 1); + + /* erase old block */ + FSMC_NAND_EraseBlock(wAddress); + NAND_CleanLUT(wAddress.Zone); + } + else + {/* unused block case */ + /* assign logical address to the new used block */ + tempSpareArea [0] = LogAddress | USED_BLOCK ; + tempSpareArea [1] = 0xFFFF; + tempSpareArea [2] = 0xFFFF; + + wAddress.Page = 0x00; + FSMC_NAND_WriteSpareArea((uint8_t *)tempSpareArea , wAddress, 1); + NAND_CleanLUT(wAddress.Zone); + } + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_ConvertPhyAddress +* Description : None +* Input : physical Address +* Output : None +* Return : Status +*******************************************************************************/ +static NAND_ADDRESS NAND_ConvertPhyAddress (uint32_t Address) +{ + NAND_ADDRESS Address_t; + + Address_t.Page = Address & (NAND_BLOCK_SIZE - 1); + Address_t.Block = Address / NAND_BLOCK_SIZE; + Address_t.Zone = 0; + + while (Address_t.Block >= MAX_PHY_BLOCKS_PER_ZONE) + { + Address_t.Block -= MAX_PHY_BLOCKS_PER_ZONE; + Address_t.Zone++; + } + return Address_t; +} + +/******************************************************************************* +* Function Name : NAND_BuildLUT +* Description : Build the look up table +* Input : None +* Output : None +* Return : Status +* !!!! NOTE : THIS ALGORITHM IS A SUBJECT OF PATENT FOR STMICROELECTRONICS !!!!! +*******************************************************************************/ +static uint16_t NAND_BuildLUT (uint8_t ZoneNbr) +{ + + uint16_t pBadBlock, pCurrentBlock, pFreeBlock; + SPARE_AREA SpareArea; + /***************************************************************************** + 1st step : Init. + *****************************************************************************/ + /*Init the LUT (assume all blocks free) */ + for (pCurrentBlock = 0 ; pCurrentBlock < MAX_PHY_BLOCKS_PER_ZONE ; pCurrentBlock++) + { + LUT[pCurrentBlock] = FREE_BLOCK; /* 12th bit is set to 1 */ + } + + /* Init Pointers */ + pBadBlock = MAX_PHY_BLOCKS_PER_ZONE - 1; + pCurrentBlock = 0; + + /***************************************************************************** + 2nd step : locate used and bad blocks + *****************************************************************************/ + + while (pCurrentBlock < MAX_PHY_BLOCKS_PER_ZONE) + { + + SpareArea = ReadSpareArea(pCurrentBlock * NAND_BLOCK_SIZE + (ZoneNbr * NAND_BLOCK_SIZE * MAX_PHY_BLOCKS_PER_ZONE)); + + if ((SpareArea.DataStatus == 0) || (SpareArea.BlockStatus == 0)) + { + + LUT[pBadBlock--] |= pCurrentBlock | (uint16_t)BAD_BLOCK ; + LUT[pCurrentBlock] &= (uint16_t)~FREE_BLOCK; + if (pBadBlock == MAX_LOG_BLOCKS_PER_ZONE) + { + return NAND_FAIL; + } + } + else if (SpareArea.LogicalIndex != 0xFFFF) + { + + LUT[SpareArea.LogicalIndex & 0x3FF] |= pCurrentBlock | VALID_BLOCK | USED_BLOCK; + LUT[pCurrentBlock] &= (uint16_t)( ~FREE_BLOCK); + } + pCurrentBlock++ ; + } + + /***************************************************************************** + 3rd step : locate Free Blocks by scanning the LUT already built partially + *****************************************************************************/ + pFreeBlock = 0; + for (pCurrentBlock = 0 ; pCurrentBlock < MAX_PHY_BLOCKS_PER_ZONE ; pCurrentBlock++ ) + { + + if ( !(LUT[pCurrentBlock]& USED_BLOCK)) + { + do + { + if (LUT[pFreeBlock] & FREE_BLOCK) + { + + LUT [pCurrentBlock] |= pFreeBlock; + LUT [pFreeBlock] &= ~FREE_BLOCK; + break; + } + pFreeBlock++; + } + while ( pFreeBlock < MAX_PHY_BLOCKS_PER_ZONE ); + } + } + return NAND_OK; +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/scsi_data.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/scsi_data.c new file mode 100644 index 0000000..9979d19 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/scsi_data.c @@ -0,0 +1,158 @@ +/** + ****************************************************************************** + * @file scsi_data.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Initialization of the SCSI data + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_scsi.h" +#include "memory.h" + + +uint8_t Page00_Inquiry_Data[] = + { + 0x00, /* PERIPHERAL QUALIFIER & PERIPHERAL DEVICE TYPE*/ + 0x00, + 0x00, + 0x00, + 0x00 /* Supported Pages 00*/ + }; +uint8_t Standard_Inquiry_Data[] = + { + 0x00, /* Direct Access Device */ + 0x80, /* RMB = 1: Removable Medium */ + 0x02, /* Version: No conformance claim to standard */ + 0x02, + + 36 - 4, /* Additional Length */ + 0x00, /* SCCS = 1: Storage Controller Component */ + 0x00, + 0x00, + /* Vendor Identification */ + 'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', + /* Product Identification */ + 'S', 'D', ' ', 'F', 'l', 'a', 's', 'h', ' ', + 'D', 'i', 's', 'k', ' ', ' ', ' ', + /* Product Revision Level */ + '1', '.', '0', ' ' + }; +uint8_t Standard_Inquiry_Data2[] = + { + 0x00, /* Direct Access Device */ + 0x80, /* RMB = 1: Removable Medium */ + 0x02, /* Version: No conformance claim to standard */ + 0x02, + + 36 - 4, /* Additional Length */ + 0x00, /* SCCS = 1: Storage Controller Component */ + 0x00, + 0x00, + /* Vendor Identification */ + 'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', + /* Product Identification */ + 'N', 'A', 'N', 'D', ' ', 'F', 'l', 'a', 's', 'h', ' ', + 'D', 'i', 's', 'k', ' ', + /* Product Revision Level */ + '1', '.', '0', ' ' + }; +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +uint8_t Mode_Sense6_data[] = + { + 0x03, + 0x00, + 0x00, + 0x00, + }; + +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +uint8_t Mode_Sense10_data[] = + { + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 + }; +uint8_t Scsi_Sense_Data[] = + { + 0x70, /*RespCode*/ + 0x00, /*SegmentNumber*/ + NO_SENSE, /* Sens_Key*/ + 0x00, + 0x00, + 0x00, + 0x00, /*Information*/ + 0x0A, /*AdditionalSenseLength*/ + 0x00, + 0x00, + 0x00, + 0x00, /*CmdInformation*/ + NO_SENSE, /*Asc*/ + 0x00, /*ASCQ*/ + 0x00, /*FRUC*/ + 0x00, /*TBD*/ + 0x00, + 0x00 /*SenseKeySpecific*/ + }; +uint8_t ReadCapacity10_Data[] = + { + /* Last Logical Block */ + 0, + 0, + 0, + 0, + + /* Block Length */ + 0, + 0, + 0, + 0 + }; + +uint8_t ReadFormatCapacity_Data [] = + { + 0x00, + 0x00, + 0x00, + 0x08, /* Capacity List Length */ + + /* Block Count */ + 0, + 0, + 0, + 0, + + /* Block Length */ + 0x02,/* Descriptor Code: Formatted Media */ + 0, + 0, + 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/stm32_it.c new file mode 100644 index 0000000..a2ee2d8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/stm32_it.c @@ -0,0 +1,426 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "stm32_it.h" +#include "usb_istr.h" +#include "usb_lib.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint8_t Send_Buffer[2]; +extern __IO uint8_t PrevXferComplete; +extern uint32_t ADC_ConvertedValueX; +extern uint32_t ADC_ConvertedValueX_1; +extern __IO uint32_t TimingDelay; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSVC exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ + TimingDelay--; +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined (STM32F37X) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +#if defined(STM32L1XX_MD) +/******************************************************************************* +* Function Name : EXTI15_10_IRQHandler +* Description : This function handles External lines 15 to 10 interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void EXTI15_10_IRQHandler(void) +{ + /* Check on the RIGHT button */ + if(EXTI_GetITStatus(RIGHT_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x05; + + if (STM_EVAL_PBGetState(Button_RIGHT) == Bit_RESET) + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + + SetEPTxValid(ENDP1); + + PrevXferComplete = 0; + } + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(RIGHT_BUTTON_EXTI_LINE); + } + + /* Check on the LEFT button */ + if(EXTI_GetITStatus(LEFT_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x06; + + if (STM_EVAL_PBGetState(Button_LEFT) == Bit_RESET) + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + + SetEPTxValid(ENDP1); + + PrevXferComplete = 0; + } + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(LEFT_BUTTON_EXTI_LINE); + } +} +#endif +/******************************************************************************* +* Function Name : DMA1_Channel1_IRQHandler +* Description : This function handles DMA1 Channel 1 interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DMA1_Channel1_IRQHandler(void) +{ + Send_Buffer[0] = 0x07; + + if((ADC_ConvertedValueX >>4) - (ADC_ConvertedValueX_1 >>4) > 4) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[1] = (uint8_t)(ADC_ConvertedValueX >>4); + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + SetEPTxValid(ENDP1); + ADC_ConvertedValueX_1 = ADC_ConvertedValueX; + PrevXferComplete = 0; + } + } + + DMA_ClearFlag(DMA1_FLAG_TC1); +} + +/******************************************************************************* +* Function Name : EXTI_IRQHandler +* Description : This function handles External lines interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void EXTI0_IRQHandler(void) +#elif defined (STM32F37X) +void EXTI2_TS_IRQHandler(void) +#else +void EXTI9_5_IRQHandler(void) +#endif +{ + if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x05; +#if defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + if (!STM_EVAL_PBGetState(Button_KEY) == Bit_RESET) +#else + if (STM_EVAL_PBGetState(Button_KEY) == Bit_RESET) +#endif + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + SetEPTxValid(ENDP1); + PrevXferComplete = 0; + } + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); + } +} +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS)&& ! defined (STM32F37X) && ! defined (STM32F30X) +/******************************************************************************* +* Function Name : EXTI15_10_IRQHandler +* Description : This function handles External lines 15 to 10 interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void EXTI15_10_IRQHandler(void) +{ + if(EXTI_GetITStatus(TAMPER_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x06; + + if (STM_EVAL_PBGetState(Button_TAMPER) == Bit_RESET) + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + + SetEPTxValid(ENDP1); + + PrevXferComplete = 0; + } + /* Clear the EXTI line 13 pending bit */ + EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); + } +} + +#endif /*STM32L1XX_HD*/ + +#if defined(STM32F10X_HD) || defined(STM32F10X_XL) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +/******************************************************************************* +* Function Name : SDIO_IRQHandler +* Description : This function handles SDIO global interrupt request. +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SDIO_IRQHandler(void) +{ + /* Process All SDIO Interrupt Sources */ + SD_ProcessIRQSrc(); + +} + +void SD_SDIO_DMA_IRQHANDLER(void) +{ + /* Process DMA2 Stream3 or DMA2 Stream6 Interrupt Sources */ + SD_ProcessDMAIRQ(); +} + +#endif /* STM32F10X_HD | STM32F10X_XL*/ + +/******************************************************************************* +* Function Name : USB_FS_WKUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void USB_FS_WKUP_IRQHandler(void) +#else +void USBWakeUp_IRQHandler(void) +#endif +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f10x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f10x.c new file mode 100644 index 0000000..3686a2f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f10x.c @@ -0,0 +1,917 @@ +/** + ****************************************************************************** + * @file system_stm32f10x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f10x_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on + * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f10x_system + * @{ + */ + +/** @addtogroup STM32F10x_System_Private_Includes + * @{ + */ + +#include "stm32f10x.h" + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) + frequency (after reset the HSI is used as SYSCLK source) + + IMPORTANT NOTE: + ============== + 1. After each device reset the HSI is used as System clock source. + + 2. Please make sure that the selected System clock doesn't exceed your device's + maximum frequency. + + 3. If none of the define below is enabled, the HSI is used as System clock + source. + + 4. The System clock configuration functions provided within this file assume that: + - For Low, Medium and High density Value line devices an external 8MHz + crystal is used to drive the System clock. + - For Low, Medium and High density devices an external 8MHz crystal is + used to drive the System clock. + - For Connectivity line devices an external 25MHz crystal is used to drive + the System clock. + If you are using different crystal you have to adapt those functions accordingly. + */ + +#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ + #define SYSCLK_FREQ_24MHz 24000000 +#else +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ +/* #define SYSCLK_FREQ_24MHz 24000000 */ +/* #define SYSCLK_FREQ_36MHz 36000000 */ +/* #define SYSCLK_FREQ_48MHz 48000000 */ +/* #define SYSCLK_FREQ_56MHz 56000000 */ +#define SYSCLK_FREQ_72MHz 72000000 +#endif + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM3210E-EVAL board (STM32 High density and XL-density devices) or on + STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) +/* #define DATA_IN_ExtSRAM */ +#endif + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Variables + * @{ + */ + +/******************************************************************************* +* Clock Definitions +*******************************************************************************/ +#ifdef SYSCLK_FREQ_HSE + uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_24MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_36MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_48MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_56MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_72MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ +#else /*!< HSI Selected as System Clock source */ + uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ +#endif + +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +#ifdef SYSCLK_FREQ_HSE + static void SetSysClockToHSE(void); +#elif defined SYSCLK_FREQ_24MHz + static void SetSysClockTo24(void); +#elif defined SYSCLK_FREQ_36MHz + static void SetSysClockTo36(void); +#elif defined SYSCLK_FREQ_48MHz + static void SetSysClockTo48(void); +#elif defined SYSCLK_FREQ_56MHz + static void SetSysClockTo56(void); +#elif defined SYSCLK_FREQ_72MHz + static void SetSysClockTo72(void); +#endif + +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ + + RCC->CFGR &= (uint32_t)0xF8FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; +#endif /* STM32F10X_XX */ + +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + + /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ + /* Configure the Flash Latency cycles and enable prefetch buffer */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + uint32_t prediv1factor = 0; +#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } + + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. + * @param None + * @retval None + */ +static void SetSysClock(void) +{ +#ifdef SYSCLK_FREQ_HSE + SetSysClockToHSE(); +#elif defined SYSCLK_FREQ_24MHz + SetSysClockTo24(); +#elif defined SYSCLK_FREQ_36MHz + SetSysClockTo36(); +#elif defined SYSCLK_FREQ_48MHz + SetSysClockTo48(); +#elif defined SYSCLK_FREQ_56MHz + SetSysClockTo56(); +#elif defined SYSCLK_FREQ_72MHz + SetSysClockTo72(); +#endif + + /* If none of the define above is enabled, the HSI is used as System clock + source (default after reset) */ +} + +/** + * @brief Setup the external memory controller. Called in startup_stm32f10x.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f10x_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114; + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0; + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BB; + GPIOD->CRH = 0xBBBBBBBB; + + GPIOE->CRL = 0xB44444BB; + GPIOE->CRH = 0xBBBBBBBB; + + GPIOF->CRL = 0x44BBBBBB; + GPIOF->CRH = 0xBBBB4444; + + GPIOG->CRL = 0x44BBBBBB; + GPIOG->CRH = 0x44444B44; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000200; +} +#endif /* DATA_IN_ExtSRAM */ + +#ifdef SYSCLK_FREQ_HSE +/** + * @brief Selects HSE as System clock source and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockToHSE(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* Select HSE as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; + + /* Wait till HSE is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_24MHz +/** + * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo24(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_XX */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_36MHz +/** + * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo36(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_48MHz +/** + * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo48(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_56MHz +/** + * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo56(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + + /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_72MHz +/** + * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo72(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | + RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#endif + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f30x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f30x.c new file mode 100644 index 0000000..31faf5c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32f30x.c @@ -0,0 +1,382 @@ +/** + ****************************************************************************** + * @file system_stm32f30x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F30x devices, + * and is generated by the clock configuration tool + * stm32f30x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f30x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f30x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32f30x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F30x device + *----------------------------------------------------------------------------- + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f30x_system + * @{ + */ + +/** @addtogroup STM32F30x_System_Private_Includes + * @{ + */ + +#include "stm32f30x.h" + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Defines + * @{ + */ +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Variables + * @{ + */ + + uint32_t SystemCoreClock = 72000000; + + __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemFrequency variable. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Reset the RCC clock configuration to the default reset state ------------*/ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset CFGR register */ + RCC->CFGR &= 0xF87FC00C; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and TIMs bits */ + RCC->CFGR3 &= (uint32_t)0xFF00FCCC; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + + /* Configure the System clock source, PLL Multiplier and Divider factors, + AHB/APBx prescalers and Flash settings ----------------------------------*/ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock source, PLL Multiplier and Divider factors, + * AHB/APBx prescalers and Flash settings + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32l1xx.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32l1xx.c new file mode 100644 index 0000000..1be659d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/system_stm32l1xx.c @@ -0,0 +1,533 @@ +/** + ****************************************************************************** + * @file system_stm32l1xx.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32L1xx Ultra + * Low Power devices, and is generated by the clock configuration + * tool "STM32L1xx_Clock_Configuration_V1.1.0.xls". + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32l1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and MSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * System Clock Configuration + *============================================================================= + * System Clock source | PLL(HSE) + *----------------------------------------------------------------------------- + * SYSCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * HCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * HSE Frequency | 8000000 Hz + *----------------------------------------------------------------------------- + * PLL DIV | 3 + *----------------------------------------------------------------------------- + * PLL MUL | 12 + *----------------------------------------------------------------------------- + * VDD | 3.3 V + *----------------------------------------------------------------------------- + * Vcore | 1.8 V (Range 1) + *----------------------------------------------------------------------------- + * Flash Latency | 1 WS + *----------------------------------------------------------------------------- + * SDIO clock (SDIOCLK) | 48000000 Hz + *----------------------------------------------------------------------------- + * Require 48MHz for USB clock | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32l1xx_system + * @{ + */ + +/** @addtogroup STM32L1xx_System_Private_Includes + * @{ + */ + +#include "stm32l1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM32L152D_EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 32000000; +__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48}; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /*!< Set MSION bit */ + RCC->CR |= (uint32_t)0x00000100; + + /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */ + RCC->CFGR &= (uint32_t)0x88FFC00C; + + /*!< Reset HSION, HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xEEFEFFFE; + + /*!< Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */ + RCC->CFGR &= (uint32_t)0xFF02FFFF; + + /*!< Disable all interrupts */ + RCC->CIR = 0x00000000; + +#ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM */ + + /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI + * value as defined by the MSI range. + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + case 0x04: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x08: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x0C: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmul = RCC->CFGR & RCC_CFGR_PLLMUL; + plldiv = RCC->CFGR & RCC_CFGR_PLLDIV; + pllmul = PLLMulTable[(pllmul >> 18)]; + plldiv = (plldiv >> 22) + 1; + + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + if (pllsource == 0x00) + { + /* HSI oscillator clock selected as PLL clock entry */ + SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv); + } + else + { + /* HSE selected as PLL clock entry */ + SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv); + } + break; + default: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable 64-bit access */ + FLASH->ACR |= FLASH_ACR_ACC64; + + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTEN; + + /* Flash 1 wait state */ + FLASH->ACR |= FLASH_ACR_LATENCY; + + /* Power enable */ + RCC->APB1ENR |= RCC_APB1ENR_PWREN; + + /* Select the Voltage Range 1 (1.8 V) */ + PWR->CR = PWR_CR_VOS_0; + + /* Wait Until the Voltage Regulator is ready */ + while((PWR->CSR & PWR_CSR_VOSF) != RESET) + { + } + + /* HCLK = SYSCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL | + RCC_CFGR_PLLDIV)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL12 | RCC_CFGR_PLLDIV3); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { + /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in SystemInit() function before jump to main. + * This function configures the external SRAM mounted on STM32L152D_EVAL board + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*-- GPIOs Configuration -----------------------------------------------------*/ +/* + +-------------------+--------------------+------------------+------------------+ + + SRAM pins assignment + + +-------------------+--------------------+------------------+------------------+ + | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | + | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | + | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | + | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | + | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | + | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | + | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 | + | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ + | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | + | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | + | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+ + | PD15 <-> FSMC_D1 |--------------------+ + +-------------------+ +*/ + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHBENR = 0x000080D8; + + /* Connect PDx pins to FSMC Alternate function */ + GPIOD->AFR[0] = 0x00CC00CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A0A; + /* Configure PDx pins speed to 40 MHz */ + GPIOD->OSPEEDR = 0xFFFF0F0F; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x00000000; + + /* Connect PEx pins to FSMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA800A; + /* Configure PEx pins speed to 40 MHz */ + GPIOE->OSPEEDR = 0xFFFFC00F; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x00000000; + + /* Connect PFx pins to FSMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 40 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x00000000; + + /* Connect PGx pins to FSMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x00000C00; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 40 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00000000; + +/*-- FSMC Configuration ------------------------------------------------------*/ + /* Enable the FSMC interface clock */ + RCC->AHBENR = 0x400080D8; + + /* Configure and enable Bank1_SRAM3 */ + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000300; + FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF; +/* + Bank1_SRAM3 is configured as follow: + + p.FSMC_AddressSetupTime = 0; + p.FSMC_AddressHoldTime = 0; + p.FSMC_DataSetupTime = 3; + p.FSMC_BusTurnAroundDuration = 0; + p.FSMC_CLKDivision = 0; + p.FSMC_DataLatency = 0; + p.FSMC_AccessMode = FSMC_AccessMode_A; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); +*/ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_bot.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_bot.c new file mode 100644 index 0000000..5773bac --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_bot.c @@ -0,0 +1,343 @@ +/** + ****************************************************************************** + * @file usb_bot.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief BOT State Machine management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_scsi.h" +#include "hw_config.h" +#include "usb_regs.h" +#include "usb_mem.h" +#include "usb_conf.h" +#include "usb_bot.h" +#include "memory.h" +#include "usb_lib.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint8_t Bot_State; +uint8_t Bulk_Data_Buff[64]; /* data buffer*/ +uint16_t Data_Len; +Bulk_Only_CBW CBW; +Bulk_Only_CSW CSW; +uint32_t SCSI_LBA , SCSI_BlkLen; +extern uint32_t Max_Lun; +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Mass_Storage_In +* Description : Mass Storage IN transfer. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_In (void) +{ + switch (Bot_State) + { + case BOT_CSW_Send: + case BOT_ERROR: + Bot_State = BOT_IDLE; + SetEPRxStatus(ENDP2, EP_RX_VALID);/* enable the Endpoint to receive the next cmd*/ + if (GetEPRxStatus(EP2_OUT) == EP_RX_STALL) + { + SetEPRxStatus(EP2_OUT, EP_RX_VALID);/* enable the Endpoint to receive the next cmd*/ + } + break; + case BOT_DATA_IN: + switch (CBW.CB[0]) + { + case SCSI_READ10: + SCSI_Read10_Cmd(CBW.bLUN , SCSI_LBA , SCSI_BlkLen); + break; + } + break; + case BOT_DATA_IN_LAST: + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + + SetEPRxStatus(ENDP2, EP_RX_VALID); + break; + default: + break; + } +} + +/******************************************************************************* +* Function Name : Mass_Storage_Out +* Description : Mass Storage OUT transfer. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_Out (void) +{ + uint8_t CMD; + CMD = CBW.CB[0]; + + Data_Len = USB_SIL_Read(EP2_OUT, Bulk_Data_Buff); + + switch (Bot_State) + { + case BOT_IDLE: + CBW_Decode(); + break; + case BOT_DATA_OUT: + if (CMD == SCSI_WRITE10) + { + SCSI_Write10_Cmd(CBW.bLUN , SCSI_LBA , SCSI_BlkLen); + break; + } + Bot_Abort(DIR_OUT); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_PHASE_ERROR, SEND_CSW_DISABLE); + break; + default: + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_PHASE_ERROR, SEND_CSW_DISABLE); + break; + } +} + +/******************************************************************************* +* Function Name : CBW_Decode +* Description : Decode the received CBW and call the related SCSI command +* routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CBW_Decode(void) +{ + uint32_t Counter; + + for (Counter = 0; Counter < Data_Len; Counter++) + { + *((uint8_t *)&CBW + Counter) = Bulk_Data_Buff[Counter]; + } + CSW.dTag = CBW.dTag; + CSW.dDataResidue = CBW.dDataLength; + if (Data_Len != BOT_CBW_PACKET_LENGTH) + { + Bot_Abort(BOTH_DIR); + /* reset the CBW.dSignature to disable the clear feature until receiving a Mass storage reset*/ + CBW.dSignature = 0; + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, PARAMETER_LIST_LENGTH_ERROR); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + return; + } + + if ((CBW.CB[0] == SCSI_READ10 ) || (CBW.CB[0] == SCSI_WRITE10 )) + { + /* Calculate Logical Block Address */ + SCSI_LBA = (CBW.CB[2] << 24) | (CBW.CB[3] << 16) | (CBW.CB[4] << 8) | CBW.CB[5]; + /* Calculate the Number of Blocks to transfer */ + SCSI_BlkLen = (CBW.CB[7] << 8) | CBW.CB[8]; + } + + if (CBW.dSignature == BOT_CBW_SIGNATURE) + { + /* Valid CBW */ + if ((CBW.bLUN > Max_Lun) || (CBW.bCBLength < 1) || (CBW.bCBLength > 16)) + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } + else + { + switch (CBW.CB[0]) + { + case SCSI_REQUEST_SENSE: + SCSI_RequestSense_Cmd (CBW.bLUN); + break; + case SCSI_INQUIRY: + SCSI_Inquiry_Cmd(CBW.bLUN); + break; + case SCSI_START_STOP_UNIT: + SCSI_Start_Stop_Unit_Cmd(CBW.bLUN); + break; + case SCSI_ALLOW_MEDIUM_REMOVAL: + SCSI_Start_Stop_Unit_Cmd(CBW.bLUN); + break; + case SCSI_MODE_SENSE6: + SCSI_ModeSense6_Cmd (CBW.bLUN); + break; + case SCSI_MODE_SENSE10: + SCSI_ModeSense10_Cmd (CBW.bLUN); + break; + case SCSI_READ_FORMAT_CAPACITIES: + SCSI_ReadFormatCapacity_Cmd(CBW.bLUN); + break; + case SCSI_READ_CAPACITY10: + SCSI_ReadCapacity10_Cmd(CBW.bLUN); + break; + case SCSI_TEST_UNIT_READY: + SCSI_TestUnitReady_Cmd(CBW.bLUN); + break; + case SCSI_READ10: + SCSI_Read10_Cmd(CBW.bLUN, SCSI_LBA , SCSI_BlkLen); + break; + case SCSI_WRITE10: + SCSI_Write10_Cmd(CBW.bLUN, SCSI_LBA , SCSI_BlkLen); + break; + case SCSI_VERIFY10: + SCSI_Verify10_Cmd(CBW.bLUN); + break; + case SCSI_FORMAT_UNIT: + SCSI_Format_Cmd(CBW.bLUN); + break; + /*Unsupported command*/ + case SCSI_MODE_SELECT10: + SCSI_Mode_Select10_Cmd(CBW.bLUN); + break; + case SCSI_MODE_SELECT6: + SCSI_Mode_Select6_Cmd(CBW.bLUN); + break; + + case SCSI_SEND_DIAGNOSTIC: + SCSI_Send_Diagnostic_Cmd(CBW.bLUN); + break; + case SCSI_READ6: + SCSI_Read6_Cmd(CBW.bLUN); + break; + case SCSI_READ12: + SCSI_Read12_Cmd(CBW.bLUN); + break; + case SCSI_READ16: + SCSI_Read16_Cmd(CBW.bLUN); + break; + case SCSI_READ_CAPACITY16: + SCSI_READ_CAPACITY16_Cmd(CBW.bLUN); + break; + case SCSI_WRITE6: + SCSI_Write6_Cmd(CBW.bLUN); + break; + case SCSI_WRITE12: + SCSI_Write12_Cmd(CBW.bLUN); + break; + case SCSI_WRITE16: + SCSI_Write16_Cmd(CBW.bLUN); + break; + case SCSI_VERIFY12: + SCSI_Verify12_Cmd(CBW.bLUN); + break; + case SCSI_VERIFY16: + SCSI_Verify16_Cmd(CBW.bLUN); + break; + + default: + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } + } + } + } + else + { + /* Invalid CBW */ + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } +} + +/******************************************************************************* +* Function Name : Transfer_Data_Request +* Description : Send the request response to the PC HOST. +* Input : uint8_t* Data_Address : point to the data to transfer. +* uint16_t Data_Length : the number of Bytes to transfer. +* Output : None. +* Return : None. +*******************************************************************************/ +void Transfer_Data_Request(uint8_t* Data_Pointer, uint16_t Data_Len) +{ + USB_SIL_Write(EP2_IN, Data_Pointer, Data_Len); + + SetEPTxStatus(ENDP2, EP_TX_VALID); + + Bot_State = BOT_DATA_IN_LAST; + CSW.dDataResidue -= Data_Len; + CSW.bStatus = CSW_CMD_PASSED; +} + +/******************************************************************************* +* Function Name : Set_CSW +* Description : Set the SCW with the needed fields. +* Input : uint8_t CSW_Status this filed can be CSW_CMD_PASSED,CSW_CMD_FAILED, +* or CSW_PHASE_ERROR. +* Output : None. +* Return : None. +*******************************************************************************/ +void Set_CSW (uint8_t CSW_Status, uint8_t Send_Permission) +{ + CSW.dSignature = BOT_CSW_SIGNATURE; + CSW.bStatus = CSW_Status; + + USB_SIL_Write(EP2_IN, ((uint8_t *)& CSW), CSW_DATA_LENGTH); + + Bot_State = BOT_ERROR; + if (Send_Permission) + { + Bot_State = BOT_CSW_Send; + SetEPTxStatus(ENDP2, EP_TX_VALID); + } +} + +/******************************************************************************* +* Function Name : Bot_Abort +* Description : Stall the needed Endpoint according to the selected direction. +* Input : Endpoint direction IN, OUT or both directions +* Output : None. +* Return : None. +*******************************************************************************/ +void Bot_Abort(uint8_t Direction) +{ + switch (Direction) + { + case DIR_IN : + SetEPTxStatus(ENDP2, EP_TX_STALL); + break; + case DIR_OUT : + SetEPRxStatus(ENDP2, EP_RX_STALL); + break; + case BOTH_DIR : + SetEPTxStatus(ENDP2, EP_TX_STALL); + SetEPRxStatus(ENDP2, EP_RX_STALL); + break; + default: + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_desc.c new file mode 100644 index 0000000..5e1b127 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_desc.c @@ -0,0 +1,299 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Custom HID Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/* USB Standard Device Descriptor */ +const uint8_t Composite_DeviceDescriptor[Composite_SIZ_DEVICE_DESC] = + { + 0x12, /*bLength */ + USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ + 0x00, /*bcdUSB */ + 0x02, + 0x00, /*bDeviceClass*/ + 0x00, /*bDeviceSubClass*/ + 0x00, /*bDeviceProtocol*/ + 0x40, /*bMaxPacketSize40*/ + 0x83, /*idVendor (0x0483)*/ + 0x04, + 0x50, /*idProduct = 0x5750*/ + 0x57, + 0x00, /*bcdDevice rel. 2.00*/ + 0x02, + 1, /*Index of string descriptor describing + manufacturer */ + 2, /*Index of string descriptor describing + product*/ + 3, /*Index of string descriptor describing the + device serial number */ + 0x01 /*bNumConfigurations*/ + } + ; /* Composite_DeviceDescriptor */ + + +/* USB Configuration Descriptor */ +/* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ +const uint8_t Composite_ConfigDescriptor[Composite_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ + Composite_SIZ_CONFIG_DESC, + /* wTotalLength: Bytes returned */ + 0x00, + 0x02, /* bNumInterfaces: 2 interfaces */ + 0x01, /* bConfigurationValue: Configuration value */ + 0x00, /* iConfiguration: Index of string descriptor describing + the configuration*/ + 0xC0, /* bmAttributes: Self powered */ + 0x32, /* MaxPower 100 mA: this current is used for detecting Vbus */ + + /************** Descriptor of Custom HID interface ****************/ + /* 09 */ + 0x09, /* bLength: Interface Descriptor size */ + USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType: Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x02, /* bNumEndpoints */ + 0x03, /* bInterfaceClass: HID */ + 0x00, /* bInterfaceSubClass : 1=BOOT, 0=no boot */ + 0x00, /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */ + 0, /* iInterface: Index of string descriptor */ + /******************** Descriptor of Custom HID HID ********************/ + /* 18 */ + 0x09, /* bLength: HID Descriptor size */ + HID_DESCRIPTOR_TYPE, /* bDescriptorType: HID */ + 0x10, /* bcdHID: HID Class Spec release number */ + 0x01, + 0x00, /* bCountryCode: Hardware target country */ + 0x01, /* bNumDescriptors: Number of HID class descriptors to follow */ + 0x22, /* bDescriptorType */ + CUSTOMHID_SIZ_REPORT_DESC,/* wItemLength: Total length of Report descriptor */ + 0x00, + /******************** Descriptor of Custom HID endpoints ******************/ + /* 27 */ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */ + + 0x81, /* bEndpointAddress: Endpoint Address (IN) */ + 0x03, /* bmAttributes: Interrupt endpoint */ + 0x02, /* wMaxPacketSize: 2 Bytes max */ + 0x00, + 0x20, /* bInterval: Polling Interval (32 ms) */ + /* 34 */ + + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */ + /* Endpoint descriptor type */ + 0x01, /* bEndpointAddress: */ + /* Endpoint Address (OUT) */ + 0x03, /* bmAttributes: Interrupt endpoint */ + 0x02, /* wMaxPacketSize: 2 Bytes max */ + 0x00, + 0x20, /* bInterval: Polling Interval (20 ms) */ + /* 41 */ + /******************** Descriptor of Mass Storage interface ********************/ + /* 09 */ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x01, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x02, /* bNumEndpoints*/ + 0x08, /* bInterfaceClass: MASS STORAGE Class */ + 0x06, /* bInterfaceSubClass : SCSI transparent*/ + 0x50, /* nInterfaceProtocol */ + 1, /* iInterface: */ + /* 18 */ + 0x07, /*Endpoint descriptor length = 7*/ + 0x05, /*Endpoint descriptor type */ + 0x82, /*Endpoint address (IN, address 2) */ + 0x02, /*Bulk endpoint type */ + 0x40, /*Maximum packet size (64 bytes) */ + 0x00, + 0x00, /*Polling interval in milliseconds */ + /* 25 */ + 0x07, /*Endpoint descriptor length = 7 */ + 0x05, /*Endpoint descriptor type */ + 0x02, /*Endpoint address (OUT, address 2) */ + 0x02, /*Bulk endpoint type */ + 0x40, /*Maximum packet size (64 bytes) */ + 0x00, + 0x00 /*Polling interval in milliseconds*/ + /*32*/ + }; /* Composite_ConfigDescriptor */ +const uint8_t CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC] = + { + 0x06, 0xFF, 0x00, /* USAGE_PAGE (Vendor Page: 0xFF00) */ + 0x09, 0x01, /* USAGE (Demo Kit) */ + 0xa1, 0x01, /* COLLECTION (Application) */ + /* 6 */ + + /* Led 1 */ + 0x85, 0x01, /* REPORT_ID (1) */ + 0x09, 0x01, /* USAGE (LED 1) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x01, /* REPORT_ID (1) */ + 0x09, 0x01, /* USAGE (LED 1) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 26 */ + + /* Led 2 */ + 0x85, 0x02, /* REPORT_ID 2 */ + 0x09, 0x02, /* USAGE (LED 2) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x02, /* REPORT_ID (2) */ + 0x09, 0x02, /* USAGE (LED 2) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 46 */ + + /* Led 3 */ + 0x85, 0x03, /* REPORT_ID (3) */ + 0x09, 0x03, /* USAGE (LED 3) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x03, /* REPORT_ID (3) */ + 0x09, 0x03, /* USAGE (LED 3) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 66 */ + + /* key Push Button */ + 0x85, 0x05, /* REPORT_ID (5) */ + 0x09, 0x05, /* USAGE (Push Button) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0x81, 0x82, /* INPUT (Data,Var,Abs,Vol) */ + + 0x09, 0x05, /* USAGE (Push Button) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0xb1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0x81, 0x83, /* INPUT (Cnst,Var,Abs,Vol) */ + 0x85, 0x05, /* REPORT_ID (2) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0xb1, 0x83, /* FEATURE (Cnst,Var,Abs,Vol) */ + /* 94 */ + + /* Tamper Push Button */ + 0x85, 0x06, /* REPORT_ID (6) */ + 0x09, 0x06, /* USAGE (Tamper Push Button) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0x81, 0x82, /* INPUT (Data,Var,Abs,Vol) */ + + 0x09, 0x06, /* USAGE (Tamper Push Button) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0xb1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0x81, 0x83, /* INPUT (Cnst,Var,Abs,Vol) */ + 0x85, 0x06, /* REPORT_ID (6) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0xb1, 0x83, /* FEATURE (Cnst,Var,Abs,Vol) */ + /* 122 */ + + /* ADC IN */ + 0x85, 0x07, /* REPORT_ID (7) */ + 0x09, 0x07, /* USAGE (ADC IN) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x26, 0xff, 0x00, /* LOGICAL_MAXIMUM (255) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x81, 0x82, /* INPUT (Data,Var,Abs,Vol) */ + 0x85, 0x07, /* REPORT_ID (7) */ + 0x09, 0x07, /* USAGE (ADC in) */ + 0xb1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + /* 141 */ + + 0xc0 /* END_COLLECTION */ + }; /* CustomHID_ReportDescriptor */ + +/* USB String Descriptors (optional) */ +const uint8_t Composite_StringLangID[Composite_SIZ_STRING_LANGID] = + { + Composite_SIZ_STRING_LANGID, + USB_STRING_DESCRIPTOR_TYPE, + 0x09, + 0x04 + } + ; /* LangID = 0x0409: U.S. English */ + +const uint8_t Composite_StringVendor[Composite_SIZ_STRING_VENDOR] = + { + Composite_SIZ_STRING_VENDOR, /* Size of Vendor string */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +const uint8_t Composite_StringProduct[Composite_SIZ_STRING_PRODUCT] = + { + Composite_SIZ_STRING_PRODUCT, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'C', 0, + 'o', 0, 'm', 0, 'p', 0, 'o', 0, 's', 0, 'i', 0, 't', 0, + 'e', 0,' ',0, 'M', 0, 'S', 0, 'C', 0, '+', 0, 'H', 0, 'I', 0, 'D', 0 + }; +uint8_t Composite_StringSerial[Composite_SIZ_STRING_SERIAL] = + { + Composite_SIZ_STRING_SERIAL, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0,'3', 0,'2', 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_endp.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_endp.c new file mode 100644 index 0000000..3344c23 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_endp.c @@ -0,0 +1,159 @@ +/** + ****************************************************************************** + * @file usb_endp.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Endpoint routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_istr.h" +#include "usb_bot.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint8_t Receive_Buffer[2]; +extern __IO uint8_t PrevXferComplete; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : EP1_OUT_Callback. +* Description : EP1 OUT Callback Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP1_OUT_Callback(void) +{ + BitAction Led_State; + + /* Read received data (2 bytes) */ + USB_SIL_Read(EP1_OUT, Receive_Buffer); + + if (Receive_Buffer[1] == 0) + { + Led_State = Bit_RESET; + } + else + { + Led_State = Bit_SET; + } + + + switch (Receive_Buffer[0]) + { + case 1: /* Led 1 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED1); + } + else + { + STM_EVAL_LEDOff(LED1); + } + break; + case 2: /* Led 2 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED2); + } + else + { + STM_EVAL_LEDOff(LED2); + } + break; + case 3: /* Led 3 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED3); + } + else + { + STM_EVAL_LEDOff(LED3); + } + break; + case 4: /* Led 4 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED4); + } + else + { + STM_EVAL_LEDOff(LED4); + } + break; + default: + STM_EVAL_LEDOff(LED1); + STM_EVAL_LEDOff(LED2); + STM_EVAL_LEDOff(LED3); + STM_EVAL_LEDOff(LED4); + break; + } + + SetEPRxStatus(ENDP1, EP_RX_VALID); + +} + +/******************************************************************************* +* Function Name : EP1_IN_Callback. +* Description : EP1 IN Callback Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP1_IN_Callback(void) +{ + PrevXferComplete = 1; +} + +/******************************************************************************* +* Function Name : EP2_IN_Callback +* Description : EP2 IN Callback Routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP2_IN_Callback(void) +{ + Mass_Storage_In(); +} + +/******************************************************************************* +* Function Name : EP2_OUT_Callback. +* Description : EP2 OUT Callback Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP2_OUT_Callback(void) +{ + Mass_Storage_Out(); +} +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_prop.c new file mode 100644 index 0000000..446fa84 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_prop.c @@ -0,0 +1,581 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processings related to Custom HID Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "usb_bot.h" +#include "memory.h" +#include "mass_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint32_t ProtocolValue; +__IO uint8_t EXTI_Enable; +__IO uint8_t Request = 0; +uint8_t Report_Buf[2]; +/* -------------------------------------------------------------------------- */ +/* Structures initializations */ +/* -------------------------------------------------------------------------- */ + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + CustomHID_init, + CustomHID_Reset, + CustomHID_Status_In, + CustomHID_Status_Out, + CustomHID_Data_Setup, + CustomHID_NoData_Setup, + CustomHID_Get_Interface_Setting, + CustomHID_GetDeviceDescriptor, + CustomHID_GetConfigDescriptor, + CustomHID_GetStringDescriptor, + 0, + 0x40 /*MAX PACKET SIZE*/ + }; +USER_STANDARD_REQUESTS User_Standard_Requests = + { + CustomHID_GetConfiguration, + CustomHID_SetConfiguration, + CustomHID_GetInterface, + CustomHID_SetInterface, + CustomHID_GetStatus, + CustomHID_ClearFeature, + CustomHID_SetEndPointFeature, + CustomHID_SetDeviceFeature, + CustomHID_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)Composite_DeviceDescriptor, + Composite_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)Composite_ConfigDescriptor, + Composite_SIZ_CONFIG_DESC + }; + +ONE_DESCRIPTOR CustomHID_Report_Descriptor = + { + (uint8_t *)CustomHID_ReportDescriptor, + CUSTOMHID_SIZ_REPORT_DESC + }; + +ONE_DESCRIPTOR CustomHID_Hid_Descriptor = + { + (uint8_t*)Composite_ConfigDescriptor + CUSTOMHID_OFF_HID_DESC, + CUSTOMHID_SIZ_HID_DESC + }; + +ONE_DESCRIPTOR String_Descriptor[4] = + { + {(uint8_t*)Composite_StringLangID, Composite_SIZ_STRING_LANGID}, + {(uint8_t*)Composite_StringVendor, Composite_SIZ_STRING_VENDOR}, + {(uint8_t*)Composite_StringProduct, Composite_SIZ_STRING_PRODUCT}, + {(uint8_t*)Composite_StringSerial, Composite_SIZ_STRING_SERIAL} + }; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/*CustomHID_SetReport_Feature function prototypes*/ +uint8_t *CustomHID_SetReport_Feature(uint16_t Length); + +extern unsigned char Bot_State; +extern Bulk_Only_CBW CBW; +uint32_t Max_Lun = 0; + + +/******************************************************************************* +* Function Name : Get_Max_Lun +* Description : Handle the Get Max Lun request. +* Input : uint16_t Length. +* Output : None. +* Return : None. +*******************************************************************************/ +uint8_t *Get_Max_Lun(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = LUN_DATA_LENGTH; + return 0; + } + else + { + return((uint8_t*)(&Max_Lun)); + } +} +/******************************************************************************* +* Function Name : CustomHID_init. +* Description : Custom HID init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_init(void) +{ + /* Update the serial number string descriptor with the data from the unique + ID*/ + Get_SerialNum(); + + pInformation->Current_Configuration = 0; + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : CustomHID_Reset. +* Description : Custom HID reset routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_Reset(void) +{ + /* Set Composite_DEVICE as not configured */ + pInformation->Current_Configuration = 0; + pInformation->Current_Interface = 0;/*the default Interface*/ + + /* Current Feature initialization */ + pInformation->Current_Feature = Composite_ConfigDescriptor[7]; + + SetBTABLE(BTABLE_ADDRESS); + + /* Initialize Endpoint 0 */ + SetEPType(ENDP0, EP_CONTROL); + SetEPTxStatus(ENDP0, EP_TX_STALL); + SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPTxAddr(ENDP0, ENDP0_TXADDR); + Clear_Status_Out(ENDP0); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPRxValid(ENDP0); + + /* Initialize Endpoint 1 */ + SetEPType(ENDP1, EP_INTERRUPT); + SetEPTxAddr(ENDP1, ENDP1_TXADDR); + SetEPRxAddr(ENDP1, ENDP1_RXADDR); + SetEPTxCount(ENDP1, 2); + SetEPRxCount(ENDP1, 2); + SetEPRxStatus(ENDP1, EP_RX_VALID); + SetEPTxStatus(ENDP1, EP_TX_NAK); + /* Initialize Endpoint 2 IN */ + SetEPType(ENDP2, EP_BULK); + SetEPTxCount(ENDP1, 64); + SetEPTxAddr(ENDP2, ENDP1_TXADDR); + SetEPTxStatus(ENDP2, EP_TX_NAK); + + + /* Initialize Endpoint 2 OUT */ + SetEPType(ENDP2, EP_BULK); + SetEPRxAddr(ENDP2, ENDP2_RXADDR); + SetEPRxCount(ENDP2, 64); + SetEPRxStatus(ENDP2, EP_RX_VALID); + + /* Set this device to response on default address */ + SetDeviceAddress(0); + CBW.dSignature = BOT_CBW_SIGNATURE; + Bot_State = BOT_IDLE; + bDeviceState = ATTACHED; +} +/******************************************************************************* +* Function Name : CustomHID_SetConfiguration. +* Description : Update the device state to configured and command the ADC +* conversion. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_SetConfiguration(void) +{ + if (pInformation->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + + /* Start ADC Software Conversion */ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined(STM32F37X) + ADC_SoftwareStartConv(ADC1); +#elif defined (STM32F30X) + ADC_StartConversion(ADC1); +#else + ADC_SoftwareStartConvCmd(ADC1, ENABLE); +#endif /* STM32L1XX_XD */ + ClearDTOG_TX(ENDP2); + ClearDTOG_RX(ENDP2); + Bot_State = BOT_IDLE; /* set the Bot state machine to the IDLE state */ + } +} +/******************************************************************************* +* Function Name : CustomHID_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} +/******************************************************************************* +* Function Name : CustomHID_Status_In. +* Description : Joystick status IN routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_Status_In(void) +{ + BitAction Led_State; + + if (Report_Buf[1] == 0) + { + Led_State = Bit_RESET; + } + else + { + Led_State = Bit_SET; + } + + switch (Report_Buf[0]) + { + /*Change LED's status according to the host report*/ + + case 1: /* Led 1 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED1); + } + else + { + STM_EVAL_LEDOff(LED1); + } + break; + case 2: /* Led 2 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED2); + } + else + { + STM_EVAL_LEDOff(LED2); + } + break; + case 3:/* Led 3 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED3); + } + else + { + STM_EVAL_LEDOff(LED3); + } + break; + case 4:/* Led 4 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED4); + } + else + { + STM_EVAL_LEDOff(LED4); + } + break; + default: + STM_EVAL_LEDOff(LED1); + STM_EVAL_LEDOff(LED2); + STM_EVAL_LEDOff(LED3); + STM_EVAL_LEDOff(LED4); + break; + } +} + +/******************************************************************************* +* Function Name : CustomHID_Status_Out +* Description : Joystick status OUT routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_Status_Out (void) +{ +} + +/******************************************************************************* +* Function Name : CustomHID_Data_Setup +* Description : Handle the data class specific requests. +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT CustomHID_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + + if (pInformation->USBwIndex != 0) + return USB_UNSUPPORT; + + CopyRoutine = NULL; + + if ((RequestNo == GET_DESCRIPTOR) + && (Type_Recipient == (STANDARD_REQUEST | INTERFACE_RECIPIENT)) + ) + { + + if (pInformation->USBwValue1 == REPORT_DESCRIPTOR) + { + CopyRoutine = CustomHID_GetReportDescriptor; + } + else if (pInformation->USBwValue1 == HID_DESCRIPTOR_TYPE) + { + CopyRoutine = CustomHID_GetHIDDescriptor; + } + + } /* End of GET_DESCRIPTOR */ + + /*** GET_PROTOCOL, GET_REPORT, SET_REPORT ***/ + else if ( (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) ) + { + switch( RequestNo ) + { + case GET_PROTOCOL: + CopyRoutine = CustomHID_GetProtocolValue; + break; + case SET_REPORT: + CopyRoutine = CustomHID_SetReport_Feature; + Request = SET_REPORT; + break; + default: + break; + } + } + + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : CustomHID_SetReport_Feature +* Description : Set Feature request handling +* Input : Length. +* Output : None. +* Return : Buffer +*******************************************************************************/ +uint8_t *CustomHID_SetReport_Feature(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 2; + return NULL; + } + else + { + return Report_Buf; + } +} +/******************************************************************************* +* Function Name : CustomHID_NoData_Setup +* Description : handle the no data class specific requests +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT CustomHID_NoData_Setup(uint8_t RequestNo) +{ + if ((Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + && (RequestNo == SET_PROTOCOL)) + { + return CustomHID_SetProtocol(); + } + + else + { + return USB_UNSUPPORT; + } +} + +/******************************************************************************* +* Function Name : CustomHID_GetDeviceDescriptor. +* Description : Gets the device descriptor. +* Input : Length +* Output : None. +* Return : The address of the device descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_GetConfigDescriptor. +* Description : Gets the configuration descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Config_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_GetStringDescriptor +* Description : Gets the string descriptors according to the needed index +* Input : Length +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +uint8_t *CustomHID_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + if (wValue0 > 4) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : CustomHID_GetReportDescriptor. +* Description : Gets the HID report descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetReportDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &CustomHID_Report_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_GetHIDDescriptor. +* Description : Gets the HID descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetHIDDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &CustomHID_Hid_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_Get_Interface_Setting. +* Description : tests the interface and the alternate setting according to the +* supported one. +* Input : - Interface : interface number. +* - AlternateSetting : Alternate Setting number. +* Output : None. +* Return : USB_SUCCESS or USB_UNSUPPORT. +*******************************************************************************/ +RESULT CustomHID_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 0) + { + return USB_UNSUPPORT; + } + else if (Interface > 0) + { + return USB_UNSUPPORT; + } + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : CustomHID_SetProtocol +* Description : Joystick Set Protocol request routine. +* Input : None. +* Output : None. +* Return : USB SUCCESS. +*******************************************************************************/ +RESULT CustomHID_SetProtocol(void) +{ + uint8_t wValue0 = pInformation->USBwValue0; + ProtocolValue = wValue0; + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : CustomHID_GetProtocolValue +* Description : get the protocol value +* Input : Length. +* Output : None. +* Return : address of the protocol value. +*******************************************************************************/ +uint8_t *CustomHID_GetProtocolValue(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 1; + return NULL; + } + else + { + return (uint8_t *)(&ProtocolValue); + } +} + +void CustomHID_ClearFeature (void) +{ + if (CBW.dSignature != BOT_CBW_SIGNATURE) + Bot_Abort(BOTH_DIR); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_pwr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_pwr.c new file mode 100644 index 0000000..a2253a8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Composite_Example/src/usb_pwr.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file usb_pwr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t bDeviceState = UNCONNECTED; /* USB device status */ +__IO bool fSuspendEnabled = TRUE; /* true when suspend is possible */ +__IO uint32_t EP[8]; + +struct +{ + __IO RESUME_STATE eState; + __IO uint8_t bESOFcnt; +} +ResumeS; + +__IO uint32_t remotewakeupon=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : PowerOn +* Description : +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOn(void) +{ + uint16_t wRegVal; + + /*** cable plugged-in ? ***/ + USB_Cable_Config(ENABLE); + + /*** CNTR_PWDN = 0 ***/ + wRegVal = CNTR_FRES; + _SetCNTR(wRegVal); + + /*** CNTR_FRES = 0 ***/ + wInterrupt_Mask = 0; + _SetCNTR(wInterrupt_Mask); + /*** Clear pending interrupts ***/ + _SetISTR(0); + /*** Set interrupt mask ***/ + wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; + _SetCNTR(wInterrupt_Mask); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : PowerOff +* Description : handles switch-off conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOff() +{ + /* disable all interrupts and force USB reset */ + _SetCNTR(CNTR_FRES); + /* clear interrupt status register */ + _SetISTR(0); + /* Disable the Pull-Up*/ + USB_Cable_Config(DISABLE); + /* switch-off device */ + _SetCNTR(CNTR_FRES + CNTR_PDWN); + /* sw variables reset */ + /* ... */ + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Suspend +* Description : sets suspend mode operating conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Suspend(void) +{ + uint32_t i =0; + uint16_t wCNTR; + uint32_t tmpreg = 0; + __IO uint32_t savePWR_CR=0; + /* suspend preparation */ + /* ... */ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /* This a sequence to apply a force RESET to handle a robustness case */ + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /* unmask RESET flag */ + wCNTR|=CNTR_RESETM; + _SetCNTR(wCNTR); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + /* Now it is safe to enter macrocell in suspend mode */ + wCNTR |= CNTR_FSUSP; + _SetCNTR(wCNTR); + + /* force low-power mode in the macrocell */ + wCNTR = _GetCNTR(); + wCNTR |= CNTR_LPMODE; + _SetCNTR(wCNTR); + + /*prepare entry in low power mode (STOP mode)*/ + /* Select the regulator state in STOP mode*/ + savePWR_CR = PWR->CR; + tmpreg = PWR->CR; + /* Clear PDDS and LPDS bits */ + tmpreg &= ((uint32_t)0xFFFFFFFC); + /* Set LPDS bit according to PWR_Regulator value */ + tmpreg |= PWR_Regulator_LowPower; + /* Store the new value */ + PWR->CR = tmpreg; + /* Set SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; +#else + SCB->SCR |= SCB_SCR_SLEEPDEEP; +#endif + + /* enter system in STOP mode, only when wakeup flag in not set */ + if((_GetISTR()&ISTR_WKUP)==0) + { + __WFI(); + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } + else + { + /* Clear Wakeup flag */ + _SetISTR(CLR_WKUP); + /* clear FSUSP to abort entry in suspend mode */ + wCNTR = _GetCNTR(); + wCNTR&=~CNTR_FSUSP; + _SetCNTR(wCNTR); + + /*restore sleep mode configuration */ + /* restore Power regulator config in sleep mode*/ + PWR->CR = savePWR_CR; + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } +} + +/******************************************************************************* +* Function Name : Resume_Init +* Description : Handles wake-up restoring normal operations +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Resume_Init(void) +{ + uint16_t wCNTR; + + /* ------------------ ONLY WITH BUS-POWERED DEVICES ---------------------- */ + /* restart the clocks */ + /* ... */ + + /* CNTR_LPMODE = 0 */ + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_LPMODE); + _SetCNTR(wCNTR); + + /* restore full power */ + /* ... on connected devices */ + Leave_LowPowerMode(); + + /* reset FSUSP bit */ + _SetCNTR(IMR_MSK); + + /* reverse suspend preparation */ + /* ... */ + +} + +/******************************************************************************* +* Function Name : Resume +* Description : This is the state machine handling resume operations and +* timing sequence. The control is based on the Resume structure +* variables and on the ESOF interrupt calling this subroutine +* without changing machine state. +* Input : a state machine value (RESUME_STATE) +* RESUME_ESOF doesn't change ResumeS.eState allowing +* decrementing of the ESOF counter in different states. +* Output : None. +* Return : None. +*******************************************************************************/ +void Resume(RESUME_STATE eResumeSetVal) +{ + uint16_t wCNTR; + + if (eResumeSetVal != RESUME_ESOF) + ResumeS.eState = eResumeSetVal; + switch (ResumeS.eState) + { + case RESUME_EXTERNAL: + if (remotewakeupon ==0) + { + Resume_Init(); + ResumeS.eState = RESUME_OFF; + } + else /* RESUME detected during the RemoteWAkeup signalling => keep RemoteWakeup handling*/ + { + ResumeS.eState = RESUME_ON; + } + break; + case RESUME_INTERNAL: + Resume_Init(); + ResumeS.eState = RESUME_START; + remotewakeupon = 1; + break; + case RESUME_LATER: + ResumeS.bESOFcnt = 2; + ResumeS.eState = RESUME_WAIT; + break; + case RESUME_WAIT: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + ResumeS.eState = RESUME_START; + break; + case RESUME_START: + wCNTR = _GetCNTR(); + wCNTR |= CNTR_RESUME; + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_ON; + ResumeS.bESOFcnt = 10; + break; + case RESUME_ON: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + { + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_RESUME); + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_OFF; + remotewakeupon = 0; + } + break; + case RESUME_OFF: + case RESUME_ESOF: + default: + ResumeS.eState = RESUME_OFF; + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewd new file mode 100644 index 0000000..26ba5a9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewp new file mode 100644 index 0000000..68d30e9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.ewp @@ -0,0 +1,6868 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152D-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32373C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32303C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\system_stm32f10x.c + + STM32L152-EVAL + STM32L152D-EVAL + + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32F30x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\iar\startup_stm32f30x.s + + + $PROJ_DIR$\..\src\system_stm32f30x.c + + + + STM32303C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + STM32F30x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + + + STM32F37x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\iar\startup_stm32f37x.s + + + $PROJ_DIR$\..\src\system_stm32f37x.c + + + + STM32373C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + STM32F37x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_hd.s + + STM32L152-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + STM32L152D-EVAL + + + + $PROJ_DIR$\..\src\system_stm32l1xx.c + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + + STM32L152_EVAL + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + STM32L152D_EVAL + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210B-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + USB-FS-Device_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + User + + $PROJ_DIR$\..\src\hw_config.c + + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\stm32_it.c + + + $PROJ_DIR$\..\src\usb_desc.c + + + $PROJ_DIR$\..\src\usb_endp.c + + + $PROJ_DIR$\..\src\usb_istr.c + + + $PROJ_DIR$\..\src\usb_prop.c + + + $PROJ_DIR$\..\src\usb_pwr.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.eww new file mode 100644 index 0000000..971c371 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/Custom_HID.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\Custom_HID.ewp + + + + USB-Package-Custom_HID + + Custom_HID + STM3210B-EVAL + + + Custom_HID + STM3210C-EVAL + + + Custom_HID + STM3210E-EVAL + + + Custom_HID + STM3210E-EVAL_XL + + + Custom_HID + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..6721a0d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f30x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f30x_flash.icf new file mode 100644 index 0000000..9d295c8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f30x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f37x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f37x_flash.icf new file mode 100644 index 0000000..a743cb4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32f37x_flash.icf @@ -0,0 +1,33 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x1800; +define symbol __ICFEDIT_size_heap__ = 0x800; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32l1xx_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32l1xx_flash.icf new file mode 100644 index 0000000..8b7d80d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/EWARM/stm32l1xx_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0805FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/MDK-ARM/Custom_HID.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/MDK-ARM/Custom_HID.uvproj new file mode 100644 index 0000000..cf43170 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/MDK-ARM/Custom_HID.uvproj @@ -0,0 +1,12783 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_MD, USE_STM3210B_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L152VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5249 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + + STM32L152ZD + STMicroelectronics + IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code") + ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + 6190 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15\STM32L152xD.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152D-EVAL\ + STM32L152D-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152D-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 1 + 0x8000000 + 0x60000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x60000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_HD, USE_STM32L152D_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + + STM32F373VCT6 + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM0.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32373C_EVAL\ + STM32373C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F37X, USE_STM32373C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F37x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F37x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + + STM32F303VC + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM4.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32303C_EVAL\ + STM32303C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32303C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F30X, USE_STM32303C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F30x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + + + USB-FS-Device_Driver + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_adc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_adc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_adc.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dac.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dac.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/RIDE/Custom_HID.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/RIDE/Custom_HID.rprj new file mode 100644 index 0000000..f685752 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/RIDE/Custom_HID.rprj @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..bda8d00 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.cproject @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..5155ef6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,202 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210B_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl new file mode 100644 index 0000000..2d09c3d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl @@ -0,0 +1,148 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 20k; + map ( size = 20k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..1292232 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..1c5d0c1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..c6a41a5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,207 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM3210x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM3210x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM3210x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM3210x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM3210x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM3210x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM3210x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch new file mode 100644 index 0000000..252b6cb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..40cd3dc --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.project new file mode 100644 index 0000000..fa6b95a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/.project @@ -0,0 +1,202 @@ + + + STM32303C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F30x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32303C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32F30x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F30x/CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + STM32F30x/STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch new file mode 100644 index 0000000..80853f0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl new file mode 100644 index 0000000..3ccf590 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl @@ -0,0 +1,211 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f30x.lsl +// +// Version : @(#)stm32f30x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F30x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F30x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 6k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif + +memory STM32F30x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE - 8k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM8k +{ + mau = 8; + type = ram; + size = 8k; + priority = 1; + map ( size = 8k, dest_offset=0x10000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 global interrupts + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB Device High Priority or CAN1 TX interrupts + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB Device Low Priority or CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM1_BRK_TIM15_IRQHandler" ); // TIM1 Break irq and TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM1_UP_TIM16_IRQHandler" ); // TIM1 Update irq and TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM17_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM17 global irq + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup interrupt + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break interrupt + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update interrupt + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 trigger and Comm. interrupt + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare interrupt + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "ADC4_IRQHandler" ); // ADC4 global interrupt + vector ( id = 80, optional, fill = "COMP1_2_3_IRQHandler" ); // COMP1, COMP2 and COMP3 global interrupt + vector ( id = 81, optional, fill = "COMP4_5_6_IRQHandler" ); // COMP5, COMP6 and COMP4 global interrupt + vector ( id = 82, optional, fill = "COMP7_IRQHandler" ); // COMP7 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt remap + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt remap + vector ( id = 92, optional, fill = "USBWakeUp_RMP_IRQHandler" ); // USB Wakeup Interrupt remap + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/.project new file mode 100644 index 0000000..bcfdffd --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/.project @@ -0,0 +1,207 @@ + + + STM32373C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F37x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32373C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32F37x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F37x/CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + STM32F37x/STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch new file mode 100644 index 0000000..f77e8ab --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl new file mode 100644 index 0000000..d8ba5b5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl @@ -0,0 +1,200 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f37x.lsl +// +// Version : @(#)stm32f37x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F37x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F37x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 32k +#endif + +memory STM32F37x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F37x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_TS_IRQHandler" ); // EXTI2_TS_IRQHandler interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1 interrupts + vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts + vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM15_IRQHandler" ); // TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM16_IRQHandler" ); // TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM17_IRQHandler" ); // TIM17 global interrupt + vector ( id = 43, optional, fill = "TIM118_DAC2_IRQHandler" ); // TIM18 global Interrupt and DAC2 underrun Interrupt + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "CEC_IRQHandler" ); // CEC interrupt + vector ( id = 59, optional, fill = "TIM12_IRQHandler" ); // TIM12 global interrupt + vector ( id = 60, optional, fill = "TIM13_IRQHandler" ); // TIM13 global interrupt + vector ( id = 61, optional, fill = "TIM14_IRQHandler" ); // TIM14 global interrupt + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC1_IRQHandler" ); // TIM6 glbl irq, DAC1 CH1 & CH2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "SDADC1_IRQHandler" ); // ADC Sigma Delta 1 global Interrupt + vector ( id = 78, optional, fill = "SDADC2_IRQHandler" ); // ADC Sigma Delta 2 global Interrupt + vector ( id = 79, optional, fill = "SDADC3_IRQHandler" ); // ADC Sigma Delta 3 global Interrupt + vector ( id = 80, optional, fill = "COMP_IRQHandler" ); // COMP1 and COMP2 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt + vector ( id = 92, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup Interrupt + vector ( id = 94, optional, fill = "TIM19_IRQHandler" ); // TIM19 global Interrupt + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..44229ae --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.cproject @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..69a8de0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,207 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..3d03fe1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.cproject @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..5cca315 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,212 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152D_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch new file mode 100644 index 0000000..26462e6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl new file mode 100644 index 0000000..463038d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx.lsl +// +// Version : @(#)stm32l1xx.lsl 1.5 11/06/30 +// +// Description : LSL file for the STMicroelectronics STM32L1xx +// +// Copyright 2010-2011 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __EEPROM_SIZE Specifies the size of the EEPROM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 73 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x00000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 384k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif +#ifndef __EEPROM_SIZE +# define __EEPROM_SIZE 4k +#endif + +memory STM32L1xx_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_EEPROM +{ + mau = 8; + type = reserved rom; + size = __EEPROM_SIZE; + map ( size = __EEPROM_SIZE, dest_offset=0x08080000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + vector ( id = 61, optional, fill = "SDIO_IRQHandler" ); // SDIO_IRQHandler + vector ( id = 62, optional, fill = "TIM5_IRQHandler" ); //TIM5_IRQHandler + vector ( id = 63, optional, fill = "SPI3_IRQHandler" ); //SPI3_IRQHandler + vector ( id = 64, optional, fill = "UART4_IRQHandler" ); //UART4_IRQHandler + vector ( id = 65, optional, fill = "UART5_IRQHandler" ); //UART5_IRQHandler + vector ( id = 66, optional, fill = "DMA2_Channel1_IRQHandler" ); //DMA2_Channel1_IRQHandler + vector ( id = 67, optional, fill = "DMA2_Channel2_IRQHandler" ); //DMA2_Channel2_IRQHandler + vector ( id = 68, optional, fill = "DMA2_Channel3_IRQHandler" ); //DMA2_Channel3_IRQHandler + vector ( id = 69, optional, fill = "DMA2_Channel4_IRQHandler" ); //DMA2_Channel4_IRQHandler + vector ( id = 70, optional, fill = "DMA2_Channel5_IRQHandler" ); //DMA2_Channel5_IRQHandler + vector ( id = 71, optional, fill = "AES_IRQHandler" ); //AES_IRQHandler + vector ( id = 72, optional, fill = "COMP_ACQ_IRQHandler" ); //Comparator Channel Acquisition + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..1a1edfa --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..257a59a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,241 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210B_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ba973b2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:15:49 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld new file mode 100644 index 0000000..e0aa35c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103VB Device with +** 128KByte FLASH, 20KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20005000; /* end of 20K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..2225a91 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/.cproject @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..8320534 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..8390b4e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..a60028c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,241 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..193e636 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:17:04 GMT+01:00 2012 +BOARD=STM3210E-EVAL_XL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZG +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..a2b5528 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld new file mode 100644 index 0000000..b1c6965 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZG Device with +** 1MByte FLASH, 96KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20018000; /* end of 96K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.cproject new file mode 100644 index 0000000..5929ca9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.project new file mode 100644 index 0000000..a7816da --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.project @@ -0,0 +1,310 @@ + + + STM32303C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32303C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_opamp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_opamp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_wwdg.c + + + TrueSTUDIO/startup_stm32f30x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/TrueSTUDIO/startup_stm32f30x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..11c9ee7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:37:51 GMT+01:00 2012 +BOARD=STM32303C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F303VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld new file mode 100644 index 0000000..c0e7344 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld @@ -0,0 +1,190 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F303VC Device with +** 256KByte FLASH, 40KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000a000; /* end of 40K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x200; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 8K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + _siccmram = LOADADDR(.ccmram); + + /* CCM-RAM section + * + * IMPORTANT NOTE! + * If initialized variables will be placed in this section, + * the startup code needs to be modified to copy the init-values. + */ + .ccmram : + { + . = ALIGN(4); + _sccmram = .; /* create a global symbol at ccmram start */ + *(.ccmram) + *(.ccmram*) + + . = ALIGN(4); + _eccmram = .; /* create a global symbol at ccmram end */ + } >CCMRAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.cproject new file mode 100644 index 0000000..f6f0f6d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..8f381a3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,315 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ab00129 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch new file mode 100644 index 0000000..734d809 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld new file mode 100644 index 0000000..35c7d30 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F373VC Device with +** 256KByte FLASH, 32KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20008000; /* end of 32K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x100; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..16e969d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..4e9e5a4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,246 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..5a1b32c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..0e739f0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.project new file mode 100644 index 0000000..bb853e6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.project @@ -0,0 +1,246 @@ + + + STM32L152D-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152D_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32L152D_EVAL/stm32l152D_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152D_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa650d6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:48:58 GMT+01:00 2012 +BOARD=STM32L152D-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152ZD +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld new file mode 100644 index 0000000..0d8b7b3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_hd Device with +** 384KByte FLASH, 48KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000BFF8; + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/hw_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/hw_config.h new file mode 100644 index 0000000..c01f237 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/hw_config.h @@ -0,0 +1,58 @@ +/** + ****************************************************************************** + * @file hw_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __HW_CONFIG_H +#define __HW_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Set_System(void); +void Set_USBClock(void); +void Enter_LowPowerMode(void); +void Leave_LowPowerMode(void); +void USB_Interrupts_Config(void); +void USB_Cable_Config (FunctionalState NewState); +void GPIO_Configuration(void); +void EXTI_Configuration(void); +void ADC_Configuration(void); +void ADC30x_Configuration(void); +void Get_SerialNum(void); +void TimingDelay_Decrement(void); +void Delay(__IO uint32_t nCount); + +#endif /*__HW_CONFIG_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/platform_config.h new file mode 100644 index 0000000..d2f5b12 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/platform_config.h @@ -0,0 +1,210 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL)&& !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) + //#define USE_STM3210B_EVAL + //#define USE_STM3210E_EVAL + //#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define USE_STM32373C_EVAL + #define USE_STM32303C_EVAL +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + #define ADC1_DR_Address ((uint32_t)0x4001244C) + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + #define ADC1_DR_Address ((uint32_t)0x4001244C) + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + #define RCC_AHBPeriph_GPIO_DISCONNECT 0 + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + + #define ADC1_DR_Address ((uint32_t)0x40012458) + +#endif /* USE_STM3210B_EVAL */ + +#if defined (USE_STM32373C_EVAL) + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC +#endif +#if defined (USE_STM32303C_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB + +#define RCC_AHBPeriph_ALLGPIO (RCC_AHBPeriph_GPIOA \ + | RCC_AHBPeriph_GPIOB \ + | RCC_AHBPeriph_GPIOC \ + | RCC_AHBPeriph_GPIOD \ + | RCC_AHBPeriph_GPIOE \ + | RCC_AHBPeriph_GPIOF ) +#endif + +#if defined (USE_STM32L152_EVAL) + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOB + #define GPIO_IOAIN GPIOB + #define GPIO_IOAIN_PIN GPIO_Pin_12 /* PB.12 */ + #define ADC_AIN_CHANNEL ADC_Channel_18 + +#elif defined (USE_STM32L152D_EVAL) + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOF + #define GPIO_IOAIN GPIOF + #define GPIO_IOAIN_PIN GPIO_Pin_10 /* PF.10 */ + #define ADC_AIN_CHANNEL ADC_Channel_31 + +#elif defined (USE_STM32373C_EVAL) + + #define ADC1_DR_Address 0x4001244C + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOB + #define GPIO_IOAIN GPIOB + #define GPIO_IOAIN_PIN GPIO_Pin_1 /* PB.1 */ + #define ADC_AIN_CHANNEL ADC_Channel_9 + #define GPIO_Mode_AIN GPIO_Mode_AN + +#elif defined (USE_STM32303C_EVAL) + + #define ADC1_DR_Address 0x5000030C + + #define RCC_AHBPeriph_GPIO_IOAIN RCC_AHBPeriph_GPIOC + #define GPIO_IOAIN GPIOC + #define GPIO_IOAIN_PIN GPIO_Pin_1 /* PC.1 */ + #define ADC_AIN_CHANNEL ADC_Channel_7 + #define GPIO_Mode_AIN GPIO_Mode_AN + +#else + #define RCC_APB2Periph_GPIO_IOAIN RCC_APB2Periph_GPIOC + #define GPIO_IOAIN GPIOC + #define GPIO_IOAIN_PIN GPIO_Pin_4 /* PC.04 */ + #define ADC_AIN_CHANNEL ADC_Channel_14 + +#endif /* USE_STM32L152_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32_it.h new file mode 100644 index 0000000..7c4b238 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32_it.h @@ -0,0 +1,57 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); +void DMA1_Channel1_IRQHandler(void); +void EXTI9_5_IRQHandler(void); +void EXTI15_10_IRQHandler(void); + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32l1xx_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32l1xx_conf.h new file mode 100644 index 0000000..ae4a251 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/stm32l1xx_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32l1xx_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L1xx_CONF_H +#define __STM32L1xx_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32l1xx_adc.h" +#include "stm32l1xx_crc.h" +#include "stm32l1xx_comp.h" +#include "stm32l1xx_dac.h" +#include "stm32l1xx_dbgmcu.h" +#include "stm32l1xx_dma.h" +#include "stm32l1xx_exti.h" +#include "stm32l1xx_flash.h" +#include "stm32l1xx_gpio.h" +#include "stm32l1xx_syscfg.h" +#include "stm32l1xx_i2c.h" +#include "stm32l1xx_iwdg.h" +#include "stm32l1xx_lcd.h" +#include "stm32l1xx_pwr.h" +#include "stm32l1xx_rcc.h" +#include "stm32l1xx_rtc.h" +#include "stm32l1xx_spi.h" +#include "stm32l1xx_tim.h" +#include "stm32l1xx_usart.h" +#include "stm32l1xx_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval : None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32L1xx_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/usb_istr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/usb_istr.h new file mode 100644 index 0000000..017dce7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/inc/usb_istr.h @@ -0,0 +1,95 @@ +/** + ****************************************************************************** + * @file usb_istr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file includes the peripherals header files in the user application. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_ISTR_H +#define __USB_ISTR_H + +/* Includes ------------------------------------------------------------------*/ +#include "usb_conf.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + + void USB_Istr(void); + +/* function prototypes Automatically built defining related macros */ + +void EP1_IN_Callback(void); +void EP2_IN_Callback(void); +void EP3_IN_Callback(void); +void EP4_IN_Callback(void); +void EP5_IN_Callback(void); +void EP6_IN_Callback(void); +void EP7_IN_Callback(void); + +void EP1_OUT_Callback(void); +void EP2_OUT_Callback(void); +void EP3_OUT_Callback(void); +void EP4_OUT_Callback(void); +void EP5_OUT_Callback(void); +void EP6_OUT_Callback(void); +void EP7_OUT_Callback(void); + + +#ifdef CTR_CALLBACK +void CTR_Callback(void); +#endif + +#ifdef DOVR_CALLBACK +void DOVR_Callback(void); +#endif + +#ifdef ERR_CALLBACK +void ERR_Callback(void); +#endif + +#ifdef WKUP_CALLBACK +void WKUP_Callback(void); +#endif + +#ifdef SUSP_CALLBACK +void SUSP_Callback(void); +#endif + +#ifdef RESET_CALLBACK +void RESET_Callback(void); +#endif + +#ifdef SOF_CALLBACK +void SOF_Callback(void); +#endif + +#ifdef ESOF_CALLBACK +void ESOF_Callback(void); +#endif + +#endif /*__USB_ISTR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/readme.txt new file mode 100644 index 0000000..b627219 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/readme.txt @@ -0,0 +1,177 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB Custom_HID Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +This Demo provides a description of how to use the USB-FS-Device on the STM32F10xxx, +STM32F37xxx, STM32F30xxx and STM32L15xxx devices. +The STM32 device is enumerated as HID compliant device, that uses the native PC +Host USB-FS-Device HID driver. + +To test the example, you need to: + + 1)- Start the "USB HID Demonstrator" PC applet and connect STM32 USB to PC + 2)- The device should be detected and shown in the USB HID target box + 3)- Press Graphic View button + 4)- You can Select "use SET_FEATURE" or "use SET_REPORT" in order to use SET_REPORT request to send HID Report + for LED control + 5)- Make sure that following report ID are configured: LED1 ID (0x1) , LED2 ID(0x2), + LED3 ID(0x3), LED4 ID(0x4), and BUTTON1_ID(0x5) + 6)- Select Leds to switch on/off on the EVAL board => a SET_REPORT request will be sent + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKING: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + + - STM32L152-EVAL Set-up + - Jumpers JP18 and JP19 should be connected. + - Jumper JP17 should be connected in position 5-6 (PB12 connector) + - Note that JoySitck Right and Left buttons are used for this Demo. + + - STM32L152D-EVAL Set-up + - LCD Glass should be mounted On IO position for Potentiometer usage. + - JP13 should be connected to ADC input. + + - STM32F373C_EVAL Set-up + - None. + + - STM32F303C_EVAL Set-up + - None. + +How to use it +============= + + EWARM + - Open the Custom_HID.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the Custom_HID.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the Custom_HID.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/main.c new file mode 100644 index 0000000..f5590a7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/main.c @@ -0,0 +1,103 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Custom HID demo main file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +__IO uint8_t PrevXferComplete = 1; +__IO uint32_t TimingDelay = 0; +/* Private function prototypes -----------------------------------------------*/ +void Delay(__IO uint32_t nCount); + +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : main. +* Description : main routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +int main(void) +{ + Set_System(); + + USB_Interrupts_Config(); + + Set_USBClock(); + + USB_Init(); + + while (1) + { + } +} + +/******************************************************************************* +* Function Name : Delay +* Description : Inserts a delay time. +* Input : nCount: specifies the delay time length. +* Output : None +* Return : None +*******************************************************************************/ +void Delay(__IO uint32_t nCount) +{ + TimingDelay = nCount; + for(; nCount!= 0;nCount--); +} + +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while(1) + { + } +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/stm32_it.c new file mode 100644 index 0000000..7614cfc --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/stm32_it.c @@ -0,0 +1,401 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "stm32_it.h" +#include "usb_istr.h" +#include "usb_lib.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint8_t Send_Buffer[2]; +extern __IO uint8_t PrevXferComplete; +extern uint32_t ADC_ConvertedValueX; +extern uint32_t ADC_ConvertedValueX_1; +extern __IO uint32_t TimingDelay; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSVC exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ + TimingDelay--; +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined (STM32F37X) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +#if defined(STM32L1XX_MD) +/******************************************************************************* +* Function Name : EXTI15_10_IRQHandler +* Description : This function handles External lines 15 to 10 interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void EXTI15_10_IRQHandler(void) +{ + /* Check on the RIGHT button */ + if(EXTI_GetITStatus(RIGHT_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x05; + + if (STM_EVAL_PBGetState(Button_RIGHT) == Bit_RESET) + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + + SetEPTxValid(ENDP1); + + PrevXferComplete = 0; + } + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(RIGHT_BUTTON_EXTI_LINE); + } + + /* Check on the LEFT button */ + if(EXTI_GetITStatus(LEFT_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x06; + + if (STM_EVAL_PBGetState(Button_LEFT) == Bit_RESET) + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + + SetEPTxValid(ENDP1); + + PrevXferComplete = 0; + } + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(LEFT_BUTTON_EXTI_LINE); + } +} +#endif +/******************************************************************************* +* Function Name : DMA1_Channel1_IRQHandler +* Description : This function handles DMA1 Channel 1 interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DMA1_Channel1_IRQHandler(void) +{ + Send_Buffer[0] = 0x07; + + if((ADC_ConvertedValueX >>4) - (ADC_ConvertedValueX_1 >>4) > 4) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[1] = (uint8_t)(ADC_ConvertedValueX >>4); + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + SetEPTxValid(ENDP1); + ADC_ConvertedValueX_1 = ADC_ConvertedValueX; + PrevXferComplete = 0; + } + } + + DMA_ClearFlag(DMA1_FLAG_TC1); +} + +/******************************************************************************* +* Function Name : EXTI_IRQHandler +* Description : This function handles External lines interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void EXTI0_IRQHandler(void) +#elif defined (STM32F37X) +void EXTI2_TS_IRQHandler(void) +#else +void EXTI9_5_IRQHandler(void) +#endif +{ + if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x05; +#if defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + if (!STM_EVAL_PBGetState(Button_KEY) == Bit_RESET) +#else + if (STM_EVAL_PBGetState(Button_KEY) == Bit_RESET) +#endif + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + SetEPTxValid(ENDP1); + PrevXferComplete = 0; + } + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); + } +} +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS)&& ! defined (STM32F37X) && ! defined (STM32F30X) +/******************************************************************************* +* Function Name : EXTI15_10_IRQHandler +* Description : This function handles External lines 15 to 10 interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void EXTI15_10_IRQHandler(void) +{ + if(EXTI_GetITStatus(TAMPER_BUTTON_EXTI_LINE) != RESET) + { + if ((PrevXferComplete) && (bDeviceState == CONFIGURED)) + { + Send_Buffer[0] = 0x06; + + if (STM_EVAL_PBGetState(Button_TAMPER) == Bit_RESET) + { + Send_Buffer[1] = 0x01; + } + else + { + Send_Buffer[1] = 0x00; + } + + /* Write the descriptor through the endpoint */ + USB_SIL_Write(EP1_IN, (uint8_t*) Send_Buffer, 2); + + SetEPTxValid(ENDP1); + + PrevXferComplete = 0; + } + /* Clear the EXTI line 13 pending bit */ + EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); + } +} + +#endif /*STM32L1XX_HD*/ + +/******************************************************************************* +* Function Name : USB_FS_WKUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void USB_FS_WKUP_IRQHandler(void) +#else +void USBWakeUp_IRQHandler(void) +#endif +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f30x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f30x.c new file mode 100644 index 0000000..31faf5c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f30x.c @@ -0,0 +1,382 @@ +/** + ****************************************************************************** + * @file system_stm32f30x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F30x devices, + * and is generated by the clock configuration tool + * stm32f30x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f30x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f30x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32f30x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F30x device + *----------------------------------------------------------------------------- + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f30x_system + * @{ + */ + +/** @addtogroup STM32F30x_System_Private_Includes + * @{ + */ + +#include "stm32f30x.h" + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Defines + * @{ + */ +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Variables + * @{ + */ + + uint32_t SystemCoreClock = 72000000; + + __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemFrequency variable. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Reset the RCC clock configuration to the default reset state ------------*/ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset CFGR register */ + RCC->CFGR &= 0xF87FC00C; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and TIMs bits */ + RCC->CFGR3 &= (uint32_t)0xFF00FCCC; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + + /* Configure the System clock source, PLL Multiplier and Divider factors, + AHB/APBx prescalers and Flash settings ----------------------------------*/ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock source, PLL Multiplier and Divider factors, + * AHB/APBx prescalers and Flash settings + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f37x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f37x.c new file mode 100644 index 0000000..943f188 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/system_stm32f37x.c @@ -0,0 +1,380 @@ +/** + ****************************************************************************** + * @file system_stm32f37x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F37x devices, + * and is generated by the clock configuration tool + * STM32f37x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f37x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f37x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" defined + * in "stm32f37x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F37x device + *============================================================================= + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup STM32F37x_System + * @{ + */ + +/** @addtogroup STM32F37x_System_Private_Includes + * @{ + */ + +#include "stm32f37x.h" + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 72000000; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontrollers system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */ + RCC->CFGR &= (uint32_t)0x00FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and CECSW bits */ + RCC->CFGR3 &= (uint32_t)0xFFF0F8C; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + +/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_desc.c new file mode 100644 index 0000000..a805f02 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_desc.c @@ -0,0 +1,285 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Custom HID Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/* USB Standard Device Descriptor */ +const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_DESC] = + { + 0x12, /*bLength */ + USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ + 0x00, /*bcdUSB */ + 0x02, + 0x00, /*bDeviceClass*/ + 0x00, /*bDeviceSubClass*/ + 0x00, /*bDeviceProtocol*/ + 0x40, /*bMaxPacketSize40*/ + 0x83, /*idVendor (0x0483)*/ + 0x04, + 0x50, /*idProduct = 0x5750*/ + 0x57, + 0x00, /*bcdDevice rel. 2.00*/ + 0x02, + 1, /*Index of string descriptor describing + manufacturer */ + 2, /*Index of string descriptor describing + product*/ + 3, /*Index of string descriptor describing the + device serial number */ + 0x01 /*bNumConfigurations*/ + } + ; /* CustomHID_DeviceDescriptor */ + + +/* USB Configuration Descriptor */ +/* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ +const uint8_t CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ + CUSTOMHID_SIZ_CONFIG_DESC, + /* wTotalLength: Bytes returned */ + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: Configuration value */ + 0x00, /* iConfiguration: Index of string descriptor describing + the configuration*/ + 0xC0, /* bmAttributes: Self powered */ + 0x32, /* MaxPower 100 mA: this current is used for detecting Vbus */ + + /************** Descriptor of Custom HID interface ****************/ + /* 09 */ + 0x09, /* bLength: Interface Descriptor size */ + USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType: Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x02, /* bNumEndpoints */ + 0x03, /* bInterfaceClass: HID */ + 0x00, /* bInterfaceSubClass : 1=BOOT, 0=no boot */ + 0x00, /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */ + 0, /* iInterface: Index of string descriptor */ + /******************** Descriptor of Custom HID HID ********************/ + /* 18 */ + 0x09, /* bLength: HID Descriptor size */ + HID_DESCRIPTOR_TYPE, /* bDescriptorType: HID */ + 0x10, /* bcdHID: HID Class Spec release number */ + 0x01, + 0x00, /* bCountryCode: Hardware target country */ + 0x01, /* bNumDescriptors: Number of HID class descriptors to follow */ + 0x22, /* bDescriptorType */ + CUSTOMHID_SIZ_REPORT_DESC,/* wItemLength: Total length of Report descriptor */ + 0x00, + /******************** Descriptor of Custom HID endpoints ******************/ + /* 27 */ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */ + + 0x81, /* bEndpointAddress: Endpoint Address (IN) */ + 0x03, /* bmAttributes: Interrupt endpoint */ + 0x02, /* wMaxPacketSize: 2 Bytes max */ + 0x00, + 0x20, /* bInterval: Polling Interval (32 ms) */ + /* 34 */ + + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */ + /* Endpoint descriptor type */ + 0x01, /* bEndpointAddress: */ + /* Endpoint Address (OUT) */ + 0x03, /* bmAttributes: Interrupt endpoint */ + 0x02, /* wMaxPacketSize: 2 Bytes max */ + 0x00, + 0x20, /* bInterval: Polling Interval (20 ms) */ + /* 41 */ + } + ; /* CustomHID_ConfigDescriptor */ +const uint8_t CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC] = + { + 0x06, 0xFF, 0x00, /* USAGE_PAGE (Vendor Page: 0xFF00) */ + 0x09, 0x01, /* USAGE (Demo Kit) */ + 0xa1, 0x01, /* COLLECTION (Application) */ + /* 6 */ + + /* Led 1 */ + 0x85, 0x01, /* REPORT_ID (1) */ + 0x09, 0x01, /* USAGE (LED 1) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x01, /* REPORT_ID (1) */ + 0x09, 0x01, /* USAGE (LED 1) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 26 */ + + /* Led 2 */ + 0x85, 0x02, /* REPORT_ID 2 */ + 0x09, 0x02, /* USAGE (LED 2) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x02, /* REPORT_ID (2) */ + 0x09, 0x02, /* USAGE (LED 2) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 46 */ + + /* Led 3 */ + 0x85, 0x03, /* REPORT_ID (3) */ + 0x09, 0x03, /* USAGE (LED 3) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x03, /* REPORT_ID (3) */ + 0x09, 0x03, /* USAGE (LED 3) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 66 */ + + /* Led 4 */ + 0x85, 0x04, /* REPORT_ID 4) */ + 0x09, 0x04, /* USAGE (LED 4) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x95, 0x01, /* REPORT_COUNT (1) */ + 0xB1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x85, 0x04, /* REPORT_ID (4) */ + 0x09, 0x04, /* USAGE (LED 4) */ + 0x91, 0x82, /* OUTPUT (Data,Var,Abs,Vol) */ + /* 86 */ + + /* key Push Button */ + 0x85, 0x05, /* REPORT_ID (5) */ + 0x09, 0x05, /* USAGE (Push Button) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0x81, 0x82, /* INPUT (Data,Var,Abs,Vol) */ + + 0x09, 0x05, /* USAGE (Push Button) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0xb1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0x81, 0x83, /* INPUT (Cnst,Var,Abs,Vol) */ + 0x85, 0x05, /* REPORT_ID (2) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0xb1, 0x83, /* FEATURE (Cnst,Var,Abs,Vol) */ + /* 114 */ + + /* Tamper Push Button */ + 0x85, 0x06, /* REPORT_ID (6) */ + 0x09, 0x06, /* USAGE (Tamper Push Button) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x25, 0x01, /* LOGICAL_MAXIMUM (1) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0x81, 0x82, /* INPUT (Data,Var,Abs,Vol) */ + + 0x09, 0x06, /* USAGE (Tamper Push Button) */ + 0x75, 0x01, /* REPORT_SIZE (1) */ + 0xb1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0x81, 0x83, /* INPUT (Cnst,Var,Abs,Vol) */ + 0x85, 0x06, /* REPORT_ID (6) */ + + 0x75, 0x07, /* REPORT_SIZE (7) */ + 0xb1, 0x83, /* FEATURE (Cnst,Var,Abs,Vol) */ + /* 142 */ + + /* ADC IN */ + 0x85, 0x07, /* REPORT_ID (7) */ + 0x09, 0x07, /* USAGE (ADC IN) */ + 0x15, 0x00, /* LOGICAL_MINIMUM (0) */ + 0x26, 0xff, 0x00, /* LOGICAL_MAXIMUM (255) */ + 0x75, 0x08, /* REPORT_SIZE (8) */ + 0x81, 0x82, /* INPUT (Data,Var,Abs,Vol) */ + 0x85, 0x07, /* REPORT_ID (7) */ + 0x09, 0x07, /* USAGE (ADC in) */ + 0xb1, 0x82, /* FEATURE (Data,Var,Abs,Vol) */ + /* 161 */ + + 0xc0 /* END_COLLECTION */ + }; /* CustomHID_ReportDescriptor */ + +/* USB String Descriptors (optional) */ +const uint8_t CustomHID_StringLangID[CUSTOMHID_SIZ_STRING_LANGID] = + { + CUSTOMHID_SIZ_STRING_LANGID, + USB_STRING_DESCRIPTOR_TYPE, + 0x09, + 0x04 + } + ; /* LangID = 0x0409: U.S. English */ + +const uint8_t CustomHID_StringVendor[CUSTOMHID_SIZ_STRING_VENDOR] = + { + CUSTOMHID_SIZ_STRING_VENDOR, /* Size of Vendor string */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +const uint8_t CustomHID_StringProduct[CUSTOMHID_SIZ_STRING_PRODUCT] = + { + CUSTOMHID_SIZ_STRING_PRODUCT, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'C', 0, + 'u', 0, 's', 0, 't', 0, 'm', 0, ' ', 0, 'H', 0, 'I', 0, + 'D', 0 + }; +uint8_t CustomHID_StringSerial[CUSTOMHID_SIZ_STRING_SERIAL] = + { + CUSTOMHID_SIZ_STRING_SERIAL, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0,'3', 0,'2', 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_istr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_istr.c new file mode 100644 index 0000000..b2f93a4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_istr.c @@ -0,0 +1,236 @@ +/** + ****************************************************************************** + * @file usb_istr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief ISTR events interrupt service routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_prop.h" +#include "usb_pwr.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint16_t wIstr; /* ISTR register last read value */ +__IO uint8_t bIntPackSOF = 0; /* SOFs received between 2 consecutive packets */ +__IO uint32_t esof_counter =0; /* expected SOF counter */ +__IO uint32_t wCNTR=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* function pointers to non-control endpoints service routines */ +void (*pEpInt_IN[7])(void) = + { + EP1_IN_Callback, + EP2_IN_Callback, + EP3_IN_Callback, + EP4_IN_Callback, + EP5_IN_Callback, + EP6_IN_Callback, + EP7_IN_Callback, + }; + +void (*pEpInt_OUT[7])(void) = + { + EP1_OUT_Callback, + EP2_OUT_Callback, + EP3_OUT_Callback, + EP4_OUT_Callback, + EP5_OUT_Callback, + EP6_OUT_Callback, + EP7_OUT_Callback, + }; + +/******************************************************************************* +* Function Name : USB_Istr +* Description : ISTR events interrupt service routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void USB_Istr(void) +{ + uint32_t i=0; + __IO uint32_t EP[8]; + + wIstr = _GetISTR(); + +#if (IMR_MSK & ISTR_CTR) + if (wIstr & ISTR_CTR & wInterrupt_Mask) + { + /* servicing of the endpoint correct transfer interrupt */ + /* clear of the CTR flag into the sub */ + CTR_LP(); +#ifdef CTR_CALLBACK + CTR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_RESET) + if (wIstr & ISTR_RESET & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_RESET); + Device_Property.Reset(); +#ifdef RESET_CALLBACK + RESET_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_DOVR) + if (wIstr & ISTR_DOVR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_DOVR); +#ifdef DOVR_CALLBACK + DOVR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ERR) + if (wIstr & ISTR_ERR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_ERR); +#ifdef ERR_CALLBACK + ERR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_WKUP) + if (wIstr & ISTR_WKUP & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_WKUP); + Resume(RESUME_EXTERNAL); +#ifdef WKUP_CALLBACK + WKUP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SUSP) + if (wIstr & ISTR_SUSP & wInterrupt_Mask) + { + + /* check if SUSPEND is possible */ + if (fSuspendEnabled) + { + Suspend(); + } + else + { + /* if not possible then resume after xx ms */ + Resume(RESUME_LATER); + } + /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ + _SetISTR((uint16_t)CLR_SUSP); +#ifdef SUSP_CALLBACK + SUSP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SOF) + if (wIstr & ISTR_SOF & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_SOF); + bIntPackSOF++; + +#ifdef SOF_CALLBACK + SOF_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ESOF) + if (wIstr & ISTR_ESOF & wInterrupt_Mask) + { + /* clear ESOF flag in ISTR */ + _SetISTR((uint16_t)CLR_ESOF); + + if ((_GetFNR()&FNR_RXDP)!=0) + { + /* increment ESOF counter */ + esof_counter ++; + + /* test if we enter in ESOF more than 3 times with FSUSP =0 and RXDP =1=>> possible missing SUSP flag*/ + if ((esof_counter >3)&&((_GetCNTR()&CNTR_FSUSP)==0)) + { + /* this a sequence to apply a force RESET*/ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + esof_counter = 0; + } + } + else + { + esof_counter = 0; + } + + /* resume handling timing is made with ESOFs */ + Resume(RESUME_ESOF); /* request without change of the machine state */ + +#ifdef ESOF_CALLBACK + ESOF_Callback(); +#endif + } +#endif +} /* USB_Istr */ + +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + + + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_prop.c new file mode 100644 index 0000000..c7d1716 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_prop.c @@ -0,0 +1,534 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processings related to Custom HID Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "usb_pwr.h" + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint32_t ProtocolValue; +__IO uint8_t EXTI_Enable; +__IO uint8_t Request = 0; +uint8_t Report_Buf[2]; +/* -------------------------------------------------------------------------- */ +/* Structures initializations */ +/* -------------------------------------------------------------------------- */ + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + CustomHID_init, + CustomHID_Reset, + CustomHID_Status_In, + CustomHID_Status_Out, + CustomHID_Data_Setup, + CustomHID_NoData_Setup, + CustomHID_Get_Interface_Setting, + CustomHID_GetDeviceDescriptor, + CustomHID_GetConfigDescriptor, + CustomHID_GetStringDescriptor, + 0, + 0x40 /*MAX PACKET SIZE*/ + }; +USER_STANDARD_REQUESTS User_Standard_Requests = + { + CustomHID_GetConfiguration, + CustomHID_SetConfiguration, + CustomHID_GetInterface, + CustomHID_SetInterface, + CustomHID_GetStatus, + CustomHID_ClearFeature, + CustomHID_SetEndPointFeature, + CustomHID_SetDeviceFeature, + CustomHID_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)CustomHID_DeviceDescriptor, + CUSTOMHID_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)CustomHID_ConfigDescriptor, + CUSTOMHID_SIZ_CONFIG_DESC + }; + +ONE_DESCRIPTOR CustomHID_Report_Descriptor = + { + (uint8_t *)CustomHID_ReportDescriptor, + CUSTOMHID_SIZ_REPORT_DESC + }; + +ONE_DESCRIPTOR CustomHID_Hid_Descriptor = + { + (uint8_t*)CustomHID_ConfigDescriptor + CUSTOMHID_OFF_HID_DESC, + CUSTOMHID_SIZ_HID_DESC + }; + +ONE_DESCRIPTOR String_Descriptor[4] = + { + {(uint8_t*)CustomHID_StringLangID, CUSTOMHID_SIZ_STRING_LANGID}, + {(uint8_t*)CustomHID_StringVendor, CUSTOMHID_SIZ_STRING_VENDOR}, + {(uint8_t*)CustomHID_StringProduct, CUSTOMHID_SIZ_STRING_PRODUCT}, + {(uint8_t*)CustomHID_StringSerial, CUSTOMHID_SIZ_STRING_SERIAL} + }; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ + +/*CustomHID_SetReport_Feature function prototypes*/ +uint8_t *CustomHID_SetReport_Feature(uint16_t Length); + +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : CustomHID_init. +* Description : Custom HID init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_init(void) +{ + /* Update the serial number string descriptor with the data from the unique + ID*/ + Get_SerialNum(); + + pInformation->Current_Configuration = 0; + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : CustomHID_Reset. +* Description : Custom HID reset routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_Reset(void) +{ + /* Set CustomHID_DEVICE as not configured */ + pInformation->Current_Configuration = 0; + pInformation->Current_Interface = 0;/*the default Interface*/ + + /* Current Feature initialization */ + pInformation->Current_Feature = CustomHID_ConfigDescriptor[7]; + + SetBTABLE(BTABLE_ADDRESS); + + /* Initialize Endpoint 0 */ + SetEPType(ENDP0, EP_CONTROL); + SetEPTxStatus(ENDP0, EP_TX_STALL); + SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPTxAddr(ENDP0, ENDP0_TXADDR); + Clear_Status_Out(ENDP0); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPRxValid(ENDP0); + + /* Initialize Endpoint 1 */ + SetEPType(ENDP1, EP_INTERRUPT); + SetEPTxAddr(ENDP1, ENDP1_TXADDR); + SetEPRxAddr(ENDP1, ENDP1_RXADDR); + SetEPTxCount(ENDP1, 2); + SetEPRxCount(ENDP1, 2); + SetEPRxStatus(ENDP1, EP_RX_VALID); + SetEPTxStatus(ENDP1, EP_TX_NAK); + + /* Set this device to response on default address */ + SetDeviceAddress(0); + bDeviceState = ATTACHED; +} +/******************************************************************************* +* Function Name : CustomHID_SetConfiguration. +* Description : Update the device state to configured and command the ADC +* conversion. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_SetConfiguration(void) +{ + if (pInformation->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + + /* Start ADC Software Conversion */ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined(STM32F37X) + ADC_SoftwareStartConv(ADC1); +#elif defined (STM32F30X) + ADC_StartConversion(ADC1); +#else + ADC_SoftwareStartConvCmd(ADC1, ENABLE); +#endif /* STM32L1XX_XD */ + } +} +/******************************************************************************* +* Function Name : CustomHID_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} +/******************************************************************************* +* Function Name : CustomHID_Status_In. +* Description : Joystick status IN routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_Status_In(void) +{ + BitAction Led_State; + + if (Report_Buf[1] == 0) + { + Led_State = Bit_RESET; + } + else + { + Led_State = Bit_SET; + } + + switch (Report_Buf[0]) + { + /*Change LED's status according to the host report*/ + + case 1: /* Led 1 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED1); + } + else + { + STM_EVAL_LEDOff(LED1); + } + break; + case 2: /* Led 2 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED2); + } + else + { + STM_EVAL_LEDOff(LED2); + } + break; + case 3:/* Led 3 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED3); + } + else + { + STM_EVAL_LEDOff(LED3); + } + break; + case 4:/* Led 4 */ + if (Led_State != Bit_RESET) + { + STM_EVAL_LEDOn(LED4); + } + else + { + STM_EVAL_LEDOff(LED4); + } + break; + default: + STM_EVAL_LEDOff(LED1); + STM_EVAL_LEDOff(LED2); + STM_EVAL_LEDOff(LED3); + STM_EVAL_LEDOff(LED4); + break; + } +} + +/******************************************************************************* +* Function Name : CustomHID_Status_Out +* Description : Joystick status OUT routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CustomHID_Status_Out (void) +{ +} + +/******************************************************************************* +* Function Name : CustomHID_Data_Setup +* Description : Handle the data class specific requests. +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT CustomHID_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + + if (pInformation->USBwIndex != 0) + return USB_UNSUPPORT; + + CopyRoutine = NULL; + + if ((RequestNo == GET_DESCRIPTOR) + && (Type_Recipient == (STANDARD_REQUEST | INTERFACE_RECIPIENT)) + ) + { + + if (pInformation->USBwValue1 == REPORT_DESCRIPTOR) + { + CopyRoutine = CustomHID_GetReportDescriptor; + } + else if (pInformation->USBwValue1 == HID_DESCRIPTOR_TYPE) + { + CopyRoutine = CustomHID_GetHIDDescriptor; + } + + } /* End of GET_DESCRIPTOR */ + + /*** GET_PROTOCOL, GET_REPORT, SET_REPORT ***/ + else if ( (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) ) + { + switch( RequestNo ) + { + case GET_PROTOCOL: + CopyRoutine = CustomHID_GetProtocolValue; + break; + case SET_REPORT: + CopyRoutine = CustomHID_SetReport_Feature; + Request = SET_REPORT; + break; + default: + break; + } + } + + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : CustomHID_SetReport_Feature +* Description : Set Feature request handling +* Input : Length. +* Output : None. +* Return : Buffer +*******************************************************************************/ +uint8_t *CustomHID_SetReport_Feature(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 2; + return NULL; + } + else + { + return Report_Buf; + } +} + +/******************************************************************************* +* Function Name : CustomHID_NoData_Setup +* Description : handle the no data class specific requests +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT CustomHID_NoData_Setup(uint8_t RequestNo) +{ + if ((Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + && (RequestNo == SET_PROTOCOL)) + { + return CustomHID_SetProtocol(); + } + + else + { + return USB_UNSUPPORT; + } +} + +/******************************************************************************* +* Function Name : CustomHID_GetDeviceDescriptor. +* Description : Gets the device descriptor. +* Input : Length +* Output : None. +* Return : The address of the device descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_GetConfigDescriptor. +* Description : Gets the configuration descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Config_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_GetStringDescriptor +* Description : Gets the string descriptors according to the needed index +* Input : Length +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +uint8_t *CustomHID_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + if (wValue0 > 4) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : CustomHID_GetReportDescriptor. +* Description : Gets the HID report descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetReportDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &CustomHID_Report_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_GetHIDDescriptor. +* Description : Gets the HID descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *CustomHID_GetHIDDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &CustomHID_Hid_Descriptor); +} + +/******************************************************************************* +* Function Name : CustomHID_Get_Interface_Setting. +* Description : tests the interface and the alternate setting according to the +* supported one. +* Input : - Interface : interface number. +* - AlternateSetting : Alternate Setting number. +* Output : None. +* Return : USB_SUCCESS or USB_UNSUPPORT. +*******************************************************************************/ +RESULT CustomHID_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 0) + { + return USB_UNSUPPORT; + } + else if (Interface > 0) + { + return USB_UNSUPPORT; + } + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : CustomHID_SetProtocol +* Description : Joystick Set Protocol request routine. +* Input : None. +* Output : None. +* Return : USB SUCCESS. +*******************************************************************************/ +RESULT CustomHID_SetProtocol(void) +{ + uint8_t wValue0 = pInformation->USBwValue0; + ProtocolValue = wValue0; + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : CustomHID_GetProtocolValue +* Description : get the protocol value +* Input : Length. +* Output : None. +* Return : address of the protocol value. +*******************************************************************************/ +uint8_t *CustomHID_GetProtocolValue(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 1; + return NULL; + } + else + { + return (uint8_t *)(&ProtocolValue); + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_pwr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_pwr.c new file mode 100644 index 0000000..a2253a8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Custom_HID/src/usb_pwr.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file usb_pwr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t bDeviceState = UNCONNECTED; /* USB device status */ +__IO bool fSuspendEnabled = TRUE; /* true when suspend is possible */ +__IO uint32_t EP[8]; + +struct +{ + __IO RESUME_STATE eState; + __IO uint8_t bESOFcnt; +} +ResumeS; + +__IO uint32_t remotewakeupon=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : PowerOn +* Description : +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOn(void) +{ + uint16_t wRegVal; + + /*** cable plugged-in ? ***/ + USB_Cable_Config(ENABLE); + + /*** CNTR_PWDN = 0 ***/ + wRegVal = CNTR_FRES; + _SetCNTR(wRegVal); + + /*** CNTR_FRES = 0 ***/ + wInterrupt_Mask = 0; + _SetCNTR(wInterrupt_Mask); + /*** Clear pending interrupts ***/ + _SetISTR(0); + /*** Set interrupt mask ***/ + wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; + _SetCNTR(wInterrupt_Mask); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : PowerOff +* Description : handles switch-off conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOff() +{ + /* disable all interrupts and force USB reset */ + _SetCNTR(CNTR_FRES); + /* clear interrupt status register */ + _SetISTR(0); + /* Disable the Pull-Up*/ + USB_Cable_Config(DISABLE); + /* switch-off device */ + _SetCNTR(CNTR_FRES + CNTR_PDWN); + /* sw variables reset */ + /* ... */ + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Suspend +* Description : sets suspend mode operating conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Suspend(void) +{ + uint32_t i =0; + uint16_t wCNTR; + uint32_t tmpreg = 0; + __IO uint32_t savePWR_CR=0; + /* suspend preparation */ + /* ... */ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /* This a sequence to apply a force RESET to handle a robustness case */ + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /* unmask RESET flag */ + wCNTR|=CNTR_RESETM; + _SetCNTR(wCNTR); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + /* Now it is safe to enter macrocell in suspend mode */ + wCNTR |= CNTR_FSUSP; + _SetCNTR(wCNTR); + + /* force low-power mode in the macrocell */ + wCNTR = _GetCNTR(); + wCNTR |= CNTR_LPMODE; + _SetCNTR(wCNTR); + + /*prepare entry in low power mode (STOP mode)*/ + /* Select the regulator state in STOP mode*/ + savePWR_CR = PWR->CR; + tmpreg = PWR->CR; + /* Clear PDDS and LPDS bits */ + tmpreg &= ((uint32_t)0xFFFFFFFC); + /* Set LPDS bit according to PWR_Regulator value */ + tmpreg |= PWR_Regulator_LowPower; + /* Store the new value */ + PWR->CR = tmpreg; + /* Set SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; +#else + SCB->SCR |= SCB_SCR_SLEEPDEEP; +#endif + + /* enter system in STOP mode, only when wakeup flag in not set */ + if((_GetISTR()&ISTR_WKUP)==0) + { + __WFI(); + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } + else + { + /* Clear Wakeup flag */ + _SetISTR(CLR_WKUP); + /* clear FSUSP to abort entry in suspend mode */ + wCNTR = _GetCNTR(); + wCNTR&=~CNTR_FSUSP; + _SetCNTR(wCNTR); + + /*restore sleep mode configuration */ + /* restore Power regulator config in sleep mode*/ + PWR->CR = savePWR_CR; + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } +} + +/******************************************************************************* +* Function Name : Resume_Init +* Description : Handles wake-up restoring normal operations +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Resume_Init(void) +{ + uint16_t wCNTR; + + /* ------------------ ONLY WITH BUS-POWERED DEVICES ---------------------- */ + /* restart the clocks */ + /* ... */ + + /* CNTR_LPMODE = 0 */ + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_LPMODE); + _SetCNTR(wCNTR); + + /* restore full power */ + /* ... on connected devices */ + Leave_LowPowerMode(); + + /* reset FSUSP bit */ + _SetCNTR(IMR_MSK); + + /* reverse suspend preparation */ + /* ... */ + +} + +/******************************************************************************* +* Function Name : Resume +* Description : This is the state machine handling resume operations and +* timing sequence. The control is based on the Resume structure +* variables and on the ESOF interrupt calling this subroutine +* without changing machine state. +* Input : a state machine value (RESUME_STATE) +* RESUME_ESOF doesn't change ResumeS.eState allowing +* decrementing of the ESOF counter in different states. +* Output : None. +* Return : None. +*******************************************************************************/ +void Resume(RESUME_STATE eResumeSetVal) +{ + uint16_t wCNTR; + + if (eResumeSetVal != RESUME_ESOF) + ResumeS.eState = eResumeSetVal; + switch (ResumeS.eState) + { + case RESUME_EXTERNAL: + if (remotewakeupon ==0) + { + Resume_Init(); + ResumeS.eState = RESUME_OFF; + } + else /* RESUME detected during the RemoteWAkeup signalling => keep RemoteWakeup handling*/ + { + ResumeS.eState = RESUME_ON; + } + break; + case RESUME_INTERNAL: + Resume_Init(); + ResumeS.eState = RESUME_START; + remotewakeupon = 1; + break; + case RESUME_LATER: + ResumeS.bESOFcnt = 2; + ResumeS.eState = RESUME_WAIT; + break; + case RESUME_WAIT: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + ResumeS.eState = RESUME_START; + break; + case RESUME_START: + wCNTR = _GetCNTR(); + wCNTR |= CNTR_RESUME; + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_ON; + ResumeS.bESOFcnt = 10; + break; + case RESUME_ON: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + { + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_RESUME); + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_OFF; + remotewakeupon = 0; + } + break; + case RESUME_OFF: + case RESUME_ESOF: + default: + ResumeS.eState = RESUME_OFF; + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewd new file mode 100644 index 0000000..26ba5a9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewp new file mode 100644 index 0000000..dc50a93 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.ewp @@ -0,0 +1,6913 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152D-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32373C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32303C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\system_stm32f10x.c + + STM32L152-EVAL + STM32L152D-EVAL + + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_flash.c + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_spi_flash.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152-EVAL + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32F30x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\iar\startup_stm32f30x.s + + + $PROJ_DIR$\..\src\system_stm32f30x.c + + + + STM32303C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + STM32F30x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + + + STM32F37x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\iar\startup_stm32f37x.s + + + $PROJ_DIR$\..\src\system_stm32f37x.c + + + + STM32373C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + STM32F37x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_hd.s + + STM32L152-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + STM32L152D-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_mdp.s + + STM32L152-EVAL + STM32L152D-EVAL + + + + $PROJ_DIR$\..\src\system_stm32l1xx.c + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + + STM32L152_EVAL + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + STM32L152D_EVAL + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash_ramfunc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + USB-FS-Device_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + User + + $PROJ_DIR$\..\src\dfu_mal.c + + + $PROJ_DIR$\..\src\flash_if.c + + + $PROJ_DIR$\..\src\fsmc_nor.c + + STM3210B-EVAL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\hw_config.c + + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\nor_if.c + + STM3210B-EVAL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\spi_if.c + + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\stm32_it.c + + + $PROJ_DIR$\..\src\usb_desc.c + + + $PROJ_DIR$\..\src\usb_istr.c + + + $PROJ_DIR$\..\src\usb_prop.c + + + $PROJ_DIR$\..\src\usb_pwr.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.eww new file mode 100644 index 0000000..77855f8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/DFU.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\DFU.ewp + + + + USB-Package-DFU + + DFU + STM3210B-EVAL + + + DFU + STM3210C-EVAL + + + DFU + STM3210E-EVAL + + + DFU + STM3210E-EVAL_XL + + + DFU + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..6721a0d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f30x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f30x_flash.icf new file mode 100644 index 0000000..9d295c8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f30x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f37x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f37x_flash.icf new file mode 100644 index 0000000..a743cb4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32f37x_flash.icf @@ -0,0 +1,33 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x1800; +define symbol __ICFEDIT_size_heap__ = 0x800; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32l1xx_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32l1xx_flash.icf new file mode 100644 index 0000000..8b7d80d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/EWARM/stm32l1xx_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0805FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/MDK-ARM/DFU.uvopt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/MDK-ARM/DFU.uvopt new file mode 100644 index 0000000..631bf1a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/MDK-ARM/DFU.uvopt @@ -0,0 +1,2520 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + STM3210B-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210B-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC5000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL_XL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O142 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L151xx_152xx_DS.PDF + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -U -O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152D-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L162xx_DS.PDF + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + ULP2CM3 + -O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UV0579U9E -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32373C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32303C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + User + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + misc.c + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + stm32f37x_misc.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\dfu_mal.c + dfu_mal.c + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\flash_if.c + flash_if.c + + + 1 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\fsmc_nor.c + fsmc_nor.c + + + 1 + 6 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\hw_config.c + hw_config.c + + + 1 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\main.c + main.c + + + 1 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\nor_if.c + nor_if.c + + + 1 + 9 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\spi_if.c + spi_if.c + + + 1 + 10 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_desc.c + usb_desc.c + + + 1 + 11 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_istr.c + usb_istr.c + + + 1 + 12 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_prop.c + usb_prop.c + + + 1 + 13 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_pwr.c + usb_pwr.c + + + 1 + 14 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\stm32_it.c + stm32_it.c + + + + + CMSIS + 0 + 0 + 0 + + 2 + 15 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f10x.c + system_stm32f10x.c + + + 2 + 16 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32l1xx.c + system_stm32l1xx.c + + + 2 + 17 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + startup_stm32f10x_hd.s + + + 2 + 18 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + startup_stm32f10x_ld.s + + + 2 + 19 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + startup_stm32f10x_ld_vl.s + + + 2 + 20 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + startup_stm32f10x_md.s + + + 2 + 21 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + startup_stm32f10x_md_vl.s + + + 2 + 22 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + startup_stm32f10x_xl.s + + + 2 + 23 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + startup_stm32l1xx_hd.s + + + 2 + 24 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + startup_stm32l1xx_md.s + + + 2 + 25 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + startup_stm32l1xx_mdp.s + + + 2 + 26 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + startup_stm32f37x.s + + + 2 + 27 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f37x.c + system_stm32f37x.c + + + 2 + 28 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f30x.c + system_stm32f30x.c + + + 2 + 29 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + startup_stm32f30x.s + + + + + USB-FS-Device_Driver + 0 + 0 + 0 + + 3 + 30 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + usb_core.c + + + 3 + 31 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + usb_init.c + + + 3 + 32 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + usb_int.c + + + 3 + 33 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + usb_mem.c + + + 3 + 34 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + usb_regs.c + + + 3 + 35 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + 0 + 0 + 0 + + 4 + 36 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + stm32f10x_spi.c + + + 4 + 37 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + stm32f10x_flash.c + + + 4 + 38 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + stm32f10x_fsmc.c + + + 4 + 39 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + stm32f10x_gpio.c + + + 4 + 40 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + stm32f10x_rcc.c + + + 4 + 41 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_usart.c + + + 4 + 42 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + stm32f10x_exti.c + + + 4 + 43 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + stm32f10x_i2c.c + + + 4 + 44 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + stm32f10x_dma.c + + + 4 + 45 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + 0 + 0 + 0 + + 5 + 46 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + stm32l1xx_usart.c + + + 5 + 47 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + stm32l1xx_exti.c + + + 5 + 48 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + stm32l1xx_flash.c + + + 5 + 49 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash_ramfunc.c + stm32l1xx_flash_ramfunc.c + + + 5 + 50 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + stm32l1xx_gpio.c + + + 5 + 51 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + stm32l1xx_i2c.c + + + 5 + 52 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + stm32l1xx_pwr.c + + + 5 + 53 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + stm32l1xx_rcc.c + + + 5 + 54 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + stm32l1xx_syscfg.c + + + 5 + 55 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + stm32l1xx_spi.c + + + 5 + 56 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + stm32l1xx_dma.c + + + 5 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + 0 + 0 + 0 + + 6 + 58 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + stm32f37x_dma.c + + + 6 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + stm32f37x_exti.c + + + 6 + 60 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + stm32f37x_flash.c + + + 6 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + stm32f37x_gpio.c + + + 6 + 62 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + stm32f37x_i2c.c + + + 6 + 63 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + stm32f37x_pwr.c + + + 6 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + stm32f37x_rcc.c + + + 6 + 65 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + stm32f37x_spi.c + + + 6 + 66 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + stm32f37x_syscfg.c + + + 6 + 67 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + 0 + 0 + 0 + + 7 + 68 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + stm32f30x_adc.c + + + 7 + 69 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + stm32f30x_can.c + + + 7 + 70 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + stm32f30x_crc.c + + + 7 + 71 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + stm32f30x_dac.c + + + 7 + 72 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + stm32f30x_dma.c + + + 7 + 73 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + stm32f30x_exti.c + + + 7 + 74 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + stm32f30x_flash.c + + + 7 + 75 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + stm32f30x_gpio.c + + + 7 + 76 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + stm32f30x_i2c.c + + + 7 + 77 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + stm32f30x_misc.c + + + 7 + 78 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + stm32f30x_pwr.c + + + 7 + 79 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + stm32f30x_rcc.c + + + 7 + 80 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + stm32f30x_rtc.c + + + 7 + 81 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + stm32f30x_spi.c + + + 7 + 82 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + stm32f30x_syscfg.c + + + 7 + 83 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + stm32f30x_tim.c + + + 7 + 84 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + stm32f30x_usart.c + + + + + STM3210B-EVAL + 0 + 0 + 0 + + 8 + 85 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + stm3210b_eval.c + + + 8 + 86 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_flash.c + stm3210b_eval_spi_flash.c + + + + + STM3210E-EVAL + 0 + 0 + 0 + + 9 + 87 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + stm3210e_eval.c + + + 9 + 88 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_spi_flash.c + stm3210e_eval_spi_flash.c + + + + + STM32L152-EVAL + 0 + 0 + 0 + + 10 + 89 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + stm32l152_eval.c + + + + + STM32L152D-EVAL + 0 + 0 + 0 + + 11 + 90 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + stm32l152d_eval.c + + + + + STM32373C_EVAL + 0 + 0 + 0 + + 12 + 91 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + stm32373c_eval.c + + + + + STM32303C_EVAL + 0 + 0 + 0 + + 13 + 92 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + stm32303c_eval.c + + + + + Doc + 0 + 0 + 0 + + 14 + 93 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\readme.txt + readme.txt + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/RIDE/DFU.rapp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/RIDE/DFU.rapp new file mode 100644 index 0000000..5ac5b18 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/RIDE/DFU.rapp @@ -0,0 +1,1542 @@ + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+
+ +
+ + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+
+ +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+
+
+ +
+ + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ + + + + + + + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+ + +
+ + +
+ +
+
+
+ +
+ + + +
+ + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + + +
+
+ + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+ +
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + +
+ +
+
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + +
+ +
+
+
+
\ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..f8af2f8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,217 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210B_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM3210B_EVAL/stm3210b_eval_spi_flash.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_spi_flash.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-2-PROJECT_LOC/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-2-PROJECT_LOC/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/spi_if.c + 1 + PARENT-2-PROJECT_LOC/src/spi_if.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl new file mode 100644 index 0000000..2d09c3d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl @@ -0,0 +1,148 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 20k; + map ( size = 20k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..1292232 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..1c5d0c1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..0a9bb62 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..eac63c6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,237 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_spi_flash.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_spi_flash.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-2-PROJECT_LOC/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-2-PROJECT_LOC/src/flash_if.c + + + User/fsmc_nor.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nor.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/nor_if.c + 1 + PARENT-2-PROJECT_LOC/src/nor_if.c + + + User/spi_if.c + 1 + PARENT-2-PROJECT_LOC/src/spi_if.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch new file mode 100644 index 0000000..1f9b805 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl new file mode 100644 index 0000000..e8acf65 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 0x100000; + map ( size = 0x100000, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 96k; + map ( size = 96k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32303C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32303C_EVAL/.project new file mode 100644 index 0000000..81df374 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32303C_EVAL/.project @@ -0,0 +1,207 @@ + + + STM32303C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F30x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32303C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32F30x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-2-PROJECT_LOC/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-2-PROJECT_LOC/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F30x/CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + STM32F30x/STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.cproject new file mode 100644 index 0000000..5a42687 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.cproject @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.project new file mode 100644 index 0000000..9eb7ee2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/.project @@ -0,0 +1,207 @@ + + + STM32373C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F37x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32373C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32F37x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-2-PROJECT_LOC/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-2-PROJECT_LOC/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F37x/CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + STM32F37x/STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch new file mode 100644 index 0000000..f77e8ab --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl new file mode 100644 index 0000000..d8ba5b5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl @@ -0,0 +1,200 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f37x.lsl +// +// Version : @(#)stm32f37x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F37x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F37x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 32k +#endif + +memory STM32F37x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F37x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_TS_IRQHandler" ); // EXTI2_TS_IRQHandler interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1 interrupts + vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts + vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM15_IRQHandler" ); // TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM16_IRQHandler" ); // TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM17_IRQHandler" ); // TIM17 global interrupt + vector ( id = 43, optional, fill = "TIM118_DAC2_IRQHandler" ); // TIM18 global Interrupt and DAC2 underrun Interrupt + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "CEC_IRQHandler" ); // CEC interrupt + vector ( id = 59, optional, fill = "TIM12_IRQHandler" ); // TIM12 global interrupt + vector ( id = 60, optional, fill = "TIM13_IRQHandler" ); // TIM13 global interrupt + vector ( id = 61, optional, fill = "TIM14_IRQHandler" ); // TIM14 global interrupt + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC1_IRQHandler" ); // TIM6 glbl irq, DAC1 CH1 & CH2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "SDADC1_IRQHandler" ); // ADC Sigma Delta 1 global Interrupt + vector ( id = 78, optional, fill = "SDADC2_IRQHandler" ); // ADC Sigma Delta 2 global Interrupt + vector ( id = 79, optional, fill = "SDADC3_IRQHandler" ); // ADC Sigma Delta 3 global Interrupt + vector ( id = 80, optional, fill = "COMP_IRQHandler" ); // COMP1 and COMP2 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt + vector ( id = 92, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup Interrupt + vector ( id = 94, optional, fill = "TIM19_IRQHandler" ); // TIM19 global Interrupt + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..9233138 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..bf4dd5a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,217 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash_ramfunc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash_ramfunc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-2-PROJECT_LOC/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-2-PROJECT_LOC/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..19fb1b4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..0c24151 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,222 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152D_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash_ramfunc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash_ramfunc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-2-PROJECT_LOC/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-2-PROJECT_LOC/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl new file mode 100644 index 0000000..77979b6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx.lsl +// +// Version : @(#)stm32l1xx.lsl 1.5 11/06/30 +// +// Description : LSL file for the STMicroelectronics STM32L1xx +// +// Copyright 2010-2011 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __EEPROM_SIZE Specifies the size of the EEPROM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 73 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x00000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 384k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif +#ifndef __EEPROM_SIZE +# define __EEPROM_SIZE 4k +#endif + +memory STM32L1xx_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_EEPROM +{ + mau = 8; + type = reserved rom; + size = __EEPROM_SIZE; + map ( size = __EEPROM_SIZE, dest_offset=0x08080000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + vector ( id = 61, optional, fill = "SDIO_IRQHandler" ); // SDIO_IRQHandler + vector ( id = 62, optional, fill = "TIM5_IRQHandler" ); //TIM5_IRQHandler + vector ( id = 63, optional, fill = "SPI3_IRQHandler" ); //SPI3_IRQHandler + vector ( id = 64, optional, fill = "UART4_IRQHandler" ); //UART4_IRQHandler + vector ( id = 65, optional, fill = "UART5_IRQHandler" ); //UART5_IRQHandler + vector ( id = 66, optional, fill = "DMA2_Channel1_IRQHandler" ); //DMA2_Channel1_IRQHandler + vector ( id = 67, optional, fill = "DMA2_Channel2_IRQHandler" ); //DMA2_Channel2_IRQHandler + vector ( id = 68, optional, fill = "DMA2_Channel3_IRQHandler" ); //DMA2_Channel3_IRQHandler + vector ( id = 69, optional, fill = "DMA2_Channel4_IRQHandler" ); //DMA2_Channel4_IRQHandler + vector ( id = 70, optional, fill = "DMA2_Channel5_IRQHandler" ); //DMA2_Channel5_IRQHandler + vector ( id = 71, optional, fill = "AES_IRQHandler" ); //AES_IRQHandler + vector ( id = 72, optional, fill = "COMP_ACQ_IRQHandler" ); //Comparator Channel Acquisition + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..4c39242 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..b107cf4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:36:47 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld new file mode 100644 index 0000000..e0aa35c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103VB Device with +** 128KByte FLASH, 20KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20005000; /* end of 20K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..05fa76d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.cproject @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.project new file mode 100644 index 0000000..7665b6d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.project @@ -0,0 +1,265 @@ + + + STM3210E-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_spi_flash.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_spi_flash.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_hd.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/flash_if.c + + + User/fsmc_nor.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/fsmc_nor.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/main.c + + + User/nor_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/nor_if.c + + + User/spi_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/spi_if.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..0fc623e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:37:30 GMT+01:00 2012 +BOARD=STM3210E-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZE +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..8320534 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..5475c5a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..7bf2164 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,261 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_spi_flash.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_spi_flash.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/flash_if.c + + + User/fsmc_nor.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/fsmc_nor.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/main.c + + + User/nor_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/nor_if.c + + + User/spi_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/spi_if.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..2835322 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:37:55 GMT+01:00 2012 +BOARD=STM3210E-EVAL_XL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZG +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..e5ada8e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/.cproject new file mode 100644 index 0000000..5929ca9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld new file mode 100644 index 0000000..c0e7344 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld @@ -0,0 +1,190 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F303VC Device with +** 256KByte FLASH, 40KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000a000; /* end of 40K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x200; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 8K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + _siccmram = LOADADDR(.ccmram); + + /* CCM-RAM section + * + * IMPORTANT NOTE! + * If initialized variables will be placed in this section, + * the startup code needs to be modified to copy the init-values. + */ + .ccmram : + { + . = ALIGN(4); + _sccmram = .; /* create a global symbol at ccmram start */ + *(.ccmram) + *(.ccmram*) + + . = ALIGN(4); + _eccmram = .; /* create a global symbol at ccmram end */ + } >CCMRAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.cproject new file mode 100644 index 0000000..f6f0f6d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..47cfe31 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,320 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ab00129 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch new file mode 100644 index 0000000..734d809 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld new file mode 100644 index 0000000..35c7d30 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F373VC Device with +** 256KByte FLASH, 32KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20008000; /* end of 32K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x100; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..46ed9a9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,246 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_STM32L1xx.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/system_STM32L1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash_ramfunc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash_ramfunc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/dfu_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/dfu_mal.c + + + User/flash_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/flash_if.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_desc.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..f14d2cd --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:38:58 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..6f7945f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld new file mode 100644 index 0000000..1be62d5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_md Device with +** 128KByte FLASH, 16KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20004000; /* end of 16K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x80; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..4ed71c3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/.cproject @@ -0,0 +1,362 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch new file mode 100644 index 0000000..674b2ff --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld new file mode 100644 index 0000000..0d8b7b3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_hd Device with +** 384KByte FLASH, 48KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000BFF8; + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewd new file mode 100644 index 0000000..3472367 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewp new file mode 100644 index 0000000..257632b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.ewp @@ -0,0 +1,6777 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152D_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32373C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32303C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152_EVAL + STM32L152D_EVAL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\src\system_stm32f10x.c + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152_EVAL + STM32L152D_EVAL + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32F30x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152_EVAL + STM32L152D_EVAL + STM32373C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\iar\startup_stm32f30x.s + + + $PROJ_DIR$\..\src\system_stm32f30x.c + + + + STM32303C_EVAL + + $PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + STM32F30x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + + + STM32F37x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152_EVAL + STM32L152D_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\iar\startup_stm32f37x.s + + + $PROJ_DIR$\..\src\system_stm32f37x.c + + + + STM32373C_EVAL + + $PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + STM32F37x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_hd.s + + STM32L152_EVAL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + STM32L152D_EVAL + + + + $PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_mdp.s + + STM32L152_EVAL + STM32L152D_EVAL + + + + $PROJ_DIR$\..\..\src\system_stm32l1xx.c + + + + STM32L152_EVAL + + STM32L152D_EVAL + + + $PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + STM32L152D_EVAL + + STM32L152_EVAL + + + $PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210B-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + User + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\stm32_it.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.eww new file mode 100644 index 0000000..d162f4d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/SysTick.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\SysTick.ewp + + + + USB-Package-SysTick + + SysTick + STM3210B-EVAL + + + SysTick + STM3210C-EVAL + + + SysTick + STM3210E-EVAL + + + SysTick + STM3210E-EVAL_XL + + + SysTick + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f10x_flash_offset.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f10x_flash_offset.icf new file mode 100644 index 0000000..464f800 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f10x_flash_offset.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08003000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08003000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f30x_flash_offset.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f30x_flash_offset.icf new file mode 100644 index 0000000..48a7502 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32f30x_flash_offset.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08003000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08003000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32l1xx_flash_offset.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32l1xx_flash_offset.icf new file mode 100644 index 0000000..80c8d4a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/EWARM/stm32l1xx_flash_offset.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08003000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08003000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0805FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/MDK-ARM/SysTick.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/MDK-ARM/SysTick.uvproj new file mode 100644 index 0000000..72347a2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/MDK-ARM/SysTick.uvproj @@ -0,0 +1,12188 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8003000 + 0x1e000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STM3210B_EVAL, STM32F10X_MD, USE_STDPERIPH_DRIVER + + ..\inc;..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8003000 + 0x7e000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STM3210E_EVAL, STM32F10X_HD, USE_STDPERIPH_DRIVER + + ..\inc;..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8003000 + 0xfe000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STM3210E_EVAL, STM32F10X_HD, USE_STDPERIPH_DRIVER + + ..\inc;..\..\..\..\Libraries\CMSIS\CM3\CoreSupport;..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L151VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5246 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8003000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + .\STM32L152-EVAL\STM32L152-EVAL.sct + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + + STM32L152ZD + STMicroelectronics + IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code") + ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + 6190 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15\STM32L152xD.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152D_EVAL\ + STM32L152D-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152D_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 1 + 0x8000000 + 0x60000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x60000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_HD, USE_STM32L152D_EVAL + + ..\inc;..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + .\STM32L152-EVAL\STM32L152-EVAL.sct + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + + STM32F373VCT6 + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM0.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32373C_EVAL\ + STM32373C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F37X, USE_STM32373C_EVAL + + ..\inc;..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Include;..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + .\STM32L152-EVAL\STM32L152-EVAL.sct + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + + STM32F303VC + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM4.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32303C_EVAL\ + STM32303C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32303C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F30X, USE_STM32303C_EVAL + + ..\inc;..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Include;..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\..\..\..\Utilities\STM32_EVAL\Common;..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08003000 + 0x20000000 + .\STM32L152-EVAL\STM32L152-EVAL.sct + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + main.c + 1 + ..\src\main.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\..\src\system_stm32f30x.c + + + startup_stm32f30x.s + 2 + ..\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_exti.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_spi.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_dma.c + 1 + ..\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_flash.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_spi.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_exti.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_dma.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_usart.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + stm32f37x_spi.c + 1 + ..\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + + + STM32F30x_StdPeriph_Driver + + + stm32f30x_adc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + stm32303c_eval.c + 1 + ..\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/SysTick.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/SysTick.rprj new file mode 100644 index 0000000..0204755 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/SysTick.rprj @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_md_flash_offset.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_md_flash_offset.ld new file mode 100644 index 0000000..457a3ed --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_md_flash_offset.ld @@ -0,0 +1,242 @@ +/* +Default linker script for STM32F10x_128_20K +Copyright RAISONANCE S.A.S. 2008 +*/ + +/* include the common STM32F10x sub-script */ + +/* Common part of the linker scripts for STM32 devices*/ + + +/* default stack sizes. + +These are used by the startup in order to allocate stacks for the different modes. +*/ + +__Stack_Size = 1024 ; + +PROVIDE ( _Stack_Size = __Stack_Size ) ; + +__Stack_Init = _estack - __Stack_Size ; + +/*"PROVIDE" allows to easily override these values from an object file or the commmand line.*/ +PROVIDE ( _Stack_Init = __Stack_Init ) ; + +/* +There will be a link error if there is not this amount of RAM free at the end. +*/ +_Minimum_Stack_Size = 0x100 ; + + +/* include the memory spaces definitions sub-script */ +/* +Linker subscript for STM32F10x definitions with 128K Flash and 20K RAM */ + +/* Memory Spaces Definitions */ + +MEMORY +{ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + FLASH (rx) : ORIGIN = 0x8003000, LENGTH = 128K-0x3000 + FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0 +} + +/* higher address of the user mode stack */ +_estack = 0x20005000; + + + +/* include the sections management sub-script for FLASH mode */ + +/* Sections Definitions */ + +SECTIONS +{ + /* for Cortex devices, the beginning of the startup code is stored in the .isr_vector section, which goes to FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + + .flashtext : + { + . = ALIGN(4); + *(.flashtext) /* Startup code */ + . = ALIGN(4); + } >FLASH + + + /* the program code is stored in the .text section, which goes to Flash */ + .text : + { + . = ALIGN(4); + + *(.text) /* remaining code */ + *(.text.*) /* remaining code */ + *(.rodata) /* read-only data (constants) */ + *(.rodata*) + *(.glue_7) + *(.glue_7t) + + . = ALIGN(4); + _etext = .; + /* This is used by the startup in order to initialize the .data secion */ + _sidata = _etext; + } >FLASH + + + + /* This is the initialized data section + The program executes knowing that the data is in the RAM + but the loader puts the initial values in the FLASH (inidata). + It is one task of the startup to copy the initial values from FLASH to RAM. */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _sdata = . ; + + *(.data) + *(.data.*) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _edata = . ; + } >RAM + + + + /* This is the uninitialized data section */ + .bss : + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; + + *(.bss) + *(COMMON) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _ebss = . ; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* This is the user stack section + This is just to check that there is enough RAM left for the User mode stack + It should generate an error if it's full. + */ + ._usrstack : + { + . = ALIGN(4); + _susrstack = . ; + + . = . + _Minimum_Stack_Size ; + + . = ALIGN(4); + _eusrstack = . ; + } >RAM + + + + /* this is the FLASH Bank1 */ + /* the C or assembly source must explicitly place the code or data there + using the "section" attribute */ + .b1text : + { + *(.b1text) /* remaining code */ + *(.b1rodata) /* read-only data (constants) */ + *(.b1rodata*) + } >FLASHB1 + + /* this is the EXTMEM */ + /* the C or assembly source must explicitly place the code or data there + using the "section" attribute */ + + /* EXTMEM Bank0 */ + .eb0text : + { + *(.eb0text) /* remaining code */ + *(.eb0rodata) /* read-only data (constants) */ + *(.eb0rodata*) + } >EXTMEMB0 + + /* EXTMEM Bank1 */ + .eb1text : + { + *(.eb1text) /* remaining code */ + *(.eb1rodata) /* read-only data (constants) */ + *(.eb1rodata*) + } >EXTMEMB1 + + /* EXTMEM Bank2 */ + .eb2text : + { + *(.eb2text) /* remaining code */ + *(.eb2rodata) /* read-only data (constants) */ + *(.eb2rodata*) + } >EXTMEMB2 + + /* EXTMEM Bank0 */ + .eb3text : + { + *(.eb3text) /* remaining code */ + *(.eb3rodata) /* read-only data (constants) */ + *(.eb3rodata*) + } >EXTMEMB3 + + + + /* after that it's only debugging information. */ + + /* remove the debugging information from the standard libraries */ + DISCARD : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_xl_flash_offset.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_xl_flash_offset.ld new file mode 100644 index 0000000..3710a92 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f10x_xl_flash_offset.ld @@ -0,0 +1,242 @@ +/* +Default linker script for STM32F10x_1024_96K +Copyright RAISONANCE S.A.S. 2008 +*/ + +/* include the common STM32F10x sub-script */ + +/* Common part of the linker scripts for STM32 devices*/ + + +/* default stack sizes. + +These are used by the startup in order to allocate stacks for the different modes. +*/ + +__Stack_Size = 1024 ; + +PROVIDE ( _Stack_Size = __Stack_Size ) ; + +__Stack_Init = _estack - __Stack_Size ; + +/*"PROVIDE" allows to easily override these values from an object file or the commmand line.*/ +PROVIDE ( _Stack_Init = __Stack_Init ) ; + +/* +There will be a link error if there is not this amount of RAM free at the end. +*/ +_Minimum_Stack_Size = 0x100 ; + + +/* include the memory spaces definitions sub-script */ +/* +Linker subscript for STM32F10x definitions with 1024k Flash and 96K RAM */ + +/* Memory Spaces Definitions */ + +MEMORY +{ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + FLASH (rx) : ORIGIN = 0x8003000, LENGTH = 1024K-0x3000 + FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0 +} + +/* higher address of the user mode stack */ +_estack = 0x20018000; + + + +/* include the sections management sub-script for FLASH mode */ + +/* Sections Definitions */ + +SECTIONS +{ + /* for Cortex devices, the beginning of the startup code is stored in the .isr_vector section, which goes to FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + + .flashtext : + { + . = ALIGN(4); + *(.flashtext) /* Startup code */ + . = ALIGN(4); + } >FLASH + + + /* the program code is stored in the .text section, which goes to Flash */ + .text : + { + . = ALIGN(4); + + *(.text) /* remaining code */ + *(.text.*) /* remaining code */ + *(.rodata) /* read-only data (constants) */ + *(.rodata*) + *(.glue_7) + *(.glue_7t) + + . = ALIGN(4); + _etext = .; + /* This is used by the startup in order to initialize the .data secion */ + _sidata = _etext; + } >FLASH + + + + /* This is the initialized data section + The program executes knowing that the data is in the RAM + but the loader puts the initial values in the FLASH (inidata). + It is one task of the startup to copy the initial values from FLASH to RAM. */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _sdata = . ; + + *(.data) + *(.data.*) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _edata = . ; + } >RAM + + + + /* This is the uninitialized data section */ + .bss : + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; + + *(.bss) + *(COMMON) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _ebss = . ; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* This is the user stack section + This is just to check that there is enough RAM left for the User mode stack + It should generate an error if it's full. + */ + ._usrstack : + { + . = ALIGN(4); + _susrstack = . ; + + . = . + _Minimum_Stack_Size ; + + . = ALIGN(4); + _eusrstack = . ; + } >RAM + + + + /* this is the FLASH Bank1 */ + /* the C or assembly source must explicitly place the code or data there + using the "section" attribute */ + .b1text : + { + *(.b1text) /* remaining code */ + *(.b1rodata) /* read-only data (constants) */ + *(.b1rodata*) + } >FLASHB1 + + /* this is the EXTMEM */ + /* the C or assembly source must explicitly place the code or data there + using the "section" attribute */ + + /* EXTMEM Bank0 */ + .eb0text : + { + *(.eb0text) /* remaining code */ + *(.eb0rodata) /* read-only data (constants) */ + *(.eb0rodata*) + } >EXTMEMB0 + + /* EXTMEM Bank1 */ + .eb1text : + { + *(.eb1text) /* remaining code */ + *(.eb1rodata) /* read-only data (constants) */ + *(.eb1rodata*) + } >EXTMEMB1 + + /* EXTMEM Bank2 */ + .eb2text : + { + *(.eb2text) /* remaining code */ + *(.eb2rodata) /* read-only data (constants) */ + *(.eb2rodata*) + } >EXTMEMB2 + + /* EXTMEM Bank0 */ + .eb3text : + { + *(.eb3text) /* remaining code */ + *(.eb3rodata) /* read-only data (constants) */ + *(.eb3rodata*) + } >EXTMEMB3 + + + + /* after that it's only debugging information. */ + + /* remove the debugging information from the standard libraries */ + DISCARD : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f37x_flash_offset.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f37x_flash_offset.ld new file mode 100644 index 0000000..27d3b3b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/RIDE/stm32f37x_flash_offset.ld @@ -0,0 +1,242 @@ +/* +Default linker script for STM32F37x_256K_32K +Copyright RAISONANCE S.A.S. 2008 +*/ + +/* include the common STM32F37x sub-script */ + +/* Common part of the linker scripts for STM32 devices*/ + + +/* default stack sizes. + +These are used by the startup in order to allocate stacks for the different modes. +*/ + +__Stack_Size = 1024 ; + +PROVIDE ( _Stack_Size = __Stack_Size ) ; + +__Stack_Init = _estack - __Stack_Size ; + +/*"PROVIDE" allows to easily override these values from an object file or the commmand line.*/ +PROVIDE ( _Stack_Init = __Stack_Init ) ; + +/* +There will be a link error if there is not this amount of RAM free at the end. +*/ +_Minimum_Stack_Size = 0x100 ; + + +/* include the memory spaces definitions sub-script */ +/* +Linker subscript for STM32F37x definitions with 256K Flash and 32K RAM */ + +/* Memory Spaces Definitions */ + +MEMORY +{ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + FLASH (rx) : ORIGIN = 0x8003000, LENGTH = 256K-0x3000 + FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0 + EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0 +} + +/* higher address of the user mode stack */ +_estack = 0x20008000; + + + +/* include the sections management sub-script for FLASH mode */ + +/* Sections Definitions */ + +SECTIONS +{ + /* for Cortex devices, the beginning of the startup code is stored in the .isr_vector section, which goes to FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + + .flashtext : + { + . = ALIGN(4); + *(.flashtext) /* Startup code */ + . = ALIGN(4); + } >FLASH + + + /* the program code is stored in the .text section, which goes to Flash */ + .text : + { + . = ALIGN(4); + + *(.text) /* remaining code */ + *(.text.*) /* remaining code */ + *(.rodata) /* read-only data (constants) */ + *(.rodata*) + *(.glue_7) + *(.glue_7t) + + . = ALIGN(4); + _etext = .; + /* This is used by the startup in order to initialize the .data secion */ + _sidata = _etext; + } >FLASH + + + + /* This is the initialized data section + The program executes knowing that the data is in the RAM + but the loader puts the initial values in the FLASH (inidata). + It is one task of the startup to copy the initial values from FLASH to RAM. */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _sdata = . ; + + *(.data) + *(.data.*) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .data secion */ + _edata = . ; + } >RAM + + + + /* This is the uninitialized data section */ + .bss : + { + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; + + *(.bss) + *(COMMON) + + . = ALIGN(4); + /* This is used by the startup in order to initialize the .bss secion */ + _ebss = . ; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* This is the user stack section + This is just to check that there is enough RAM left for the User mode stack + It should generate an error if it's full. + */ + ._usrstack : + { + . = ALIGN(4); + _susrstack = . ; + + . = . + _Minimum_Stack_Size ; + + . = ALIGN(4); + _eusrstack = . ; + } >RAM + + + + /* this is the FLASH Bank1 */ + /* the C or assembly source must explicitly place the code or data there + using the "section" attribute */ + .b1text : + { + *(.b1text) /* remaining code */ + *(.b1rodata) /* read-only data (constants) */ + *(.b1rodata*) + } >FLASHB1 + + /* this is the EXTMEM */ + /* the C or assembly source must explicitly place the code or data there + using the "section" attribute */ + + /* EXTMEM Bank0 */ + .eb0text : + { + *(.eb0text) /* remaining code */ + *(.eb0rodata) /* read-only data (constants) */ + *(.eb0rodata*) + } >EXTMEMB0 + + /* EXTMEM Bank1 */ + .eb1text : + { + *(.eb1text) /* remaining code */ + *(.eb1rodata) /* read-only data (constants) */ + *(.eb1rodata*) + } >EXTMEMB1 + + /* EXTMEM Bank2 */ + .eb2text : + { + *(.eb2text) /* remaining code */ + *(.eb2rodata) /* read-only data (constants) */ + *(.eb2rodata*) + } >EXTMEMB2 + + /* EXTMEM Bank0 */ + .eb3text : + { + *(.eb3text) /* remaining code */ + *(.eb3rodata) /* read-only data (constants) */ + *(.eb3rodata*) + } >EXTMEMB3 + + + + /* after that it's only debugging information. */ + + /* remove the debugging information from the standard libraries */ + DISCARD : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..652d200 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.cproject @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: C compiler v4.3r1 Build 683 SN 00123456 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: object linker v4.3r1 Build 142 SN 00123456 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..04775cb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,127 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210B_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.hex b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.hex new file mode 100644 index 0000000..f167045 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.hex @@ -0,0 +1,51 @@ +:020000040800F2 +:2030000000500020F9330008CD3400080C300008D1340008D5340008D93400081C30000838 +:20302000203000082430000828300008DD340008E134000834300008E5340008C9340008B4 +:203040004030000844300008483000084C3000085030000854300008583000085C30000840 +:203060006030000864300008683000086C3000087030000874300008783000087C30000820 +:203080008030000884300008883000088C3000089030000894300008983000089C30000800 +:2030A000A0300008A4300008A8300008AC300008B0300008B4300008B8300008BC300008E0 +:2030C000C0300008C4300008C8300008CC300008D0300008D4300008D8300008DC300008C0 +:2030E000E0300008E4300008E8300008EC300008F0300008F4300008F8300008FC300008A0 +:203100000031000804310008083100080C3100081031000814310008183100081C31000877 +:203120002031000824310008283100082C3100080000000000A24A04001001400010014081 +:203140000010014000100140400080000001000210000000100000001000000010000000CA +:2031600041F20002C4F20202106841F2040350F001001060C4F2020340F20001CFF6FF014A +:2031800018680840186041F20801C4F20201106830F0847030F480301060106830F48020EE +:2031A0001060186830F4FE0018605FF41F00086000204DF8080D0190106850F480301060C4 +:2031C000106810F4003001900098401C0090019818B90098B0F5A06FF2D1106810F4003009 +:2031E00018BF012001900198012834D142F20000C4F20200016851F010010160016831F0ED +:2032000003010160016851F0020101601868186018681860186850F480601860186830F48B +:203220007C101860186850F4E8101860106850F080701060106810F0007FFBD0186830F0DC +:2032400003001860186850F002001860186810F00C000828FAD15FF000605FF0E021C1F87A +:06326000080D02B07047EA +:20326800F0B403460A46906810F00F0410F0100F1CBF50680443108810F0FF0F1DD01D68ED +:203288000026012010FA06F710883840B84210D15FEA86010F2010FA01F0854314FA01F02C +:2032A80005439068282801D15F6102E0482808BF1F61761C082EE4D31D601088FF281FDD94 +:2032C8005D68002630465FF4807111FA00F710883840B84210D15FEA86010F2010FA01F05A +:2032E800854314FA01F005439068282808BF5F619068482808BF1F61761C082EE2D35D60FF +:20330800F0BC704700B5002000F052F8012000F04FF8022000F04CF8032000F049F800F041 +:20332800C9F8104800685FF47A71B0FBF1F030F07F40411E5FF0E0204161F02180F8231D42 +:20334800002181610721016100F07CF85FF4FA7000F0A8F800F076F85FF4967000F0A2F8E6 +:20336800F2E7C0460400002010B5104C54F8043B012B54F8040B54F8041B54F8042B06D152 +:20338800521E11F9013B00F8013BF9D1EEE7022B05D10021521E00F8011BFAD1E6E7032B2E +:2033A80018BF10BDFFF75CFFE0E710BDEC34000830B583B005460D4C04F1180050F825001E +:2033C800012100F04DF804F1100030F81500ADF80000102002900320019004F1000454F8EC +:2033E80025006946FFF73CFF03B030BD08000020DFF824F0DFF824D0FFF7AEFEFFF7B4FFF7 +:2034080007485FF0E021C1F8080D00200146FFF779FF00F065F87047FD33000800500020B6 +:2034280000300008064901F1000252F8202001F1100131F8100052F80C3F43401360704701 +:203448000800002000B50020FFF7ECFF0120FFF7E9FF0220FFF7E6FF0320FFF7E3FF00BDD2 +:2034680041F21802C4F2020211B11168014301E0116881431160704704480168002908BFD3 +:2034880070470168491E01607047C0460000002031F0604131F07F0108435FF0E021C1F8A8 +:2034A800080D70470249086008680028FCD17047000000205FF000605FF44051FFF7E8BF19 +:0634C800FFF7DABF7047B8 +:0234D000FEE715 +:0234D400FEE711 +:0234D800FEE70D +:0234DC00704737 +:0234E000704733 +:0234E40070472F +:0234E800FEE7FD +:2034EC00010000000000002030310008300000000000000000000000000000000000000006 +:04000005080033F9C3 +:00000001FF diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl new file mode 100644 index 0000000..3c59ebf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl @@ -0,0 +1,148 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08003000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08003000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 20k; + map ( size = 20k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..956503e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/.cproject @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: object linker v4.3r1 Build 142 SN 00123456 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.hex b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.hex new file mode 100644 index 0000000..a83b8d3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.hex @@ -0,0 +1,52 @@ +:020000040800F2 +:2030000000000120F9330008CD340008D1340008D5340008D9340008DD3400081C300008B2 +:20302000203000082430000828300008E1340008E534000834300008E9340008C9340008A8 +:203040004030000844300008483000084C3000085030000854300008583000085C30000840 +:203060006030000864300008683000086C3000087030000874300008783000087C30000820 +:203080008030000884300008883000088C3000089030000894300008983000089C30000800 +:2030A000A0300008A4300008A8300008AC300008B0300008B4300008B8300008BC300008E0 +:2030C000C0300008C4300008C8300008CC300008D0300008D4300008D8300008DC300008C0 +:2030E000E0300008E4300008E8300008EC300008F0300008F4300008F8300008FC300008A0 +:203100000031000804310008083100080C3100081031000814310008183100081C31000877 +:203120002031000824310008283100082C3100080000000000A24A04001C0140001C014069 +:20314000001C0140001C0140400080000001000280000000800000008000000080000000F2 +:2031600041F20002C4F20202106841F2040350F001001060C4F2020340F20001CFF6FF014A +:2031800018680840186041F20801C4F20201106830F0847030F480301060106830F48020EE +:2031A0001060186830F4FE0018605FF41F00086000204DF8080D0190106850F480301060C4 +:2031C000106810F4003001900098401C0090019818B90098B0F5A06FF2D1106810F4003009 +:2031E00018BF012001900198012834D142F20000C4F20200016851F010010160016831F0ED +:2032000003010160016851F0020101601868186018681860186850F480601860186830F48B +:203220007C101860186850F4E8101860106850F080701060106810F0007FFBD0186830F0DC +:2032400003001860186850F002001860186810F00C000828FAD15FF000605FF0E021C1F87A +:06326000080D02B07047EA +:20326800F0B403460A46906810F00F0410F0100F1CBF50680443108810F0FF0F1DD01D68ED +:203288000026012010FA06F710883840B84210D15FEA86010F2010FA01F0854314FA01F02C +:2032A80005439068282801D15F6102E0482808BF1F61761C082EE4D31D601088FF281FDD94 +:2032C8005D68002630465FF4807111FA00F710883840B84210D15FEA86010F2010FA01F05A +:2032E800854314FA01F005439068282808BF5F619068482808BF1F61761C082EE2D35D60FF +:20330800F0BC704700B5002000F052F8012000F04FF8022000F04CF8032000F049F800F041 +:20332800C9F8104800685FF47A71B0FBF1F030F07F40411E5FF0E0204161F02180F8231D42 +:20334800002181610721016100F07CF85FF4FA7000F0A8F800F076F85FF4967000F0A2F8E6 +:20336800F2E7C0460400002010B5104C54F8043B012B54F8040B54F8041B54F8042B06D152 +:20338800521E11F9013B00F8013BF9D1EEE7022B05D10021521E00F8011BFAD1E6E7032B2E +:2033A80018BF10BDFFF75CFFE0E710BDF034000830B583B005460D4C04F1180050F825001A +:2033C800012100F04DF804F1100030F81500ADF80000102002900320019004F1000454F8EC +:2033E80025006946FFF73CFF03B030BD08000020DFF824F0DFF824D0FFF7AEFEFFF7B4FFF7 +:2034080007485FF0E021C1F8080D00200146FFF779FF00F067F87047FD3300080000012003 +:2034280000300008064901F1000252F8202001F1100131F8100052F80C3F43401360704701 +:203448000800002000B50020FFF7ECFF0120FFF7E9FF0220FFF7E6FF0320FFF7E3FF00BDD2 +:2034680041F21802C4F2020211B11168014301E0116881431160704704480168002908BFD3 +:2034880070470168491E01607047C0460000002031F0604131F07F0108435FF0E021C1F8A8 +:2034A800080D70470249086008680028FCD17047000000205FF000605FF44051FFF7E8BF19 +:0634C800FFF7DABF7047B8 +:0234D000FEE715 +:0234D400FEE711 +:0234D800FEE70D +:0234DC00FEE709 +:0234E000704733 +:0234E40070472F +:0234E80070472B +:0234EC00FEE7F9 +:2034F000010000000000002030310008300000000000000000000000000000000000000002 +:04000005080033F9C3 +:00000001FF diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..547d59a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E.dfu b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E.dfu new file mode 100644 index 0000000..935edbc Binary files /dev/null and b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/STM3210E.dfu differ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl new file mode 100644 index 0000000..1c37d81 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08003000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 512k; + map ( size = 512k, dest_offset=0x08003000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 64k; + map ( size = 64k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..61ef849 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING program builder v4.3r1 Build 068 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.hex b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.hex new file mode 100644 index 0000000..dc4a397 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.hex @@ -0,0 +1,52 @@ +:020000040800F2 +:2030000000800120F9330008CD340008D1340008D5340008D9340008DD3400081C30000832 +:20302000203000082430000828300008E1340008E534000834300008E9340008C9340008A8 +:203040004030000844300008483000084C3000085030000854300008583000085C30000840 +:203060006030000864300008683000086C3000087030000874300008783000087C30000820 +:203080008030000884300008883000088C3000089030000894300008983000089C30000800 +:2030A000A0300008A4300008A8300008AC300008B0300008B4300008B8300008BC300008E0 +:2030C000C0300008C4300008C8300008CC300008D0300008D4300008D8300008DC300008C0 +:2030E000E0300008E4300008E8300008EC300008F0300008F4300008F8300008FC300008A0 +:203100000031000804310008083100080C3100081031000814310008183100081C31000877 +:203120002031000824310008283100082C3100080000000000A24A04001C0140001C014069 +:20314000001C0140001C0140400080000001000280000000800000008000000080000000F2 +:2031600041F20002C4F20202106841F2040350F001001060C4F2020340F20001CFF6FF014A +:2031800018680840186041F20801C4F20201106830F0847030F480301060106830F48020EE +:2031A0001060186830F4FE0018605FF41F00086000204DF8080D0190106850F480301060C4 +:2031C000106810F4003001900098401C0090019818B90098B0F5A06FF2D1106810F4003009 +:2031E00018BF012001900198012834D142F20000C4F20200016851F010010160016831F0ED +:2032000003010160016851F0020101601868186018681860186850F480601860186830F48B +:203220007C101860186850F4E8101860106850F080701060106810F0007FFBD0186830F0DC +:2032400003001860186850F002001860186810F00C000828FAD15FF000605FF0E021C1F87A +:06326000080D02B07047EA +:20326800F0B403460A46906810F00F0410F0100F1CBF50680443108810F0FF0F1DD01D68ED +:203288000026012010FA06F710883840B84210D15FEA86010F2010FA01F0854314FA01F02C +:2032A80005439068282801D15F6102E0482808BF1F61761C082EE4D31D601088FF281FDD94 +:2032C8005D68002630465FF4807111FA00F710883840B84210D15FEA86010F2010FA01F05A +:2032E800854314FA01F005439068282808BF5F619068482808BF1F61761C082EE2D35D60FF +:20330800F0BC704700B5002000F052F8012000F04FF8022000F04CF8032000F049F800F041 +:20332800C9F8104800685FF47A71B0FBF1F030F07F40411E5FF0E0204161F02180F8231D42 +:20334800002181610721016100F07CF85FF4FA7000F0A8F800F076F85FF4967000F0A2F8E6 +:20336800F2E7C0460400002010B5104C54F8043B012B54F8040B54F8041B54F8042B06D152 +:20338800521E11F9013B00F8013BF9D1EEE7022B05D10021521E00F8011BFAD1E6E7032B2E +:2033A80018BF10BDFFF75CFFE0E710BDF034000830B583B005460D4C04F1180050F825001A +:2033C800012100F04DF804F1100030F81500ADF80000102002900320019004F1000454F8EC +:2033E80025006946FFF73CFF03B030BD08000020DFF824F0DFF824D0FFF7AEFEFFF7B4FFF7 +:2034080007485FF0E021C1F8080D00200146FFF779FF00F067F87047FD3300080080012083 +:2034280000300008064901F1000252F8202001F1100131F8100052F80C3F43401360704701 +:203448000800002000B50020FFF7ECFF0120FFF7E9FF0220FFF7E6FF0320FFF7E3FF00BDD2 +:2034680041F21802C4F2020211B11168014301E0116881431160704704480168002908BFD3 +:2034880070470168491E01607047C0460000002031F0604131F07F0108435FF0E021C1F8A8 +:2034A800080D70470249086008680028FCD17047000000205FF000605FF44051FFF7E8BF19 +:0634C800FFF7DABF7047B8 +:0234D000FEE715 +:0234D400FEE711 +:0234D800FEE70D +:0234DC00FEE709 +:0234E000704733 +:0234E40070472F +:0234E80070472B +:0234EC00FEE7F9 +:2034F000010000000000002030310008300000000000000000000000000000000000000002 +:04000005080033F9C3 +:00000001FF diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch new file mode 100644 index 0000000..252b6cb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..4d36fd1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: C compiler v4.3r1 Build 683 SN 00123456 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: object linker v4.3r1 Build 142 SN 00123456 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.project new file mode 100644 index 0000000..648f319 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/.project @@ -0,0 +1,137 @@ + + + STM32303C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + stm32f30x_i2c.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + stm32f30x_spi.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + stm32f30x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F30x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32303C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32F30x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + STM32F30x/CMSIS/startup_stm32f30x.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/iar/startup_stm32f30x.s + + + STM32F30x/CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + STM32F30x/STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32303C_EVAL.hex b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32303C_EVAL.hex new file mode 100644 index 0000000..45b8115 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32303C_EVAL.hex @@ -0,0 +1,55 @@ +:020000040800F2 +:2030000000A000206134000835350008393500083D35000841350008453500081C3000089D +:20302000203000082430000828300008493500084D35000834300008513500083135000804 +:203040004030000844300008483000084C3000085030000854300008583000085C30000840 +:203060006030000864300008683000086C3000087030000874300008783000087C30000820 +:203080008030000884300008883000088C3000089030000894300008983000089C30000800 +:2030A000A0300008A4300008A8300008AC300008B0300008B4300008B8300008BC300008E0 +:2030C000C0300008C4300008C8300008CC300008D0300008D4300008D8300008DC300008C0 +:2030E000E0300008E4300008E8300008EC300008F0300008F4300008F8300008FC300008A0 +:203100000031000804310008083100080C3100081031000814310008183100081C31000877 +:203120002031000824310008283100082C3100083031000834310008383100083C31000857 +:203140004031000844310008483100084C3100085031000854310008583100085C31000837 +:203160006031000864310008683100086C3100087031000874310008783100087C31000817 +:2031800080310008843100080000000000A24A040010004800100048001000480010004869 +:2031A00000010002000400080000200000002000000020000000200010B441F20002C4F2D1 +:2031C0000202106841F2040350F001001060C4F202034CF20C01CFF67F014FF6CC44186868 +:2031E000CFF6007408401860106830F0847030F480301060106830F480201060186830F4B6 +:20320000FE00186041F22C00C4F20200016831F00F01016041F23000C4F202000168214041 +:20322000016041F208010020C4F2020108604DF8080D0190106850F480301060106810F46D +:20324000003001900098401C0090019818B90098B0F5A06FF2D1106810F4003018BF01200C +:203260000190019801282AD1122042F20001C4F2020108601868186018681860186850F4C4 +:2032800080601860186830F47C101860186850F4E8101860106850F080701060106810F06A +:2032A000007FFBD0186830F003001860186850F002001860186810F00C000828FAD15FF099 +:1232C00000605FF0E021C1F8080D02B05DF8044B704771 +:2032D40030B502460B460025012010FA05F118680840884237D15868012801D002281BD1AC +:2032F40094685FEA4501032010FA01F084439460986810FA01F1906808439060012010FAFC +:2033140005F1908888439080D86880B210FA05F081B29088084390805FEA450E0320116861 +:2033340010FA0EF081431160596811FA0EF4116821431160D1688143D160186910FA0EF168 +:0E335400D0680843D0606D1C102DBDD330BD75 +:2033640000B5002000F02EF8012000F02BF8022000F028F8032000F025F800F0D1F81048B7 +:2033840000685FF47A71B0FBF1F030F07F40411E5FF0E0204161F02180F8231D00218161FC +:2033A4000721016100F084F85FF4FA7000F0B0F800F07EF85FF4967000F0AAF8F2E7C0468E +:2033C4000400002070B585B00546114C04F1180050F82500012100F079F804F1100636F88D +:2033E40015000090012001900020039004900320029004F1000454F825006946FFF768FF00 +:2034040054F8250036F81510816105B070BDC0460800002010B5104C54F8043B012B54F8CE +:20342400040B54F8041B54F8042B06D1521E11F9013B00F8013BF9D1EEE7022B05D100210F +:20344400521E00F8011BFAD1E6E7032B18BF10BDFFF73EFFE0E710BD58350008DFF824F033 +:20346400DFF824D0FFF7A6FEFFF7D4FF07485FF0E021C1F8080D00200146FFF771FF00F0F0 +:2034840067F870476534000800A0002000300008064901F1000252F8202001F1100131F880 +:2034A400100032F8143F4340138070470800002000B50020FFF7ECFF0120FFF7E9FF0220AF +:2034C400FFF7E6FF0320FFF7E3FF00BD41F21402C4F2020211B11168014301E011688143B5 +:2034E4001160704704480168002908BF70470168491E01607047C0460000002031F0604174 +:2035040031F07F0108435FF0E021C1F8080D70470249086008680028FCD1704700000020F7 +:123524005FF000605FF44051FFF7E8BFFFF7DABF70471F +:02353800FEE7AC +:02353C00FEE7A8 +:02354000FEE7A4 +:02354400FEE7A0 +:023548007047CA +:02354C007047C6 +:023550007047C2 +:02355400FEE790 +:20355800010000000000002088310008300000000000000000000000000000000000000041 +:04000005080034615A +:00000001FF diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32F30.dfu b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32F30.dfu new file mode 100644 index 0000000..b072179 Binary files /dev/null and b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/STM32F30.dfu differ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl new file mode 100644 index 0000000..642584a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl @@ -0,0 +1,211 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f30x.lsl +// +// Version : @(#)stm32f30x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F30x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F30x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08003000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 6k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif + +memory STM32F30x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08003000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE - 8k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM8k +{ + mau = 8; + type = ram; + size = 8k; + priority = 1; + map ( size = 8k, dest_offset=0x10000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 global interrupts + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB Device High Priority or CAN1 TX interrupts + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB Device Low Priority or CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM1_BRK_TIM15_IRQHandler" ); // TIM1 Break irq and TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM1_UP_TIM16_IRQHandler" ); // TIM1 Update irq and TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM17_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM17 global irq + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup interrupt + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break interrupt + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update interrupt + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 trigger and Comm. interrupt + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare interrupt + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "ADC4_IRQHandler" ); // ADC4 global interrupt + vector ( id = 80, optional, fill = "COMP1_2_3_IRQHandler" ); // COMP1, COMP2 and COMP3 global interrupt + vector ( id = 81, optional, fill = "COMP4_5_6_IRQHandler" ); // COMP5, COMP6 and COMP4 global interrupt + vector ( id = 82, optional, fill = "COMP7_IRQHandler" ); // COMP7 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt remap + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt remap + vector ( id = 92, optional, fill = "USBWakeUp_RMP_IRQHandler" ); // USB Wakeup Interrupt remap + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.cproject new file mode 100644 index 0000000..d785589 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.cproject @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: C compiler v4.3r1 Build 683 SN 00123456 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: object linker v4.3r1 Build 142 SN 00123456 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.project new file mode 100644 index 0000000..9096c12 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/.project @@ -0,0 +1,132 @@ + + + STM32373C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F37x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32373C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32F37x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + STM32F37x/CMSIS/system_stm32f37x.c + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/system_stm32f37x.c + + + STM32F37x/STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32373C_EVAL.hex b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32373C_EVAL.hex new file mode 100644 index 0000000..4cf8410 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32373C_EVAL.hex @@ -0,0 +1,54 @@ +:020000040800F2 +:20300000008000205134000825350008293500082D35000831350008353500081C3000081D +:20302000203000082430000828300008393500083D35000834300008413500082135000844 +:203040004030000844300008483000084C3000085030000854300008583000085C30000840 +:203060006030000864300008683000086C3000087030000874300008783000087C30000820 +:203080008030000884300008883000088C3000089030000894300008983000089C30000800 +:2030A000A0300008A4300008A8300008AC300008B0300008B4300008B8300008BC300008E0 +:2030C000C0300008C4300008C8300008CC300008D0300008D4300008D8300008DC300008C0 +:2030E000E0300008E4300008E8300008EC300008F0300008F4300008F8300008FC300008A0 +:203100000031000804310008083100080C3100081031000814310008183100081C31000877 +:203120002031000824310008283100082C3100083031000834310008383100083C31000857 +:203140004031000844310008483100084C3100085031000854310008583100085C31000837 +:203160006031000864310008683100086C3100087031000874310008783100087C31000817 +:20318000803100088431000800A24A04000000000008004800080048000800480008004889 +:2031A00001000200040008000000080000000800000008000000080041F20001C4F20201F3 +:2031C000086850F00100086041F20402C4F20202106810F47F001060086830F0847030F4D0 +:2031E00080300860086830F480200860106830F4FE00106041F22C00C4F20200036833F06C +:203200000F03036041F23000C4F20200036833F0F02333F073030360002041F20803C4F26D +:20322000020318604DF8080D0190086850F480300860086810F4003001900098401C0090A1 +:20324000019818B90098B0F5A06FF2D1086810F4003018BF01200190019801282AD11220D9 +:2032600042F20003C4F2020318601068106010681060106850F480601060106830F47C10E0 +:203280001060106850F4E8101060086850F080700860086810F0007FFBD0106830F003003D +:2032A0001060106850F002001060106810F00C000828FAD15FF000605FF0E021C1F8080D28 +:2032C00002B0704730B502460B460025012010FA05F118680840884237D15868012801D06D +:2032E00002281BD194685FEA4501032010FA01F084439460986810FA01F190680843906025 +:20330000012010FA05F1908888439080D86880B210FA05F081B29088084390805FEA450EE6 +:203320000320116810FA0EF081431160596811FA0EF4116821431160D1688143D1601869E9 +:1233400010FA0EF1D0680843D0606D1C102DBDD330BD7C +:2033540000B5002000F02EF8012000F02BF8022000F028F8032000F025F800F0D1F81048C7 +:2033740000685FF47A71B0FBF1F030F07F40411E5FF0E0204161F02180F8231D002181610C +:203394000721016100F084F85FF4FA7000F0B0F800F07EF85FF4967000F0AAF8F2E7C0469E +:2033B4000000002070B585B00546114C04F1180050F82500012100F079F804F1100636F8A1 +:2033D40015000090012001900020039004900320029004F1000454F825006946FFF768FF10 +:2033F40054F8250036F81510816105B070BDC0460800002010B5104C54F8043B012B54F8DF +:20341400040B54F8041B54F8042B06D1521E11F9013B00F8013BF9D1EEE7022B05D100211F +:20343400521E00F8011BFAD1E6E7032B18BF10BDFFF786FFE0E710BD48350008DFF824F00B +:20345400DFF824D0FFF7AEFEFFF7D4FF07485FF0E021C1F8080D00200146FFF771FF00F0F8 +:2034740067F87047553400080080002000300008064901F1000252F8202001F1100131F8C0 +:20349400100032F8143F4340138070470800002000B50020FFF7ECFF0120FFF7E9FF0220BF +:2034B400FFF7E6FF0320FFF7E3FF00BD41F21402C4F2020211B11168014301E011688143C5 +:2034D4001160704704480168002908BF70470168491E01607047C0460400002031F0604180 +:2034F40031F07F0108435FF0E021C1F8080D70470249086008680028FCD170470400002004 +:123514005FF000605FF44051FFF7E8BFFFF7DABF70472F +:02352800FEE7BC +:02352C00FEE7B8 +:02353000FEE7B4 +:02353400FEE7B0 +:023538007047DA +:02353C007047D6 +:023540007047D2 +:02354400FEE7A0 +:20354800010000000000002088310008300000000000000000000000000000000000000051 +:04000005080034516A +:00000001FF diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32F37.dfu b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32F37.dfu new file mode 100644 index 0000000..8b57b97 Binary files /dev/null and b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/STM32F37.dfu differ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl new file mode 100644 index 0000000..38945e9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl @@ -0,0 +1,200 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f37x.lsl +// +// Version : @(#)stm32f37x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F37x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F37x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08003000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 32k +#endif + +memory STM32F37x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08003000, dest=bus:ARM:local_bus); +} + +memory STM32F37x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_TS_IRQHandler" ); // EXTI2_TS_IRQHandler interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1 interrupts + vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts + vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM15_IRQHandler" ); // TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM16_IRQHandler" ); // TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM17_IRQHandler" ); // TIM17 global interrupt + vector ( id = 43, optional, fill = "TIM118_DAC2_IRQHandler" ); // TIM18 global Interrupt and DAC2 underrun Interrupt + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "CEC_IRQHandler" ); // CEC interrupt + vector ( id = 59, optional, fill = "TIM12_IRQHandler" ); // TIM12 global interrupt + vector ( id = 60, optional, fill = "TIM13_IRQHandler" ); // TIM13 global interrupt + vector ( id = 61, optional, fill = "TIM14_IRQHandler" ); // TIM14 global interrupt + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC1_IRQHandler" ); // TIM6 glbl irq, DAC1 CH1 & CH2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "SDADC1_IRQHandler" ); // ADC Sigma Delta 1 global Interrupt + vector ( id = 78, optional, fill = "SDADC2_IRQHandler" ); // ADC Sigma Delta 2 global Interrupt + vector ( id = 79, optional, fill = "SDADC3_IRQHandler" ); // ADC Sigma Delta 3 global Interrupt + vector ( id = 80, optional, fill = "COMP_IRQHandler" ); // COMP1 and COMP2 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt + vector ( id = 92, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup Interrupt + vector ( id = 94, optional, fill = "TIM19_IRQHandler" ); // TIM19 global Interrupt + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.hex b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.hex new file mode 100644 index 0000000..8f35914 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.hex @@ -0,0 +1,54 @@ +:020000040800F2 +:20300000004000203D340008193500081D3500082135000825350008293500081C300008AD +:203020002030000824300008283000082D3500083135000834300008353500081535000874 +:203040004030000844300008483000084C3000085030000854300008583000085C30000840 +:203060006030000864300008683000086C3000087030000874300008783000087C30000820 +:203080008030000884300008883000088C3000089030000894300008983000089C30000800 +:2030A000A0300008A4300008A8300008AC300008B0300008B4300008B8300008BC300008E0 +:2030C000C0300008C4300008C8300008CC300008D0300008D4300008D8300008DC300008C0 +:2030E000E0300008E4300008E8300008EC300008F0300008F4300008F8300008FC300008A0 +:203100000031000804310008083100080C3100081031000814310008183100081C31000877 +:203120002031000824310008283100082C3100083031000834310008383100083C31000857 +:203140004031000844310008483100084C310008000000000048E801000C0240000C0240A6 +:20316000000C0240000C024001000200100020000800000008000000080000000800000060 +:2031800043F60002C4F20202106843F6080350F480701060C4F202034CF20C01C8F6FF0116 +:2031A00018680840186043F60C01C4F20201106830F0011030F088501060106830F4802083 +:2031C0001060186830F47D001860002008604DF8080D0190106850F480301060106810F41B +:2031E000003001900098401C0090019818B90098B0F5A06FF2D1106810F4003018BF01206D +:2032000001900198012849D143F60040C4F20200016851F004010160016851F002010160F2 +:20322000016851F00101016043F62400C4F20200016851F0805101605FF4006047F20001A3 +:20324000C4F20001086047F20400C4F20000006810F0100FF7D1186818601868186018689D +:203260001860186830F47D001860186850F411001860106850F080701060106810F0007FE1 +:20328000FBD0186830F003001860186850F003001860186810F00C000C28FAD15FF00060D3 +:2032A0005FF0E021C1F8080D02B0704730B502460B460024012010FA04F118680840884233 +:2032C00039D15FEA440E032010FA0EF06FEA0005106828401060586810FA0EF110680843E4 +:2032E00010605868012801D0022816D1906828409060986810FA0EF19068084390600120E6 +:2033000010FA04F1908888439080D86880B210FA04F081B29088084390805FEA44010320F4 +:1E33200010FA01F1D0688843D060186910FA0EF1D0680843D060641C102CBBD330BDEC +:2033400000B5002000F02EF8012000F02BF8022000F028F8032000F025F800F0D1F81048DB +:2033600000685FF47A71B0FBF1F030F07F40411E5FF0E0204161F02180F8231D0021816120 +:203380000721016100F084F85FF4FA7000F0B0F800F07EF85FF4967000F0AAF8F2E7C046B2 +:2033A0000400002070B585B00546114C04F1180050F82500012100F079F804F1100636F8B1 +:2033C000150000900120019000200390049000F09DF804F1000454F825006946FFF766FF56 +:2033E00054F8250036F81510018305B070BDC0460800002010B5104C54F8043B012B54F851 +:20340000040B54F8041B54F8042B06D1521E11F9013B00F8013BF9D1EEE7022B05D1002133 +:20342000521E00F8011BFAD1E6E7032B18BF10BDFFF786FFE0E710BD3C350008DFF824F02B +:20344000DFF824D0FFF79CFEFFF7D4FF07485FF0E021C1F8080D00200146FFF771FF00F01E +:203460006BF87047413400080040002000300008064901F1000252F8202001F1100131F824 +:20348000100032F8143F4340138070470800002000B50020FFF7ECFF0120FFF7E9FF0220D3 +:2034A000FFF7E6FF0320FFF7E3FF00BD43F61C02C4F2020211B11168014301E011688143CB +:2034C0001160704704480168002908BF70470168491E01607047C0460000002031F0604198 +:2034E00031F07F0108435FF0E021C1F8080D70470249086008680028FCD17047000000201C +:123500005FF000605FF44051FFF7E8BF0320029070471D +:06351400FFF7D6BF70476F +:02351C00FEE7C8 +:02352000FEE7C4 +:02352400FEE7C0 +:02352800FEE7BC +:02352C007047E6 +:023530007047E2 +:023534007047DE +:02353800FEE7AC +:20353C00010000000000002050310008300000000000000000000000000000000000000095 +:040000050800343D7E +:00000001FF diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch new file mode 100644 index 0000000..d494039 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl new file mode 100644 index 0000000..44fb640 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl @@ -0,0 +1,151 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx_cmsis.lsl +// +// Version : @(#)stm32l1xx_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32l1xx.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 84 + + +#ifndef __STACK +# define __STACK 2k +#endif +#ifndef __HEAP +# define __HEAP 1k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08003000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32l1xflash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08003000, dest=bus:ARM:local_bus); +} + +memory stm32l1xram +{ + mau = 8; + type = ram; + size = 16k; + map ( size = 16k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandle" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/vssver.scc b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/vssver.scc new file mode 100644 index 0000000..42ae08e Binary files /dev/null and b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152-EVAL/TASKING/vssver.scc differ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..d688a4d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,132 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152D_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl new file mode 100644 index 0000000..39e2cf2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx.lsl +// +// Version : @(#)stm32l1xx.lsl 1.5 11/06/30 +// +// Description : LSL file for the STMicroelectronics STM32L1xx +// +// Copyright 2010-2011 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __EEPROM_SIZE Specifies the size of the EEPROM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 73 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08003000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x00000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 384k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif +#ifndef __EEPROM_SIZE +# define __EEPROM_SIZE 4k +#endif + +memory STM32L1xx_Flash +{ + mau = 8; + type = rom; + size = 372k; + map ( size = 372k, dest_offset=0x08003000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_EEPROM +{ + mau = 8; + type = reserved rom; + size = __EEPROM_SIZE; + map ( size = __EEPROM_SIZE, dest_offset=0x08080000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + vector ( id = 61, optional, fill = "SDIO_IRQHandler" ); // SDIO_IRQHandler + vector ( id = 62, optional, fill = "TIM5_IRQHandler" ); //TIM5_IRQHandler + vector ( id = 63, optional, fill = "SPI3_IRQHandler" ); //SPI3_IRQHandler + vector ( id = 64, optional, fill = "UART4_IRQHandler" ); //UART4_IRQHandler + vector ( id = 65, optional, fill = "UART5_IRQHandler" ); //UART5_IRQHandler + vector ( id = 66, optional, fill = "DMA2_Channel1_IRQHandler" ); //DMA2_Channel1_IRQHandler + vector ( id = 67, optional, fill = "DMA2_Channel2_IRQHandler" ); //DMA2_Channel2_IRQHandler + vector ( id = 68, optional, fill = "DMA2_Channel3_IRQHandler" ); //DMA2_Channel3_IRQHandler + vector ( id = 69, optional, fill = "DMA2_Channel4_IRQHandler" ); //DMA2_Channel4_IRQHandler + vector ( id = 70, optional, fill = "DMA2_Channel5_IRQHandler" ); //DMA2_Channel5_IRQHandler + vector ( id = 71, optional, fill = "AES_IRQHandler" ); //AES_IRQHandler + vector ( id = 72, optional, fill = "COMP_ACQ_IRQHandler" ); //Comparator Channel Acquisition + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..53578d0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,156 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210B_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + User/main.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/main.c + + + User/stm32_it.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..a67aafc --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:00:38 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch new file mode 100644 index 0000000..bae3840 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld new file mode 100644 index 0000000..baccc21 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103VB Device with +** 128KByte FLASH, 20KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20005000; /* end of 20K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 128K - 0x3000 + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes : { *(.ARM.attributes) } > FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..faa5485 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..c34efa7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:01:09 GMT+01:00 2012 +BOARD=STM3210E-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZE +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch new file mode 100644 index 0000000..77034d7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..54fc800 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 512K - 0x3000 + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes : { *(.ARM.attributes) } > FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..874ecbc --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..3d3f2bb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,156 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + User/main.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/main.c + + + User/stm32_it.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..4f59879 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:01:27 GMT+01:00 2012 +BOARD=STM3210E-EVAL_XL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZG +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..a318eda --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.cproject new file mode 100644 index 0000000..c74d3ef --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.cproject @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.project new file mode 100644 index 0000000..dae124c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.project @@ -0,0 +1,245 @@ + + + STM32303C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32303C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + Doc/readme.txt + 1 + PARENT-5-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_comp.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_crc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dac.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dbgmcu.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_iwdg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_opamp.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_opamp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rtc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_tim.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_wwdg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_wwdg.c + + + TrueSTUDIO/startup_stm32f30x.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/TrueSTUDIO/startup_stm32f30x.s + + + User/main.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/main.c + + + User/stm32_it.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..11c9ee7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:37:51 GMT+01:00 2012 +BOARD=STM32303C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F303VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 0000000..57e0178 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -0,0 +1,12 @@ +#Wed Dec 26 09:33:09 GMT+01:00 2012 +eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.311825581/appendContributed=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.311825581/appendContributed=true diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld new file mode 100644 index 0000000..1a50ba4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld @@ -0,0 +1,190 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F303VC Device with +** 256KByte FLASH, 40KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000a000; /* end of 40K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x200; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 256K - 0x3000 + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 8K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + _siccmram = LOADADDR(.ccmram); + + /* CCM-RAM section + * + * IMPORTANT NOTE! + * If initialized variables will be placed in this section, + * the startup code needs to be modified to copy the init-values. + */ + .ccmram : + { + . = ALIGN(4); + _sccmram = .; /* create a global symbol at ccmram start */ + *(.ccmram) + *(.ccmram*) + + . = ALIGN(4); + _eccmram = .; /* create a global symbol at ccmram end */ + } >CCMRAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.cproject new file mode 100644 index 0000000..c871fdb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.cproject @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..34a75db --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,250 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-5-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + User/main.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/main.c + + + User/stm32_it.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ab00129 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld new file mode 100644 index 0000000..4d3c6e2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F373VC Device with +** 256KByte FLASH, 32KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20008000; /* end of 32K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x100; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 256K - 0x3000 + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..ac4e08f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..d0cdf7e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,156 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_STM32L1xx.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/system_STM32L1xx.c + + + Doc/readme.txt + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + User/main.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/main.c + + + User/stm32_it.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..65faca9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:02:03 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..9c000ef --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld new file mode 100644 index 0000000..865fc02 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_md Device with +** 128KByte FLASH, 16KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20004000; /* end of 16K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x80; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 128K - 0x3000 + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..ada6144 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.cproject @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.project new file mode 100644 index 0000000..cb881ef --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.project @@ -0,0 +1,156 @@ + + + STM32L152D-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152D-EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_STM32L1xx.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/system_STM32L1xx.c + + + Doc/readme.txt + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/readme.txt + + + STM32L152D-EVAL/stm32l152d_eval.c + 1 + PARENT-5-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-5-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-5-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_hd.s + + + User/main.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/main.c + + + User/stm32_it.c + 1 + PARENT-5-PROJECT_LOC/Projects/Device_Firmware_Upgrade/binary_template/src/stm32_it.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa650d6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:48:58 GMT+01:00 2012 +BOARD=STM32L152D-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152ZD +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/main.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/main.h new file mode 100644 index 0000000..d0023a8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/main.h @@ -0,0 +1,45 @@ +/** + ****************************************************************************** + * @file main.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for main.c module + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MAIN_H +#define __MAIN_H + +/* Includes ------------------------------------------------------------------*/ + +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void TimingDelay_Decrement(void); + +#endif /* __MAIN_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/platform_config.h new file mode 100644 index 0000000..1e54f71 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/platform_config.h @@ -0,0 +1,80 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" +#endif /* USE_STM3210B_EVAL */ +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) + //#define USE_STM3210B_EVAL + //#define USE_STM3210E_EVAL + //#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define USE_STM32373C_EVAL +#define USE_STM32303C_EVAL +#endif + + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32_it.h new file mode 100644 index 0000000..ce70454 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32_it.h @@ -0,0 +1,55 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); + + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32l1xx_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32l1xx_conf.h new file mode 100644 index 0000000..ae4a251 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/inc/stm32l1xx_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32l1xx_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L1xx_CONF_H +#define __STM32L1xx_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32l1xx_adc.h" +#include "stm32l1xx_crc.h" +#include "stm32l1xx_comp.h" +#include "stm32l1xx_dac.h" +#include "stm32l1xx_dbgmcu.h" +#include "stm32l1xx_dma.h" +#include "stm32l1xx_exti.h" +#include "stm32l1xx_flash.h" +#include "stm32l1xx_gpio.h" +#include "stm32l1xx_syscfg.h" +#include "stm32l1xx_i2c.h" +#include "stm32l1xx_iwdg.h" +#include "stm32l1xx_lcd.h" +#include "stm32l1xx_pwr.h" +#include "stm32l1xx_rcc.h" +#include "stm32l1xx_rtc.h" +#include "stm32l1xx_spi.h" +#include "stm32l1xx_tim.h" +#include "stm32l1xx_usart.h" +#include "stm32l1xx_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval : None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32L1xx_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/readme.txt new file mode 100644 index 0000000..73a9e4e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/readme.txt @@ -0,0 +1,219 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the binary directory. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Description +=================== +This directory contains a set of sources files that build the application to be +loaded into Flash memory using device firmware upgrade (DFU). + +To build such application, some special configuration has to be preformed: +1. Set the program load address at 0x08003000, using your toolchain linker file +2. Relocate the vector table at address 0x08003000, using the "NVIC_SetVectorTable" + function. + +The SysTick example provided within the STM32F10xxx,STM32L152xxx, STM32F30xxx and STM32F37xxx Standard +Peripheral examples is used as illustration. + +This example configures the SysTick to generate a time base equal to 1 ms. +The system clock is set to 72 MHz for STM32F10xxx, STM32F30xxx and STM32F37xxx devices and to 32MHz for +STM32L15xxx devices, the SysTick is clocked by the AHB clock (HCLK) + +A "Delay" function is implemented based on the SysTick end-of-count event. +Four LEDs are toggled with a timing defined by the Delay function. + + +Directory contents +================== + + + binary_template\EWARM: This folder contains a preconfigured project file + that produces a binary image of SysTick example to be + loaded with DFU. + + + binary_template\RIDE: This folder contains a preconfigured project file + that produces a binary image of SysTick example to be + loaded with DFU. + + + binary_template\MDK-ARM: This folder contains a preconfigured project file + that produces a binary image of SysTick example to be + loaded with DFU. + + + binary_template\TASKING: This folder contains a preconfigured project file + that produces a binary image of SysTick example to be + loaded with DFU. + + + \TrueSTUDIO: This folder contains a preconfigured project file + that produces a binary image of SysTick example to be + loaded with DFU. + + + binary_template\inc: contains the binary_template firmware header files + - stm32f10x_conf.h Library Configuration file for STM32F10xxx devices + - stm32_it.h Header for stm32_it.c + - stm32l15xx_conf.h Library Configuration file for STM32L15xxx devices + - stm32f37x_conf.h Library Configuration file for STM32F37xxx devices + - stm32f30x_conf.h Library Configuration file for STM32F30xxx devices + - main.h Header for main.c + + + binary_template\src: contains the binary_template firmware source files + - main.c Main program + - stm32_it.c Interrupt handlers for STM32F10xxx,STM32L15xxx, STM32F30xxx and STM32F37xxx devices + + +Hardware environment +==================== +This example runs on STMicroelectronics STM3210B-EVAL, STM3210E-EVAL, STM32L152-EVAL,STM32F303C_EVAL +,STM32F373C_EVAL and STM32L152D-EVAL evaluation boards and can be easily tailored to any other hardware. +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + + STM3210B-EVAL + - Use LD1, LD2, LD3 and LD4 leds connected respectively to PC.06, PC.07, PC.08 + and PC.09 pins + + + STM3210E-EVAL + - Use LD1, LD2, LD3 and LD4 leds connected respectively to PF.06, PF.07, PF.08 + and PF.09 pins + + + STM32L152-EVAL + - Use LD1, LD2, LD3 and LD4 leds connected respectively to PD.00, PD.01, PD.02 + and PC.12 pins + + + STM32L152D-EVAL + - Use LD1, LD2, LD3 and LD4 leds connected respectively to PD.03, PD.07, PG.14 + and PG.15 pins + + + STM32F373C_EVAL + - Use LD1, LD2, LD3 and LD4 leds connected respectively to PC.0, PC.01, PC.02 + and PC.03 pins + + + STM32F303C_EVAL + - Use LD1, LD2, LD3 and LD4 leds connected respectively to PE.08, PE.09, PE.10 + and PE.11 pins + +How to use it +============= +In order to load the SysTick example with the DFU, you must do the following: + + + EWARM + - Open the SysTick.eww workspace + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152-EVAL: to configure the project for STM32 Low Power Medium-density devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Go to "Utilities\Binary" and run "hextobin.bat" + - A binary file "SysTick.bin" will be generated under "STM3210E-EVAL\Exe" or + "STM3210B-EVAL\Exe" or "STM32L152-EVAL\Exe" or "STM32L152D-EVAL\Exe" or "STM32373C-EVAL\Exe" or "STM32373C-EVAL\Exe" folder depending + on configuration you selected. + + + MDK-ARM + - Open the SysTick.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Low Power Medium-density devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Go to "Utilities\Binary" and run "axftobin.bat" + - A binary file "STM3210B-EVAL_SysTick.bin" or "STM3210E-EVAL_SysTick.bin" + or "STM32L152-EVAL_SysTick.bin" or "STM32L152D-EVAL_SysTick.bin" or "STM32373C-EVAL_SysTick.bin" + or "STM32303C-EVAL_SysTick.bin" will be generated under "\Obj" folder. + + + RIDE + - Open the SysTick.rprj project + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Go to "Utilities\Binary" and run "hextobin.bat" + - A binary file "SysTick.bin" will be generated under "\STM3210E_EVAL" + or "\STM3210B_EVAL" or "\STM32L152D_EVAL" or "\STM32L152_EVAL" or "\STM32373C-EVAL" + or "\STM32303C-EVAL" folder depending on configuration you selected. + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click + on Project->build project menu. + - Go to "Utilities\Binary" directory and run "TrueSTUDIO_elf2bin.bat" + - A binary file "STM32F10X_XL_SysTick.bin", + "STM3210B-EVAL_SysTick.bin", "STM3210E-EVAL_SysTick.bin", + "STM32L152-EVAL_SysTick.bin" will be generated under "\Debug" folder + "STM32L152D-EVAL_SysTick.bin" will be generated under "\Debug" folder + "STM32373C-EVAL_SysTick.bin" will be generated under "\Debug" folder + "STM32303C-EVAL_SysTick.bin" will be generated under "\Debug" folder + + + The generated .bin file should be converted to the DFU format using the “DFU File + Manager Tool” included in the “DfuSe” PC software install. For more details on + how to convert a .bin file to DFU format please refer to the UM0412 user manual + “Getting started with DfuSe USB device firmware upgrade STMicroelectronics extension” + available from the STMicroelectronics microcontroller website www.st.com. + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c new file mode 100644 index 0000000..c54fe66 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c @@ -0,0 +1,161 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main program body. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +static __IO uint32_t TimingDelay; + +/* Private function prototypes -----------------------------------------------*/ +void NVIC_Configuration(void); +void Delay(__IO uint32_t nTime); + +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : main +* Description : Main program. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +int main(void) +{ + /*!< At this stage the microcontroller clock setting is already configured, + this is done through SystemInit() function which is called from startup + file (startup_stm32xxx.s) before to branch to application main. + To reconfigure the default setting of SystemInit() function, refer to + system_stm32xxx.c file + */ + + /* Configure the LEDs */ + STM_EVAL_LEDInit(LED1); + STM_EVAL_LEDInit(LED2); + STM_EVAL_LEDInit(LED3); + STM_EVAL_LEDInit(LED4); + + /* NVIC configuration */ + NVIC_Configuration(); + + /* Setup SysTick Timer for 1 msec interrupts */ + if (SysTick_Config(SystemCoreClock / 1000)) + { + /* Capture error */ + while (1); + } + + while (1) + { + /* Toggle all leds */ + STM_EVAL_LEDToggle(LED1); + STM_EVAL_LEDToggle(LED2); + STM_EVAL_LEDToggle(LED3); + STM_EVAL_LEDToggle(LED4); + + /* Insert 500 ms delay */ + Delay(500); + + /* Toggle all leds */ + STM_EVAL_LEDToggle(LED1); + STM_EVAL_LEDToggle(LED2); + STM_EVAL_LEDToggle(LED3); + STM_EVAL_LEDToggle(LED4); + + /* Insert 300 ms delay */ + Delay(300); + } +} + +/******************************************************************************* +* Function Name : NVIC_Configuration +* Description : Configures Vector Table base location. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NVIC_Configuration(void) +{ + /* Set the Vector Table base location at 0x3000 */ + NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000); +} +/******************************************************************************* +* Function Name : Delay +* Description : Inserts a delay time. +* Input : nTime: specifies the delay time length, in milliseconds. +* Output : None +* Return : None +*******************************************************************************/ +void Delay(uint32_t nTime) +{ + TimingDelay = nTime; + + while(TimingDelay != 0); +} + +/******************************************************************************* +* Function Name : TimingDelay_Decrement +* Description : Decrements the TimingDelay variable. +* Input : None +* Output : TimingDelay +* Return : None +*******************************************************************************/ +void TimingDelay_Decrement(void) +{ + if (TimingDelay != 0x00) + { + TimingDelay--; + } +} + +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while (1) + { + } +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f10x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f10x.c new file mode 100644 index 0000000..5af97aa --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f10x.c @@ -0,0 +1,1100 @@ +/** + ****************************************************************************** + * @file system_stm32f10x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f10x_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on + * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f10x_system + * @{ + */ + +/** @addtogroup STM32F10x_System_Private_Includes + * @{ + */ + +#include "stm32f10x.h" + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) + frequency (after reset the HSI is used as SYSCLK source) + + IMPORTANT NOTE: + ============== + 1. After each device reset the HSI is used as System clock source. + + 2. Please make sure that the selected System clock doesn't exceed your device's + maximum frequency. + + 3. If none of the define below is enabled, the HSI is used as System clock + source. + + 4. The System clock configuration functions provided within this file assume that: + - For Low, Medium and High density Value line devices an external 8MHz + crystal is used to drive the System clock. + - For Low, Medium and High density devices an external 8MHz crystal is + used to drive the System clock. + - For Connectivity line devices an external 25MHz crystal is used to drive + the System clock. + If you are using different crystal you have to adapt those functions accordingly. + */ + +#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ + #define SYSCLK_FREQ_24MHz 24000000 +#else +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ +/* #define SYSCLK_FREQ_24MHz 24000000 */ +/* #define SYSCLK_FREQ_36MHz 36000000 */ +/* #define SYSCLK_FREQ_48MHz 48000000 */ +/* #define SYSCLK_FREQ_56MHz 56000000 */ +#define SYSCLK_FREQ_72MHz 72000000 +#endif + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM3210E-EVAL board (STM32 High density and XL-density devices) or on + STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) +/* #define DATA_IN_ExtSRAM */ +#endif + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Variables + * @{ + */ + +/******************************************************************************* +* Clock Definitions +*******************************************************************************/ +#ifdef SYSCLK_FREQ_HSE + uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_24MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_36MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_48MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_56MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_72MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ +#else /*!< HSI Selected as System Clock source */ + uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ +#endif + +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +#ifdef SYSCLK_FREQ_HSE + static void SetSysClockToHSE(void); +#elif defined SYSCLK_FREQ_24MHz + static void SetSysClockTo24(void); +#elif defined SYSCLK_FREQ_36MHz + static void SetSysClockTo36(void); +#elif defined SYSCLK_FREQ_48MHz + static void SetSysClockTo48(void); +#elif defined SYSCLK_FREQ_56MHz + static void SetSysClockTo56(void); +#elif defined SYSCLK_FREQ_72MHz + static void SetSysClockTo72(void); +#endif + +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ +#ifndef STM32F10X_CL + RCC->CFGR &= (uint32_t)0xF8FF0000; +#else + RCC->CFGR &= (uint32_t)0xF0FF0000; +#endif /* STM32F10X_CL */ + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + +#ifdef STM32F10X_CL + /* Reset PLL2ON and PLL3ON bits */ + RCC->CR &= (uint32_t)0xEBFFFFFF; + + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x00FF0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; +#endif /* STM32F10X_CL */ + +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + + /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ + /* Configure the Flash Latency cycles and enable prefetch buffer */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0; + +#ifdef STM32F10X_CL + uint32_t prediv1source = 0, prediv1factor = 0, prediv2factor = 0, pll2mull = 0; +#endif /* STM32F10X_CL */ + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + uint32_t prediv1factor = 0; +#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + +#ifndef STM32F10X_CL + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } +#else + pllmull = pllmull >> 18; + + if (pllmull != 0x0D) + { + pllmull += 2; + } + else + { /* PLL multiplication factor = PLL input clock * 6.5 */ + pllmull = 13 / 2; + } + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + {/* PREDIV1 selected as PLL clock entry */ + + /* Get PREDIV1 clock source and division factor */ + prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC; + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + + if (prediv1source == 0) + { + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + else + {/* PLL2 clock selected as PREDIV1 clock entry */ + + /* Get PREDIV2 division factor and PLL2 multiplication factor */ + prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4) + 1; + pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8 ) + 2; + SystemCoreClock = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull; + } + } +#endif /* STM32F10X_CL */ + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. + * @param None + * @retval None + */ +static void SetSysClock(void) +{ +#ifdef SYSCLK_FREQ_HSE + SetSysClockToHSE(); +#elif defined SYSCLK_FREQ_24MHz + SetSysClockTo24(); +#elif defined SYSCLK_FREQ_36MHz + SetSysClockTo36(); +#elif defined SYSCLK_FREQ_48MHz + SetSysClockTo48(); +#elif defined SYSCLK_FREQ_56MHz + SetSysClockTo56(); +#elif defined SYSCLK_FREQ_72MHz + SetSysClockTo72(); +#endif + + /* If none of the define above is enabled, the HSI is used as System clock + source (default after reset) */ +} + +/** + * @brief Setup the external memory controller. Called in startup_stm32f10x.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f10x_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114; + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0; + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BB; + GPIOD->CRH = 0xBBBBBBBB; + + GPIOE->CRL = 0xB44444BB; + GPIOE->CRH = 0xBBBBBBBB; + + GPIOF->CRL = 0x44BBBBBB; + GPIOF->CRH = 0xBBBB4444; + + GPIOG->CRL = 0x44BBBBBB; + GPIOG->CRH = 0x44444B44; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000200; +} +#endif /* DATA_IN_ExtSRAM */ + +#ifdef SYSCLK_FREQ_HSE +/** + * @brief Selects HSE as System clock source and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockToHSE(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + +#ifndef STM32F10X_CL + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#else + if (HSE_VALUE <= 24000000) + { + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; + } + else + { + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + } +#endif /* STM32F10X_CL */ +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* Select HSE as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; + + /* Wait till HSE is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_24MHz +/** + * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo24(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#ifdef STM32F10X_CL + /* Configure PLLs ------------------------------------------------------*/ + /* PLL configuration: PLLCLK = PREDIV1 * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | + RCC_CFGR_PLLMULL6); + + /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ + /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 10 = 4 MHz */ + RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | + RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); + RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | + RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV10); + + /* Enable PLL2 */ + RCC->CR |= RCC_CR_PLL2ON; + /* Wait till PLL2 is ready */ + while((RCC->CR & RCC_CR_PLL2RDY) == 0) + { + } +#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_CL */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_36MHz +/** + * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo36(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#ifdef STM32F10X_CL + /* Configure PLLs ------------------------------------------------------*/ + + /* PLL configuration: PLLCLK = PREDIV1 * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | + RCC_CFGR_PLLMULL9); + + /*!< PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ + /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 10 = 4 MHz */ + + RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | + RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); + RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | + RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV10); + + /* Enable PLL2 */ + RCC->CR |= RCC_CR_PLL2ON; + /* Wait till PLL2 is ready */ + while((RCC->CR & RCC_CR_PLL2RDY) == 0) + { + } + +#else + /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); +#endif /* STM32F10X_CL */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_48MHz +/** + * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo48(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + +#ifdef STM32F10X_CL + /* Configure PLLs ------------------------------------------------------*/ + /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ + /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ + + RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | + RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); + RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | + RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); + + /* Enable PLL2 */ + RCC->CR |= RCC_CR_PLL2ON; + /* Wait till PLL2 is ready */ + while((RCC->CR & RCC_CR_PLL2RDY) == 0) + { + } + + + /* PLL configuration: PLLCLK = PREDIV1 * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | + RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_CL */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_56MHz +/** + * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo56(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + +#ifdef STM32F10X_CL + /* Configure PLLs ------------------------------------------------------*/ + /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ + /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ + + RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | + RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); + RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | + RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); + + /* Enable PLL2 */ + RCC->CR |= RCC_CR_PLL2ON; + /* Wait till PLL2 is ready */ + while((RCC->CR & RCC_CR_PLL2RDY) == 0) + { + } + + + /* PLL configuration: PLLCLK = PREDIV1 * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | + RCC_CFGR_PLLMULL7); +#else + /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); + +#endif /* STM32F10X_CL */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_72MHz +/** + * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo72(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + +#ifdef STM32F10X_CL + /* Configure PLLs ------------------------------------------------------*/ + /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */ + /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */ + + RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL | + RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC); + RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 | + RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5); + + /* Enable PLL2 */ + RCC->CR |= RCC_CR_PLL2ON; + /* Wait till PLL2 is ready */ + while((RCC->CR & RCC_CR_PLL2RDY) == 0) + { + } + + + /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | + RCC_CFGR_PLLMULL9); +#else + /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | + RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); +#endif /* STM32F10X_CL */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#endif + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f37x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f37x.c new file mode 100644 index 0000000..943f188 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32f37x.c @@ -0,0 +1,380 @@ +/** + ****************************************************************************** + * @file system_stm32f37x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F37x devices, + * and is generated by the clock configuration tool + * STM32f37x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f37x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f37x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" defined + * in "stm32f37x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F37x device + *============================================================================= + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup STM32F37x_System + * @{ + */ + +/** @addtogroup STM32F37x_System_Private_Includes + * @{ + */ + +#include "stm32f37x.h" + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 72000000; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontrollers system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */ + RCC->CFGR &= (uint32_t)0x00FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and CECSW bits */ + RCC->CFGR3 &= (uint32_t)0xFFF0F8C; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + +/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32l1xx.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32l1xx.c new file mode 100644 index 0000000..1be659d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/system_stm32l1xx.c @@ -0,0 +1,533 @@ +/** + ****************************************************************************** + * @file system_stm32l1xx.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32L1xx Ultra + * Low Power devices, and is generated by the clock configuration + * tool "STM32L1xx_Clock_Configuration_V1.1.0.xls". + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32l1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and MSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * System Clock Configuration + *============================================================================= + * System Clock source | PLL(HSE) + *----------------------------------------------------------------------------- + * SYSCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * HCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * HSE Frequency | 8000000 Hz + *----------------------------------------------------------------------------- + * PLL DIV | 3 + *----------------------------------------------------------------------------- + * PLL MUL | 12 + *----------------------------------------------------------------------------- + * VDD | 3.3 V + *----------------------------------------------------------------------------- + * Vcore | 1.8 V (Range 1) + *----------------------------------------------------------------------------- + * Flash Latency | 1 WS + *----------------------------------------------------------------------------- + * SDIO clock (SDIOCLK) | 48000000 Hz + *----------------------------------------------------------------------------- + * Require 48MHz for USB clock | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32l1xx_system + * @{ + */ + +/** @addtogroup STM32L1xx_System_Private_Includes + * @{ + */ + +#include "stm32l1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM32L152D_EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 32000000; +__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48}; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /*!< Set MSION bit */ + RCC->CR |= (uint32_t)0x00000100; + + /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */ + RCC->CFGR &= (uint32_t)0x88FFC00C; + + /*!< Reset HSION, HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xEEFEFFFE; + + /*!< Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */ + RCC->CFGR &= (uint32_t)0xFF02FFFF; + + /*!< Disable all interrupts */ + RCC->CIR = 0x00000000; + +#ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM */ + + /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI + * value as defined by the MSI range. + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + case 0x04: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x08: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x0C: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmul = RCC->CFGR & RCC_CFGR_PLLMUL; + plldiv = RCC->CFGR & RCC_CFGR_PLLDIV; + pllmul = PLLMulTable[(pllmul >> 18)]; + plldiv = (plldiv >> 22) + 1; + + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + if (pllsource == 0x00) + { + /* HSI oscillator clock selected as PLL clock entry */ + SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv); + } + else + { + /* HSE selected as PLL clock entry */ + SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv); + } + break; + default: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable 64-bit access */ + FLASH->ACR |= FLASH_ACR_ACC64; + + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTEN; + + /* Flash 1 wait state */ + FLASH->ACR |= FLASH_ACR_LATENCY; + + /* Power enable */ + RCC->APB1ENR |= RCC_APB1ENR_PWREN; + + /* Select the Voltage Range 1 (1.8 V) */ + PWR->CR = PWR_CR_VOS_0; + + /* Wait Until the Voltage Regulator is ready */ + while((PWR->CSR & PWR_CSR_VOSF) != RESET) + { + } + + /* HCLK = SYSCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL | + RCC_CFGR_PLLDIV)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL12 | RCC_CFGR_PLLDIV3); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { + /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in SystemInit() function before jump to main. + * This function configures the external SRAM mounted on STM32L152D_EVAL board + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*-- GPIOs Configuration -----------------------------------------------------*/ +/* + +-------------------+--------------------+------------------+------------------+ + + SRAM pins assignment + + +-------------------+--------------------+------------------+------------------+ + | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | + | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | + | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | + | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | + | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | + | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | + | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 | + | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ + | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | + | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | + | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+ + | PD15 <-> FSMC_D1 |--------------------+ + +-------------------+ +*/ + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHBENR = 0x000080D8; + + /* Connect PDx pins to FSMC Alternate function */ + GPIOD->AFR[0] = 0x00CC00CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A0A; + /* Configure PDx pins speed to 40 MHz */ + GPIOD->OSPEEDR = 0xFFFF0F0F; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x00000000; + + /* Connect PEx pins to FSMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA800A; + /* Configure PEx pins speed to 40 MHz */ + GPIOE->OSPEEDR = 0xFFFFC00F; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x00000000; + + /* Connect PFx pins to FSMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 40 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x00000000; + + /* Connect PGx pins to FSMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x00000C00; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 40 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00000000; + +/*-- FSMC Configuration ------------------------------------------------------*/ + /* Enable the FSMC interface clock */ + RCC->AHBENR = 0x400080D8; + + /* Configure and enable Bank1_SRAM3 */ + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000300; + FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF; +/* + Bank1_SRAM3 is configured as follow: + + p.FSMC_AddressSetupTime = 0; + p.FSMC_AddressHoldTime = 0; + p.FSMC_DataSetupTime = 3; + p.FSMC_BusTurnAroundDuration = 0; + p.FSMC_CLKDivision = 0; + p.FSMC_DataLatency = 0; + p.FSMC_AccessMode = FSMC_AccessMode_A; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); +*/ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/dfu_mal.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/dfu_mal.h new file mode 100644 index 0000000..9ac6c57 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/dfu_mal.h @@ -0,0 +1,74 @@ +/** + ****************************************************************************** + * @file dfu_mal.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for dfu_mal.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __DFU_MAL_H +#define __DFU_MAL_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "dfu_mal.h" +#include "usb_desc.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +#define MAL_OK 0 +#define MAL_FAIL 1 +#define MAX_USED_MEDIA 3 +#define MAL_MASK 0xFC000000 + +#define INTERNAL_FLASH_BASE 0x08000000 +#define SPI_FLASH_BASE 0x00000000 +#define NOR_FLASH_BASE 0x64000000 + +#define NOR_M29W128F 0x2212 +#define NOR_M29W128G 0x2221 +#define NOR_S29GL128 0x2221 + +/* utils macro ---------------------------------------------------------------*/ +#define _1st_BYTE(x) (uint8_t)((x)&0xFF) /* 1st addressing cycle */ +#define _2nd_BYTE(x) (uint8_t)(((x)&0xFF00)>>8) /* 2nd addressing cycle */ +#define _3rd_BYTE(x) (uint8_t)(((x)&0xFF0000)>>16) /* 3rd addressing cycle */ +#define _4th_BYTE(x) (uint8_t)(((x)&0xFF000000)>>24) /* 4th addressing cycle */ +/* Exported macro ------------------------------------------------------------*/ +#define SET_POLLING_TIMING(x) buffer[1] = _1st_BYTE(x);\ + buffer[2] = _2nd_BYTE(x);\ + buffer[3] = _3rd_BYTE(x); + +/* Exported functions ------------------------------------------------------- */ + +uint16_t MAL_Init (void); +uint16_t MAL_Erase (uint32_t SectorAddress); +uint16_t MAL_Write (uint32_t SectorAddress, uint32_t DataLength); +uint8_t *MAL_Read (uint32_t SectorAddress, uint32_t DataLength); +uint16_t MAL_GetStatus(uint32_t SectorAddress ,uint8_t Cmd, uint8_t *buffer); + +extern uint8_t MAL_Buffer[wTransferSize]; /* RAM Buffer for Downloaded Data */ +#endif /* __DFU_MAL_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/flash_if.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/flash_if.h new file mode 100644 index 0000000..14e5556 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/flash_if.h @@ -0,0 +1,48 @@ +/** + ****************************************************************************** + * @file flash_if.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for flash_if.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __FLASH_IF_MAL_H +#define __FLASH_IF_MAL_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +uint16_t FLASH_If_Init(void); +uint16_t FLASH_If_Erase (uint32_t SectorAddress); +uint16_t FLASH_If_Write(uint32_t SectorAddress, uint32_t DataLength); +uint8_t *FLASH_If_Read (uint32_t SectorAddress, uint32_t DataLength); + +#endif /* __FLASH_IF_MAL_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/fsmc_nor.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/fsmc_nor.h new file mode 100644 index 0000000..61b5725 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/fsmc_nor.h @@ -0,0 +1,71 @@ +/** + ****************************************************************************** + * @file fsmc_nor.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for fsmc_nor.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __FSMC_NOR_H +#define __FSMC_NOR_H + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f10x.h" + +/* Exported types ------------------------------------------------------------*/ +typedef struct +{ + uint16_t Manufacturer_Code; + uint16_t Device_Code1; + uint16_t Device_Code2; + uint16_t Device_Code3; +}NOR_IDTypeDef; + +/* NOR Status */ +typedef enum +{ + NOR_SUCCESS = 0, + NOR_ONGOING, + NOR_ERROR, + NOR_TIMEOUT +}NOR_Status; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void FSMC_NOR_Init(void); +void FSMC_NOR_ReadID(NOR_IDTypeDef* NOR_ID); +NOR_Status FSMC_NOR_EraseBlock(uint32_t BlockAddr); +NOR_Status FSMC_NOR_EraseChip(void); +NOR_Status FSMC_NOR_WriteHalfWord(uint32_t WriteAddr, uint16_t Data); +NOR_Status FSMC_NOR_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite); +NOR_Status FSMC_NOR_ProgramBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite); +uint16_t FSMC_NOR_ReadHalfWord(uint32_t ReadAddr); +void FSMC_NOR_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead); +NOR_Status FSMC_NOR_ReturnToReadMode(void); +NOR_Status FSMC_NOR_Reset(void); +NOR_Status FSMC_NOR_GetStatus(uint32_t Timeout); + +#endif /* __FSMC_NOR_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/nor_if.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/nor_if.h new file mode 100644 index 0000000..23ebcaf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/nor_if.h @@ -0,0 +1,47 @@ +/** + ****************************************************************************** + * @file nor_if.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for nor_if.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __NOR_IF_MAL_H +#define __NOR_IF_MAL_H + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f10x.h" +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +uint16_t NOR_If_Init(void); +uint16_t NOR_If_Erase(uint32_t Address); +uint16_t NOR_If_Write(uint32_t Address, uint32_t DataLength); +uint8_t *NOR_If_Read(uint32_t Address, uint32_t DataLength); + +#endif /* __NOR_IF_MAL_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/platform_config.h new file mode 100644 index 0000000..d501b0f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/platform_config.h @@ -0,0 +1,160 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #include "spi_if.h" + #include "nor_if.h" + #include "fsmc_nor.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #include "stm3210b_eval_spi_flash.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval.h" + #include "stm3210e_eval_spi_flash.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL)&& !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) +//#define USE_STM3210B_EVAL +//#define USE_STM3210E_EVAL +//#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define USE_STM32373C_EVAL +#define USE_STM32303C_EVAL +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + +#elif defined (USE_STM32373C_EVAL) + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC + #define GPIO_KEY_EXTI_Line EXTI_Line18 + +#elif defined (USE_STM32303C_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB + #define GPIO_KEY_EXTI_Line EXTI_Line18 + +#endif /* USE_STM3210B_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32_it.h new file mode 100644 index 0000000..f139828 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32_it.h @@ -0,0 +1,55 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32l1xx_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32l1xx_conf.h new file mode 100644 index 0000000..ae4a251 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/stm32l1xx_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32l1xx_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L1xx_CONF_H +#define __STM32L1xx_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32l1xx_adc.h" +#include "stm32l1xx_crc.h" +#include "stm32l1xx_comp.h" +#include "stm32l1xx_dac.h" +#include "stm32l1xx_dbgmcu.h" +#include "stm32l1xx_dma.h" +#include "stm32l1xx_exti.h" +#include "stm32l1xx_flash.h" +#include "stm32l1xx_gpio.h" +#include "stm32l1xx_syscfg.h" +#include "stm32l1xx_i2c.h" +#include "stm32l1xx_iwdg.h" +#include "stm32l1xx_lcd.h" +#include "stm32l1xx_pwr.h" +#include "stm32l1xx_rcc.h" +#include "stm32l1xx_rtc.h" +#include "stm32l1xx_spi.h" +#include "stm32l1xx_tim.h" +#include "stm32l1xx_usart.h" +#include "stm32l1xx_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval : None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32L1xx_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_desc.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_desc.h new file mode 100644 index 0000000..53ff670 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_desc.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file usb_desc.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptor Header for Device Firmware Upgrade (DFU) + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_DESC_H +#define __USB_DESC_H +#include "platform_config.h" + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +#define DFU_SIZ_DEVICE_DESC 18 + +#ifdef USE_STM3210B_EVAL + #define DFU_SIZ_CONFIG_DESC 36 +#elif defined(USE_STM3210E_EVAL) + #define DFU_SIZ_CONFIG_DESC 45 +#elif defined(USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) || defined(USE_STM32373C_EVAL) || defined(USE_STM32303C_EVAL) + #define DFU_SIZ_CONFIG_DESC 27 +#endif /* USE_STM3210B_EVAL */ + +#define DFU_SIZ_STRING_LANGID 4 +#define DFU_SIZ_STRING_VENDOR 38 +#define DFU_SIZ_STRING_PRODUCT 20 +#define DFU_SIZ_STRING_SERIAL 26 +#define DFU_SIZ_STRING_INTERFACE0 98 /* Flash Bank 0 */ + +#define DFU_SIZ_STRING_INTERFACE1 98 /* SPI Flash : M25P64*/ +#define DFU_SIZ_STRING_INTERFACE2 106 /* NOR Flash : M26M128*/ + +extern uint8_t DFU_DeviceDescriptor[DFU_SIZ_DEVICE_DESC]; +extern uint8_t DFU_ConfigDescriptor[DFU_SIZ_CONFIG_DESC]; +extern uint8_t DFU_StringLangId [DFU_SIZ_STRING_LANGID]; +extern uint8_t DFU_StringVendor [DFU_SIZ_STRING_VENDOR]; +extern uint8_t DFU_StringProduct [DFU_SIZ_STRING_PRODUCT]; +extern uint8_t DFU_StringSerial [DFU_SIZ_STRING_SERIAL]; +extern uint8_t DFU_StringInterface0 [DFU_SIZ_STRING_INTERFACE0]; +extern uint8_t DFU_StringInterface1 [DFU_SIZ_STRING_INTERFACE1]; +extern uint8_t DFU_StringInterface2_1 [DFU_SIZ_STRING_INTERFACE2]; +extern uint8_t DFU_StringInterface2_2 [DFU_SIZ_STRING_INTERFACE2]; +extern uint8_t DFU_StringInterface2_3 [DFU_SIZ_STRING_INTERFACE2]; + +#define bMaxPacketSize0 0x40 /* bMaxPacketSize0 = 64 bytes */ + +#define wTransferSize 0x0400 /* wTransferSize = 1024 bytes */ +/* bMaxPacketSize0 <= wTransferSize <= 32kbytes */ +#define wTransferSizeB0 0x00 +#define wTransferSizeB1 0x04 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +/* External variables --------------------------------------------------------*/ + +#endif /* __USB_DESC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_prop.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_prop.h new file mode 100644 index 0000000..ec8b2a3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_prop.h @@ -0,0 +1,141 @@ +/** + ****************************************************************************** + * @file usb_prop.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to DFU demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PROP_H +#define __USB_PROP_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void DFU_init(void); +void DFU_Reset(void); +void DFU_SetConfiguration(void); +void DFU_SetDeviceAddress (void); +void DFU_Status_In (void); +void DFU_Status_Out (void); +RESULT DFU_Data_Setup(uint8_t); +RESULT DFU_NoData_Setup(uint8_t); +RESULT DFU_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting); +uint8_t *DFU_GetDeviceDescriptor(uint16_t ); +uint8_t *DFU_GetConfigDescriptor(uint16_t); +uint8_t *DFU_GetStringDescriptor(uint16_t); +uint8_t *UPLOAD(uint16_t Length); +uint8_t *DNLOAD(uint16_t Length); +uint8_t *GETSTATE(uint16_t Length); +uint8_t *GETSTATUS(uint16_t Length); +void DFU_write_crc (void); + +/* External variables --------------------------------------------------------*/ + +#define DFU_GetConfiguration NOP_Process +//#define DFU_SetConfiguration NOP_Process +#define DFU_GetInterface NOP_Process +#define DFU_SetInterface NOP_Process +#define DFU_GetStatus NOP_Process +#define DFU_ClearFeature NOP_Process +#define DFU_SetEndPointFeature NOP_Process +#define DFU_SetDeviceFeature NOP_Process +//#define DFU_SetDeviceAddress NOP_Process + +/*---------------------------------------------------------------------*/ +/* DFU definitions */ +/*---------------------------------------------------------------------*/ + +/**************************************************/ +/* DFU Requests */ +/**************************************************/ + +typedef enum _DFU_REQUESTS { + DFU_DNLOAD = 1, + DFU_UPLOAD, + DFU_GETSTATUS, + DFU_CLRSTATUS, + DFU_GETSTATE, + DFU_ABORT +} DFU_REQUESTS; + +/**************************************************/ +/* DFU Requests DFU states */ +/**************************************************/ + + +#define STATE_appIDLE 0 +#define STATE_appDETACH 1 +#define STATE_dfuIDLE 2 +#define STATE_dfuDNLOAD_SYNC 3 +#define STATE_dfuDNBUSY 4 +#define STATE_dfuDNLOAD_IDLE 5 +#define STATE_dfuMANIFEST_SYNC 6 +#define STATE_dfuMANIFEST 7 +#define STATE_dfuMANIFEST_WAIT_RESET 8 +#define STATE_dfuUPLOAD_IDLE 9 +#define STATE_dfuERROR 10 + +/**************************************************/ +/* DFU Requests DFU status */ +/**************************************************/ + +#define STATUS_OK 0x00 +#define STATUS_ERRTARGET 0x01 +#define STATUS_ERRFILE 0x02 +#define STATUS_ERRWRITE 0x03 +#define STATUS_ERRERASE 0x04 +#define STATUS_ERRCHECK_ERASED 0x05 +#define STATUS_ERRPROG 0x06 +#define STATUS_ERRVERIFY 0x07 +#define STATUS_ERRADDRESS 0x08 +#define STATUS_ERRNOTDONE 0x09 +#define STATUS_ERRFIRMWARE 0x0A +#define STATUS_ERRVENDOR 0x0B +#define STATUS_ERRUSBR 0x0C +#define STATUS_ERRPOR 0x0D +#define STATUS_ERRUNKNOWN 0x0E +#define STATUS_ERRSTALLEDPKT 0x0F + +/**************************************************/ +/* DFU Requests DFU states Manifestation State */ +/**************************************************/ + +#define Manifest_complete 0x00 +#define Manifest_In_Progress 0x01 + + +/**************************************************/ +/* Special Commands with Download Request */ +/**************************************************/ + +#define CMD_GETCOMMANDS 0x00 +#define CMD_SETADDRESSPOINTER 0x21 +#define CMD_ERASE 0x41 + +#endif /* __USB_PROP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_pwr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_pwr.h new file mode 100644 index 0000000..3f56f16 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/inc/usb_pwr.h @@ -0,0 +1,68 @@ +/** + ****************************************************************************** + * @file usb_pwr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PWR_H +#define __USB_PWR_H +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _RESUME_STATE +{ + RESUME_EXTERNAL, + RESUME_INTERNAL, + RESUME_LATER, + RESUME_WAIT, + RESUME_START, + RESUME_ON, + RESUME_OFF, + RESUME_ESOF +} RESUME_STATE; + +typedef enum _DEVICE_STATE +{ + UNCONNECTED, + ATTACHED, + POWERED, + SUSPENDED, + ADDRESSED, + CONFIGURED +} DEVICE_STATE; +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Suspend(void); +void Resume_Init(void); +void Resume(RESUME_STATE eResumeSetVal); +RESULT PowerOn(void); +RESULT PowerOff(void); +/* External variables --------------------------------------------------------*/ +extern __IO uint32_t bDeviceState; /* USB device status */ +extern __IO bool fSuspendEnabled; /* true when suspend is possible */ + +#endif /*__USB_PWR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/readme.txt new file mode 100644 index 0000000..25ca5c0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/readme.txt @@ -0,0 +1,173 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB Device_Firmware_Upgrade Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +This Demo presents the implementation of a device firmware upgrade (DFU) capability +in the STM32F10xxx, STM32F37xxx, STM32F30xxx and STM32L15xxx microcontrollers. It follows the DFU class +specification defined by the USB Implementers Forum for reprogramming an application +through USB-FS-Device. +The DFU principle is particularly well suited to USB-FS-Device applications that +need to be reprogrammed in the field. + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \binary_template: contains a set of sources files that build the application + to be loaded with DFU + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured project for EWARM toolchain + + \RIDE: contains preconfigured project for RIDE toolchain + + \MDK-ARM: contains preconfigured project for MDK-ARM toolchain + + \TASKING: contains preconfigured project for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + +Note: After each device reset, hold down the Key push-button on the STM3210B-EVAL + or STM3210E-EVAL or STM32L152D-EVAL or STM32F373C-EVAL evaluation boards or the Up push button + on STM32L152-EVAL evaluation board to enter the DFU mode. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + + - STM32L152-EVAL Set-up + - None. + - Note that the JoyStick Up push button is used to enter DFU mode. + + - STM32L152D-EVAL Set-up + - None. + + - STM32F373C-EVAL Set-up + - None. + + - STM32F303C-EVAL Set-up + - None. + +How to use it +============= + + EWARM + - Open the DFU.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the DFU.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the DFU.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/dfu_mal.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/dfu_mal.c new file mode 100644 index 0000000..b0e8366 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/dfu_mal.c @@ -0,0 +1,253 @@ +/** + ****************************************************************************** + * @file dfu_mal.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Generic media access Layer + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "dfu_mal.h" +#include "usb_lib.h" +#include "usb_type.h" +#include "usb_desc.h" +#include "flash_if.h" + +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS)&& !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) + #include "spi_if.h" + + #include "nor_if.h" + #include "fsmc_nor.h" +#endif /* STM32L1XX_MD && USE_STM32373C_EVAL*/ +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint16_t (*pMAL_Init) (void); +uint16_t (*pMAL_Erase) (uint32_t SectorAddress); +uint16_t (*pMAL_Write) (uint32_t SectorAddress, uint32_t DataLength); +uint8_t *(*pMAL_Read) (uint32_t SectorAddress, uint32_t DataLength); +uint8_t MAL_Buffer[wTransferSize]; /* RAM Buffer for Downloaded Data */ + +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS)&& !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) + NOR_IDTypeDef NOR_ID; +#endif /* STM32L1XX_XD */ + +extern ONE_DESCRIPTOR DFU_String_Descriptor[7]; + +/* This table holds the Typical Sector Erase and 1024 Bytes Write timings. + These timings will be returned to the host when it checks the device + status during a write or erase operation to know how much time the host + should wait before issuing the next get status request. + These defines are set in usb_conf.h file. + The values of this table should be extracted from relative memories + datasheet (Typical or Maximum timming value for Sector Erase and for + 1024 bytes Write). All timings are expressed in millisecond unit (ms). + Note that "Sector" refers here to the memory unit used for Erase/Write + operations. It could be a sector, a page, a block, a word ... + If the erase operation is not supported, it is advised to set the erase + timing to 1 (which means 1ms: one USB frame). */ +static const uint16_t TimingTable[5][2] = + { /* Sector Erase time, Sector Program time*/ + { SPI_FLASH_SECTOR_ERASE_TIME, SPI_FLASH_SECTOR_WRITE_TIME }, /* SPI Flash */ + { M29W128F_SECTOR_ERASE_TIME, M29W128F_SECTOR_WRITE_TIME }, /* NOR Flash M29W128F */ + { INTERN_FLASH_SECTOR_ERASE_TIME, INTERN_FLASH_SECTOR_WRITE_TIME }, /* Internal Flash */ + { M29W128G_SECTOR_ERASE_TIME, M29W128G_SECTOR_WRITE_TIME }, /* NOR Flash M29W128G */ + { S29GL128_SECTOR_ERASE_TIME, S29GL128_SECTOR_WRITE_TIME } /* NOR Flash S29GL128 */ + }; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : MAL_Init +* Description : Initializes the Media on the STM32 +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Init(void) +{ + + FLASH_If_Init(); /* Internal Flash */ + +#if defined(USE_STM3210B_EVAL) || defined(USE_STM3210E_EVAL) + SPI_If_Init(); /* SPI Flash */ +#endif /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + +#ifdef USE_STM3210E_EVAL + NOR_If_Init(); /* NOR Flash */ + FSMC_NOR_ReadID(&NOR_ID); + + FSMC_NOR_ReturnToReadMode(); + + /* select the alternate descriptor following NOR ID */ + if ((NOR_ID.Manufacturer_Code == 0x01)&&(NOR_ID.Device_Code2 == NOR_S29GL128)) + { + DFU_String_Descriptor[6].Descriptor = DFU_StringInterface2_3; + } + + /* select the alternate descriptor following NOR ID */ + if ((NOR_ID.Manufacturer_Code == 0x20)&&(NOR_ID.Device_Code2 == NOR_M29W128G)) + { + DFU_String_Descriptor[6].Descriptor = DFU_StringInterface2_2; + } +#endif /* USE_STM3210E_EVAL */ + + return MAL_OK; +} + +/******************************************************************************* +* Function Name : MAL_Erase +* Description : Erase sector +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Erase(uint32_t SectorAddress) +{ + + switch (SectorAddress & MAL_MASK) + { + case INTERNAL_FLASH_BASE: + pMAL_Erase = FLASH_If_Erase; + break; + +#if defined(USE_STM3210B_EVAL) || defined(USE_STM3210E_EVAL) + case SPI_FLASH_BASE: + pMAL_Erase = SPI_If_Erase; + break; +#endif /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + +#ifdef USE_STM3210E_EVAL + case NOR_FLASH_BASE: + pMAL_Erase = NOR_If_Erase; + break; +#endif /* USE_STM3210E_EVAL */ + + default: + return MAL_FAIL; + } + return pMAL_Erase(SectorAddress); +} + +/******************************************************************************* +* Function Name : MAL_Write +* Description : Write sectors +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Write (uint32_t SectorAddress, uint32_t DataLength) +{ + + switch (SectorAddress & MAL_MASK) + { + case INTERNAL_FLASH_BASE: + pMAL_Write = FLASH_If_Write; + break; + +#if defined(USE_STM3210B_EVAL) || defined(USE_STM3210E_EVAL) + case SPI_FLASH_BASE: + pMAL_Write = SPI_If_Write; + break; +#endif /* USE_STM3210B_EVAL || USE_STM3210E_EVAL */ + +#ifdef USE_STM3210E_EVAL + case NOR_FLASH_BASE: + pMAL_Write = NOR_If_Write; + break; +#endif /* USE_STM3210E_EVAL */ + default: + return MAL_FAIL; + } + return pMAL_Write(SectorAddress, DataLength); +} + +/******************************************************************************* +* Function Name : MAL_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : Buffer pointer +*******************************************************************************/ +uint8_t *MAL_Read (uint32_t SectorAddress, uint32_t DataLength) +{ + + switch (SectorAddress & MAL_MASK) + { + case INTERNAL_FLASH_BASE: + pMAL_Read = FLASH_If_Read; + break; + +#if defined(USE_STM3210B_EVAL) || defined(USE_STM3210E_EVAL) + case SPI_FLASH_BASE: + pMAL_Read = SPI_If_Read; + break; +#endif /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + +#ifdef USE_STM3210E_EVAL + case NOR_FLASH_BASE: + pMAL_Read = NOR_If_Read; + break; +#endif /* USE_STM3210E_EVAL */ + + default: + return 0; + } + return pMAL_Read (SectorAddress, DataLength); +} + +/******************************************************************************* +* Function Name : MAL_GetStatus +* Description : Get status +* Input : None +* Output : None +* Return : Buffer pointer +*******************************************************************************/ +uint16_t MAL_GetStatus(uint32_t SectorAddress , uint8_t Cmd, uint8_t *buffer) +{ + uint8_t x = (SectorAddress >> 26) & 0x03 ; /* 0x000000000 --> 0 */ + /* 0x640000000 --> 1 */ + /* 0x080000000 --> 2 */ + + uint8_t y = Cmd & 0x01; + +#if defined(USE_STM3210E_EVAL) + if ((x == 1) && (NOR_ID.Device_Code2 == NOR_M29W128G)&& (NOR_ID.Manufacturer_Code == 0x20)) + { + x = 3 ; + } + else if((x == 1) && (NOR_ID.Device_Code2 == NOR_S29GL128) && (NOR_ID.Manufacturer_Code == 0x01)) + { + x = 4 ; + } +#endif /* USE_STM3210E_EVAL */ + + SET_POLLING_TIMING(TimingTable[x][y]); /* x: Erase/Write Timing */ + /* y: Media */ + return MAL_OK; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/flash_if.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/flash_if.c new file mode 100644 index 0000000..e6caf41 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/flash_if.c @@ -0,0 +1,171 @@ +/** + ****************************************************************************** + * @file flash_if.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief specific media access Layer for internal flash + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "flash_if.h" +#include "dfu_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + uint32_t tHalfPage1[128/4]; + uint32_t tHalfPage2[128/4]; +#endif /* STM32L1XX_XD */ + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : FLASH_If_Init +* Description : Initializes the Media on the STM32 +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t FLASH_If_Init(void) +{ + return MAL_OK; +} + +/******************************************************************************* +* Function Name : FLASH_If_Erase +* Description : Erase sector +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t FLASH_If_Erase(uint32_t SectorAddress) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + FLASH_ClearFlag(FLASH_FLAG_PGAERR | FLASH_FLAG_OPTVERR); + FLASH_ErasePage(SectorAddress); +#else + FLASH_ErasePage(SectorAddress); +#endif /* STM32L1XX_XD */ + + return MAL_OK; +} + +/******************************************************************************* +* Function Name : FLASH_If_Write +* Description : Write sectors +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t FLASH_If_Write(uint32_t SectorAddress, uint32_t DataLength) +{ + uint32_t idx = 0; +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + __IO uint32_t* malPointer = (uint32_t *)MAL_Buffer; + __IO uint32_t* memPointer = (uint32_t *)SectorAddress; + __IO uint32_t memBuffer[32]; /* Temporary buffer holding data that will be written in a half-page space */ + __IO uint32_t* mempBuffer = memBuffer; + __IO uint32_t* tmp; +#endif /* STM32L1XX_XD */ + + if (DataLength & 0x3) /* Not an aligned data */ + { + for (idx = DataLength; idx < ((DataLength & 0xFFFC) + 4); idx++) + { + MAL_Buffer[idx] = 0xFF; + } + } + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + /* Reinitialize the intermediate buffer pointer */ + mempBuffer = memBuffer; + + /* If the address is not aligned to half-page fill the first location with existing data */ + if (((uint32_t)memPointer & 0x7F) != 0) + { + /* get the aligned address */ + tmp = (uint32_t *)((uint32_t)memPointer & 0xFFFFFF80); + + /* Read the first part from the memory */ + while (tmp < memPointer) + { + *(uint32_t *)(mempBuffer++) = *(uint32_t *)(tmp++); + } + } + + while (malPointer < (uint32_t*)(MAL_Buffer + DataLength)) + { + /* Fill with the received buffer */ + while (mempBuffer < (memBuffer + 32)) + { + /* If there are still data available in the received buffer */ + if (malPointer < ((uint32_t *)MAL_Buffer + DataLength)) + { + *(uint32_t *)(mempBuffer++) = *(uint32_t *)(malPointer++); + } + else /* no more data available in the received buffer: fill remaining with dummy 0 */ + { + *(uint32_t *)(mempBuffer++) = 0; + } + } + + /* Write the buffer to the memory*/ + FLASH_ProgramHalfPage(((uint32_t)memPointer & 0xFFFFFF80), (uint32_t *)(memBuffer)); + + /* Increment the memory pointer */ + memPointer = (uint32_t *)(((uint32_t)memPointer & 0xFFFFFF80) + (32*4)); + + /* Reinitialize the intermediate buffer pointer */ + mempBuffer = memBuffer; + } + +#else + + /* Data received are Word multiple */ + for (idx = 0; idx < DataLength; idx = idx + 4) + { + FLASH_ProgramWord(SectorAddress, *(uint32_t *)(MAL_Buffer + idx)); + SectorAddress += 4; + } +#endif /* STM32L1XX_XD */ + + return MAL_OK; +} + +/******************************************************************************* +* Function Name : FLASH_If_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : buffer address pointer +*******************************************************************************/ +uint8_t *FLASH_If_Read (uint32_t SectorAddress, uint32_t DataLength) +{ + return (uint8_t*)(SectorAddress); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/fsmc_nor.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/fsmc_nor.c new file mode 100644 index 0000000..cdcfcdf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/fsmc_nor.c @@ -0,0 +1,427 @@ +/** + ****************************************************************************** + * @file fsmc_nor.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file provides a set of functions needed to drive the M29W128FL, + * M29W128GL and S29GL128P NOR memories mounted on STM3210E-EVAL board. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "fsmc_nor.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +#define Bank1_NOR2_ADDR ((uint32_t)0x64000000) + +/* Delay definition */ +#define BlockErase_Timeout ((uint32_t)0x00A00000) +#define ChipErase_Timeout ((uint32_t)0x30000000) +#define Program_Timeout ((uint32_t)0x00001400) + +/* Private macro -------------------------------------------------------------*/ +#define ADDR_SHIFT(A) (Bank1_NOR2_ADDR + (2 * (A))) +#define NOR_WRITE(Address, Data) (*(__IO uint16_t *)(Address) = (Data)) + +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : FSMC_NOR_Init +* Description : Configures the FSMC and GPIOs to interface with the NOR memory. +* This function must be called before any write/read operation +* on the NOR. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NOR_Init(void) +{ + FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; + FSMC_NORSRAMTimingInitTypeDef p; + GPIO_InitTypeDef GPIO_InitStructure; + + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | + RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG, ENABLE); + + /*-- GPIO Configuration ------------------------------------------------------*/ + /* NOR Data lines configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | + GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOD, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | + GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | + GPIO_Pin_14 | GPIO_Pin_15; + GPIO_Init(GPIOE, &GPIO_InitStructure); + + /* NOR Address lines configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | + GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 | + GPIO_Pin_14 | GPIO_Pin_15; + GPIO_Init(GPIOF, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | + GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5; + GPIO_Init(GPIOG, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13; + GPIO_Init(GPIOD, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6; + GPIO_Init(GPIOE, &GPIO_InitStructure); + + /* NOE and NWE configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5; + GPIO_Init(GPIOD, &GPIO_InitStructure); + + /* NE2 configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; + GPIO_Init(GPIOG, &GPIO_InitStructure); + + /*-- FSMC Configuration ----------------------------------------------------*/ + p.FSMC_AddressSetupTime = 0x02; + p.FSMC_AddressHoldTime = 0x00; + p.FSMC_DataSetupTime = 0x05; + p.FSMC_BusTurnAroundDuration = 0x00; + p.FSMC_CLKDivision = 0x00; + p.FSMC_DataLatency = 0x00; + p.FSMC_AccessMode = FSMC_AccessMode_B; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + /* Enable FSMC Bank1_NOR Bank */ + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM2, ENABLE); +} + +/****************************************************************************** +* Function Name : FSMC_NOR_ReadID +* Description : Reads NOR memory's Manufacturer and Device Code. +* Input : - NOR_ID: pointer to a NOR_IDTypeDef structure which will hold +* the Manufacturer and Device Code. +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NOR_ReadID(NOR_IDTypeDef* NOR_ID) +{ + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x0090); + + NOR_ID->Manufacturer_Code = *(__IO uint16_t *) ADDR_SHIFT(0x0000); + NOR_ID->Device_Code1 = *(__IO uint16_t *) ADDR_SHIFT(0x0001); + NOR_ID->Device_Code2 = *(__IO uint16_t *) ADDR_SHIFT(0x000E); + NOR_ID->Device_Code3 = *(__IO uint16_t *) ADDR_SHIFT(0x000F); +} + +/******************************************************************************* +* Function Name : FSMC_NOR_EraseBlock +* Description : Erases the specified Nor memory block. +* Input : - BlockAddr: address of the block to erase. +* Output : None +* Return : NOR_Status:The returned value can be: NOR_SUCCESS, NOR_ERROR +* or NOR_TIMEOUT +*******************************************************************************/ +NOR_Status FSMC_NOR_EraseBlock(uint32_t BlockAddr) +{ + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x0080); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE((Bank1_NOR2_ADDR + BlockAddr), 0x30); + + return (FSMC_NOR_GetStatus(BlockErase_Timeout)); +} + +/******************************************************************************* +* Function Name : FSMC_NOR_EraseChip +* Description : Erases the entire chip. +* Input : None +* Output : None +* Return : NOR_Status:The returned value can be: NOR_SUCCESS, NOR_ERROR +* or NOR_TIMEOUT +*******************************************************************************/ +NOR_Status FSMC_NOR_EraseChip(void) +{ + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x0080); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x0010); + + return (FSMC_NOR_GetStatus(ChipErase_Timeout)); +} + +/****************************************************************************** +* Function Name : FSMC_NOR_WriteHalfWord +* Description : Writes a half-word to the NOR memory. +* Input : - WriteAddr : NOR memory internal address to write to. +* - Data : Data to write. +* Output : None +* Return : NOR_Status:The returned value can be: NOR_SUCCESS, NOR_ERROR +* or NOR_TIMEOUT +*******************************************************************************/ +NOR_Status FSMC_NOR_WriteHalfWord(uint32_t WriteAddr, uint16_t Data) +{ + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00A0); + NOR_WRITE((Bank1_NOR2_ADDR + WriteAddr), Data); + + return (FSMC_NOR_GetStatus(Program_Timeout)); +} + +/******************************************************************************* +* Function Name : FSMC_NOR_WriteBuffer +* Description : Writes a half-word buffer to the FSMC NOR memory. +* Input : - pBuffer : pointer to buffer. +* - WriteAddr : NOR memory internal address from which the data +* will be written. +* - NumHalfwordToWrite : number of Half words to write. +* Output : None +* Return : NOR_Status:The returned value can be: NOR_SUCCESS, NOR_ERROR +* or NOR_TIMEOUT +*******************************************************************************/ +NOR_Status FSMC_NOR_WriteBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) +{ + NOR_Status status = NOR_ONGOING; + + do + { + /* Transfer data to the memory */ + status = FSMC_NOR_WriteHalfWord(WriteAddr, *pBuffer++); + WriteAddr = WriteAddr + 2; + NumHalfwordToWrite--; + } + while((status == NOR_SUCCESS) && (NumHalfwordToWrite != 0)); + + return (status); +} + +/******************************************************************************* +* Function Name : FSMC_NOR_ProgramBuffer +* Description : Writes a half-word buffer to the FSMC NOR memory. This function +* must be used only with S29GL128P NOR memory. +* Input : - pBuffer : pointer to buffer. +* - WriteAddr: NOR memory internal address from which the data +* will be written. +* - NumHalfwordToWrite: number of Half words to write. +* The maximum allowed value is 32 Half words (64 bytes). +* Output : None +* Return : NOR_Status:The returned value can be: NOR_SUCCESS, NOR_ERROR +* or NOR_TIMEOUT +*******************************************************************************/ +NOR_Status FSMC_NOR_ProgramBuffer(uint16_t* pBuffer, uint32_t WriteAddr, uint32_t NumHalfwordToWrite) +{ + uint32_t lastloadedaddress = 0x00; + uint32_t currentaddress = 0x00; + uint32_t endaddress = 0x00; + + /* Initialize variables */ + currentaddress = WriteAddr; + endaddress = WriteAddr + NumHalfwordToWrite - 1; + lastloadedaddress = WriteAddr; + + /* Issue unlock command sequence */ + NOR_WRITE(ADDR_SHIFT(0x00555), 0x00AA); + + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + + /* Write Write Buffer Load Command */ + NOR_WRITE(ADDR_SHIFT(WriteAddr), 0x0025); + NOR_WRITE(ADDR_SHIFT(WriteAddr), (NumHalfwordToWrite - 1)); + + /* Load Data into NOR Buffer */ + while(currentaddress <= endaddress) + { + /* Store last loaded address & data value (for polling) */ + lastloadedaddress = currentaddress; + + NOR_WRITE(ADDR_SHIFT(currentaddress), *pBuffer++); + currentaddress += 1; + } + + NOR_WRITE(ADDR_SHIFT(lastloadedaddress), 0x29); + + return(FSMC_NOR_GetStatus(Program_Timeout)); +} + +/****************************************************************************** +* Function Name : FSMC_NOR_ReadHalfWord +* Description : Reads a half-word from the NOR memory. +* Input : - ReadAddr : NOR memory internal address to read from. +* Output : None +* Return : Half-word read from the NOR memory +*******************************************************************************/ +uint16_t FSMC_NOR_ReadHalfWord(uint32_t ReadAddr) +{ + NOR_WRITE(ADDR_SHIFT(0x00555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x002AA), 0x0055); + NOR_WRITE((Bank1_NOR2_ADDR + ReadAddr), 0x00F0 ); + + return (*(__IO uint16_t *)((Bank1_NOR2_ADDR + ReadAddr))); +} + +/******************************************************************************* +* Function Name : FSMC_NOR_ReadBuffer +* Description : Reads a block of data from the FSMC NOR memory. +* Input : - pBuffer : pointer to the buffer that receives the data read +* from the NOR memory. +* - ReadAddr : NOR memory internal address to read from. +* - NumHalfwordToRead : number of Half word to read. +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NOR_ReadBuffer(uint16_t* pBuffer, uint32_t ReadAddr, uint32_t NumHalfwordToRead) +{ + NOR_WRITE(ADDR_SHIFT(0x0555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x02AA), 0x0055); + NOR_WRITE((Bank1_NOR2_ADDR + ReadAddr), 0x00F0); + + for(; NumHalfwordToRead != 0x00; NumHalfwordToRead--) /* while there is data to read */ + { + /* Read a Halfword from the NOR */ + *pBuffer++ = *(__IO uint16_t *)((Bank1_NOR2_ADDR + ReadAddr)); + ReadAddr = ReadAddr + 2; + } +} + +/****************************************************************************** +* Function Name : FSMC_NOR_ReturnToReadMode +* Description : Returns the NOR memory to Read mode. +* Input : None +* Output : None +* Return : NOR_SUCCESS +*******************************************************************************/ +NOR_Status FSMC_NOR_ReturnToReadMode(void) +{ + NOR_WRITE(Bank1_NOR2_ADDR, 0x00F0); + + return (NOR_SUCCESS); +} + +/****************************************************************************** +* Function Name : FSMC_NOR_Reset +* Description : Returns the NOR memory to Read mode and resets the errors in +* the NOR memory Status Register. +* Input : None +* Output : None +* Return : NOR_SUCCESS +*******************************************************************************/ +NOR_Status FSMC_NOR_Reset(void) +{ + NOR_WRITE(ADDR_SHIFT(0x00555), 0x00AA); + NOR_WRITE(ADDR_SHIFT(0x002AA), 0x0055); + NOR_WRITE(Bank1_NOR2_ADDR, 0x00F0); + + return (NOR_SUCCESS); +} + +/****************************************************************************** +* Function Name : FSMC_NOR_GetStatus +* Description : Returns the NOR operation status. +* Input : - Timeout: NOR programming Timeout +* Output : None +* Return : NOR_Status:The returned value can be: NOR_SUCCESS, NOR_ERROR +* or NOR_TIMEOUT +*******************************************************************************/ +NOR_Status FSMC_NOR_GetStatus(uint32_t Timeout) +{ + uint16_t val1 = 0x00, val2 = 0x00; + NOR_Status status = NOR_ONGOING; + uint32_t timeout = Timeout; + + /* Poll on NOR memory Ready/Busy signal ------------------------------------*/ + while((GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_6) != RESET) && (timeout > 0)) + { + timeout--; + } + + timeout = Timeout; + + while((GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_6) == RESET) && (timeout > 0)) + { + timeout--; + } + + /* Get the NOR memory operation status -------------------------------------*/ + while((Timeout != 0x00) && (status != NOR_SUCCESS)) + { + Timeout--; + + /* Read DQ6 and DQ5 */ + val1 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); + val2 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); + + /* If DQ6 did not toggle between the two reads then return NOR_Success */ + if((val1 & 0x0040) == (val2 & 0x0040)) + { + return NOR_SUCCESS; + } + + if((val1 & 0x0020) != 0x0020) + { + status = NOR_ONGOING; + } + + val1 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); + val2 = *(__IO uint16_t *)(Bank1_NOR2_ADDR); + + if((val1 & 0x0040) == (val2 & 0x0040)) + { + return NOR_SUCCESS; + } + else if((val1 & 0x0020) == 0x0020) + { + return NOR_ERROR; + } + } + + if(Timeout == 0x00) + { + status = NOR_TIMEOUT; + } + + /* Return the operation status */ + return (status); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/spi_if.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/spi_if.c new file mode 100644 index 0000000..8588f39 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/spi_if.c @@ -0,0 +1,110 @@ +/** + ****************************************************************************** + * @file spi_if.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief specific media access Layer for SPI flash + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "spi_if.h" +#include "dfu_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : SPI_If_Init +* Description : Initializes the Media on the STM32 +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t SPI_If_Init(void) +{ + sFLASH_Init(); + return MAL_OK; +} + +/******************************************************************************* +* Function Name : SPI_If_Erase +* Description : Erase sector +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t SPI_If_Erase(uint32_t SectorAddress) +{ + sFLASH_EraseSector(SectorAddress); + return MAL_OK; +} + +/******************************************************************************* +* Function Name : SPI_If_Write +* Description : Write sectors +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t SPI_If_Write(uint32_t SectorAddress, uint32_t DataLength) +{ + uint32_t idx, pages; + + pages = (((DataLength & 0xFF00)) >> 8); + + if (DataLength & 0xFF) /* Not a 256 aligned data */ + { + for ( idx = DataLength; idx < ((DataLength & 0xFF00) + 0x100) ; idx++) + { + MAL_Buffer[idx] = 0xFF; + } + pages = (((DataLength & 0xFF00)) >> 8 ) + 1; + } + + for (idx = 0; idx < pages; idx++) + { + sFLASH_WritePage(&MAL_Buffer[idx*256], SectorAddress, 256); + SectorAddress += 0x100; + } + return MAL_OK; +} + +/******************************************************************************* +* Function Name : SPI_If_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : buffer address pointer +*******************************************************************************/ +uint8_t *SPI_If_Read(uint32_t SectorAddress, uint32_t DataLength) +{ + sFLASH_ReadBuffer(MAL_Buffer, SectorAddress, (uint16_t)DataLength); + return MAL_Buffer; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f30x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f30x.c new file mode 100644 index 0000000..31faf5c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f30x.c @@ -0,0 +1,382 @@ +/** + ****************************************************************************** + * @file system_stm32f30x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F30x devices, + * and is generated by the clock configuration tool + * stm32f30x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f30x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f30x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32f30x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F30x device + *----------------------------------------------------------------------------- + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f30x_system + * @{ + */ + +/** @addtogroup STM32F30x_System_Private_Includes + * @{ + */ + +#include "stm32f30x.h" + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Defines + * @{ + */ +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Variables + * @{ + */ + + uint32_t SystemCoreClock = 72000000; + + __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemFrequency variable. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Reset the RCC clock configuration to the default reset state ------------*/ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset CFGR register */ + RCC->CFGR &= 0xF87FC00C; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and TIMs bits */ + RCC->CFGR3 &= (uint32_t)0xFF00FCCC; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + + /* Configure the System clock source, PLL Multiplier and Divider factors, + AHB/APBx prescalers and Flash settings ----------------------------------*/ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock source, PLL Multiplier and Divider factors, + * AHB/APBx prescalers and Flash settings + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f37x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f37x.c new file mode 100644 index 0000000..943f188 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/system_stm32f37x.c @@ -0,0 +1,380 @@ +/** + ****************************************************************************** + * @file system_stm32f37x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F37x devices, + * and is generated by the clock configuration tool + * STM32f37x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f37x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f37x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" defined + * in "stm32f37x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F37x device + *============================================================================= + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup STM32F37x_System + * @{ + */ + +/** @addtogroup STM32F37x_System_Private_Includes + * @{ + */ + +#include "stm32f37x.h" + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 72000000; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontrollers system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */ + RCC->CFGR &= (uint32_t)0x00FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and CECSW bits */ + RCC->CFGR3 &= (uint32_t)0xFFF0F8C; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + +/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_desc.c new file mode 100644 index 0000000..1646763 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_desc.c @@ -0,0 +1,489 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Device Firmware Upgrade (DFU) + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_desc.h" +#include "platform_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +uint8_t DFU_DeviceDescriptor[DFU_SIZ_DEVICE_DESC] = + { + 0x12, /* bLength */ + 0x01, /* bDescriptorType */ + 0x00, /* bcdUSB, version 1.00 */ + 0x01, + 0x00, /* bDeviceClass : See interface */ + 0x00, /* bDeviceSubClass : See interface*/ + 0x00, /* bDeviceProtocol : See interface */ + bMaxPacketSize0, /* bMaxPacketSize0 0x40 = 64 */ + 0x83, /* idVendor (0483) */ + 0x04, + 0x11, /* idProduct (0xDF11) DFU PiD*/ + 0xDF, + 0x00, /* bcdDevice*/ + 0x02, + + 0x01, /* iManufacturer : index of string Manufacturer */ + 0x02, /* iProduct : index of string descriptor of product*/ + 0x03, /* iSerialNumber : index of string serial number*/ + + 0x01 /*bNumConfigurations */ + }; + +#ifdef USE_STM3210B_EVAL +uint8_t DFU_ConfigDescriptor[DFU_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + 0x02, /* bDescriptorType: Configuration */ + DFU_SIZ_CONFIG_DESC, /* wTotalLength: Bytes returned */ + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: */ + /* Configuration value */ + 0x00, /* iConfiguration: */ + /* Index of string descriptor */ + /* describing the configuration */ + 0xC0, /* bmAttributes: */ + /* Self powered */ + 0x32, /* MaxPower 100 mA */ + /* 09 */ + + /************ Descriptor of DFU interface 0 Alternate setting 0 *********/ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x04, /* iInterface: */ + /* Index of string descriptor */ + /* 18 */ + + /************ Descriptor of DFU interface 0 Alternate setting 1 **********/ + + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x01, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x05, /* iInterface: */ + /* Index of string descriptor */ + /* 27 */ + + /******************** DFU Functional Descriptor********************/ + 0x09, /*blength = 9 Bytes*/ + 0x21, /* DFU Functional Descriptor*/ + 0x0B, /*bmAttribute + + bitCanDnload = 1 (bit 0) + bitCanUpload = 1 (bit 1) + bitManifestationTolerant = 0 (bit 2) + bitWillDetach = 1 (bit 3) + Reserved (bit4-6) + bitAcceleratedST = 0 (bit 7)*/ + 0xFF, /*DetachTimeOut= 255 ms*/ + 0x00, + wTransferSizeB0, + wTransferSizeB1, /* TransferSize = 1024 Byte*/ + 0x1A, /* bcdDFUVersion*/ + 0x01 + /***********************************************************/ + /*36*/ + + }; + +#elif defined (USE_STM3210E_EVAL) +uint8_t DFU_ConfigDescriptor[DFU_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + 0x02, /* bDescriptorType: Configuration */ + DFU_SIZ_CONFIG_DESC, /* wTotalLength: Bytes returned */ + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: */ + /* Configuration value */ + 0x00, /* iConfiguration: */ + /* Index of string descriptor */ + /* describing the configuration */ + 0x80, /* bmAttributes: */ + /* bus powered */ + 0x20, /* MaxPower 100 mA: this current is used for detecting Vbus */ + /* 09 */ + + /************ Descriptor of DFU interface 0 Alternate setting 0 *********/ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x04, /* iInterface: */ + /* Index of string descriptor */ + /* 18 */ + + /************ Descriptor of DFU interface 0 Alternate setting 1 **********/ + + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x01, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x05, /* iInterface: */ + /* Index of string descriptor */ + /* 27 */ + + /************ Descriptor of DFU interface 0 Alternate setting 2 **********/ + + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x02, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x06, /* iInterface: */ + /* Index of string descriptor */ + /* 36 */ + + /******************** DFU Functional Descriptor********************/ + 0x09, /*blength = 9 Bytes*/ + 0x21, /* DFU Functional Descriptor*/ + 0x0B, /*bmAttribute + + bitCanDnload = 1 (bit 0) + bitCanUpload = 1 (bit 1) + bitManifestationTolerant = 0 (bit 2) + bitWillDetach = 1 (bit 3) + Reserved (bit4-6) + bitAcceleratedST = 0 (bit 7)*/ + 0xFF, /*DetachTimeOut= 255 ms*/ + 0x00, + wTransferSizeB0, + wTransferSizeB1, /* TransferSize = 1024 Byte*/ + 0x1A, /* bcdDFUVersion*/ + 0x01 + /***********************************************************/ + /*45*/ + + }; + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) +uint8_t DFU_ConfigDescriptor[DFU_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + 0x02, /* bDescriptorType: Configuration */ + DFU_SIZ_CONFIG_DESC, /* wTotalLength: Bytes returned */ + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: */ + /* Configuration value */ + 0x00, /* iConfiguration: */ + /* Index of string descriptor */ + /* describing the configuration */ + 0xC0, /* bmAttributes: */ + /* bus powered */ + 0x32, /* MaxPower 100 mA */ + /* 09 */ + + /************ Descriptor of DFU interface 0 Alternate setting 0 *********/ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x04, /* iInterface: */ + /* Index of string descriptor */ + /* 18 */ + + /******************** DFU Functional Descriptor********************/ + 0x09, /*blength = 9 Bytes*/ + 0x21, /* DFU Functional Descriptor*/ + 0x0B, /*bmAttribute + + bitCanDnload = 1 (bit 0) + bitCanUpload = 1 (bit 1) + bitManifestationTolerant = 0 (bit 2) + bitWillDetach = 1 (bit 3) + Reserved (bit4-6) + bitAcceleratedST = 0 (bit 7)*/ + 0xFF, /*DetachTimeOut= 255 ms*/ + 0x00, + wTransferSizeB0, + wTransferSizeB1, /* TransferSize = 128 Bytes */ + 0x1A, /* bcdDFUVersion*/ + 0x01 + /***********************************************************/ + /*27*/ + + }; + +#elif defined (USE_STM32373C_EVAL) || defined (USE_STM32303C_EVAL) +uint8_t DFU_ConfigDescriptor[DFU_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + 0x02, /* bDescriptorType: Configuration */ + DFU_SIZ_CONFIG_DESC, /* wTotalLength: Bytes returned */ + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: */ + /* Configuration value */ + 0x00, /* iConfiguration: */ + /* Index of string descriptor */ + /* describing the configuration */ + 0xC0, /* bmAttributes: */ + /* bus powered */ + 0x32, /* MaxPower 100 mA */ + /* 09 */ + + /************ Descriptor of DFU interface 0 Alternate setting 0 *********/ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x00, /* bNumEndpoints*/ + 0xFE, /* bInterfaceClass: Application Specific Class Code */ + 0x01, /* bInterfaceSubClass : Device Firmware Upgrade Code */ + 0x02, /* nInterfaceProtocol: DFU mode protocol */ + 0x04, /* iInterface: */ + /* Index of string descriptor */ + /* 18 */ + + /******************** DFU Functional Descriptor********************/ + 0x09, /*blength = 9 Bytes*/ + 0x21, /* DFU Functional Descriptor*/ + 0x0B, /*bmAttribute + + bitCanDnload = 1 (bit 0) + bitCanUpload = 1 (bit 1) + bitManifestationTolerant = 0 (bit 2) + bitWillDetach = 1 (bit 3) + Reserved (bit4-6) + bitAcceleratedST = 0 (bit 7)*/ + 0xFF, /*DetachTimeOut= 255 ms*/ + 0x00, + wTransferSizeB0, + wTransferSizeB1, /* TransferSize = 128 Bytes */ + 0x1A, /* bcdDFUVersion*/ + 0x01 + /***********************************************************/ + /*27*/ + + }; + + +#endif /* USE_STM3210B_EVAL */ + +uint8_t DFU_StringLangId[DFU_SIZ_STRING_LANGID] = + { + DFU_SIZ_STRING_LANGID, + 0x03, + 0x09, + 0x04 /* LangID = 0x0409: U.S. English */ + }; + + +uint8_t DFU_StringVendor[DFU_SIZ_STRING_VENDOR] = + { + DFU_SIZ_STRING_VENDOR, + 0x03, + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +uint8_t DFU_StringProduct[DFU_SIZ_STRING_PRODUCT] = + { + DFU_SIZ_STRING_PRODUCT, + 0x03, + /* Product name: "STM32 DFU" */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'D', 0, 'F', 0, 'U', 0 + }; + +uint8_t DFU_StringSerial[DFU_SIZ_STRING_SERIAL] = + { + DFU_SIZ_STRING_SERIAL, + 0x03, + /* Serial number */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0 + }; + +#if defined (USE_STM3210B_EVAL) || defined (USE_STM32373C_EVAL) || defined (USE_STM32303C_EVAL) +uint8_t DFU_StringInterface0[DFU_SIZ_STRING_INTERFACE0] = + { + DFU_SIZ_STRING_INTERFACE0, + 0x03, + // Interface 0: "@Internal Flash /0x08000000/12*001Ka,116*001Kg" + '@', 0, 'I', 0, 'n', 0, 't', 0, 'e', 0, 'r', 0, 'n', 0, 'a', 0, 'l', 0, /* 18 */ + ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, 'h', 0, ' ', 0, ' ', 0, /* 16 */ + + '/', 0, '0', 0, 'x', 0, '0', 0, '8', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, /* 22 */ + + '/', 0, '1', 0, '2', 0, '*', 0, '0', 0, '0', 0, '1', 0, 'K', 0, 'a', 0, /* 18 */ + ',', 0, '1', 0, '1', 0, '6', 0, '*', 0, '0', 0, '0', 0, '1', 0, 'K', 0, 'g', 0, /* 20 */ + }; + +#elif defined (USE_STM3210E_EVAL) + #ifdef STM32F10X_XL +uint8_t DFU_StringInterface0[DFU_SIZ_STRING_INTERFACE0] = + { + DFU_SIZ_STRING_INTERFACE0, + 0x03, + // Interface 0: "@Internal Flash /0x08000000/06*002Ka,506*002Kg" + '@', 0, 'I', 0, 'n', 0, 't', 0, 'e', 0, 'r', 0, 'n', 0, 'a', 0, 'l', 0, /* 18 */ + ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, 'h', 0, ' ', 0, ' ', 0, /* 16 */ + + '/', 0, '0', 0, 'x', 0, '0', 0, '8', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, /* 22 */ + + '/', 0, '0', 0, '6', 0, '*', 0, '0', 0, '0', 0, '2', 0, 'K', 0, 'a', 0, /* 18 */ + ',', 0, '5', 0, '0', 0, '6', 0, '*', 0, '0', 0, '0', 0, '2', 0, 'K', 0, 'g', 0, /* 20 */ + }; + #else +uint8_t DFU_StringInterface0[DFU_SIZ_STRING_INTERFACE0] = + { + DFU_SIZ_STRING_INTERFACE0, + 0x03, + // Interface 0: "@Internal Flash /0x08000000/06*002Ka,250*002Kg" + '@', 0, 'I', 0, 'n', 0, 't', 0, 'e', 0, 'r', 0, 'n', 0, 'a', 0, 'l', 0, /* 18 */ + ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, 'h', 0, ' ', 0, ' ', 0, /* 16 */ + + '/', 0, '0', 0, 'x', 0, '0', 0, '8', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, /* 22 */ + + '/', 0, '0', 0, '6', 0, '*', 0, '0', 0, '0', 0, '2', 0, 'K', 0, 'a', 0, /* 18 */ + ',', 0, '2', 0, '5', 0, '0', 0, '*', 0, '0', 0, '0', 0, '2', 0, 'K', 0, 'g', 0, /* 20 */ + }; + #endif /* STM32F10X_XL */ + +#elif defined (USE_STM32L152_EVAL) +uint8_t DFU_StringInterface0[DFU_SIZ_STRING_INTERFACE0] = + { + DFU_SIZ_STRING_INTERFACE0, + 0x03, + // Interface 0: "@Internal Flash /0x08000000/48*256 a,464*256 g" + '@', 0, 'I', 0, 'n', 0, 't', 0, 'e', 0, 'r', 0, 'n', 0, 'a', 0, 'l', 0, /* 18 */ + ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, 'h', 0, ' ', 0, ' ', 0, /* 16 */ + + '/', 0, '0', 0, 'x', 0, '0', 0, '8', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, /* 22 */ + + '/', 0, '4', 0, '8', 0, '*', 0, '2', 0, '5', 0, '6', 0, ' ', 0, 'a', 0, /* 18 */ + ',', 0, '4', 0, '6', 0, '4', 0, '*', 0, '2', 0, '5', 0, '6', 0, ' ', 0, 'g', 0, /* 20 */ + + }; + + +#elif defined (USE_STM32L152D_EVAL) +uint8_t DFU_StringInterface0[DFU_SIZ_STRING_INTERFACE0] = + { + DFU_SIZ_STRING_INTERFACE0, + 0x03, + // Interface 0: "@Internal Flash /0x08000000/48*256 a,1488*256 g" + '@', 0, 'I', 0, 'n', 0, 't', 0, 'e', 0, 'r', 0, 'n', 0, 'a', 0, 'l', 0, /* 18 */ + ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, 'h', 0, ' ', 0, ' ', 0, /* 16 */ + + '/', 0, '0', 0, 'x', 0, '0', 0, '8', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, /* 22 */ + + '/', 0, '4', 0, '8', 0, '*', 0, '2', 0, '5', 0, '6', 0, ' ', 0, 'a', 0, /* 18 */ + ',', 0, '1', 0, '4', 0, '8', 0, '8', 0, '*', 0, '2', 0, '5', 0, '6', 0, ' ', 0, 'g', 0, /* 22 */ + }; + +#endif /* USE_STM3210B_EVAL */ + +#if defined(USE_STM3210B_EVAL) || defined(USE_STM3210E_EVAL) +uint8_t DFU_StringInterface1[DFU_SIZ_STRING_INTERFACE1] = + { + DFU_SIZ_STRING_INTERFACE1, + 0x03, + // Interface 1: "@ SPI Flash: M25P64 /0x00000000/128*064Kg" + '@', 0, 'S', 0, 'P', 0, 'I', 0, ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, + 'h', 0, ' ', 0, ':', 0, ' ', 0, 'M', 0, '2', 0, '5', 0, 'P', 0, '6', 0, '4', 0, + '/', 0, '0', 0, 'x', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, + '/', 0, '1', 0, '2', 0, '8', 0, '*', 0, '6', 0, '4', 0, 'K', 0, 'g', 0 + }; +#endif /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + +#ifdef USE_STM3210E_EVAL +uint8_t DFU_StringInterface2_1[DFU_SIZ_STRING_INTERFACE2] = + { + DFU_SIZ_STRING_INTERFACE2, + 0x03, + // Interface 1: "@ NOR Flash: M29W128 /0x64000000/256*064Kg" + '@', 0, 'N', 0, 'O', 0, 'R', 0, ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, + 'h', 0, ' ', 0, ':', 0, ' ', 0, 'M', 0, '2', 0, '9', 0, 'W', 0, '1', 0, '2', 0, '8', 0, 'F', 0, + '/', 0, '0', 0, 'x', 0, '6', 0, '4', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, + '/', 0, '0', 0, '2', 0, '5', 0, '6', 0, '*', 0, '6', 0, '4', 0, 'K', 0, 'g', 0 + }; +uint8_t DFU_StringInterface2_2[DFU_SIZ_STRING_INTERFACE2] = + { + DFU_SIZ_STRING_INTERFACE2, + 0x03, + // Interface 1: "@ NOR Flash: M29W128 /0x64000000/128*128Kg" + '@', 0, 'N', 0, 'O', 0, 'R', 0, ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, + 'h', 0, ' ', 0, ':', 0, ' ', 0, 'M', 0, '2', 0, '9', 0, 'W', 0, '1', 0, '2', 0, '8', 0, 'G', 0, + '/', 0, '0', 0, 'x', 0, '6', 0, '4', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, + '/', 0, '1', 0, '2', 0, '8', 0, '*', 0, '1', 0, '2', 0, '8', 0, 'K', 0, 'g', 0 + }; + +uint8_t DFU_StringInterface2_3[DFU_SIZ_STRING_INTERFACE2] = + { + DFU_SIZ_STRING_INTERFACE2, + 0x03, + // Interface 1: "@ NOR Flash:S29GL128 /0x64000000/128*128Kg" + '@', 0, 'N', 0, 'O', 0, 'R', 0, ' ', 0, 'F', 0, 'l', 0, 'a', 0, 's', 0, + 'h', 0, ' ', 0, ':', 0, ' ', 0, 'S', 0, '2', 0, '9', 0, 'G', 0, 'L', 0 , '1', 0, '2', 0, '8', 0, + '/', 0, '0', 0, 'x', 0, '6', 0, '4', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, '0', 0, + '/', 0, '1', 0, '2', 0, '8', 0, '*', 0, '1', 0, '2', 0, '8', 0, 'K', 0, 'g', 0 + }; +#endif /* USE_STM3210E_EVAL */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_prop.c new file mode 100644 index 0000000..addfc43 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_prop.c @@ -0,0 +1,745 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processings related to DFU demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "hw_config.h" +#include "usb_conf.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "dfu_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint32_t wBlockNum = 0, wlength = 0; +uint32_t Manifest_State = Manifest_complete; +uint32_t Pointer = ApplicationAddress; /* Base Address to Erase, Program or Read */ + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + DFU_init, + DFU_Reset, + DFU_Status_In, + DFU_Status_Out, + DFU_Data_Setup, + DFU_NoData_Setup, + DFU_Get_Interface_Setting, + DFU_GetDeviceDescriptor, + DFU_GetConfigDescriptor, + DFU_GetStringDescriptor, + 0, /*DFU_EP0Buffer*/ + bMaxPacketSize0 /*Max Packet size*/ + }; + +USER_STANDARD_REQUESTS User_Standard_Requests = + { + DFU_GetConfiguration, + DFU_SetConfiguration, + DFU_GetInterface, + DFU_SetInterface, + DFU_GetStatus, + DFU_ClearFeature, + DFU_SetEndPointFeature, + DFU_SetDeviceFeature, + DFU_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)DFU_DeviceDescriptor, + DFU_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)DFU_ConfigDescriptor, + DFU_SIZ_CONFIG_DESC + }; +#ifdef USE_STM3210E_EVAL + ONE_DESCRIPTOR DFU_String_Descriptor[7] = +#elif defined(USE_STM3210B_EVAL) + ONE_DESCRIPTOR DFU_String_Descriptor[6] = +#elif defined(USE_STM32L152_EVAL) || defined(USE_STM32L152D_EVAL) ||defined(USE_STM32373C_EVAL) ||defined(USE_STM32303C_EVAL) + ONE_DESCRIPTOR DFU_String_Descriptor[5] = +#endif /* USE_STM3210E_EVAL */ + { + { (uint8_t*)DFU_StringLangId, DFU_SIZ_STRING_LANGID }, + { (uint8_t*)DFU_StringVendor, DFU_SIZ_STRING_VENDOR }, + { (uint8_t*)DFU_StringProduct, DFU_SIZ_STRING_PRODUCT }, + { (uint8_t*)DFU_StringSerial, DFU_SIZ_STRING_SERIAL }, + { (uint8_t*)DFU_StringInterface0, DFU_SIZ_STRING_INTERFACE0 } +#ifdef USE_STM3210B_EVAL + , + { (uint8_t*)DFU_StringInterface1, DFU_SIZ_STRING_INTERFACE1 } +#endif /* USE_STM3210B_EVAL */ +#ifdef USE_STM3210E_EVAL + , + { (uint8_t*)DFU_StringInterface1, DFU_SIZ_STRING_INTERFACE1 }, + { (uint8_t*)DFU_StringInterface2_1, DFU_SIZ_STRING_INTERFACE2 } +#endif /* USE_STM3210E_EVAL */ + }; + +/* Extern variables ----------------------------------------------------------*/ +extern uint8_t DeviceState ; +extern uint8_t DeviceStatus[6]; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : DFU_init. +* Description : DFU init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_init(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + /* Update the serial number string descriptor with the data from the unique ID*/ + Get_SerialNum(); + + pInfo->Current_Configuration = 0; + + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + /* Enable USB interrupts */ + USB_Interrupts_Config(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : DFU_Reset. +* Description : DFU reset routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_Reset(void) +{ + /* Set DFU_DEVICE as not configured */ + Device_Info.Current_Configuration = 0; + + /* Current Feature initialization */ + pInformation->Current_Feature = DFU_ConfigDescriptor[7]; + + _SetBTABLE(BTABLE_ADDRESS); + + /* Initialize Endpoint 0 */ + _SetEPType(ENDP0, EP_CONTROL); + _SetEPTxStatus(ENDP0, EP_TX_NAK); + _SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + _SetEPTxAddr(ENDP0, ENDP0_TXADDR); + SetEPTxCount(ENDP0, Device_Property.MaxPacketSize); + Clear_Status_Out(ENDP0); + SetEPRxValid(ENDP0); + + /* Set this device to response on default address */ + SetDeviceAddress(0); + + /* Set the new control state of the device to Attached */ + bDeviceState = ATTACHED; +} +/******************************************************************************* +* Function Name : DFU_SetConfiguration. +* Description : Update the device state to configured. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_SetConfiguration(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } +} +/******************************************************************************* +* Function Name : DFU_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} +/******************************************************************************* +* Function Name : DFU_Status_In. +* Description : DFU status IN routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_Status_In(void) +{} + +/******************************************************************************* +* Function Name : DFU_Status_Out. +* Description : DFU status OUT routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_Status_Out (void) +{ + DEVICE_INFO *pInfo = &Device_Info; + uint32_t Addr; + + if (pInfo->USBbRequest == DFU_GETSTATUS) + { + if (DeviceState == STATE_dfuDNBUSY) + { + if (wBlockNum == 0) /* Decode the Special Command*/ + { + if ((MAL_Buffer[0] == CMD_GETCOMMANDS) && (wlength == 1)) + {} + else if (( MAL_Buffer[0] == CMD_SETADDRESSPOINTER ) && (wlength == 5)) + { + Pointer = MAL_Buffer[1]; + Pointer += MAL_Buffer[2] << 8; + Pointer += MAL_Buffer[3] << 16; + Pointer += MAL_Buffer[4] << 24; + } + else if (( MAL_Buffer[0] == CMD_ERASE ) && (wlength == 5)) + { + Pointer = MAL_Buffer[1]; + Pointer += MAL_Buffer[2] << 8; + Pointer += MAL_Buffer[3] << 16; + Pointer += MAL_Buffer[4] << 24; + MAL_Erase(Pointer); + } + } + + else if (wBlockNum > 1) // Download Command + { + Addr = ((wBlockNum - 2) * wTransferSize) + Pointer; + MAL_Write(Addr, wlength); + } + wlength = 0; + wBlockNum = 0; + + DeviceState = STATE_dfuDNLOAD_SYNC; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + return; + } + else if (DeviceState == STATE_dfuMANIFEST)/* Manifestation in progress*/ + { + DFU_write_crc(); + return; + } + } + return; +} + +/******************************************************************************* +* Function Name : DFU_Data_Setup. +* Description : Handle the data class specific requests. +* Input : RequestNb. +* Output : None. +* Return : USB_SUCCESS or USB_UNSUPPORT. +*******************************************************************************/ +RESULT DFU_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + CopyRoutine = NULL; + + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + if (RequestNo == DFU_UPLOAD && (DeviceState == STATE_dfuIDLE + || DeviceState == STATE_dfuUPLOAD_IDLE )) + { + CopyRoutine = UPLOAD; + } + else if (RequestNo == DFU_DNLOAD && (DeviceState == STATE_dfuIDLE + || DeviceState == STATE_dfuDNLOAD_IDLE)) + { + DeviceState = STATE_dfuDNLOAD_SYNC; + CopyRoutine = DNLOAD; + } + else if (RequestNo == DFU_GETSTATE) + { + CopyRoutine = GETSTATE; + } + else if (RequestNo == DFU_GETSTATUS) + { + CopyRoutine = GETSTATUS; + } + else + { + return USB_UNSUPPORT; + } + } + else + { + return USB_UNSUPPORT; + } + + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : DFU_NoData_Setup. +* Description : Handle the No data class specific requests. +* Input : Request Nb. +* Output : None. +* Return : USB_SUCCESS or USB_UNSUPPORT. +*******************************************************************************/ +RESULT DFU_NoData_Setup(uint8_t RequestNo) +{ + + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + /*DFU_NDLOAD*/ + if (RequestNo == DFU_DNLOAD) + { + /* End of DNLOAD operation*/ + if (DeviceState == STATE_dfuDNLOAD_IDLE || DeviceState == STATE_dfuIDLE ) + { + Manifest_State = Manifest_In_Progress; + DeviceState = STATE_dfuMANIFEST_SYNC; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + DeviceStatus[4] = DeviceState; + return USB_SUCCESS; + } + } + /*DFU_UPLOAD*/ + else if (RequestNo == DFU_UPLOAD) + { + DeviceState = STATE_dfuIDLE; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + DeviceStatus[4] = DeviceState; + return USB_SUCCESS; + } + + /*DFU_CLRSTATUS*/ + else if (RequestNo == DFU_CLRSTATUS) + { + + if (DeviceState == STATE_dfuERROR) + { + DeviceState = STATE_dfuIDLE; + DeviceStatus[0] = STATUS_OK;/*bStatus*/ + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; /*bwPollTimeout=0ms*/ + DeviceStatus[4] = DeviceState;/*bState*/ + DeviceStatus[5] = 0;/*iString*/ + } + else + { /*State Error*/ + DeviceState = STATE_dfuERROR; + DeviceStatus[0] = STATUS_ERRUNKNOWN;/*bStatus*/ + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; /*bwPollTimeout=0ms*/ + DeviceStatus[4] = DeviceState;/*bState*/ + DeviceStatus[5] = 0;/*iString*/ + } + return USB_SUCCESS; + } + /*DFU_ABORT*/ + else if (RequestNo == DFU_ABORT) + { + if (DeviceState == STATE_dfuIDLE || DeviceState == STATE_dfuDNLOAD_SYNC + || DeviceState == STATE_dfuDNLOAD_IDLE || DeviceState == STATE_dfuMANIFEST_SYNC + || DeviceState == STATE_dfuUPLOAD_IDLE ) + { + DeviceState = STATE_dfuIDLE; + DeviceStatus[0] = STATUS_OK; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; /*bwPollTimeout=0ms*/ + DeviceStatus[4] = DeviceState; + DeviceStatus[5] = 0; /*iString*/ + wBlockNum = 0; + wlength = 0; + } + return USB_SUCCESS; + } + } + + + return USB_UNSUPPORT; + +} /* End of DFU_NoData_Setup */ + +/******************************************************************************* +* Function Name : DFU_GetDeviceDescriptor. +* Description : Gets the device descriptor. +* Input : Length. +* Output : None. +* Return : The address of the device descriptor. +*******************************************************************************/ +uint8_t *DFU_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor); +} + +/******************************************************************************* +* Function Name : DFU_GetConfigDescriptor. +* Description : Gets the configuration descriptor. +* Input : Length. +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *DFU_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData (Length, &Config_Descriptor); +} + +/******************************************************************************* +* Function Name : DFU_GetStringDescriptor. +* Description : Gets the string descriptors according to the needed index. +* Input : Length. +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +uint8_t *DFU_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + + if (wValue0 > 8) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &DFU_String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : DFU_Get_Interface_Setting. +* Description : tests the interface and the alternate setting according to the +* supported one. +* Input : - Interface : interface number. +* - AlternateSetting : Alternate Setting number. +* Output : None. +* Return : USB_SUCCESS or USB_UNSUPPORT. +*******************************************************************************/ +RESULT DFU_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 3) + { + return USB_UNSUPPORT; /* In this application we don't have more than 3 AlternateSettings */ + } + else if (Interface > 2) + { + return USB_UNSUPPORT; /* In this application we have only 1 interfaces */ + } + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : UPLOAD +* Description : Upload routine. +* Input : Length. +* Output : None. +* Return : Pointer to data. +*******************************************************************************/ +uint8_t *UPLOAD(uint16_t Length) +{ + DEVICE_INFO *pInfo = &Device_Info; + uint8_t B1, B0; + uint16_t offset, returned; + uint8_t *Phy_Addr = NULL; + uint32_t Addr = 0; + + B0 = pInfo->USBwValues.bw.bb0; + B1 = pInfo->USBwValues.bw.bb1; + wBlockNum = (uint16_t)B1; + wBlockNum = wBlockNum * 0x100; + wBlockNum += (uint16_t)B0; /* wBlockNum value updated*/ + + B0 = pInfo->USBwLengths.bw.bb0; + B1 = pInfo->USBwLengths.bw.bb1; + wlength = (uint16_t)B0; + wlength = wlength * 0x100; + wlength += (uint16_t)B1; /* wlength value updated*/ + + offset = pInformation->Ctrl_Info.Usb_wOffset; + + if (wBlockNum == 0) /* Get Command */ + { + if (wlength > 3) + { + DeviceState = STATE_dfuIDLE ; + } + else + { + DeviceState = STATE_dfuUPLOAD_IDLE; + } + + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + + MAL_Buffer[0] = CMD_GETCOMMANDS; + MAL_Buffer[1] = CMD_SETADDRESSPOINTER; + MAL_Buffer[2] = CMD_ERASE; + + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 3 ; + return NULL; + } + + return(&MAL_Buffer[0]); + } + else if (wBlockNum > 1) + { + DeviceState = STATE_dfuUPLOAD_IDLE ; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + Addr = ((wBlockNum - 2) * wTransferSize) + Pointer; /* Change is Accelerated*/ + + Phy_Addr = MAL_Read(Addr, wlength); + returned = wlength - offset; + + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = returned ; + return NULL; + } + return(Phy_Addr + offset); + } + else /* unsupported wBlockNum */ + { + DeviceState = STATUS_ERRSTALLEDPKT; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + + return NULL; + } +} + +/******************************************************************************* +* Function Name : DNLOAD +* Description : Download routine. +* Input : Length. +* Output : None. +* Return : Pointer to data. +*******************************************************************************/ +uint8_t *DNLOAD (uint16_t Length) +{ + DEVICE_INFO *pInfo = &Device_Info; + uint8_t B1, B0; + uint16_t offset, returned; + + B0 = pInfo->USBwValues.bw.bb0; + B1 = pInfo->USBwValues.bw.bb1; + wBlockNum = (uint16_t)B1; + wBlockNum = wBlockNum * 0x100; + wBlockNum += (uint16_t)B0; + B0 = pInfo->USBwLengths.bw.bb0; + B1 = pInfo->USBwLengths.bw.bb1; + wlength = (uint16_t)B0; + wlength = wlength * 0x100; + wlength += (uint16_t)B1; + + offset = pInfo->Ctrl_Info.Usb_wOffset; + + DeviceState = STATE_dfuDNLOAD_SYNC; + DeviceStatus[4] = DeviceState; + + returned = wlength - offset; + + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = returned ; + return NULL; + } + + return((uint8_t*)MAL_Buffer + offset); +} + +/******************************************************************************* +* Function Name : GETSTATE. +* Description : Get State request routine. +* Input : Length. +* Output : None. +* Return : Pointer to data. +*******************************************************************************/ +uint8_t *GETSTATE(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 1 ; + return NULL; + } + else + return(&DeviceState); +} + +/******************************************************************************* +* Function Name : GETSTATUS. +* Description : Get Status request routine. +* Input : Length. +* Output : None. +* Return : Pointer to data. +*******************************************************************************/ +uint8_t *GETSTATUS(uint16_t Length) +{ + switch (DeviceState) + { + case STATE_dfuDNLOAD_SYNC: + if (wlength != 0) + { + DeviceState = STATE_dfuDNBUSY; + DeviceStatus[4] = DeviceState; + if ((wBlockNum == 0) && (MAL_Buffer[0] == CMD_ERASE)) + { + MAL_GetStatus(Pointer, 0, DeviceStatus); + } + else + { + MAL_GetStatus(Pointer, 1, DeviceStatus); + } + } + else /* (wlength==0)*/ + { + DeviceState = STATE_dfuDNLOAD_IDLE; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + + } + break; + case STATE_dfuMANIFEST_SYNC : + if (Manifest_State == Manifest_In_Progress) + { + DeviceState = STATE_dfuMANIFEST; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 1; /*bwPollTimeout = 1ms*/ + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + //break; + } + else if (Manifest_State == Manifest_complete && Config_Descriptor.Descriptor[20] + & 0x04) + { + DeviceState = STATE_dfuIDLE; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + //break; + } + break; + default : + break; + } + + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 6 ; + return NULL; + } + else + return(&(DeviceStatus[0])); +} + +/******************************************************************************* +* Function Name : DFU_write_crc. +* Description : DFU Write CRC routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void DFU_write_crc(void) +{ + Manifest_State = Manifest_complete; + + if (Config_Descriptor.Descriptor[20] & 0x04) + { + DeviceState = STATE_dfuMANIFEST_SYNC; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + return; + } + else + { + DeviceState = STATE_dfuMANIFEST_WAIT_RESET; + DeviceStatus[4] = DeviceState; + DeviceStatus[1] = 0; + DeviceStatus[2] = 0; + DeviceStatus[3] = 0; + + Reset_Device(); + + return; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_pwr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_pwr.c new file mode 100644 index 0000000..a2253a8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/src/usb_pwr.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file usb_pwr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t bDeviceState = UNCONNECTED; /* USB device status */ +__IO bool fSuspendEnabled = TRUE; /* true when suspend is possible */ +__IO uint32_t EP[8]; + +struct +{ + __IO RESUME_STATE eState; + __IO uint8_t bESOFcnt; +} +ResumeS; + +__IO uint32_t remotewakeupon=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : PowerOn +* Description : +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOn(void) +{ + uint16_t wRegVal; + + /*** cable plugged-in ? ***/ + USB_Cable_Config(ENABLE); + + /*** CNTR_PWDN = 0 ***/ + wRegVal = CNTR_FRES; + _SetCNTR(wRegVal); + + /*** CNTR_FRES = 0 ***/ + wInterrupt_Mask = 0; + _SetCNTR(wInterrupt_Mask); + /*** Clear pending interrupts ***/ + _SetISTR(0); + /*** Set interrupt mask ***/ + wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; + _SetCNTR(wInterrupt_Mask); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : PowerOff +* Description : handles switch-off conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOff() +{ + /* disable all interrupts and force USB reset */ + _SetCNTR(CNTR_FRES); + /* clear interrupt status register */ + _SetISTR(0); + /* Disable the Pull-Up*/ + USB_Cable_Config(DISABLE); + /* switch-off device */ + _SetCNTR(CNTR_FRES + CNTR_PDWN); + /* sw variables reset */ + /* ... */ + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Suspend +* Description : sets suspend mode operating conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Suspend(void) +{ + uint32_t i =0; + uint16_t wCNTR; + uint32_t tmpreg = 0; + __IO uint32_t savePWR_CR=0; + /* suspend preparation */ + /* ... */ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /* This a sequence to apply a force RESET to handle a robustness case */ + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /* unmask RESET flag */ + wCNTR|=CNTR_RESETM; + _SetCNTR(wCNTR); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + /* Now it is safe to enter macrocell in suspend mode */ + wCNTR |= CNTR_FSUSP; + _SetCNTR(wCNTR); + + /* force low-power mode in the macrocell */ + wCNTR = _GetCNTR(); + wCNTR |= CNTR_LPMODE; + _SetCNTR(wCNTR); + + /*prepare entry in low power mode (STOP mode)*/ + /* Select the regulator state in STOP mode*/ + savePWR_CR = PWR->CR; + tmpreg = PWR->CR; + /* Clear PDDS and LPDS bits */ + tmpreg &= ((uint32_t)0xFFFFFFFC); + /* Set LPDS bit according to PWR_Regulator value */ + tmpreg |= PWR_Regulator_LowPower; + /* Store the new value */ + PWR->CR = tmpreg; + /* Set SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; +#else + SCB->SCR |= SCB_SCR_SLEEPDEEP; +#endif + + /* enter system in STOP mode, only when wakeup flag in not set */ + if((_GetISTR()&ISTR_WKUP)==0) + { + __WFI(); + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } + else + { + /* Clear Wakeup flag */ + _SetISTR(CLR_WKUP); + /* clear FSUSP to abort entry in suspend mode */ + wCNTR = _GetCNTR(); + wCNTR&=~CNTR_FSUSP; + _SetCNTR(wCNTR); + + /*restore sleep mode configuration */ + /* restore Power regulator config in sleep mode*/ + PWR->CR = savePWR_CR; + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } +} + +/******************************************************************************* +* Function Name : Resume_Init +* Description : Handles wake-up restoring normal operations +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Resume_Init(void) +{ + uint16_t wCNTR; + + /* ------------------ ONLY WITH BUS-POWERED DEVICES ---------------------- */ + /* restart the clocks */ + /* ... */ + + /* CNTR_LPMODE = 0 */ + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_LPMODE); + _SetCNTR(wCNTR); + + /* restore full power */ + /* ... on connected devices */ + Leave_LowPowerMode(); + + /* reset FSUSP bit */ + _SetCNTR(IMR_MSK); + + /* reverse suspend preparation */ + /* ... */ + +} + +/******************************************************************************* +* Function Name : Resume +* Description : This is the state machine handling resume operations and +* timing sequence. The control is based on the Resume structure +* variables and on the ESOF interrupt calling this subroutine +* without changing machine state. +* Input : a state machine value (RESUME_STATE) +* RESUME_ESOF doesn't change ResumeS.eState allowing +* decrementing of the ESOF counter in different states. +* Output : None. +* Return : None. +*******************************************************************************/ +void Resume(RESUME_STATE eResumeSetVal) +{ + uint16_t wCNTR; + + if (eResumeSetVal != RESUME_ESOF) + ResumeS.eState = eResumeSetVal; + switch (ResumeS.eState) + { + case RESUME_EXTERNAL: + if (remotewakeupon ==0) + { + Resume_Init(); + ResumeS.eState = RESUME_OFF; + } + else /* RESUME detected during the RemoteWAkeup signalling => keep RemoteWakeup handling*/ + { + ResumeS.eState = RESUME_ON; + } + break; + case RESUME_INTERNAL: + Resume_Init(); + ResumeS.eState = RESUME_START; + remotewakeupon = 1; + break; + case RESUME_LATER: + ResumeS.bESOFcnt = 2; + ResumeS.eState = RESUME_WAIT; + break; + case RESUME_WAIT: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + ResumeS.eState = RESUME_START; + break; + case RESUME_START: + wCNTR = _GetCNTR(); + wCNTR |= CNTR_RESUME; + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_ON; + ResumeS.bESOFcnt = 10; + break; + case RESUME_ON: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + { + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_RESUME); + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_OFF; + remotewakeupon = 0; + } + break; + case RESUME_OFF: + case RESUME_ESOF: + default: + ResumeS.eState = RESUME_OFF; + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/JoyStickMouse.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/JoyStickMouse.ewd new file mode 100644 index 0000000..e4dd3ce --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/JoyStickMouse.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..18520fb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f30x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f30x_flash.icf new file mode 100644 index 0000000..9d295c8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/EWARM/stm32f30x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/MDK-ARM/JoyStickMouse.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/MDK-ARM/JoyStickMouse.uvproj new file mode 100644 index 0000000..87a39a2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/MDK-ARM/JoyStickMouse.uvproj @@ -0,0 +1,12713 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_MD, USE_STM3210B_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L151VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5246 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + + STM32L151VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5246 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152D-EVAL\ + STM32L152D-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152D-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_HD, USE_STM32L152D_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + + STM32F373VCT6 + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM0.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32373C_EVAL\ + STM32373C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F37X, USE_STM32373C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F37x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F37x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + + STM32F303VC + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM4.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32303C_EVAL\ + STM32303C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F30X, USE_STM32303C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F30x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_pwr.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_pwr.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..bca9a78 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/.cproject @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl new file mode 100644 index 0000000..b921d59 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl @@ -0,0 +1,148 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 20k; + map ( size = 20k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); + vector( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..04e7bf2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..c6a41a5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,207 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM3210x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM3210x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM3210x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM3210x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM3210x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM3210x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM3210x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch new file mode 100644 index 0000000..252b6cb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl new file mode 100644 index 0000000..20fdd4a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 0x100000; + map ( size = 0x100000, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 96k; + map ( size = 96k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..855ed7e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.project new file mode 100644 index 0000000..73af882 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/.project @@ -0,0 +1,207 @@ + + + STM32303C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F30x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32303C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32F30x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F30x/CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + STM32F30x/STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch new file mode 100644 index 0000000..80853f0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl new file mode 100644 index 0000000..3ccf590 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl @@ -0,0 +1,211 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f30x.lsl +// +// Version : @(#)stm32f30x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F30x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F30x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 6k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif + +memory STM32F30x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE - 8k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM8k +{ + mau = 8; + type = ram; + size = 8k; + priority = 1; + map ( size = 8k, dest_offset=0x10000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 global interrupts + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB Device High Priority or CAN1 TX interrupts + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB Device Low Priority or CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM1_BRK_TIM15_IRQHandler" ); // TIM1 Break irq and TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM1_UP_TIM16_IRQHandler" ); // TIM1 Update irq and TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM17_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM17 global irq + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup interrupt + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break interrupt + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update interrupt + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 trigger and Comm. interrupt + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare interrupt + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "ADC4_IRQHandler" ); // ADC4 global interrupt + vector ( id = 80, optional, fill = "COMP1_2_3_IRQHandler" ); // COMP1, COMP2 and COMP3 global interrupt + vector ( id = 81, optional, fill = "COMP4_5_6_IRQHandler" ); // COMP5, COMP6 and COMP4 global interrupt + vector ( id = 82, optional, fill = "COMP7_IRQHandler" ); // COMP7 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt remap + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt remap + vector ( id = 92, optional, fill = "USBWakeUp_RMP_IRQHandler" ); // USB Wakeup Interrupt remap + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32373C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32373C_EVAL/.cproject new file mode 100644 index 0000000..5a42687 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32373C_EVAL/.cproject @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..69a8de0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,207 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch new file mode 100644 index 0000000..d494039 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..3433fcf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/.cproject @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch new file mode 100644 index 0000000..26462e6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..398250d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,236 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210B_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch new file mode 100644 index 0000000..9756e14 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch new file mode 100644 index 0000000..d512d7e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/STM3210E-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..8320534 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..59eddb1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..b2d3c07 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.cproject new file mode 100644 index 0000000..5929ca9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..11c9ee7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:37:51 GMT+01:00 2012 +BOARD=STM32303C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F303VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..1148d5c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,315 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ab00129 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch new file mode 100644 index 0000000..734d809 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..c721f50 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.cproject @@ -0,0 +1,362 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..3065c71 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,246 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Device_Firmware_Upgrade/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash_ramfunc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash_ramfunc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..f14d2cd --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 14:38:58 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld new file mode 100644 index 0000000..1be62d5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_md Device with +** 128KByte FLASH, 16KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20004000; /* end of 16K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x80; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.project new file mode 100644 index 0000000..bf57519 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.project @@ -0,0 +1,246 @@ + + + STM32L152D-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152D_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/readme.txt + + + STM32L152D_EVAL/STM32L152D_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/STM32L152D_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash_ramfunc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash_ramfunc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/JoyStickMouse/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa650d6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:48:58 GMT+01:00 2012 +BOARD=STM32L152D-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152ZD +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/hw_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/hw_config.h new file mode 100644 index 0000000..f23e72a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/hw_config.h @@ -0,0 +1,62 @@ +/** + ****************************************************************************** + * @file hw_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __HW_CONFIG_H +#define __HW_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define CURSOR_STEP 20 + +#define DOWN 2 +#define LEFT 3 +#define RIGHT 4 +#define UP 5 + +/* Exported functions ------------------------------------------------------- */ +void Set_System(void); +void Set_USBClock(void); +void GPIO_AINConfig(void); +void Enter_LowPowerMode(void); +void Leave_LowPowerMode(void); +void USB_Interrupts_Config(void); +void USB_Cable_Config (FunctionalState NewState); +void Joystick_Send(uint8_t Keys); +uint8_t JoyState(void); +void Get_SerialNum(void); + +#endif /*__HW_CONFIG_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/platform_config.h new file mode 100644 index 0000000..9bb96d1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/platform_config.h @@ -0,0 +1,216 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval.h" + #else + #error "Missing define: USE_STM3210B_EVAL, USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" + +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL)&& !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) + //#define USE_STM3210B_EVAL + //#define USE_STM3210E_EVAL + //#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define USE_STM32373C_EVAL + #define USE_STM32303C_EVAL +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + + #define RCC_APB2Periph_ALLGPIO (RCC_APB2Periph_GPIOA \ + | RCC_APB2Periph_GPIOB \ + | RCC_APB2Periph_GPIOC \ + | RCC_APB2Periph_GPIOD \ + | RCC_APB2Periph_GPIOE ) + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + + #define RCC_APB2Periph_ALLGPIO (RCC_APB2Periph_GPIOA \ + | RCC_APB2Periph_GPIOB \ + | RCC_APB2Periph_GPIOC \ + | RCC_APB2Periph_GPIOD \ + | RCC_APB2Periph_GPIOE \ + | RCC_APB2Periph_GPIOF \ + | RCC_APB2Periph_GPIOG ) + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + + #define RCC_AHBPeriph_ALLGPIO (RCC_AHBPeriph_GPIOA \ + | RCC_AHBPeriph_GPIOB \ + | RCC_AHBPeriph_GPIOC \ + | RCC_AHBPeriph_GPIOD \ + | RCC_AHBPeriph_GPIOE \ + | RCC_AHBPeriph_GPIOF \ + | RCC_AHBPeriph_GPIOH) +#elif defined (USE_STM32373C_EVAL) + + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC + + #define GPIO_Pin_KEY GPIO_Pin_6 /* PE.6 */ + #define GPIO_Pin_UP GPIO_Pin_10 /* PF.10 */ + #define GPIO_Pin_DOWN GPIO_Pin_2 /* PF.2 */ + #define GPIO_Pin_LEFT GPIO_Pin_4 /* PF.4 */ + #define GPIO_Pin_RIGHT GPIO_Pin_9 /* PF.9 */ + + #define RCC_AHBPeriph_GPIO_JOY_SET1 RCC_AHBPeriph_GPIOF + + #define GPIO_RIGHT GPIOF + #define GPIO_LEFT GPIOF + #define GPIO_DOWN GPIOF + #define GPIO_UP GPIOF + #define GPIO_KEY GPIOE + +#elif defined (USE_STM32303C_EVAL) + + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB + + + #define GPIO_Pin_KEY GPIO_Pin_6 /* PE.6 */ + #define GPIO_Pin_UP GPIO_Pin_7 /* PE.7 */ + #define GPIO_Pin_DOWN GPIO_Pin_5 /* PD.5 */ + #define GPIO_Pin_LEFT GPIO_Pin_5 /* PB.4 */ + #define GPIO_Pin_RIGHT GPIO_Pin_6 /* PD.2 */ + + #define RCC_AHBPeriph_GPIO_JOY_SET1 RCC_AHBPeriph_GPIOF + + #define GPIO_RIGHT GPIOD + #define GPIO_LEFT GPIOB + #define GPIO_DOWN GPIOD + #define GPIO_UP GPIOE + #define GPIO_KEY GPIOE + + +#define RCC_AHBPeriph_ALLGPIO (RCC_AHBPeriph_GPIOA \ + | RCC_AHBPeriph_GPIOB \ + | RCC_AHBPeriph_GPIOC \ + | RCC_AHBPeriph_GPIOD \ + | RCC_AHBPeriph_GPIOE \ + | RCC_AHBPeriph_GPIOF ) +#define GPIO_KEY_EXTI_Line EXTI_Line18 +#endif /* USE_STM3210B_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32_it.h new file mode 100644 index 0000000..82d81f2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32_it.h @@ -0,0 +1,58 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); +void EXTI9_5_IRQHandler(void); +void USBWakeUp_IRQHandler(void); + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32l1xx_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32l1xx_conf.h new file mode 100644 index 0000000..ae4a251 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/stm32l1xx_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32l1xx_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32L1xx_CONF_H +#define __STM32L1xx_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32l1xx_adc.h" +#include "stm32l1xx_crc.h" +#include "stm32l1xx_comp.h" +#include "stm32l1xx_dac.h" +#include "stm32l1xx_dbgmcu.h" +#include "stm32l1xx_dma.h" +#include "stm32l1xx_exti.h" +#include "stm32l1xx_flash.h" +#include "stm32l1xx_gpio.h" +#include "stm32l1xx_syscfg.h" +#include "stm32l1xx_i2c.h" +#include "stm32l1xx_iwdg.h" +#include "stm32l1xx_lcd.h" +#include "stm32l1xx_pwr.h" +#include "stm32l1xx_rcc.h" +#include "stm32l1xx_rtc.h" +#include "stm32l1xx_spi.h" +#include "stm32l1xx_tim.h" +#include "stm32l1xx_usart.h" +#include "stm32l1xx_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval : None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32L1xx_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_conf.h new file mode 100644 index 0000000..ff5541b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_conf.h @@ -0,0 +1,91 @@ +/** + ****************************************************************************** + * @file usb_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Joystick Mouse demo configuration file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_CONF_H +#define __USB_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +/* External variables --------------------------------------------------------*/ +/*-------------------------------------------------------------*/ +/* EP_NUM */ +/* defines how many endpoints are used by the device */ +/*-------------------------------------------------------------*/ +#define EP_NUM (2) + +/*-------------------------------------------------------------*/ +/* -------------- Buffer Description Table -----------------*/ +/*-------------------------------------------------------------*/ +/* buffer table base address */ +/* buffer table base address */ +#define BTABLE_ADDRESS (0x00) + +/* EP0 */ +/* rx/tx buffer base address */ +#define ENDP0_RXADDR (0x18) +#define ENDP0_TXADDR (0x58) + +/* EP1 */ +/* tx buffer base address */ +#define ENDP1_TXADDR (0x100) + + +/*-------------------------------------------------------------*/ +/* ------------------- ISTR events -------------------------*/ +/*-------------------------------------------------------------*/ +/* IMR_MSK */ +/* mask defining which events has to be handled */ +/* by the device application software */ +#define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM | CNTR_SOFM \ + | CNTR_ESOFM | CNTR_RESETM ) + +/* CTR service routines */ +/* associated to defined endpoints */ +/* #define EP1_IN_Callback NOP_Process*/ +#define EP2_IN_Callback NOP_Process +#define EP3_IN_Callback NOP_Process +#define EP4_IN_Callback NOP_Process +#define EP5_IN_Callback NOP_Process +#define EP6_IN_Callback NOP_Process +#define EP7_IN_Callback NOP_Process + +#define EP1_OUT_Callback NOP_Process +#define EP2_OUT_Callback NOP_Process +#define EP3_OUT_Callback NOP_Process +#define EP4_OUT_Callback NOP_Process +#define EP5_OUT_Callback NOP_Process +#define EP6_OUT_Callback NOP_Process +#define EP7_OUT_Callback NOP_Process + +#endif /*__USB_CONF_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_istr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_istr.h new file mode 100644 index 0000000..d2a07f6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_istr.h @@ -0,0 +1,95 @@ +/** + ****************************************************************************** + * @file usb_istr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file includes the peripherals header files in the user application. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_ISTR_H +#define __USB_ISTR_H + +/* Includes ------------------------------------------------------------------*/ +#include "usb_conf.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + + void USB_Istr(void); + +/* function prototypes Automatically built defining related macros */ + +void EP1_IN_Callback(void); +void EP2_IN_Callback(void); +void EP3_IN_Callback(void); +void EP4_IN_Callback(void); +void EP5_IN_Callback(void); +void EP6_IN_Callback(void); +void EP7_IN_Callback(void); + +void EP1_OUT_Callback(void); +void EP2_OUT_Callback(void); +void EP3_OUT_Callback(void); +void EP4_OUT_Callback(void); +void EP5_OUT_Callback(void); +void EP6_OUT_Callback(void); +void EP7_OUT_Callback(void); + +#ifdef CTR_CALLBACK +void CTR_Callback(void); +#endif + +#ifdef DOVR_CALLBACK +void DOVR_Callback(void); +#endif + +#ifdef ERR_CALLBACK +void ERR_Callback(void); +#endif + +#ifdef WKUP_CALLBACK +void WKUP_Callback(void); +#endif + +#ifdef SUSP_CALLBACK +void SUSP_Callback(void); +#endif + +#ifdef RESET_CALLBACK +void RESET_Callback(void); +#endif + +#ifdef SOF_CALLBACK +void SOF_Callback(void); +#endif + +#ifdef ESOF_CALLBACK +void ESOF_Callback(void); +#endif + +#endif /*__USB_ISTR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_prop.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_prop.h new file mode 100644 index 0000000..f228ad2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_prop.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file usb_prop.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Joystick Mouse demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PROP_H +#define __USB_PROP_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _HID_REQUESTS +{ + GET_REPORT = 1, + GET_IDLE, + GET_PROTOCOL, + + SET_REPORT = 9, + SET_IDLE, + SET_PROTOCOL +} HID_REQUESTS; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Joystick_init(void); +void Joystick_Reset(void); +void Joystick_SetConfiguration(void); +void Joystick_SetDeviceAddress (void); +void Joystick_Status_In (void); +void Joystick_Status_Out (void); +RESULT Joystick_Data_Setup(uint8_t); +RESULT Joystick_NoData_Setup(uint8_t); +RESULT Joystick_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting); +uint8_t *Joystick_GetDeviceDescriptor(uint16_t ); +uint8_t *Joystick_GetConfigDescriptor(uint16_t); +uint8_t *Joystick_GetStringDescriptor(uint16_t); +RESULT Joystick_SetProtocol(void); +uint8_t *Joystick_GetProtocolValue(uint16_t Length); +RESULT Joystick_SetProtocol(void); +uint8_t *Joystick_GetReportDescriptor(uint16_t Length); +uint8_t *Joystick_GetHIDDescriptor(uint16_t Length); + +/* Exported define -----------------------------------------------------------*/ +#define Joystick_GetConfiguration NOP_Process +//#define Joystick_SetConfiguration NOP_Process +#define Joystick_GetInterface NOP_Process +#define Joystick_SetInterface NOP_Process +#define Joystick_GetStatus NOP_Process +#define Joystick_ClearFeature NOP_Process +#define Joystick_SetEndPointFeature NOP_Process +#define Joystick_SetDeviceFeature NOP_Process +//#define Joystick_SetDeviceAddress NOP_Process + +#define REPORT_DESCRIPTOR 0x22 + +#endif /* __USB_PROP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_pwr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_pwr.h new file mode 100644 index 0000000..31891f1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/inc/usb_pwr.h @@ -0,0 +1,71 @@ +/** + ****************************************************************************** + * @file usb_pwr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PWR_H +#define __USB_PWR_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _RESUME_STATE +{ + RESUME_EXTERNAL, + RESUME_INTERNAL, + RESUME_LATER, + RESUME_WAIT, + RESUME_START, + RESUME_ON, + RESUME_OFF, + RESUME_ESOF +} RESUME_STATE; + +typedef enum _DEVICE_STATE +{ + UNCONNECTED, + ATTACHED, + POWERED, + SUSPENDED, + ADDRESSED, + CONFIGURED +} DEVICE_STATE; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Suspend(void); +void Resume_Init(void); +void Resume(RESUME_STATE eResumeSetVal); +RESULT PowerOn(void); +RESULT PowerOff(void); +/* External variables --------------------------------------------------------*/ +extern __IO uint32_t bDeviceState; /* USB device status */ +extern __IO bool fSuspendEnabled; /* true when suspend is possible */ + +#endif /*__USB_PWR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/readme.txt new file mode 100644 index 0000000..11b5e84 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/readme.txt @@ -0,0 +1,166 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB JoyStickMouse Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +This Demo provides a description of how to use the USB-FS-Device on the STM32F10xxx +STM32L15xxx and STM32F37xxx devices. +The STM32F10x device is enumerated as an USB-FS-Device Joystick Mouse, that uses +the native PC Host USB-FS-Device HID driver. +The Joystick mounted on the STM3210B-EVAL, STM3210E-EVAL,STM32F373C_EVAL,STM32F303C_EVAL +STM32L152-EVAL and STM32L152D-EVAL boards is used to emulate the Mouse directions. + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKING: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + + - STM32L152-EVAL Set-up + - None. + + - STM32L152D-EVAL Set-up + - None. + + - STM32F373C_EVAL Set-up + - None. + + - STM32F303C_EVAL Set-up + - None. + +How to use it +============= + + EWARM + - Open the JoyStickMouse.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the JoyStickMouse.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the JoyStickMouse.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +******************* (C) COPYRIGHT 2013 STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/hw_config.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/hw_config.c new file mode 100644 index 0000000..dccf436 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/hw_config.c @@ -0,0 +1,535 @@ +/** + ****************************************************************************** + * @file hw_config.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_pwr.h" + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +ErrorStatus HSEStartUpStatus; +EXTI_InitTypeDef EXTI_InitStructure; + +/* Extern variables ----------------------------------------------------------*/ +extern __IO uint8_t PrevXferComplete; + +/* Private function prototypes -----------------------------------------------*/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len); +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Set_System +* Description : Configures Main system clocks & power. +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_System(void) +{ +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD)&& !defined(STM32L1XX_MD_PLUS) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /*STM32L1XX_XD */ +#if defined(USB_USE_EXTERNAL_PULLUP) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* USB_USE_EXTERNAL_PULLUP */ + + /*!< At this stage the microcontroller clock setting is already configured, + this is done through SystemInit() function which is called from startup + file (startup_stm32xxx.s) before to branch to application main. + To reconfigure the default setting of SystemInit() function, refer to + system_stm32xxx.c file + */ + + /* Enable the PWR clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined(STM32F37X)|| defined(STM32F30X) + /* Enable the SYSCFG module clock (used for the USB disconnect feature) */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); +#endif /* STM32L1XX_XD */ + + /* Set all the GPIOs to AIN *************************************************/ + #if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS)&& !defined(STM32F37X) && !defined(STM32F30X) + GPIO_AINConfig(); +#endif /* STM32L1XX_XD */ + +#if defined(STM32F37X) || defined(STM32F30X) + + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /*Set PA11,12 as IN - USB_DM,DP*/ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(GPIOA, &GPIO_InitStructure); + + /*SET PA11,12 for USB: USB_DM,DP*/ + GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_14); + GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_14); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); + + /*Enable Joystick GPIOs clock*/ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF, ENABLE); + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOE, ENABLE); + /*Configure the JoyStick IOs as input floating*/ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_4 | + GPIO_Pin_9 | GPIO_Pin_10; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; /*PullDown is mandatory for Joystick pins*/ + GPIO_Init(GPIOF, &GPIO_InitStructure); + + /*Configure the JoyStick IOs as input floating*/ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_5; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; /*PullDown is mandatory for Joystick pins*/ + GPIO_Init(GPIOB, &GPIO_InitStructure); + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; + GPIO_Init(GPIOF, &GPIO_InitStructure); + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; + GPIO_Init(GPIOE, &GPIO_InitStructure); +#endif /*STM32F37X && STM32F30X*/ +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS) && !defined(STM32F37X)&& !defined(STM32F30X) + + /* Enable the USB disconnect GPIO clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT, ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /*STM32L1XX_MD*/ + +#if defined(USB_USE_EXTERNAL_PULLUP) + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* USB_USE_EXTERNAL_PULLUP */ + + /* Joystick buttons configuration *******************************************/ + /* Configure the Joystick buttons in GPIO mode */ + STM_EVAL_PBInit(Button_RIGHT, Mode_GPIO); + STM_EVAL_PBInit(Button_LEFT, Mode_GPIO); + STM_EVAL_PBInit(Button_UP, Mode_GPIO); + STM_EVAL_PBInit(Button_DOWN, Mode_GPIO); + + /* Configure the Key button in EXTI mode ************************************/ + STM_EVAL_PBInit(Button_KEY, Mode_EXTI); + + /* Configure the EXTI line 18 connected internally to the USB IP ************/ + EXTI_ClearITPendingBit(EXTI_Line18); + EXTI_InitStructure.EXTI_Line = EXTI_Line18; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); + + EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); +} + +/******************************************************************************* +* Function Name : Set_USBClock +* Description : Configures USB Clock input (48MHz). +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Set_USBClock(void) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + /* Enable USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); + +#else + /* Select USBCLK source */ + RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); + + /* Enable the USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); +#endif /* STM32L1XX_XD */ + +} + +/******************************************************************************* +* Function Name : GPIO_AINConfig +* Description : Configures all IOs as AIN to reduce the power consumption. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +#ifndef STM32F37X +void GPIO_AINConfig(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined(STM32F30X) + /* Enable all GPIOs Clock*/ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ALLGPIO, ENABLE); +#else + /* Enable all GPIOs Clock*/ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_ALLGPIO, ENABLE); +#endif /* STM32L1XX_XD */ + + /* Configure all GPIO port pins in Analog Input mode (floating input trigger OFF) */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; +#if defined(STM32F30X) + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; +#else + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; +#endif + //GPIO_Init(GPIOA, &GPIO_InitStructure); // Some GPIOA pins are used for JTAG and USB + GPIO_Init(GPIOB, &GPIO_InitStructure); + GPIO_Init(GPIOC, &GPIO_InitStructure); + GPIO_Init(GPIOD, &GPIO_InitStructure); + GPIO_Init(GPIOE, &GPIO_InitStructure); + +#if defined (USE_STM32L152_EVAL) + GPIO_Init(GPIOH, &GPIO_InitStructure); +#endif /* USE_STM32L152_EVAL */ + +#if defined (USE_STM32L152D_EVAL) + GPIO_Init(GPIOF, &GPIO_InitStructure); + GPIO_Init(GPIOG, &GPIO_InitStructure); + GPIO_Init(GPIOH, &GPIO_InitStructure); +#endif /* USE_STM32L152D_EVAL */ + +#if defined (USE_STM3210E_EVAL) + GPIO_Init(GPIOF, &GPIO_InitStructure); + GPIO_Init(GPIOG, &GPIO_InitStructure); +#endif /* USE_STM3210E_EVAL */ + +} +#endif /*STM32F37X*/ +/******************************************************************************* +* Function Name : Enter_LowPowerMode. +* Description : Power-off system clocks and power while entering suspend mode. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Enter_LowPowerMode(void) +{ + /* Set the device state to suspend */ + bDeviceState = SUSPENDED; + + /* Clear EXTI Line18 pending bit */ + EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); + + /* Request to enter STOP mode with regulator in low power mode */ + PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); +} + +/******************************************************************************* +* Function Name : Leave_LowPowerMode. +* Description : Restores system clocks and power while exiting suspend mode. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Leave_LowPowerMode(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + /* Set the device state to the correct state */ + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } + else + { + bDeviceState = ATTACHED; + } + + /*Enable SystemCoreClock*/ + SystemInit(); +} + +/******************************************************************************* +* Function Name : USB_Interrupts_Config. +* Description : Configures the USB interrupts. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void USB_Interrupts_Config(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + + /* 2 bit for pre-emption priority, 2 bits for subpriority */ + NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); + +#if defined(STM32L1XX_MD)|| defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_FS_WKUP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#elif defined(STM32F37X) + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#else /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_Init(&NVIC_InitStructure); +#endif + /* Enable the Key EXTI line Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = KEY_BUTTON_EXTI_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_Init(&NVIC_InitStructure); +} + +/******************************************************************************* +* Function Name : USB_Cable_Config. +* Description : Software Connection/Disconnection of USB Cable. +* Input : NewState: new state. +* Output : None. +* Return : None +*******************************************************************************/ +void USB_Cable_Config (FunctionalState NewState) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + if (NewState != DISABLE) + { + STM32L15_USB_CONNECT; + } + else + { + STM32L15_USB_DISCONNECT; + } + +#else + if (NewState != DISABLE) + { + GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } + else + { + GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } +#endif /* STM32L1XX_MD */ +} +/******************************************************************************* +* Function Name : JoyState. +* Description : Decodes the Joystick direction. +* Input : None. +* Output : None. +* Return value : The direction value. +*******************************************************************************/ +uint8_t JoyState(void) +{ + /* "right" key is pressed */ +#if !defined(USE_STM32373C_EVAL) && !defined(USE_STM32303C_EVAL) + if (!STM_EVAL_PBGetState(Button_RIGHT)) +#else + if (STM_EVAL_PBGetState(Button_RIGHT)) +#endif + { + return JOY_RIGHT; + } + /* "left" key is pressed */ +#if !defined(USE_STM32373C_EVAL) && !defined(USE_STM32303C_EVAL) + if (!STM_EVAL_PBGetState(Button_LEFT)) +#else + if (STM_EVAL_PBGetState(Button_LEFT)) +#endif + { + return JOY_LEFT; + } + /* "up" key is pressed */ +#if !defined(USE_STM32373C_EVAL) && !defined(USE_STM32303C_EVAL) + if (!STM_EVAL_PBGetState(Button_UP)) +#else + if (STM_EVAL_PBGetState(Button_UP)) +#endif + { + return JOY_UP; + } + /* "down" key is pressed */ +#if !defined(USE_STM32373C_EVAL) && !defined(USE_STM32303C_EVAL) + if (!STM_EVAL_PBGetState(Button_DOWN)) +#else + if (STM_EVAL_PBGetState(Button_DOWN)) +#endif + { + return JOY_DOWN; + } + /* No key is pressed */ + else + { + return 0; + } +} + +/******************************************************************************* +* Function Name : Joystick_Send. +* Description : prepares buffer to be sent containing Joystick event infos. +* Input : Keys: keys received from terminal. +* Output : None. +* Return value : None. +*******************************************************************************/ +void Joystick_Send(uint8_t Keys) +{ + uint8_t Mouse_Buffer[4] = {0, 0, 0, 0}; + int8_t X = 0, Y = 0; + + switch (Keys) + { + case JOY_LEFT: + X -= CURSOR_STEP; + break; + case JOY_RIGHT: + + X += CURSOR_STEP; + break; + case JOY_UP: + Y -= CURSOR_STEP; + break; + case JOY_DOWN: + Y += CURSOR_STEP; + break; + default: + return; + } + /* prepare buffer to send */ + Mouse_Buffer[1] = X; + Mouse_Buffer[2] = Y; + + /* Reset the control token to inform upper layer that a transfer is ongoing */ + PrevXferComplete = 0; + + /* Copy mouse position info in ENDP1 Tx Packet Memory Area*/ + USB_SIL_Write(EP1_IN, Mouse_Buffer, 4); + + /* Enable endpoint for transmission */ + SetEPTxValid(ENDP1); + +} + +/******************************************************************************* +* Function Name : Get_SerialNum. +* Description : Create the serial number string descriptor. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Get_SerialNum(void) +{ + uint32_t Device_Serial0, Device_Serial1, Device_Serial2; + + Device_Serial0 = *(uint32_t*)ID1; + Device_Serial1 = *(uint32_t*)ID2; + Device_Serial2 = *(uint32_t*)ID3; + + Device_Serial0 += Device_Serial2; + + if (Device_Serial0 != 0) + { + IntToUnicode (Device_Serial0, &Joystick_StringSerial[2] , 8); + IntToUnicode (Device_Serial1, &Joystick_StringSerial[18], 4); + } +} + +/******************************************************************************* +* Function Name : HexToChar. +* Description : Convert Hex 32Bits value into char. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len) +{ + uint8_t idx = 0; + + for( idx = 0 ; idx < len ; idx ++) + { + if( ((value >> 28)) < 0xA ) + { + pbuf[ 2* idx] = (value >> 28) + '0'; + } + else + { + pbuf[2* idx] = (value >> 28) + 'A' - 10; + } + + value = value << 4; + + pbuf[ 2* idx + 1] = 0; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/main.c new file mode 100644 index 0000000..f444671 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/main.c @@ -0,0 +1,95 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Joystick Mouse demo main file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint8_t PrevXferComplete = 1; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : main. +* Description : main routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +int main(void) +{ + Set_System(); + + USB_Interrupts_Config(); + + Set_USBClock(); + + USB_Init(); + + while (1) + { + + if (bDeviceState == CONFIGURED) + { + if ((JoyState() != 0) && (PrevXferComplete)) + { + Joystick_Send(JoyState()); + } + } + } +} + +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while (1) + {} +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/stm32_it.c new file mode 100644 index 0000000..d3a0c04 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/stm32_it.c @@ -0,0 +1,260 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "stm32_it.h" +#include "usb_istr.h" +#include "usb_lib.h" +#include "usb_pwr.h" +#include "platform_config.h" + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSVC exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined(STM32F37X) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + +/******************************************************************************* +* Function Name : USB_FS_WKUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void USB_FS_WKUP_IRQHandler(void) +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} +#endif +/******************************************************************************* +* Function Name : EXTI_IRQHandler +* Description : This function handles External lines interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void EXTI0_IRQHandler(void) +#elif defined (STM32F37X) +void EXTI2_TS_IRQHandler(void) +#else +void EXTI9_5_IRQHandler(void) +#endif +{ + if (EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) + { + /* Check if the remote wakeup feature is enabled (it could be disabled + by the host through ClearFeature request) */ + if (pInformation->Current_Feature & 0x20) + { + pInformation->Current_Feature &= ~0x20; + /* Exit low power mode and re-configure clocks */ + Resume(RESUME_INTERNAL); + } + + /* Clear the EXTI line pending bit */ + EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); + } +} + +/******************************************************************************* +* Function Name : USBWakeUp_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void USBWakeUp_IRQHandler(void) +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f10x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f10x.c new file mode 100644 index 0000000..3686a2f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f10x.c @@ -0,0 +1,917 @@ +/** + ****************************************************************************** + * @file system_stm32f10x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f10x_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on + * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f10x_system + * @{ + */ + +/** @addtogroup STM32F10x_System_Private_Includes + * @{ + */ + +#include "stm32f10x.h" + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) + frequency (after reset the HSI is used as SYSCLK source) + + IMPORTANT NOTE: + ============== + 1. After each device reset the HSI is used as System clock source. + + 2. Please make sure that the selected System clock doesn't exceed your device's + maximum frequency. + + 3. If none of the define below is enabled, the HSI is used as System clock + source. + + 4. The System clock configuration functions provided within this file assume that: + - For Low, Medium and High density Value line devices an external 8MHz + crystal is used to drive the System clock. + - For Low, Medium and High density devices an external 8MHz crystal is + used to drive the System clock. + - For Connectivity line devices an external 25MHz crystal is used to drive + the System clock. + If you are using different crystal you have to adapt those functions accordingly. + */ + +#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ + #define SYSCLK_FREQ_24MHz 24000000 +#else +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ +/* #define SYSCLK_FREQ_24MHz 24000000 */ +/* #define SYSCLK_FREQ_36MHz 36000000 */ +/* #define SYSCLK_FREQ_48MHz 48000000 */ +/* #define SYSCLK_FREQ_56MHz 56000000 */ +#define SYSCLK_FREQ_72MHz 72000000 +#endif + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM3210E-EVAL board (STM32 High density and XL-density devices) or on + STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) +/* #define DATA_IN_ExtSRAM */ +#endif + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Variables + * @{ + */ + +/******************************************************************************* +* Clock Definitions +*******************************************************************************/ +#ifdef SYSCLK_FREQ_HSE + uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_24MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_36MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_48MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_56MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_72MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ +#else /*!< HSI Selected as System Clock source */ + uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ +#endif + +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +#ifdef SYSCLK_FREQ_HSE + static void SetSysClockToHSE(void); +#elif defined SYSCLK_FREQ_24MHz + static void SetSysClockTo24(void); +#elif defined SYSCLK_FREQ_36MHz + static void SetSysClockTo36(void); +#elif defined SYSCLK_FREQ_48MHz + static void SetSysClockTo48(void); +#elif defined SYSCLK_FREQ_56MHz + static void SetSysClockTo56(void); +#elif defined SYSCLK_FREQ_72MHz + static void SetSysClockTo72(void); +#endif + +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ + + RCC->CFGR &= (uint32_t)0xF8FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; +#endif /* STM32F10X_XX */ + +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + + /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ + /* Configure the Flash Latency cycles and enable prefetch buffer */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + uint32_t prediv1factor = 0; +#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } + + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. + * @param None + * @retval None + */ +static void SetSysClock(void) +{ +#ifdef SYSCLK_FREQ_HSE + SetSysClockToHSE(); +#elif defined SYSCLK_FREQ_24MHz + SetSysClockTo24(); +#elif defined SYSCLK_FREQ_36MHz + SetSysClockTo36(); +#elif defined SYSCLK_FREQ_48MHz + SetSysClockTo48(); +#elif defined SYSCLK_FREQ_56MHz + SetSysClockTo56(); +#elif defined SYSCLK_FREQ_72MHz + SetSysClockTo72(); +#endif + + /* If none of the define above is enabled, the HSI is used as System clock + source (default after reset) */ +} + +/** + * @brief Setup the external memory controller. Called in startup_stm32f10x.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f10x_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114; + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0; + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BB; + GPIOD->CRH = 0xBBBBBBBB; + + GPIOE->CRL = 0xB44444BB; + GPIOE->CRH = 0xBBBBBBBB; + + GPIOF->CRL = 0x44BBBBBB; + GPIOF->CRH = 0xBBBB4444; + + GPIOG->CRL = 0x44BBBBBB; + GPIOG->CRH = 0x44444B44; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000200; +} +#endif /* DATA_IN_ExtSRAM */ + +#ifdef SYSCLK_FREQ_HSE +/** + * @brief Selects HSE as System clock source and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockToHSE(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* Select HSE as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; + + /* Wait till HSE is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_24MHz +/** + * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo24(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_XX */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_36MHz +/** + * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo36(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_48MHz +/** + * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo48(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_56MHz +/** + * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo56(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + + /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_72MHz +/** + * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo72(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | + RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#endif + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f30x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f30x.c new file mode 100644 index 0000000..31faf5c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32f30x.c @@ -0,0 +1,382 @@ +/** + ****************************************************************************** + * @file system_stm32f30x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F30x devices, + * and is generated by the clock configuration tool + * stm32f30x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f30x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f30x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32f30x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F30x device + *----------------------------------------------------------------------------- + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f30x_system + * @{ + */ + +/** @addtogroup STM32F30x_System_Private_Includes + * @{ + */ + +#include "stm32f30x.h" + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Defines + * @{ + */ +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Variables + * @{ + */ + + uint32_t SystemCoreClock = 72000000; + + __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemFrequency variable. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Reset the RCC clock configuration to the default reset state ------------*/ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset CFGR register */ + RCC->CFGR &= 0xF87FC00C; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and TIMs bits */ + RCC->CFGR3 &= (uint32_t)0xFF00FCCC; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + + /* Configure the System clock source, PLL Multiplier and Divider factors, + AHB/APBx prescalers and Flash settings ----------------------------------*/ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock source, PLL Multiplier and Divider factors, + * AHB/APBx prescalers and Flash settings + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32l1xx.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32l1xx.c new file mode 100644 index 0000000..1be659d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/system_stm32l1xx.c @@ -0,0 +1,533 @@ +/** + ****************************************************************************** + * @file system_stm32l1xx.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32L1xx Ultra + * Low Power devices, and is generated by the clock configuration + * tool "STM32L1xx_Clock_Configuration_V1.1.0.xls". + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32l1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and MSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * System Clock Configuration + *============================================================================= + * System Clock source | PLL(HSE) + *----------------------------------------------------------------------------- + * SYSCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * HCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * HSE Frequency | 8000000 Hz + *----------------------------------------------------------------------------- + * PLL DIV | 3 + *----------------------------------------------------------------------------- + * PLL MUL | 12 + *----------------------------------------------------------------------------- + * VDD | 3.3 V + *----------------------------------------------------------------------------- + * Vcore | 1.8 V (Range 1) + *----------------------------------------------------------------------------- + * Flash Latency | 1 WS + *----------------------------------------------------------------------------- + * SDIO clock (SDIOCLK) | 48000000 Hz + *----------------------------------------------------------------------------- + * Require 48MHz for USB clock | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32l1xx_system + * @{ + */ + +/** @addtogroup STM32L1xx_System_Private_Includes + * @{ + */ + +#include "stm32l1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM32L152D_EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 32000000; +__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48}; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /*!< Set MSION bit */ + RCC->CR |= (uint32_t)0x00000100; + + /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */ + RCC->CFGR &= (uint32_t)0x88FFC00C; + + /*!< Reset HSION, HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xEEFEFFFE; + + /*!< Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */ + RCC->CFGR &= (uint32_t)0xFF02FFFF; + + /*!< Disable all interrupts */ + RCC->CIR = 0x00000000; + +#ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM */ + + /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI + * value as defined by the MSI range. + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + case 0x04: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x08: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x0C: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmul = RCC->CFGR & RCC_CFGR_PLLMUL; + plldiv = RCC->CFGR & RCC_CFGR_PLLDIV; + pllmul = PLLMulTable[(pllmul >> 18)]; + plldiv = (plldiv >> 22) + 1; + + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + if (pllsource == 0x00) + { + /* HSI oscillator clock selected as PLL clock entry */ + SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv); + } + else + { + /* HSE selected as PLL clock entry */ + SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv); + } + break; + default: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable 64-bit access */ + FLASH->ACR |= FLASH_ACR_ACC64; + + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTEN; + + /* Flash 1 wait state */ + FLASH->ACR |= FLASH_ACR_LATENCY; + + /* Power enable */ + RCC->APB1ENR |= RCC_APB1ENR_PWREN; + + /* Select the Voltage Range 1 (1.8 V) */ + PWR->CR = PWR_CR_VOS_0; + + /* Wait Until the Voltage Regulator is ready */ + while((PWR->CSR & PWR_CSR_VOSF) != RESET) + { + } + + /* HCLK = SYSCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL | + RCC_CFGR_PLLDIV)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL12 | RCC_CFGR_PLLDIV3); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { + /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in SystemInit() function before jump to main. + * This function configures the external SRAM mounted on STM32L152D_EVAL board + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*-- GPIOs Configuration -----------------------------------------------------*/ +/* + +-------------------+--------------------+------------------+------------------+ + + SRAM pins assignment + + +-------------------+--------------------+------------------+------------------+ + | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | + | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | + | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | + | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | + | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | + | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | + | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 | + | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ + | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | + | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | + | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+ + | PD15 <-> FSMC_D1 |--------------------+ + +-------------------+ +*/ + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHBENR = 0x000080D8; + + /* Connect PDx pins to FSMC Alternate function */ + GPIOD->AFR[0] = 0x00CC00CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A0A; + /* Configure PDx pins speed to 40 MHz */ + GPIOD->OSPEEDR = 0xFFFF0F0F; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x00000000; + + /* Connect PEx pins to FSMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA800A; + /* Configure PEx pins speed to 40 MHz */ + GPIOE->OSPEEDR = 0xFFFFC00F; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x00000000; + + /* Connect PFx pins to FSMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 40 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x00000000; + + /* Connect PGx pins to FSMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x00000C00; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 40 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00000000; + +/*-- FSMC Configuration ------------------------------------------------------*/ + /* Enable the FSMC interface clock */ + RCC->AHBENR = 0x400080D8; + + /* Configure and enable Bank1_SRAM3 */ + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000300; + FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF; +/* + Bank1_SRAM3 is configured as follow: + + p.FSMC_AddressSetupTime = 0; + p.FSMC_AddressHoldTime = 0; + p.FSMC_DataSetupTime = 3; + p.FSMC_BusTurnAroundDuration = 0; + p.FSMC_CLKDivision = 0; + p.FSMC_DataLatency = 0; + p.FSMC_AccessMode = FSMC_AccessMode_A; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); +*/ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_desc.c new file mode 100644 index 0000000..690639f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_desc.c @@ -0,0 +1,243 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Joystick Mouse Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/* USB Standard Device Descriptor */ +const uint8_t Joystick_DeviceDescriptor[JOYSTICK_SIZ_DEVICE_DESC] = + { + 0x12, /*bLength */ + USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ + 0x00, /*bcdUSB */ + 0x02, + 0x00, /*bDeviceClass*/ + 0x00, /*bDeviceSubClass*/ + 0x00, /*bDeviceProtocol*/ + 0x40, /*bMaxPacketSize 64*/ + 0x83, /*idVendor (0x0483)*/ + 0x04, + 0x10, /*idProduct = 0x5710*/ + 0x57, + 0x00, /*bcdDevice rel. 2.00*/ + 0x02, + 1, /*Index of string descriptor describing + manufacturer */ + 2, /*Index of string descriptor describing + product*/ + 3, /*Index of string descriptor describing the + device serial number */ + 0x01 /*bNumConfigurations*/ + } + ; /* Joystick_DeviceDescriptor */ + + +/* USB Configuration Descriptor */ +/* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ +const uint8_t Joystick_ConfigDescriptor[JOYSTICK_SIZ_CONFIG_DESC] = + { + 0x09, /* bLength: Configuration Descriptor size */ + USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ + JOYSTICK_SIZ_CONFIG_DESC, + /* wTotalLength: Bytes returned */ + 0x00, + 0x01, /*bNumInterfaces: 1 interface*/ + 0x01, /*bConfigurationValue: Configuration value*/ + 0x00, /*iConfiguration: Index of string descriptor describing + the configuration*/ + 0xE0, /*bmAttributes: Self powered */ + 0x32, /*MaxPower 100 mA: this current is used for detecting Vbus*/ + + /************** Descriptor of Joystick Mouse interface ****************/ + /* 09 */ + 0x09, /*bLength: Interface Descriptor size*/ + USB_INTERFACE_DESCRIPTOR_TYPE,/*bDescriptorType: Interface descriptor type*/ + 0x00, /*bInterfaceNumber: Number of Interface*/ + 0x00, /*bAlternateSetting: Alternate setting*/ + 0x01, /*bNumEndpoints*/ + 0x03, /*bInterfaceClass: HID*/ + 0x01, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/ + 0x02, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/ + 0, /*iInterface: Index of string descriptor*/ + /******************** Descriptor of Joystick Mouse HID ********************/ + /* 18 */ + 0x09, /*bLength: HID Descriptor size*/ + HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/ + 0x00, /*bcdHID: HID Class Spec release number*/ + 0x01, + 0x00, /*bCountryCode: Hardware target country*/ + 0x01, /*bNumDescriptors: Number of HID class descriptors to follow*/ + 0x22, /*bDescriptorType*/ + JOYSTICK_SIZ_REPORT_DESC,/*wItemLength: Total length of Report descriptor*/ + 0x00, + /******************** Descriptor of Joystick Mouse endpoint ********************/ + /* 27 */ + 0x07, /*bLength: Endpoint Descriptor size*/ + USB_ENDPOINT_DESCRIPTOR_TYPE, /*bDescriptorType:*/ + + 0x81, /*bEndpointAddress: Endpoint Address (IN)*/ + 0x03, /*bmAttributes: Interrupt endpoint*/ + 0x04, /*wMaxPacketSize: 4 Byte max */ + 0x00, + 0x20, /*bInterval: Polling Interval (32 ms)*/ + /* 34 */ + } + ; /* MOUSE_ConfigDescriptor */ +const uint8_t Joystick_ReportDescriptor[JOYSTICK_SIZ_REPORT_DESC] = + { + 0x05, /*Usage Page(Generic Desktop)*/ + 0x01, + 0x09, /*Usage(Mouse)*/ + 0x02, + 0xA1, /*Collection(Logical)*/ + 0x01, + 0x09, /*Usage(Pointer)*/ + 0x01, + /* 8 */ + 0xA1, /*Collection(Linked)*/ + 0x00, + 0x05, /*Usage Page(Buttons)*/ + 0x09, + 0x19, /*Usage Minimum(1)*/ + 0x01, + 0x29, /*Usage Maximum(3)*/ + 0x03, + /* 16 */ + 0x15, /*Logical Minimum(0)*/ + 0x00, + 0x25, /*Logical Maximum(1)*/ + 0x01, + 0x95, /*Report Count(3)*/ + 0x03, + 0x75, /*Report Size(1)*/ + 0x01, + /* 24 */ + 0x81, /*Input(Variable)*/ + 0x02, + 0x95, /*Report Count(1)*/ + 0x01, + 0x75, /*Report Size(5)*/ + 0x05, + 0x81, /*Input(Constant,Array)*/ + 0x01, + /* 32 */ + 0x05, /*Usage Page(Generic Desktop)*/ + 0x01, + 0x09, /*Usage(X axis)*/ + 0x30, + 0x09, /*Usage(Y axis)*/ + 0x31, + 0x09, /*Usage(Wheel)*/ + 0x38, + /* 40 */ + 0x15, /*Logical Minimum(-127)*/ + 0x81, + 0x25, /*Logical Maximum(127)*/ + 0x7F, + 0x75, /*Report Size(8)*/ + 0x08, + 0x95, /*Report Count(3)*/ + 0x03, + /* 48 */ + 0x81, /*Input(Variable, Relative)*/ + 0x06, + 0xC0, /*End Collection*/ + 0x09, + 0x3c, + 0x05, + 0xff, + 0x09, + /* 56 */ + 0x01, + 0x15, + 0x00, + 0x25, + 0x01, + 0x75, + 0x01, + 0x95, + /* 64 */ + 0x02, + 0xb1, + 0x22, + 0x75, + 0x06, + 0x95, + 0x01, + 0xb1, + /* 72 */ + 0x01, + 0xc0 + } + ; /* Joystick_ReportDescriptor */ + +/* USB String Descriptors (optional) */ +const uint8_t Joystick_StringLangID[JOYSTICK_SIZ_STRING_LANGID] = + { + JOYSTICK_SIZ_STRING_LANGID, + USB_STRING_DESCRIPTOR_TYPE, + 0x09, + 0x04 + } + ; /* LangID = 0x0409: U.S. English */ + +const uint8_t Joystick_StringVendor[JOYSTICK_SIZ_STRING_VENDOR] = + { + JOYSTICK_SIZ_STRING_VENDOR, /* Size of Vendor string */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +const uint8_t Joystick_StringProduct[JOYSTICK_SIZ_STRING_PRODUCT] = + { + JOYSTICK_SIZ_STRING_PRODUCT, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'J', 0, + 'o', 0, 'y', 0, 's', 0, 't', 0, 'i', 0, 'c', 0, 'k', 0 + }; +uint8_t Joystick_StringSerial[JOYSTICK_SIZ_STRING_SERIAL] = + { + JOYSTICK_SIZ_STRING_SERIAL, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_istr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_istr.c new file mode 100644 index 0000000..b711fbf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_istr.c @@ -0,0 +1,229 @@ +/** + ****************************************************************************** + * @file usb_istr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief ISTR events interrupt service routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_prop.h" +#include "usb_pwr.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint16_t wIstr; /* ISTR register last read value */ +__IO uint8_t bIntPackSOF = 0; /* SOFs received between 2 consecutive packets */ +__IO uint32_t esof_counter =0; /* expected SOF counter */ +__IO uint32_t wCNTR=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* function pointers to non-control endpoints service routines */ +void (*pEpInt_IN[7])(void) = + { + EP1_IN_Callback, + EP2_IN_Callback, + EP3_IN_Callback, + EP4_IN_Callback, + EP5_IN_Callback, + EP6_IN_Callback, + EP7_IN_Callback, + }; + +void (*pEpInt_OUT[7])(void) = + { + EP1_OUT_Callback, + EP2_OUT_Callback, + EP3_OUT_Callback, + EP4_OUT_Callback, + EP5_OUT_Callback, + EP6_OUT_Callback, + EP7_OUT_Callback, + }; + +/******************************************************************************* +* Function Name : USB_Istr +* Description : ISTR events interrupt service routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void USB_Istr(void) +{ + uint32_t i=0; + __IO uint32_t EP[8]; + + wIstr = _GetISTR(); +#if (IMR_MSK & ISTR_CTR) + if (wIstr & ISTR_CTR & wInterrupt_Mask) + { + /* servicing of the endpoint correct transfer interrupt */ + /* clear of the CTR flag into the sub */ + CTR_LP(); +#ifdef CTR_CALLBACK + CTR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_RESET) + if (wIstr & ISTR_RESET & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_RESET); + Device_Property.Reset(); +#ifdef RESET_CALLBACK + RESET_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_DOVR) + if (wIstr & ISTR_DOVR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_DOVR); +#ifdef DOVR_CALLBACK + DOVR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ERR) + if (wIstr & ISTR_ERR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_ERR); +#ifdef ERR_CALLBACK + ERR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_WKUP) + if (wIstr & ISTR_WKUP & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_WKUP); + Resume(RESUME_EXTERNAL); +#ifdef WKUP_CALLBACK + WKUP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SUSP) + if (wIstr & ISTR_SUSP & wInterrupt_Mask) + { + + /* check if SUSPEND is possible */ + if (fSuspendEnabled) + { + Suspend(); + } + else + { + /* if not possible then resume after xx ms */ + Resume(RESUME_LATER); + } + /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ + _SetISTR((uint16_t)CLR_SUSP); +#ifdef SUSP_CALLBACK + SUSP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SOF) + if (wIstr & ISTR_SOF & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_SOF); + bIntPackSOF++; + +#ifdef SOF_CALLBACK + SOF_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ESOF) + if (wIstr & ISTR_ESOF & wInterrupt_Mask) + { + /* clear ESOF flag in ISTR */ + _SetISTR((uint16_t)CLR_ESOF); + + if ((_GetFNR()&FNR_RXDP)!=0) + { + /* increment ESOF counter */ + esof_counter ++; + + /* test if we enter in ESOF more than 3 times with FSUSP =0 and RXDP =1=>> possible missing SUSP flag*/ + if ((esof_counter >3)&&((_GetCNTR()&CNTR_FSUSP)==0)) + { + /* this a sequence to apply a force RESET*/ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + esof_counter = 0; + } + } + else + { + esof_counter = 0; + } + + /* resume handling timing is made with ESOFs */ + Resume(RESUME_ESOF); /* request without change of the machine state */ +#ifdef ESOF_CALLBACK + ESOF_Callback(); +#endif + + } +#endif +} /* USB_Istr */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_prop.c new file mode 100644 index 0000000..a1d60cd --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/JoyStickMouse/src/usb_prop.c @@ -0,0 +1,414 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Joystick Mouse Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint32_t ProtocolValue; + +/* -------------------------------------------------------------------------- */ +/* Structures initializations */ +/* -------------------------------------------------------------------------- */ + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + Joystick_init, + Joystick_Reset, + Joystick_Status_In, + Joystick_Status_Out, + Joystick_Data_Setup, + Joystick_NoData_Setup, + Joystick_Get_Interface_Setting, + Joystick_GetDeviceDescriptor, + Joystick_GetConfigDescriptor, + Joystick_GetStringDescriptor, + 0, + 0x40 /*MAX PACKET SIZE*/ + }; +USER_STANDARD_REQUESTS User_Standard_Requests = + { + Joystick_GetConfiguration, + Joystick_SetConfiguration, + Joystick_GetInterface, + Joystick_SetInterface, + Joystick_GetStatus, + Joystick_ClearFeature, + Joystick_SetEndPointFeature, + Joystick_SetDeviceFeature, + Joystick_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)Joystick_DeviceDescriptor, + JOYSTICK_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)Joystick_ConfigDescriptor, + JOYSTICK_SIZ_CONFIG_DESC + }; + +ONE_DESCRIPTOR Joystick_Report_Descriptor = + { + (uint8_t *)Joystick_ReportDescriptor, + JOYSTICK_SIZ_REPORT_DESC + }; + +ONE_DESCRIPTOR Mouse_Hid_Descriptor = + { + (uint8_t*)Joystick_ConfigDescriptor + JOYSTICK_OFF_HID_DESC, + JOYSTICK_SIZ_HID_DESC + }; + +ONE_DESCRIPTOR String_Descriptor[4] = + { + {(uint8_t*)Joystick_StringLangID, JOYSTICK_SIZ_STRING_LANGID}, + {(uint8_t*)Joystick_StringVendor, JOYSTICK_SIZ_STRING_VENDOR}, + {(uint8_t*)Joystick_StringProduct, JOYSTICK_SIZ_STRING_PRODUCT}, + {(uint8_t*)Joystick_StringSerial, JOYSTICK_SIZ_STRING_SERIAL} + }; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Joystick_init. +* Description : Joystick Mouse init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Joystick_init(void) +{ + + /* Update the serial number string descriptor with the data from the unique + ID*/ + Get_SerialNum(); + + pInformation->Current_Configuration = 0; + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : Joystick_Reset. +* Description : Joystick Mouse reset routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Joystick_Reset(void) +{ + /* Set Joystick_DEVICE as not configured */ + pInformation->Current_Configuration = 0; + pInformation->Current_Interface = 0;/*the default Interface*/ + + /* Current Feature initialization */ + pInformation->Current_Feature = Joystick_ConfigDescriptor[7]; + SetBTABLE(BTABLE_ADDRESS); + /* Initialize Endpoint 0 */ + SetEPType(ENDP0, EP_CONTROL); + SetEPTxStatus(ENDP0, EP_TX_STALL); + SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPTxAddr(ENDP0, ENDP0_TXADDR); + Clear_Status_Out(ENDP0); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPRxValid(ENDP0); + + /* Initialize Endpoint 1 */ + SetEPType(ENDP1, EP_INTERRUPT); + SetEPTxAddr(ENDP1, ENDP1_TXADDR); + SetEPTxCount(ENDP1, 4); + SetEPRxStatus(ENDP1, EP_RX_DIS); + SetEPTxStatus(ENDP1, EP_TX_NAK); + + /* Set this device to response on default address */ + SetDeviceAddress(0); + bDeviceState = ATTACHED; +} +/******************************************************************************* +* Function Name : Joystick_SetConfiguration. +* Description : Update the device state to configured. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Joystick_SetConfiguration(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } +} +/******************************************************************************* +* Function Name : Joystick_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Joystick_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} +/******************************************************************************* +* Function Name : Joystick_Status_In. +* Description : Joystick status IN routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Joystick_Status_In(void) +{} + +/******************************************************************************* +* Function Name : Joystick_Status_Out +* Description : Joystick status OUT routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Joystick_Status_Out (void) +{} + +/******************************************************************************* +* Function Name : Joystick_Data_Setup +* Description : Handle the data class specific requests. +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT Joystick_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + + CopyRoutine = NULL; + if ((RequestNo == GET_DESCRIPTOR) + && (Type_Recipient == (STANDARD_REQUEST | INTERFACE_RECIPIENT)) + && (pInformation->USBwIndex0 == 0)) + { + if (pInformation->USBwValue1 == REPORT_DESCRIPTOR) + { + CopyRoutine = Joystick_GetReportDescriptor; + } + else if (pInformation->USBwValue1 == HID_DESCRIPTOR_TYPE) + { + CopyRoutine = Joystick_GetHIDDescriptor; + } + + } /* End of GET_DESCRIPTOR */ + + /*** GET_PROTOCOL ***/ + else if ((Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + && RequestNo == GET_PROTOCOL) + { + CopyRoutine = Joystick_GetProtocolValue; + } + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Joystick_NoData_Setup +* Description : handle the no data class specific requests +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT Joystick_NoData_Setup(uint8_t RequestNo) +{ + if ((Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + && (RequestNo == SET_PROTOCOL)) + { + return Joystick_SetProtocol(); + } + + else + { + return USB_UNSUPPORT; + } +} + +/******************************************************************************* +* Function Name : Joystick_GetDeviceDescriptor. +* Description : Gets the device descriptor. +* Input : Length +* Output : None. +* Return : The address of the device descriptor. +*******************************************************************************/ +uint8_t *Joystick_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor); +} + +/******************************************************************************* +* Function Name : Joystick_GetConfigDescriptor. +* Description : Gets the configuration descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *Joystick_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Config_Descriptor); +} + +/******************************************************************************* +* Function Name : Joystick_GetStringDescriptor +* Description : Gets the string descriptors according to the needed index +* Input : Length +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +uint8_t *Joystick_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + if (wValue0 > 4) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : Joystick_GetReportDescriptor. +* Description : Gets the HID report descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *Joystick_GetReportDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Joystick_Report_Descriptor); +} + +/******************************************************************************* +* Function Name : Joystick_GetHIDDescriptor. +* Description : Gets the HID descriptor. +* Input : Length +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *Joystick_GetHIDDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Mouse_Hid_Descriptor); +} + +/******************************************************************************* +* Function Name : Joystick_Get_Interface_Setting. +* Description : tests the interface and the alternate setting according to the +* supported one. +* Input : - Interface : interface number. +* - AlternateSetting : Alternate Setting number. +* Output : None. +* Return : USB_SUCCESS or USB_UNSUPPORT. +*******************************************************************************/ +RESULT Joystick_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 0) + { + return USB_UNSUPPORT; + } + else if (Interface > 0) + { + return USB_UNSUPPORT; + } + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Joystick_SetProtocol +* Description : Joystick Set Protocol request routine. +* Input : None. +* Output : None. +* Return : USB SUCCESS. +*******************************************************************************/ +RESULT Joystick_SetProtocol(void) +{ + uint8_t wValue0 = pInformation->USBwValue0; + ProtocolValue = wValue0; + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Joystick_GetProtocolValue +* Description : get the protocol value +* Input : Length. +* Output : None. +* Return : address of the protocol value. +*******************************************************************************/ +uint8_t *Joystick_GetProtocolValue(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = 1; + return NULL; + } + else + { + return (uint8_t *)(&ProtocolValue); + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewd new file mode 100644 index 0000000..26ba5a9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewp new file mode 100644 index 0000000..0c8bd18 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.ewp @@ -0,0 +1,6934 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152D-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32373C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32303C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\system_stm32f10x.c + + STM32L152-EVAL + STM32L152D-EVAL + + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32F30x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\iar\startup_stm32f30x.s + + + $PROJ_DIR$\..\src\system_stm32f30x.c + + + + STM32303C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + STM32F30x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + + + STM32F37x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\iar\startup_stm32f37x.s + + + $PROJ_DIR$\..\src\system_stm32f37x.c + + + + STM32373C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + STM32F37x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_hd.s + + STM32L152-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + STM32L152D-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_mdp.s + + STM32L152-EVAL + STM32L152D-EVAL + + + + $PROJ_DIR$\..\src\system_stm32l1xx.c + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + + STM32L152_EVAL + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + + STM32L152D_EVAL + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210B-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + USB-FS-Device_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + User + + $PROJ_DIR$\..\src\fsmc_nand.c + + STM3210B-EVAL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\hw_config.c + + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\mass_mal.c + + + $PROJ_DIR$\..\src\memory.c + + + $PROJ_DIR$\..\src\nand_if.c + + STM3210B-EVAL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\scsi_data.c + + + $PROJ_DIR$\..\src\stm32_it.c + + + $PROJ_DIR$\..\src\usb_bot.c + + + $PROJ_DIR$\..\src\usb_desc.c + + + $PROJ_DIR$\..\src\usb_endp.c + + + $PROJ_DIR$\..\src\usb_istr.c + + + $PROJ_DIR$\..\src\usb_prop.c + + + $PROJ_DIR$\..\src\usb_pwr.c + + + $PROJ_DIR$\..\src\usb_scsi.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.eww new file mode 100644 index 0000000..acdd01d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/MassStorageSimpleBuffer.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\MassStorageSimpleBuffer.ewp + + + + USB-Package-MassStorage + + MassStorageSimpleBuffer + STM3210B-EVAL + + + MassStorageSimpleBuffer + STM3210C-EVAL + + + MassStorageSimpleBuffer + STM3210E-EVAL + + + MassStorageSimpleBuffer + STM3210E-EVAL_XL + + + MassStorageSimpleBuffer + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..6721a0d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f30x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f30x_flash.icf new file mode 100644 index 0000000..9d295c8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f30x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f37x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f37x_flash.icf new file mode 100644 index 0000000..a743cb4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32f37x_flash.icf @@ -0,0 +1,33 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x1800; +define symbol __ICFEDIT_size_heap__ = 0x800; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32l1xx_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32l1xx_flash.icf new file mode 100644 index 0000000..8b7d80d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/EWARM/stm32l1xx_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0805FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvopt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvopt new file mode 100644 index 0000000..0c4ec6b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvopt @@ -0,0 +1,2519 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + STM3210B-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210B-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + ST-LINKIII-KEIL + -S + + + 0 + UL2CM3 + -UV0579U9E -O2254 -S0 -C0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL_XL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L151xx_152xx_DS.PDF + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + UL2CM3 + -U-O14 -O2062 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152D-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L162xx_DS.PDF + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UV0579U9E -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32373C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32303C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + User + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + stm32f37x_misc.c + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + misc.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\fsmc_nand.c + fsmc_nand.c + + + 1 + 4 + 1 + 0 + 0 + 15 + 0 + 0 + 0 + 0 + ..\src\hw_config.c + hw_config.c + + + 1 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\main.c + main.c + + + 1 + 6 + 1 + 0 + 0 + 68 + 0 + 0 + 0 + 0 + ..\src\mass_mal.c + mass_mal.c + + + 1 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\memory.c + memory.c + + + 1 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\nand_if.c + nand_if.c + + + 1 + 9 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\scsi_data.c + scsi_data.c + + + 1 + 10 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_bot.c + usb_bot.c + + + 1 + 11 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_desc.c + usb_desc.c + + + 1 + 12 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_endp.c + usb_endp.c + + + 1 + 13 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_istr.c + usb_istr.c + + + 1 + 14 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_prop.c + usb_prop.c + + + 1 + 15 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_pwr.c + usb_pwr.c + + + 1 + 16 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_scsi.c + usb_scsi.c + + + 1 + 17 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\stm32_it.c + stm32_it.c + + + + + CMSIS + 0 + 0 + 0 + + 2 + 18 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f10x.c + system_stm32f10x.c + + + 2 + 19 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32l1xx.c + system_stm32l1xx.c + + + 2 + 20 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + startup_stm32f10x_hd.s + + + 2 + 21 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + startup_stm32f10x_ld.s + + + 2 + 22 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + startup_stm32f10x_ld_vl.s + + + 2 + 23 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + startup_stm32f10x_md.s + + + 2 + 24 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + startup_stm32f10x_md_vl.s + + + 2 + 25 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + startup_stm32f10x_xl.s + + + 2 + 26 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + startup_stm32l1xx_hd.s + + + 2 + 27 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + startup_stm32l1xx_md.s + + + 2 + 28 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + startup_stm32l1xx_mdp.s + + + 2 + 29 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f37x.c + system_stm32f37x.c + + + 2 + 30 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + startup_stm32f37x.s + + + 2 + 31 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f30x.c + system_stm32f30x.c + + + 2 + 32 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + startup_stm32f30x.s + + + + + USB-FS-Device_Driver + 0 + 0 + 0 + + 3 + 33 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + usb_core.c + + + 3 + 34 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + usb_init.c + + + 3 + 35 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + usb_int.c + + + 3 + 36 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + usb_mem.c + + + 3 + 37 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + usb_regs.c + + + 3 + 38 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + 0 + 0 + 0 + + 4 + 39 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + stm32f10x_exti.c + + + 4 + 40 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + stm32f10x_dma.c + + + 4 + 41 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + stm32f10x_spi.c + + + 4 + 42 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + stm32f10x_fsmc.c + + + 4 + 43 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + stm32f10x_gpio.c + + + 4 + 44 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + stm32f10x_rcc.c + + + 4 + 45 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + stm32f10x_sdio.c + + + 4 + 46 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + stm32f10x_flash.c + + + 4 + 47 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_usart.c + + + 4 + 48 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + 0 + 0 + 0 + + 5 + 49 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + stm32l1xx_usart.c + + + 5 + 50 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + stm32l1xx_exti.c + + + 5 + 51 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + stm32l1xx_gpio.c + + + 5 + 52 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + stm32l1xx_i2c.c + + + 5 + 53 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + stm32l1xx_rcc.c + + + 5 + 54 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + stm32l1xx_spi.c + + + 5 + 55 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + stm32l1xx_syscfg.c + + + 5 + 56 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + stm32l1xx_dma.c + + + 5 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + 0 + 0 + 0 + + 6 + 58 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + stm32f37x_dma.c + + + 6 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + stm32f37x_exti.c + + + 6 + 60 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + stm32f37x_flash.c + + + 6 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + stm32f37x_gpio.c + + + 6 + 62 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + stm32f37x_pwr.c + + + 6 + 63 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + stm32f37x_rcc.c + + + 6 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + stm32f37x_spi.c + + + 6 + 65 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + stm32f37x_syscfg.c + + + 6 + 66 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + stm32f37x_i2c.c + + + 6 + 67 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + 0 + 0 + 0 + + 7 + 68 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + stm32f30x_adc.c + + + 7 + 69 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + stm32f30x_can.c + + + 7 + 70 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + stm32f30x_crc.c + + + 7 + 71 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + stm32f30x_dac.c + + + 7 + 72 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + stm32f30x_dma.c + + + 7 + 73 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + stm32f30x_exti.c + + + 7 + 74 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + stm32f30x_flash.c + + + 7 + 75 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + stm32f30x_gpio.c + + + 7 + 76 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + stm32f30x_i2c.c + + + 7 + 77 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + stm32f30x_misc.c + + + 7 + 78 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + stm32f30x_pwr.c + + + 7 + 79 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + stm32f30x_rcc.c + + + 7 + 80 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + stm32f30x_rtc.c + + + 7 + 81 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + stm32f30x_spi.c + + + 7 + 82 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + stm32f30x_syscfg.c + + + 7 + 83 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + stm32f30x_tim.c + + + 7 + 84 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + stm32f30x_usart.c + + + + + STM3210B-EVAL + 0 + 0 + 0 + + 8 + 85 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + stm3210b_eval_spi_sd.c + + + 8 + 86 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + stm3210b_eval.c + + + + + STM3210E-EVAL + 0 + 0 + 0 + + 9 + 87 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + stm3210e_eval.c + + + 9 + 88 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + 0 + 0 + 0 + + 10 + 89 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + stm32l152_eval_spi_sd.c + + + 10 + 90 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + stm32l152_eval.c + + + + + STM32L152D-EVAL + 0 + 0 + 0 + + 11 + 91 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + stm32l152d_eval_sdio_sd.c + + + 11 + 92 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + stm32l152d_eval.c + + + + + STM32373C_EVAL + 0 + 0 + 0 + + 12 + 93 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + stm32373c_eval.c + + + 12 + 94 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + 0 + 0 + 0 + + 13 + 95 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + stm32303c_eval.c + + + 13 + 96 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + stm32303c_eval_spi_sd.c + + + + + Doc + 0 + 0 + 0 + + 14 + 97 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\readme.txt + readme.txt + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvproj new file mode 100644 index 0000000..56640a5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/MDK-ARM/MassStorageSimpleBuffer.uvproj @@ -0,0 +1,13488 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_MD, USE_STM3210B_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L152VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5249 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + + STM32L152ZD + STMicroelectronics + IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code") + ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + 6190 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15\STM32L152xD.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152D-EVAL\ + STM32L152D-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152D-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 1 + 0x8000000 + 0x60000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x60000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_HD, USE_STM32L152D_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + + STM32F373VCT6 + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM0.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32373C_EVAL\ + STM32373C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F37X, USE_STM32373C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F37x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F37x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + + STM32F303VC + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM4.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32303C_EVAL\ + STM32303C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32303C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F30X, USE_STM32303C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F30x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + fsmc_nand.c + 1 + ..\src\fsmc_nand.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + mass_mal.c + 1 + ..\src\mass_mal.c + + + memory.c + 1 + ..\src\memory.c + + + nand_if.c + 1 + ..\src\nand_if.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + scsi_data.c + 1 + ..\src\scsi_data.c + + + usb_bot.c + 1 + ..\src\usb_bot.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + usb_scsi.c + 1 + ..\src\usb_scsi.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_fsmc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval_spi_sd.c + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + stm3210e_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval_sdio_sd.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval_spi_sd.c + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval_sdio_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval_sdio_sd.c + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + stm32373c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_spi_sd.c + + + + + STM32303C_EVAL + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + stm32303c_eval_spi_sd.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval_spi_sd.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/RIDE/MassStorageSimpleBuffer.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/RIDE/MassStorageSimpleBuffer.rprj new file mode 100644 index 0000000..1699e60 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/RIDE/MassStorageSimpleBuffer.rprj @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..3422012 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.cproject @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..bf22095 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,232 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210B_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM3210B_EVAL/stm3210b_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval_spi_sd.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl new file mode 100644 index 0000000..930adb1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210B-EVAL/TASKING/STM32F10x_md.lsl @@ -0,0 +1,148 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 20k; + map ( size = 20k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..1292232 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.project new file mode 100644 index 0000000..94fa110 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/.project @@ -0,0 +1,252 @@ + + + STM3210E-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..1c5d0c1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..e376c18 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..69e7ea8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,252 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + + STM3210x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM3210x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM3210x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM3210x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM3210x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM3210x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM3210x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM3210x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-2-PROJECT_LOC/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/nand_if.c + 1 + PARENT-2-PROJECT_LOC/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch new file mode 100644 index 0000000..252b6cb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/STM3210E-EVAL_XL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl new file mode 100644 index 0000000..a944802 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 0x100000; + map ( size = 0x100000, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 96k; + map ( size = 96k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..2750b9d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.project new file mode 100644 index 0000000..8353c3e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/.project @@ -0,0 +1,232 @@ + + + STM32303C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F30x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32303C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30x/STM32F30x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + STM32F30x/CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + STM32F30x/STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F30x/STM32303C_EVAL/stm32303c_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval_spi_sd.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F30x/STM32F30x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch new file mode 100644 index 0000000..80853f0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl new file mode 100644 index 0000000..3ccf590 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl @@ -0,0 +1,211 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f30x.lsl +// +// Version : @(#)stm32f30x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F30x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F30x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 6k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif + +memory STM32F30x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE - 8k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM8k +{ + mau = 8; + type = ram; + size = 8k; + priority = 1; + map ( size = 8k, dest_offset=0x10000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 global interrupts + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB Device High Priority or CAN1 TX interrupts + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB Device Low Priority or CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM1_BRK_TIM15_IRQHandler" ); // TIM1 Break irq and TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM1_UP_TIM16_IRQHandler" ); // TIM1 Update irq and TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM17_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM17 global irq + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup interrupt + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break interrupt + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update interrupt + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 trigger and Comm. interrupt + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare interrupt + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "ADC4_IRQHandler" ); // ADC4 global interrupt + vector ( id = 80, optional, fill = "COMP1_2_3_IRQHandler" ); // COMP1, COMP2 and COMP3 global interrupt + vector ( id = 81, optional, fill = "COMP4_5_6_IRQHandler" ); // COMP5, COMP6 and COMP4 global interrupt + vector ( id = 82, optional, fill = "COMP7_IRQHandler" ); // COMP7 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt remap + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt remap + vector ( id = 92, optional, fill = "USBWakeUp_RMP_IRQHandler" ); // USB Wakeup Interrupt remap + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..44229ae --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.cproject @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..f7f7450 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,237 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + stm32l152_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_spi_sd.c + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch new file mode 100644 index 0000000..d494039 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl new file mode 100644 index 0000000..909c5b0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl @@ -0,0 +1,151 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx_cmsis.lsl +// +// Version : @(#)stm32l1xx_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32l1xx.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 84 + + +#ifndef __STACK +# define __STACK 2k +#endif +#ifndef __HEAP +# define __HEAP 1k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32l1xflash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32l1xram +{ + mau = 8; + type = ram; + size = 16k; + map ( size = 16k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandle" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..677ce43 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.cproject @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..d2eee70 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,242 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152D_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L152D_EVAL/stm32l152d_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval_sdio_sd.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/mass_mal.c + 1 + PARENT-2-PROJECT_LOC/src/mass_mal.c + + + User/memory.c + 1 + PARENT-2-PROJECT_LOC/src/memory.c + + + User/scsi_data.c + 1 + PARENT-2-PROJECT_LOC/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-2-PROJECT_LOC/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-2-PROJECT_LOC/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch new file mode 100644 index 0000000..26462e6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl new file mode 100644 index 0000000..77979b6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx.lsl +// +// Version : @(#)stm32l1xx.lsl 1.5 11/06/30 +// +// Description : LSL file for the STMicroelectronics STM32L1xx +// +// Copyright 2010-2011 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __EEPROM_SIZE Specifies the size of the EEPROM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 73 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x00000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 384k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif +#ifndef __EEPROM_SIZE +# define __EEPROM_SIZE 4k +#endif + +memory STM32L1xx_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_EEPROM +{ + mau = 8; + type = reserved rom; + size = __EEPROM_SIZE; + map ( size = __EEPROM_SIZE, dest_offset=0x08080000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + vector ( id = 61, optional, fill = "SDIO_IRQHandler" ); // SDIO_IRQHandler + vector ( id = 62, optional, fill = "TIM5_IRQHandler" ); //TIM5_IRQHandler + vector ( id = 63, optional, fill = "SPI3_IRQHandler" ); //SPI3_IRQHandler + vector ( id = 64, optional, fill = "UART4_IRQHandler" ); //UART4_IRQHandler + vector ( id = 65, optional, fill = "UART5_IRQHandler" ); //UART5_IRQHandler + vector ( id = 66, optional, fill = "DMA2_Channel1_IRQHandler" ); //DMA2_Channel1_IRQHandler + vector ( id = 67, optional, fill = "DMA2_Channel2_IRQHandler" ); //DMA2_Channel2_IRQHandler + vector ( id = 68, optional, fill = "DMA2_Channel3_IRQHandler" ); //DMA2_Channel3_IRQHandler + vector ( id = 69, optional, fill = "DMA2_Channel4_IRQHandler" ); //DMA2_Channel4_IRQHandler + vector ( id = 70, optional, fill = "DMA2_Channel5_IRQHandler" ); //DMA2_Channel5_IRQHandler + vector ( id = 71, optional, fill = "AES_IRQHandler" ); //AES_IRQHandler + vector ( id = 72, optional, fill = "COMP_ACQ_IRQHandler" ); //Comparator Channel Acquisition + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..2ef1e92 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:57:46 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch new file mode 100644 index 0000000..796c55b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210B-EVAL/STM3210B-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.project new file mode 100644 index 0000000..43c9344 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.project @@ -0,0 +1,290 @@ + + + STM3210E-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_hd.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/main.c + + + User/mass_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/mass_mal.c + + + User/memory.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/memory.c + + + User/nand_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..5c1a494 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:58:30 GMT+01:00 2012 +BOARD=STM3210E-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZE +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..bbcbc81 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,286 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210E_EVAL/stm3210e_eval_sdio_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_sdio_sd.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_fsmc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_fsmc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/fsmc_nand.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/fsmc_nand.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/main.c + + + User/mass_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/mass_mal.c + + + User/memory.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/memory.c + + + User/nand_if.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/nand_if.c + + + User/scsi_data.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..20424b5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.project new file mode 100644 index 0000000..6c1c6dc --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.project @@ -0,0 +1,340 @@ + + + STM32303C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32303C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32303C_EVAL/stm32303c_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval_spi_sd.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_opamp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_opamp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_wwdg.c + + + TrueSTUDIO/startup_stm32f30x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/TrueSTUDIO/startup_stm32f30x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/main.c + + + User/mass_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/mass_mal.c + + + User/memory.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/memory.c + + + User/scsi_data.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..11c9ee7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:37:51 GMT+01:00 2012 +BOARD=STM32303C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F303VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld new file mode 100644 index 0000000..c0e7344 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32303C-EVAL/STM32F303VC_FLASH.ld @@ -0,0 +1,190 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F303VC Device with +** 256KByte FLASH, 40KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000a000; /* end of 40K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x200; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + CCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 8K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + _siccmram = LOADADDR(.ccmram); + + /* CCM-RAM section + * + * IMPORTANT NOTE! + * If initialized variables will be placed in this section, + * the startup code needs to be modified to copy the init-values. + */ + .ccmram : + { + . = ALIGN(4); + _sccmram = .; /* create a global symbol at ccmram start */ + *(.ccmram) + *(.ccmram*) + + . = ALIGN(4); + _eccmram = .; /* create a global symbol at ccmram end */ + } >CCMRAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.cproject new file mode 100644 index 0000000..f6f0f6d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..b4085f5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,345 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32373C_EVAL/stm32373c_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval_spi_sd.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/main.c + + + User/mass_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/mass_mal.c + + + User/memory.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/memory.c + + + User/scsi_data.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ab00129 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch new file mode 100644 index 0000000..734d809 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld new file mode 100644 index 0000000..35c7d30 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F373VC Device with +** 256KByte FLASH, 32KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20008000; /* end of 32K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x100; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..3e3424c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,271 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_STM32L1xx.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/system_STM32L1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L152_EVAL/stm32l152_eval_spi_sd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval_spi_sd.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/main.c + + + User/mass_mal.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/mass_mal.c + + + User/memory.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/memory.c + + + User/scsi_data.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/scsi_data.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/stm32_it.c + + + User/usb_bot.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_bot.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_pwr.c + + + User/usb_scsi.c + 1 + PARENT-4-PROJECT_LOC/Projects/Mass_Storage/src/usb_scsi.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..0ac9ecd --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 15:59:01 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..5cc41ea --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..3726f75 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa650d6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:48:58 GMT+01:00 2012 +BOARD=STM32L152D-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152ZD +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch new file mode 100644 index 0000000..b37a110 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld new file mode 100644 index 0000000..0d8b7b3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_hd Device with +** 384KByte FLASH, 48KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000BFF8; + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/fsmc_nand.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/fsmc_nand.h new file mode 100644 index 0000000..9bdee98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/fsmc_nand.h @@ -0,0 +1,112 @@ +/** + ****************************************************************************** + * @file fsmc_nand.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for fsmc_nand.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __FSMC_NAND_H +#define __FSMC_NAND_H + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f10x.h" + +/* Exported types ------------------------------------------------------------*/ +typedef struct +{ + uint8_t Maker_ID; + uint8_t Device_ID; + uint8_t Third_ID; + uint8_t Fourth_ID; +}NAND_IDTypeDef; + +typedef struct +{ + uint16_t Zone; + uint16_t Block; + uint16_t Page; +} NAND_ADDRESS; + +/* Exported constants --------------------------------------------------------*/ +/* NAND Area definition for STM3210E-EVAL Board RevD */ +#define CMD_AREA (uint32_t)(1<<16) /* A16 = CLE high */ +#define ADDR_AREA (uint32_t)(1<<17) /* A17 = ALE high */ + +#define DATA_AREA ((uint32_t)0x00000000) + +/* FSMC NAND memory command */ +#define NAND_CMD_AREA_A ((uint8_t)0x00) +#define NAND_CMD_AREA_B ((uint8_t)0x01) +#define NAND_CMD_AREA_C ((uint8_t)0x50) +#define NAND_CMD_AREA_TRUE1 ((uint8_t)0x30) + +#define NAND_CMD_WRITE0 ((uint8_t)0x80) +#define NAND_CMD_WRITE_TRUE1 ((uint8_t)0x10) + +#define NAND_CMD_ERASE0 ((uint8_t)0x60) +#define NAND_CMD_ERASE1 ((uint8_t)0xD0) + +#define NAND_CMD_READID ((uint8_t)0x90) +#define NAND_CMD_STATUS ((uint8_t)0x70) +#define NAND_CMD_LOCK_STATUS ((uint8_t)0x7A) +#define NAND_CMD_RESET ((uint8_t)0xFF) + +/* NAND memory status */ +#define NAND_VALID_ADDRESS ((uint32_t)0x00000100) +#define NAND_INVALID_ADDRESS ((uint32_t)0x00000200) +#define NAND_TIMEOUT_ERROR ((uint32_t)0x00000400) +#define NAND_BUSY ((uint32_t)0x00000000) +#define NAND_ERROR ((uint32_t)0x00000001) +#define NAND_READY ((uint32_t)0x00000040) + +/* FSMC NAND memory parameters */ +#define NAND_PAGE_SIZE ((uint16_t)0x0200) /* 512 bytes per page w/o Spare Area */ +#define NAND_BLOCK_SIZE ((uint16_t)0x0020) /* 32x512 bytes pages per block */ +#define NAND_ZONE_SIZE ((uint16_t)0x0400) /* 1024 Block per zone */ +#define NAND_SPARE_AREA_SIZE ((uint16_t)0x0010) /* last 16 bytes as spare area */ +#define NAND_MAX_ZONE ((uint16_t)0x0004) /* 4 zones of 1024 block */ + +/* FSMC NAND memory address computation */ +#define ADDR_1st_CYCLE(ADDR) (uint8_t)((ADDR)& 0xFF) /* 1st addressing cycle */ +#define ADDR_2nd_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF00) >> 8) /* 2nd addressing cycle */ +#define ADDR_3rd_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF0000) >> 16) /* 3rd addressing cycle */ +#define ADDR_4th_CYCLE(ADDR) (uint8_t)(((ADDR)& 0xFF000000) >> 24) /* 4th addressing cycle */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void FSMC_NAND_Init(void); +void FSMC_NAND_ReadID(NAND_IDTypeDef* NAND_ID); +uint32_t FSMC_NAND_WriteSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToWrite); +uint32_t FSMC_NAND_ReadSmallPage (uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToRead); +uint32_t FSMC_NAND_WriteSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaTowrite); +uint32_t FSMC_NAND_ReadSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaToRead); +uint32_t FSMC_NAND_EraseBlock(NAND_ADDRESS Address); +uint32_t FSMC_NAND_Reset(void); +uint32_t FSMC_NAND_GetStatus(void); +uint32_t FSMC_NAND_ReadStatus(void); +uint32_t FSMC_NAND_AddressIncrement(NAND_ADDRESS* Address); + +#endif /* __FSMC_NAND_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/hw_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/hw_config.h new file mode 100644 index 0000000..16882c5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/hw_config.h @@ -0,0 +1,64 @@ +/** + ****************************************************************************** + * @file hw_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __HW_CONFIG_H +#define __HW_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ + +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define BULK_MAX_PACKET_SIZE 0x00000040 + +/* Exported functions ------------------------------------------------------- */ +void Set_System(void); +void Set_USBClock(void); +void Enter_LowPowerMode(void); +void Leave_LowPowerMode(void); +void USB_Interrupts_Config(void); +void Led_Config(void); +void Led_RW_ON(void); +void Led_RW_OFF(void); +void USB_Configured_LED(void); +void USB_NotConfigured_LED(void); +void USB_Cable_Config (FunctionalState NewState); +void Get_SerialNum(void); +void MAL_Config(void); +#if !defined (USE_STM32L152_EVAL) +void USB_Disconnect_Config(void); +#endif /* (USE_STM32L152_EVAL) */ +/* External variables --------------------------------------------------------*/ + +#endif /*__HW_CONFIG_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/mass_mal.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/mass_mal.h new file mode 100644 index 0000000..4374449 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/mass_mal.h @@ -0,0 +1,49 @@ +/** + ****************************************************************************** + * @file mass_mal.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Header for mass_mal.c file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __MASS_MAL_H +#define __MASS_MAL_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +#define MAL_OK 0 +#define MAL_FAIL 1 +#define MAX_LUN 1 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +uint16_t MAL_Init (uint8_t lun); +uint16_t MAL_GetStatus (uint8_t lun); +uint16_t MAL_Read(uint8_t lun, uint32_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length); +uint16_t MAL_Write(uint8_t lun, uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length); +#endif /* __MASS_MAL_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/memory.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/memory.h new file mode 100644 index 0000000..3cc19a7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/memory.h @@ -0,0 +1,46 @@ +/** + ****************************************************************************** + * @file memory.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Memory management layer + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __memory_H +#define __memory_H + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +#define TXFR_IDLE 0 +#define TXFR_ONGOING 1 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Write_Memory (uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length); +void Read_Memory (uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length); +#endif /* __memory_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/platform_config.h new file mode 100644 index 0000000..ac73393 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/platform_config.h @@ -0,0 +1,182 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #include "stm32l152_eval_spi_sd.h" + +#elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval_sdio_sd.h" + #include "stm32l152d_eval.h" + +#else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ + +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #include "stm3210b_eval_spi_sd.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval_sdio_sd.h" + #include "stm3210e_eval.h" + #include "fsmc_nand.h" + #include "nand_if.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ + +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" + #include "stm32373c_eval_spi_sd.h" + +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" + #include "stm32303c_eval_spi_sd.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) +//#define USE_STM3210B_EVAL +//#define USE_STM3210E_EVAL +//#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define (USE_STM32373C_EVAL) +#define (USE_STM32303C_EVAL) +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + +#define RCC_AHBPeriph_ALLGPIO (RCC_AHBPeriph_GPIOA \ + | RCC_AHBPeriph_GPIOB \ + | RCC_AHBPeriph_GPIOC \ + | RCC_AHBPeriph_GPIOD \ + | RCC_AHBPeriph_GPIOE \ + | RCC_AHBPeriph_GPIOF ) + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + +#elif defined (USE_STM3210E_EVAL) + + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + +#elif defined (USE_STM32L152_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + +#elif defined (USE_STM32L152D_EVAL) + + #define USB_DISCONNECT GPIOE + #define USB_DISCONNECT_PIN GPIO_Pin_6 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOE + +#elif defined (USE_STM32373C_EVAL) + + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC + +#elif defined (USE_STM32303C_EVAL) + + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB +#endif /* USE_STM3210B_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32_it.h new file mode 100644 index 0000000..fb3e1c7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32_it.h @@ -0,0 +1,61 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_HP_CAN1_TX_IRQHandler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); + +#if defined(STM32F10X_HD) || defined(STM32F10X_XL) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void SDIO_IRQHandler(void); +void SD_SDIO_DMA_IRQHANDLER(void); +#endif /* STM32F10X_HD | STM32F10X_XL */ + +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_desc.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_desc.h new file mode 100644 index 0000000..47d20f6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_desc.h @@ -0,0 +1,62 @@ +/** + ****************************************************************************** + * @file usb_desc.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptor Header for Mass Storage Device + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_DESC_H +#define __USB_DESC_H + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define MASS_SIZ_DEVICE_DESC 18 +#define MASS_SIZ_CONFIG_DESC 32 + +#define MASS_SIZ_STRING_LANGID 4 +#define MASS_SIZ_STRING_VENDOR 38 +#define MASS_SIZ_STRING_PRODUCT 38 +#define MASS_SIZ_STRING_SERIAL 26 +#define MASS_SIZ_STRING_INTERFACE 16 + +/* Exported functions ------------------------------------------------------- */ +extern const uint8_t MASS_DeviceDescriptor[MASS_SIZ_DEVICE_DESC]; +extern const uint8_t MASS_ConfigDescriptor[MASS_SIZ_CONFIG_DESC]; + +extern const uint8_t MASS_StringLangID[MASS_SIZ_STRING_LANGID]; +extern const uint8_t MASS_StringVendor[MASS_SIZ_STRING_VENDOR]; +extern const uint8_t MASS_StringProduct[MASS_SIZ_STRING_PRODUCT]; +extern uint8_t MASS_StringSerial[MASS_SIZ_STRING_SERIAL]; +extern const uint8_t MASS_StringInterface[MASS_SIZ_STRING_INTERFACE]; + +#endif /* __USB_DESC_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_prop.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_prop.h new file mode 100644 index 0000000..ba3e0ab --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_prop.h @@ -0,0 +1,72 @@ +/** + ****************************************************************************** + * @file usb_prop.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Mass Storage Demo (Endpoint 0) + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PROP_H +#define __USB_PROP_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ + +/* Exported constants --------------------------------------------------------*/ +#define Mass_Storage_GetConfiguration NOP_Process +/* #define Mass_Storage_SetConfiguration NOP_Process*/ +#define Mass_Storage_GetInterface NOP_Process +#define Mass_Storage_SetInterface NOP_Process +#define Mass_Storage_GetStatus NOP_Process +/* #define Mass_Storage_ClearFeature NOP_Process*/ +#define Mass_Storage_SetEndPointFeature NOP_Process +#define Mass_Storage_SetDeviceFeature NOP_Process +/*#define Mass_Storage_SetDeviceAddress NOP_Process*/ + +/* MASS Storage Requests*/ +#define GET_MAX_LUN 0xFE +#define MASS_STORAGE_RESET 0xFF +#define LUN_DATA_LENGTH 1 + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void MASS_init(void); +void MASS_Reset(void); +void Mass_Storage_SetConfiguration(void); +void Mass_Storage_ClearFeature(void); +void Mass_Storage_SetDeviceAddress (void); +void MASS_Status_In (void); +void MASS_Status_Out (void); +RESULT MASS_Data_Setup(uint8_t); +RESULT MASS_NoData_Setup(uint8_t); +RESULT MASS_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting); +uint8_t *MASS_GetDeviceDescriptor(uint16_t ); +uint8_t *MASS_GetConfigDescriptor(uint16_t); +uint8_t *MASS_GetStringDescriptor(uint16_t); +uint8_t *Get_Max_Lun(uint16_t Length); + + +#endif /* __USB_PROP_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_pwr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_pwr.h new file mode 100644 index 0000000..149dc04 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_pwr.h @@ -0,0 +1,73 @@ +/** + ****************************************************************************** + * @file usb_pwr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PWR_H +#define __USB_PWR_H +/* Includes ------------------------------------------------------------------*/ +#include "usb_core.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +typedef enum _RESUME_STATE +{ + RESUME_EXTERNAL, + RESUME_INTERNAL, + RESUME_LATER, + RESUME_WAIT, + RESUME_START, + RESUME_ON, + RESUME_OFF, + RESUME_ESOF +} RESUME_STATE; + +typedef enum _DEVICE_STATE +{ + UNCONNECTED, + ATTACHED, + POWERED, + SUSPENDED, + ADDRESSED, + CONFIGURED +} DEVICE_STATE; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Suspend(void); +void Resume_Init(void); +void Resume(RESUME_STATE eResumeSetVal); +RESULT PowerOn(void); +RESULT PowerOff(void); + +/* External variables --------------------------------------------------------*/ +extern __IO uint32_t bDeviceState; /* USB device status */ +extern __IO bool fSuspendEnabled; /* true when suspend is possible */ + +#endif /*__USB_PWR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_scsi.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_scsi.h new file mode 100644 index 0000000..5c4d46f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/inc/usb_scsi.h @@ -0,0 +1,154 @@ +/** + ****************************************************************************** + * @file usb_scsi.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to the SCSI commands + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_SCSI_H +#define __USB_SCSI_H + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* SCSI Commands */ +#define SCSI_FORMAT_UNIT 0x04 +#define SCSI_INQUIRY 0x12 +#define SCSI_MODE_SELECT6 0x15 +#define SCSI_MODE_SELECT10 0x55 +#define SCSI_MODE_SENSE6 0x1A +#define SCSI_MODE_SENSE10 0x5A +#define SCSI_ALLOW_MEDIUM_REMOVAL 0x1E +#define SCSI_READ6 0x08 +#define SCSI_READ10 0x28 +#define SCSI_READ12 0xA8 +#define SCSI_READ16 0x88 + +#define SCSI_READ_CAPACITY10 0x25 +#define SCSI_READ_CAPACITY16 0x9E + +#define SCSI_REQUEST_SENSE 0x03 +#define SCSI_START_STOP_UNIT 0x1B +#define SCSI_TEST_UNIT_READY 0x00 +#define SCSI_WRITE6 0x0A +#define SCSI_WRITE10 0x2A +#define SCSI_WRITE12 0xAA +#define SCSI_WRITE16 0x8A + +#define SCSI_VERIFY10 0x2F +#define SCSI_VERIFY12 0xAF +#define SCSI_VERIFY16 0x8F + +#define SCSI_SEND_DIAGNOSTIC 0x1D +#define SCSI_READ_FORMAT_CAPACITIES 0x23 + +#define NO_SENSE 0 +#define RECOVERED_ERROR 1 +#define NOT_READY 2 +#define MEDIUM_ERROR 3 +#define HARDWARE_ERROR 4 +#define ILLEGAL_REQUEST 5 +#define UNIT_ATTENTION 6 +#define DATA_PROTECT 7 +#define BLANK_CHECK 8 +#define VENDOR_SPECIFIC 9 +#define COPY_ABORTED 10 +#define ABORTED_COMMAND 11 +#define VOLUME_OVERFLOW 13 +#define MISCOMPARE 14 + + +#define INVALID_COMMAND 0x20 +#define INVALID_FIELED_IN_COMMAND 0x24 +#define PARAMETER_LIST_LENGTH_ERROR 0x1A +#define INVALID_FIELD_IN_PARAMETER_LIST 0x26 +#define ADDRESS_OUT_OF_RANGE 0x21 +#define MEDIUM_NOT_PRESENT 0x3A +#define MEDIUM_HAVE_CHANGED 0x28 + +#define READ_FORMAT_CAPACITY_DATA_LEN 0x0C +#define READ_CAPACITY10_DATA_LEN 0x08 +#define MODE_SENSE10_DATA_LEN 0x08 +#define MODE_SENSE6_DATA_LEN 0x04 +#define REQUEST_SENSE_DATA_LEN 0x12 +#define STANDARD_INQUIRY_DATA_LEN 0x24 +#define BLKVFY 0x04 + +extern uint8_t Page00_Inquiry_Data[]; +extern uint8_t Standard_Inquiry_Data[]; +extern uint8_t Standard_Inquiry_Data2[]; +extern uint8_t Mode_Sense6_data[]; +extern uint8_t Mode_Sense10_data[]; +extern uint8_t Scsi_Sense_Data[]; +extern uint8_t ReadCapacity10_Data[]; +extern uint8_t ReadFormatCapacity_Data []; + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void SCSI_Inquiry_Cmd(uint8_t lun); +void SCSI_ReadFormatCapacity_Cmd(uint8_t lun); +void SCSI_ReadCapacity10_Cmd(uint8_t lun); +void SCSI_RequestSense_Cmd (uint8_t lun); +void SCSI_Start_Stop_Unit_Cmd(uint8_t lun); +void SCSI_ModeSense6_Cmd (uint8_t lun); +void SCSI_ModeSense10_Cmd (uint8_t lun); +void SCSI_Write10_Cmd(uint8_t lun , uint32_t LBA , uint32_t BlockNbr); +void SCSI_Read10_Cmd(uint8_t lun , uint32_t LBA , uint32_t BlockNbr); +void SCSI_Verify10_Cmd(uint8_t lun); + +void SCSI_Invalid_Cmd(uint8_t lun); +void SCSI_Valid_Cmd(uint8_t lun); +bool SCSI_Address_Management(uint8_t lun , uint8_t Cmd , uint32_t LBA , uint32_t BlockNbr); + +void Set_Scsi_Sense_Data(uint8_t lun , uint8_t Sens_Key, uint8_t Asc); +void SCSI_TestUnitReady_Cmd (uint8_t lun); +void SCSI_Format_Cmd (uint8_t lun); + +//#define SCSI_TestUnitReady_Cmd SCSI_Valid_Cmd +#define SCSI_Prevent_Removal_Cmd SCSI_Valid_Cmd + +/* Invalid (Unsupported) commands */ +#define SCSI_READ_CAPACITY16_Cmd SCSI_Invalid_Cmd +//#define SCSI_FormatUnit_Cmd SCSI_Invalid_Cmd +#define SCSI_Write6_Cmd SCSI_Invalid_Cmd +#define SCSI_Write16_Cmd SCSI_Invalid_Cmd +#define SCSI_Write12_Cmd SCSI_Invalid_Cmd +#define SCSI_Read6_Cmd SCSI_Invalid_Cmd +#define SCSI_Read12_Cmd SCSI_Invalid_Cmd +#define SCSI_Read16_Cmd SCSI_Invalid_Cmd +#define SCSI_Send_Diagnostic_Cmd SCSI_Invalid_Cmd +#define SCSI_Mode_Select6_Cmd SCSI_Invalid_Cmd +#define SCSI_Mode_Select10_Cmd SCSI_Invalid_Cmd +#define SCSI_Verify12_Cmd SCSI_Invalid_Cmd +#define SCSI_Verify16_Cmd SCSI_Invalid_Cmd + +#endif /* __USB_SCSI_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/readme.txt new file mode 100644 index 0000000..944c366 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/readme.txt @@ -0,0 +1,169 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB Mass_Storage Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +The Mass Storage Demo gives a typical example of how to use the STM32F10xxx, +STM32L15xxx , STM32F30xxx and STM32F37xxx USB-FS-Device peripheral to communicate +with the PC host using the bulk transfer. + +This demo supports the BOT (bulk only transfer) protocol and all needed SCSI +(small computer system interface) commands, and is compatible with both Windows +XP (SP1/SP2) and Windows 2000 (SP4). + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKING: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + - Jumper JP17 should be connected. + - Jumper JP20 should be not connected. + + - STM32L152-EVAL Set-up + - Jumper JP6 should be connected in position 1-2 (SPI2_MISO side). + - Jumper JP2 should be not connected. + + - STM32L152D-EVAL Set-up + - LCD Glass should be mounted On IO position for MicroSD usage. + + - STM32F373C_EVAL Set-up + - None. + + - STM32F303C_EVAL Set-up + - None. + +How to use it +============= + + EWARM + - Open the MassStorageSimpleBuffer.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the MassStorageSimpleBuffer.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the MassStorageSimpleBuffer.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/fsmc_nand.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/fsmc_nand.c new file mode 100644 index 0000000..ae3b79f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/fsmc_nand.c @@ -0,0 +1,503 @@ +/** + ****************************************************************************** + * @file fsmc_nand.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file provides a set of functions needed to drive the +* NAND512W3A2 memory mounted on STM3210E-EVAL board. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "fsmc_nand.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +#define FSMC_Bank_NAND FSMC_Bank2_NAND +#define Bank_NAND_ADDR Bank2_NAND_ADDR +#define Bank2_NAND_ADDR ((uint32_t)0x70000000) + +/* Private macro -------------------------------------------------------------*/ +#define ROW_ADDRESS (Address.Page + (Address.Block + (Address.Zone * NAND_ZONE_SIZE)) * NAND_BLOCK_SIZE) + +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : FSMC_NAND_Init +* Description : Configures the FSMC and GPIOs to interface with the NAND memory. +* This function must be called before any write/read operation +* on the NAND. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NAND_Init(void) +{ + GPIO_InitTypeDef GPIO_InitStructure; + FSMC_NANDInitTypeDef FSMC_NANDInitStructure; + FSMC_NAND_PCCARDTimingInitTypeDef p; + + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | + RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG, ENABLE); + +/*-- GPIO Configuration ------------------------------------------------------*/ +/* CLE, ALE, D0->D3, NOE, NWE and NCE2 NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_14 | GPIO_Pin_15 | + GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | + GPIO_Pin_7; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; + + GPIO_Init(GPIOD, &GPIO_InitStructure); + +/* D4->D7 NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10; + + GPIO_Init(GPIOE, &GPIO_InitStructure); + + +/* NWAIT NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; + + GPIO_Init(GPIOD, &GPIO_InitStructure); + +/* INT2 NAND pin configuration */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; + GPIO_Init(GPIOG, &GPIO_InitStructure); + + /*-- FSMC Configuration ------------------------------------------------------*/ + p.FSMC_SetupTime = 0x1; + p.FSMC_WaitSetupTime = 0x3; + p.FSMC_HoldSetupTime = 0x2; + p.FSMC_HiZSetupTime = 0x1; + + FSMC_NANDInitStructure.FSMC_Bank = FSMC_Bank2_NAND; + FSMC_NANDInitStructure.FSMC_Waitfeature = FSMC_Waitfeature_Enable; + FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b; + FSMC_NANDInitStructure.FSMC_ECC = FSMC_ECC_Enable; + FSMC_NANDInitStructure.FSMC_ECCPageSize = FSMC_ECCPageSize_512Bytes; + FSMC_NANDInitStructure.FSMC_TCLRSetupTime = 0x00; + FSMC_NANDInitStructure.FSMC_TARSetupTime = 0x00; + FSMC_NANDInitStructure.FSMC_CommonSpaceTimingStruct = &p; + FSMC_NANDInitStructure.FSMC_AttributeSpaceTimingStruct = &p; + + FSMC_NANDInit(&FSMC_NANDInitStructure); + + /* FSMC NAND Bank Cmd Test */ + FSMC_NANDCmd(FSMC_Bank2_NAND, ENABLE); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_ReadID +* Description : Reads NAND memory's ID. +* Input : - NAND_ID: pointer to a NAND_IDTypeDef structure which will hold +* the Manufacturer and Device ID. +* Output : None +* Return : None +*******************************************************************************/ +void FSMC_NAND_ReadID(NAND_IDTypeDef* NAND_ID) +{ + uint32_t data = 0; + + /* Send Command to the command area */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = 0x90; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + + /* Sequence to read ID from NAND flash */ + data = *(__IO uint32_t *)(Bank_NAND_ADDR | DATA_AREA); + + NAND_ID->Maker_ID = ADDR_1st_CYCLE (data); + NAND_ID->Device_ID = ADDR_2nd_CYCLE (data); + NAND_ID->Third_ID = ADDR_3rd_CYCLE (data); + NAND_ID->Fourth_ID = ADDR_4th_CYCLE (data); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_WriteSmallPage +* Description : This routine is for writing one or several 512 Bytes Page size. +* Input : - pBuffer: pointer on the Buffer containing data to be written +* - Address: First page address +* - NumPageToWrite: Number of page to write +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_WriteSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToWrite) +{ + uint32_t index = 0x00, numpagewritten = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumPageToWrite != 0x00) && (addressstatus == NAND_VALID_ADDRESS) && (status == NAND_READY)) + { + /* Page write command and address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_A; + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE0; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + /* Calculate the size */ + size = NAND_PAGE_SIZE + (NAND_PAGE_SIZE * numpagewritten); + + /* Write data */ + for(; index < size; index++) + { + *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA) = pBuffer[index]; + } + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE_TRUE1; + + /* Check status for successful operation */ + status = FSMC_NAND_GetStatus(); + + if(status == NAND_READY) + { + numpagewritten++; + + NumPageToWrite--; + + /* Calculate Next small page Address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + } + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_ReadSmallPage +* Description : This routine is for sequential read from one or several +* 512 Bytes Page size. +* Input : - pBuffer: pointer on the Buffer to fill +* - Address: First page address +* - NumPageToRead: Number of page to read +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_ReadSmallPage(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumPageToRead) +{ + uint32_t index = 0x00, numpageread = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumPageToRead != 0x0) && (addressstatus == NAND_VALID_ADDRESS)) + { + /* Page Read command and page address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_A; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_TRUE1; + + /* Calculate the size */ + size = NAND_PAGE_SIZE + (NAND_PAGE_SIZE * numpageread); + + /* Get Data into Buffer */ + for(; index < size; index++) + { + pBuffer[index]= *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA); + } + + numpageread++; + + NumPageToRead--; + + /* Calculate page address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + + status = FSMC_NAND_GetStatus(); + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_WriteSpareArea +* Description : This routine write the spare area information for the specified +* pages addresses. +* Input : - pBuffer: pointer on the Buffer containing data to be written +* - Address: First page address +* - NumSpareAreaTowrite: Number of Spare Area to write +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_WriteSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaTowrite) +{ + uint32_t index = 0x00, numsparesreawritten = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumSpareAreaTowrite != 0x00) && (addressstatus == NAND_VALID_ADDRESS) && (status == NAND_READY)) + { + /* Page write Spare area command and address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_C; + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE0; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + /* Calculate the size */ + size = NAND_SPARE_AREA_SIZE + (NAND_SPARE_AREA_SIZE * numsparesreawritten); + + /* Write the data */ + for(; index < size; index++) + { + *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA) = pBuffer[index]; + } + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_WRITE_TRUE1; + + /* Check status for successful operation */ + status = FSMC_NAND_GetStatus(); + + if(status == NAND_READY) + { + numsparesreawritten++; + + NumSpareAreaTowrite--; + + /* Calculate Next page Address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + } + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_ReadSpareArea +* Description : This routine read the spare area information from the specified +* pages addresses. +* Input : - pBuffer: pointer on the Buffer to fill +* - Address: First page address +* - NumSpareAreaToRead: Number of Spare Area to read +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +* And the new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_ReadSpareArea(uint8_t *pBuffer, NAND_ADDRESS Address, uint32_t NumSpareAreaToRead) +{ + uint32_t numsparearearead = 0x00, index = 0x00, addressstatus = NAND_VALID_ADDRESS; + uint32_t status = NAND_READY, size = 0x00; + + while((NumSpareAreaToRead != 0x0) && (addressstatus == NAND_VALID_ADDRESS)) + { + /* Page Read command and page address */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_C; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = 0x00; + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_AREA_TRUE1; + + /* Data Read */ + size = NAND_SPARE_AREA_SIZE + (NAND_SPARE_AREA_SIZE * numsparearearead); + + /* Get Data into Buffer */ + for ( ;index < size; index++) + { + pBuffer[index] = *(__IO uint8_t *)(Bank_NAND_ADDR | DATA_AREA); + } + + numsparearearead++; + + NumSpareAreaToRead--; + + /* Calculate page address */ + addressstatus = FSMC_NAND_AddressIncrement(&Address); + } + + status = FSMC_NAND_GetStatus(); + + return (status | addressstatus); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_EraseBlock +* Description : This routine erase complete block from NAND FLASH +* Input : - Address: Any address into block to be erased +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +*******************************************************************************/ +uint32_t FSMC_NAND_EraseBlock(NAND_ADDRESS Address) +{ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_ERASE0; + + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_1st_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_2nd_CYCLE(ROW_ADDRESS); + *(__IO uint8_t *)(Bank_NAND_ADDR | ADDR_AREA) = ADDR_3rd_CYCLE(ROW_ADDRESS); + + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_ERASE1; + + return (FSMC_NAND_GetStatus()); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_Reset +* Description : This routine reset the NAND FLASH +* Input : None +* Output : None +* Return : NAND_READY +*******************************************************************************/ +uint32_t FSMC_NAND_Reset(void) +{ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_RESET; + + return (NAND_READY); +} + +/****************************************************************************** +* Function Name : FSMC_NAND_GetStatus +* Description : Get the NAND operation status +* Input : None +* Output : None +* Return : New status of the NAND operation. This parameter can be: +* - NAND_TIMEOUT_ERROR: when the previous operation generate +* a Timeout error +* - NAND_READY: when memory is ready for the next operation +*******************************************************************************/ +uint32_t FSMC_NAND_GetStatus(void) +{ + uint32_t timeout = 0x1000000, status = NAND_READY; + + status = FSMC_NAND_ReadStatus(); + + /* Wait for a NAND operation to complete or a TIMEOUT to occur */ + while ((status != NAND_READY) &&( timeout != 0x00)) + { + status = FSMC_NAND_ReadStatus(); + timeout --; + } + + if(timeout == 0x00) + { + status = NAND_TIMEOUT_ERROR; + } + + /* Return the operation status */ + return (status); +} +/****************************************************************************** +* Function Name : FSMC_NAND_ReadStatus +* Description : Reads the NAND memory status using the Read status command +* Input : None +* Output : None +* Return : The status of the NAND memory. This parameter can be: +* - NAND_BUSY: when memory is busy +* - NAND_READY: when memory is ready for the next operation +* - NAND_ERROR: when the previous operation generates error +*******************************************************************************/ +uint32_t FSMC_NAND_ReadStatus(void) +{ + uint32_t data = 0x00, status = NAND_BUSY; + + /* Read status operation ------------------------------------ */ + *(__IO uint8_t *)(Bank_NAND_ADDR | CMD_AREA) = NAND_CMD_STATUS; + data = *(__IO uint8_t *)(Bank_NAND_ADDR); + + if((data & NAND_ERROR) == NAND_ERROR) + { + status = NAND_ERROR; + } + else if((data & NAND_READY) == NAND_READY) + { + status = NAND_READY; + } + else + { + status = NAND_BUSY; + } + + return (status); +} + +/****************************************************************************** +* Function Name : NAND_AddressIncrement +* Description : Increment the NAND memory address +* Input : - Address: address to be incremented. +* Output : None +* Return : The new status of the increment address operation. It can be: +* - NAND_VALID_ADDRESS: When the new address is valid address +* - NAND_INVALID_ADDRESS: When the new address is invalid address +*******************************************************************************/ +uint32_t FSMC_NAND_AddressIncrement(NAND_ADDRESS* Address) +{ + uint32_t status = NAND_VALID_ADDRESS; + + Address->Page++; + + if(Address->Page == NAND_BLOCK_SIZE) + { + Address->Page = 0; + Address->Block++; + + if(Address->Block == NAND_ZONE_SIZE) + { + Address->Block = 0; + Address->Zone++; + + if(Address->Zone == NAND_MAX_ZONE) + { + status = NAND_INVALID_ADDRESS; + } + } + } + + return (status); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/main.c new file mode 100644 index 0000000..fc8d962 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/main.c @@ -0,0 +1,86 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Mass Storage demo main file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_pwr.h" + +extern uint16_t MAL_Init (uint8_t lun); + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : main. +* Description : Main routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +int main(void) +{ + Set_System(); + Set_USBClock(); + Led_Config(); + USB_Interrupts_Config(); + USB_Init(); + while (bDeviceState != CONFIGURED); + + USB_Configured_LED(); + + while (1) + {} +} + +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while (1) + {} +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/mass_mal.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/mass_mal.c new file mode 100644 index 0000000..efce23d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/mass_mal.c @@ -0,0 +1,233 @@ +/** + ****************************************************************************** + * @file mass_mal.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Medium Access Layer interface + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "mass_mal.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint32_t Mass_Memory_Size[2]; +uint32_t Mass_Block_Size[2]; +uint32_t Mass_Block_Count[2]; +__IO uint32_t Status = 0; + +#if defined(USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) +SD_CardInfo mSDCardInfo; +#endif + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : MAL_Init +* Description : Initializes the Media on the STM32 +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Init(uint8_t lun) +{ + uint16_t status = MAL_OK; + + switch (lun) + { + case 0: + Status = SD_Init(); + break; +#ifdef USE_STM3210E_EVAL + case 1: + NAND_Init(); + break; +#endif + default: + return MAL_FAIL; + } + return status; +} +/******************************************************************************* +* Function Name : MAL_Write +* Description : Write sectors +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_Write(uint8_t lun, uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length) +{ + + switch (lun) + { + case 0: + Status = SD_WriteMultiBlocks((uint8_t*)Writebuff, Memory_Offset, Transfer_Length,1); +#if defined(USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + Status = SD_WaitWriteOperation(); + while(SD_GetStatus() != SD_TRANSFER_OK); + if ( Status != SD_OK ) + { + return MAL_FAIL; + } +#endif /* USE_STM3210E_EVAL ||USE_STM32L152D_EVAL*/ + break; +#ifdef USE_STM3210E_EVAL + case 1: + NAND_Write(Memory_Offset, Writebuff, Transfer_Length); + break; +#endif /* USE_STM3210E_EVAL */ + default: + return MAL_FAIL; + } + return MAL_OK; +} + +/******************************************************************************* +* Function Name : MAL_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : Buffer pointer +*******************************************************************************/ +uint16_t MAL_Read(uint8_t lun, uint32_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length) +{ + + switch (lun) + { + case 0: + + SD_ReadMultiBlocks((uint8_t*)Readbuff, Memory_Offset, Transfer_Length, 1); +#if defined(USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + Status = SD_WaitReadOperation(); + while(SD_GetStatus() != SD_TRANSFER_OK) + { + } + + if ( Status != SD_OK ) + { + return MAL_FAIL; + } +#endif /* USE_STM3210E_EVAL */ + break; +#ifdef USE_STM3210E_EVAL + case 1: + NAND_Read(Memory_Offset, Readbuff, Transfer_Length); + ; + break; +#endif + default: + return MAL_FAIL; + } + return MAL_OK; +} + +/******************************************************************************* +* Function Name : MAL_GetStatus +* Description : Get status +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +uint16_t MAL_GetStatus (uint8_t lun) +{ +#ifdef USE_STM3210E_EVAL + NAND_IDTypeDef NAND_ID; + uint32_t DeviceSizeMul = 0, NumberOfBlocks = 0; +#else + SD_CSD SD_csd; + uint32_t DeviceSizeMul = 0; +#endif /* USE_STM3210E_EVAL */ + +#ifdef USE_STM32L152D_EVAL + + uint32_t NumberOfBlocks = 0; +#endif + + if (lun == 0) + { +#if defined (USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + if (SD_Init() == SD_OK) + { + SD_GetCardInfo(&mSDCardInfo); + SD_SelectDeselect((uint32_t) (mSDCardInfo.RCA << 16)); + DeviceSizeMul = (mSDCardInfo.SD_csd.DeviceSizeMul + 2); + + if(mSDCardInfo.CardType == SDIO_HIGH_CAPACITY_SD_CARD) + { + Mass_Block_Count[0] = (mSDCardInfo.SD_csd.DeviceSize + 1) * 1024; + } + else + { + NumberOfBlocks = ((1 << (mSDCardInfo.SD_csd.RdBlockLen)) / 512); + Mass_Block_Count[0] = ((mSDCardInfo.SD_csd.DeviceSize + 1) * (1 << DeviceSizeMul) << (NumberOfBlocks/2)); + } + Mass_Block_Size[0] = 512; + + Status = SD_SelectDeselect((uint32_t) (mSDCardInfo.RCA << 16)); + Status = SD_EnableWideBusOperation(SDIO_BusWide_4b); + if ( Status != SD_OK ) + { + return MAL_FAIL; + } + +#else + + uint32_t temp_block_mul = 0; + SD_GetCSDRegister(&SD_csd); + DeviceSizeMul = SD_csd.DeviceSizeMul + 2; + temp_block_mul = (1 << SD_csd.RdBlockLen)/ 512; + Mass_Block_Count[0] = ((SD_csd.DeviceSize + 1) * (1 << (DeviceSizeMul))) * temp_block_mul; + Mass_Block_Size[0] = 512; + Mass_Memory_Size[0] = (Mass_Block_Count[0] * Mass_Block_Size[0]); +#endif /* USE_STM3210E_EVAL */ + Mass_Memory_Size[0] = Mass_Block_Count[0] * Mass_Block_Size[0]; + STM_EVAL_LEDOn(LED2); + return MAL_OK; + +#if defined (USE_STM3210E_EVAL) || defined(USE_STM32L152D_EVAL) + } +#endif /* USE_STM3210E_EVAL */ + } +#ifdef USE_STM3210E_EVAL + else + { + FSMC_NAND_ReadID(&NAND_ID); + if (NAND_ID.Device_ID != 0 ) + { + /* only one zone is used */ + Mass_Block_Count[1] = NAND_ZONE_SIZE * NAND_BLOCK_SIZE * NAND_MAX_ZONE ; + Mass_Block_Size[1] = NAND_PAGE_SIZE; + Mass_Memory_Size[1] = (Mass_Block_Count[1] * Mass_Block_Size[1]); + return MAL_OK; + } + } +#endif /* USE_STM3210E_EVAL */ + STM_EVAL_LEDOn(LED2); + return MAL_FAIL; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/memory.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/memory.c new file mode 100644 index 0000000..919886a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/memory.c @@ -0,0 +1,178 @@ +/** + ****************************************************************************** + * @file memory.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Memory management layer + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "memory.h" +#include "usb_scsi.h" +#include "usb_bot.h" +#include "usb_regs.h" +#include "usb_mem.h" +#include "usb_conf.h" +#include "hw_config.h" +#include "mass_mal.h" +#include "usb_lib.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t Block_Read_count = 0; +__IO uint32_t Block_offset; +__IO uint32_t Counter = 0; +uint32_t Idx; +uint32_t Data_Buffer[BULK_MAX_PACKET_SIZE *2]; /* 512 bytes*/ +uint8_t TransferState = TXFR_IDLE; +/* Extern variables ----------------------------------------------------------*/ +extern uint8_t Bulk_Data_Buff[BULK_MAX_PACKET_SIZE]; /* data buffer*/ +extern uint16_t Data_Len; +extern uint8_t Bot_State; +extern Bulk_Only_CBW CBW; +extern Bulk_Only_CSW CSW; +extern uint32_t Mass_Memory_Size[2]; +extern uint32_t Mass_Block_Size[2]; + +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Read_Memory +* Description : Handle the Read operation from the microSD card. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Read_Memory(uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length) +{ + static uint32_t Offset, Length; + + if (TransferState == TXFR_IDLE ) + { + Offset = Memory_Offset * Mass_Block_Size[lun]; + Length = Transfer_Length * Mass_Block_Size[lun]; + TransferState = TXFR_ONGOING; + } + + if (TransferState == TXFR_ONGOING ) + { + if (!Block_Read_count) + { + MAL_Read(lun , + Offset , + Data_Buffer, + Mass_Block_Size[lun]); + + USB_SIL_Write(EP1_IN, (uint8_t *)Data_Buffer, BULK_MAX_PACKET_SIZE); + + Block_Read_count = Mass_Block_Size[lun] - BULK_MAX_PACKET_SIZE; + Block_offset = BULK_MAX_PACKET_SIZE; + } + else + { + USB_SIL_Write(EP1_IN, (uint8_t *)Data_Buffer + Block_offset, BULK_MAX_PACKET_SIZE); + + Block_Read_count -= BULK_MAX_PACKET_SIZE; + Block_offset += BULK_MAX_PACKET_SIZE; + } + + SetEPTxCount(ENDP1, BULK_MAX_PACKET_SIZE); + SetEPTxStatus(ENDP1, EP_TX_VALID); + Offset += BULK_MAX_PACKET_SIZE; + Length -= BULK_MAX_PACKET_SIZE; + + CSW.dDataResidue -= BULK_MAX_PACKET_SIZE; + Led_RW_ON(); + } + if (Length == 0) + { + Block_Read_count = 0; + Block_offset = 0; + Offset = 0; + Bot_State = BOT_DATA_IN_LAST; + TransferState = TXFR_IDLE; + Led_RW_OFF(); + } +} + +/******************************************************************************* +* Function Name : Write_Memory +* Description : Handle the Write operation to the microSD card. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Write_Memory (uint8_t lun, uint32_t Memory_Offset, uint32_t Transfer_Length) +{ + + static uint32_t W_Offset, W_Length; + + uint32_t temp = Counter + 64; + + if (TransferState == TXFR_IDLE ) + { + W_Offset = Memory_Offset * Mass_Block_Size[lun]; + W_Length = Transfer_Length * Mass_Block_Size[lun]; + TransferState = TXFR_ONGOING; + } + + if (TransferState == TXFR_ONGOING ) + { + + for (Idx = 0 ; Counter < temp; Counter++) + { + *((uint8_t *)Data_Buffer + Counter) = Bulk_Data_Buff[Idx++]; + } + + W_Offset += Data_Len; + W_Length -= Data_Len; + + if (!(W_Length % Mass_Block_Size[lun])) + { + Counter = 0; + MAL_Write(lun , + W_Offset - Mass_Block_Size[lun], + Data_Buffer, + Mass_Block_Size[lun]); + } + + CSW.dDataResidue -= Data_Len; + SetEPRxStatus(ENDP2, EP_RX_VALID); /* enable the next transaction*/ + Led_RW_ON(); + } + + if ((W_Length == 0) || (Bot_State == BOT_CSW_Send)) + { + Counter = 0; + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + TransferState = TXFR_IDLE; + Led_RW_OFF(); + } +} +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/nand_if.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/nand_if.c new file mode 100644 index 0000000..7139219 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/nand_if.c @@ -0,0 +1,557 @@ +/** + ****************************************************************************** + * @file nand_if.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief manage NAND operations state machine + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +#include "platform_config.h" + +#ifdef USE_STM3210E_EVAL +/* Includes ------------------------------------------------------------------*/ +#include "nand_if.h" +#include "mass_mal.h" +#include "fsmc_nand.h" +#include "memory.h" +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* extern variables-----------------------------------------------------------*/ +extern uint32_t SCSI_LBA; +extern uint32_t SCSI_BlkLen; +/* Private variables ---------------------------------------------------------*/ +uint16_t LUT[1024]; //Look Up Table Buffer +WRITE_STATE Write_State; +BLOCK_STATE Block_State; +NAND_ADDRESS wAddress, fAddress; +uint16_t phBlock, LogAddress, Initial_Page, CurrentZone = 0; +uint16_t Written_Pages = 0; + +uint16_t LUT[1024]; //Look Up Table Buffer +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +static uint16_t NAND_CleanLUT(uint8_t ZoneNbr); +static NAND_ADDRESS NAND_GetAddress(uint32_t Address); +static uint16_t NAND_GetFreeBlock(void); +static uint16_t NAND_Write_Cleanup(void); +SPARE_AREA ReadSpareArea(uint32_t address); +static uint16_t NAND_Copy(NAND_ADDRESS Address_Src, NAND_ADDRESS Address_Dest, uint16_t PageToCopy); +static NAND_ADDRESS NAND_ConvertPhyAddress(uint32_t Address); +static uint16_t NAND_BuildLUT(uint8_t ZoneNbr); + +/******************************************************************************* +* Function Name : NAND_Init +* Description : Init NAND Interface +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Init(void) +{ + uint16_t Status = NAND_OK; + + FSMC_NAND_Init(); + Status = NAND_BuildLUT(0); + Write_State = WRITE_IDLE; + return Status; +} + +/******************************************************************************* +* Function Name : NAND_Write +* Description : write one sector by once +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Write(uint32_t Memory_Offset, uint32_t *Writebuff, uint16_t Transfer_Length) +{ + /* check block status and calculate start and end addresses */ + wAddress = NAND_GetAddress(Memory_Offset / 512); + + /*check Zone: if second zone is requested build second LUT*/ + if (wAddress.Zone != CurrentZone) + { + CurrentZone = wAddress.Zone; + NAND_BuildLUT(CurrentZone); + } + + phBlock = LUT[wAddress.Block]; /* Block Index + flags */ + LogAddress = wAddress.Block ; /* save logical block */ + + /* IDLE state */ + /****************/ + if ( Write_State == WRITE_IDLE) + {/* Idle state */ + + if (phBlock & USED_BLOCK) + { /* USED BLOCK */ + + Block_State = OLD_BLOCK; + /* Get a free Block for swap */ + fAddress.Block = NAND_GetFreeBlock(); + fAddress.Zone = wAddress.Zone; + Initial_Page = fAddress.Page = wAddress.Page; + + /* write the new page */ + FSMC_NAND_WriteSmallPage((uint8_t *)Writebuff, fAddress, PAGE_TO_WRITE); + Written_Pages++; + + /* get physical block */ + wAddress.Block = phBlock & 0x3FF; + + + if (Written_Pages == SCSI_BlkLen) + { + NAND_Write_Cleanup(); + Written_Pages = 0; + return NAND_OK; + } + else + { + if (wAddress.Page == (NAND_BLOCK_SIZE - 1)) + { + NAND_Write_Cleanup(); + return NAND_OK; + } + Write_State = WRITE_ONGOING; + return NAND_OK; + } + } + else + {/* UNUSED BLOCK */ + + Block_State = UNUSED_BLOCK; + /* write the new page */ + wAddress.Block = phBlock & 0x3FF; + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , wAddress, PAGE_TO_WRITE); + + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Written_Pages = 0; + NAND_Write_Cleanup(); + return NAND_OK; + } + else + { + Write_State = WRITE_ONGOING; + return NAND_OK; + } + } + } + /* WRITE state */ + /***************/ + if ( Write_State == WRITE_ONGOING) + {/* Idle state */ + if (phBlock & USED_BLOCK) + { /* USED BLOCK */ + + wAddress.Block = phBlock & 0x3FF; + Block_State = OLD_BLOCK; + fAddress.Page = wAddress.Page; + + /* check if next pages are in next block */ + if (wAddress.Page == (NAND_BLOCK_SIZE - 1)) + { + /* write Last page */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , fAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Written_Pages = 0; + } + /* Clean up and Update the LUT */ + NAND_Write_Cleanup(); + Write_State = WRITE_IDLE; + return NAND_OK; + } + + /* write next page */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , fAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Write_State = WRITE_IDLE; + NAND_Write_Cleanup(); + Written_Pages = 0; + } + + } + else + {/* UNUSED BLOCK */ + wAddress.Block = phBlock & 0x3FF; + /* check if it is the last page in prev block */ + if (wAddress.Page == (NAND_BLOCK_SIZE - 1)) + { + /* write Last page */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , wAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Written_Pages = 0; + } + + /* Clean up and Update the LUT */ + NAND_Write_Cleanup(); + Write_State = WRITE_IDLE; + + + + return NAND_OK; + } + /* write next page in same block */ + FSMC_NAND_WriteSmallPage( (uint8_t *)Writebuff , wAddress, PAGE_TO_WRITE); + Written_Pages++; + if (Written_Pages == SCSI_BlkLen) + { + Write_State = WRITE_IDLE; + NAND_Write_Cleanup(); + Written_Pages = 0; + } + } + } + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_Read +* Description : Read sectors +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Read(uint32_t Memory_Offset, uint32_t *Readbuff, uint16_t Transfer_Length) +{ + NAND_ADDRESS phAddress; + + phAddress = NAND_GetAddress(Memory_Offset / 512); + + if (phAddress.Zone != CurrentZone) + { + CurrentZone = phAddress.Zone; + NAND_BuildLUT(CurrentZone); + } + + if (LUT [phAddress.Block] & BAD_BLOCK) + { + return NAND_FAIL; + } + else + { + phAddress.Block = LUT [phAddress.Block] & ~ (USED_BLOCK | VALID_BLOCK); + FSMC_NAND_ReadSmallPage ( (uint8_t *)Readbuff , phAddress, Transfer_Length / 512); + } + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_CleanLUT +* Description : Erase old blocks & rebuild the look up table +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_CleanLUT (uint8_t ZoneNbr) +{ +#ifdef WEAR_LEVELLING_SUPPORT + uint16_t BlockIdx, LUT_Item; +#endif + /* Rebuild the LUT for the current zone */ + NAND_BuildLUT (ZoneNbr); + +#ifdef WEAR_LEVELLING_SUPPORT + /* Wear Leveling : circular use of free blocks */ + LUT_Item = LUT [BlockIdx] + for (BlockIdx == MAX_LOG_BLOCKS_PER_ZONE ; BlockIdx < MAX_LOG_BLOCKS_PER_ZONE + WEAR_DEPTH ; BlockIdx++) + { + LUT [BlockIdx] = LUT [BlockIdx + 1]; + } + LUT [ MAX_LOG_BLOCKS_PER_ZONE + WEAR_DEPTH - 1] = LUT_Item ; +#endif + + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_GetAddress +* Description : Translate logical address into a phy one +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static NAND_ADDRESS NAND_GetAddress (uint32_t Address) +{ + NAND_ADDRESS Address_t; + + Address_t.Page = Address & (NAND_BLOCK_SIZE - 1); + Address_t.Block = Address / NAND_BLOCK_SIZE; + Address_t.Zone = 0; + + while (Address_t.Block >= MAX_LOG_BLOCKS_PER_ZONE) + { + Address_t.Block -= MAX_LOG_BLOCKS_PER_ZONE; + Address_t.Zone++; + } + return Address_t; +} + +/******************************************************************************* +* Function Name : NAND_GetFreeBlock +* Description : Look for a free block for data exchange +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_GetFreeBlock (void) +{ + return LUT[MAX_LOG_BLOCKS_PER_ZONE]& ~(USED_BLOCK | VALID_BLOCK); +} + +/******************************************************************************* +* Function Name : ReadSpareArea +* Description : Check used block +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +SPARE_AREA ReadSpareArea (uint32_t address) +{ + SPARE_AREA t; + uint8_t Buffer[16]; + NAND_ADDRESS address_s; + address_s = NAND_ConvertPhyAddress(address); + FSMC_NAND_ReadSpareArea(Buffer , address_s, 1) ; + + t = *(SPARE_AREA *)Buffer; + + return t; +} + +/******************************************************************************* +* Function Name : NAND_Copy +* Description : Copy page +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_Copy (NAND_ADDRESS Address_Src, NAND_ADDRESS Address_Dest, uint16_t PageToCopy) +{ + uint8_t Copybuff[512]; + for ( ; PageToCopy > 0 ; PageToCopy-- ) + { + FSMC_NAND_ReadSmallPage ((uint8_t *)Copybuff, Address_Src , 1 ); + FSMC_NAND_WriteSmallPage ((uint8_t *)Copybuff, Address_Dest, 1); + FSMC_NAND_AddressIncrement(&Address_Src); + FSMC_NAND_AddressIncrement(&Address_Dest); + } + + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_Format +* Description : Format the entire NAND flash +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +uint16_t NAND_Format (void) +{ + NAND_ADDRESS phAddress; + SPARE_AREA SpareArea; + uint32_t BlockIndex; + + for (BlockIndex = 0 ; BlockIndex < NAND_ZONE_SIZE * NAND_MAX_ZONE; BlockIndex++) + { + phAddress = NAND_ConvertPhyAddress(BlockIndex * NAND_BLOCK_SIZE ); + SpareArea = ReadSpareArea(BlockIndex * NAND_BLOCK_SIZE); + + if((SpareArea.DataStatus != 0)||(SpareArea.BlockStatus != 0)){ + FSMC_NAND_EraseBlock (phAddress); + } + } + NAND_BuildLUT(0); + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_Write_Cleanup +* Description : None +* Input : None +* Output : None +* Return : Status +*******************************************************************************/ +static uint16_t NAND_Write_Cleanup (void) +{ + uint16_t tempSpareArea [8]; + uint16_t Page_Back; + + if ( Block_State == OLD_BLOCK ) + { + /* precopy old first pages */ + if (Initial_Page != 0) + { + Page_Back = wAddress.Page; + fAddress.Page = wAddress.Page = 0; + NAND_Copy (wAddress, fAddress, Initial_Page); + wAddress.Page = Page_Back ; + } + + /* postcopy remaining pages */ + if ((NAND_BLOCK_SIZE - (wAddress.Page + 1)) != 0) + { + FSMC_NAND_AddressIncrement(&wAddress); + fAddress.Page = wAddress.Page; + NAND_Copy (wAddress, fAddress, NAND_BLOCK_SIZE - wAddress.Page); + } + + /* assign logical address to new block */ + tempSpareArea [0] = LogAddress | USED_BLOCK ; + tempSpareArea [1] = 0xFFFF; + tempSpareArea [2] = 0xFFFF; + + fAddress.Page = 0x00; + FSMC_NAND_WriteSpareArea( (uint8_t *)tempSpareArea , fAddress , 1); + + /* erase old block */ + FSMC_NAND_EraseBlock(wAddress); + NAND_CleanLUT(wAddress.Zone); + } + else + {/* unused block case */ + /* assign logical address to the new used block */ + tempSpareArea [0] = LogAddress | USED_BLOCK ; + tempSpareArea [1] = 0xFFFF; + tempSpareArea [2] = 0xFFFF; + + wAddress.Page = 0x00; + FSMC_NAND_WriteSpareArea((uint8_t *)tempSpareArea , wAddress, 1); + NAND_CleanLUT(wAddress.Zone); + } + return NAND_OK; +} + +/******************************************************************************* +* Function Name : NAND_ConvertPhyAddress +* Description : None +* Input : physical Address +* Output : None +* Return : Status +*******************************************************************************/ +static NAND_ADDRESS NAND_ConvertPhyAddress (uint32_t Address) +{ + NAND_ADDRESS Address_t; + + Address_t.Page = Address & (NAND_BLOCK_SIZE - 1); + Address_t.Block = Address / NAND_BLOCK_SIZE; + Address_t.Zone = 0; + + while (Address_t.Block >= MAX_PHY_BLOCKS_PER_ZONE) + { + Address_t.Block -= MAX_PHY_BLOCKS_PER_ZONE; + Address_t.Zone++; + } + return Address_t; +} + +/******************************************************************************* +* Function Name : NAND_BuildLUT +* Description : Build the look up table +* Input : None +* Output : None +* Return : Status +* !!!! NOTE : THIS ALGORITHM IS A SUBJECT OF PATENT FOR STMICROELECTRONICS !!!!! +*******************************************************************************/ +static uint16_t NAND_BuildLUT (uint8_t ZoneNbr) +{ + + uint16_t pBadBlock, pCurrentBlock, pFreeBlock; + SPARE_AREA SpareArea; + /***************************************************************************** + 1st step : Init. + *****************************************************************************/ + /*Init the LUT (assume all blocks free) */ + for (pCurrentBlock = 0 ; pCurrentBlock < MAX_PHY_BLOCKS_PER_ZONE ; pCurrentBlock++) + { + LUT[pCurrentBlock] = FREE_BLOCK; /* 12th bit is set to 1 */ + } + + /* Init Pointers */ + pBadBlock = MAX_PHY_BLOCKS_PER_ZONE - 1; + pCurrentBlock = 0; + + /***************************************************************************** + 2nd step : locate used and bad blocks + *****************************************************************************/ + + while (pCurrentBlock < MAX_PHY_BLOCKS_PER_ZONE) + { + + SpareArea = ReadSpareArea(pCurrentBlock * NAND_BLOCK_SIZE + (ZoneNbr * NAND_BLOCK_SIZE * MAX_PHY_BLOCKS_PER_ZONE)); + + if ((SpareArea.DataStatus == 0) || (SpareArea.BlockStatus == 0)) + { + + LUT[pBadBlock--] |= pCurrentBlock | (uint16_t)BAD_BLOCK ; + LUT[pCurrentBlock] &= (uint16_t)~FREE_BLOCK; + if (pBadBlock == MAX_LOG_BLOCKS_PER_ZONE) + { + return NAND_FAIL; + } + } + else if (SpareArea.LogicalIndex != 0xFFFF) + { + + LUT[SpareArea.LogicalIndex & 0x3FF] |= pCurrentBlock | VALID_BLOCK | USED_BLOCK; + LUT[pCurrentBlock] &= (uint16_t)( ~FREE_BLOCK); + } + pCurrentBlock++ ; + } + + /***************************************************************************** + 3rd step : locate Free Blocks by scanning the LUT already built partially + *****************************************************************************/ + pFreeBlock = 0; + for (pCurrentBlock = 0 ; pCurrentBlock < MAX_PHY_BLOCKS_PER_ZONE ; pCurrentBlock++ ) + { + + if ( !(LUT[pCurrentBlock]& USED_BLOCK)) + { + do + { + if (LUT[pFreeBlock] & FREE_BLOCK) + { + + LUT [pCurrentBlock] |= pFreeBlock; + LUT [pFreeBlock] &= ~FREE_BLOCK; + break; + } + pFreeBlock++; + } + while ( pFreeBlock < MAX_PHY_BLOCKS_PER_ZONE ); + } + } + return NAND_OK; +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/scsi_data.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/scsi_data.c new file mode 100644 index 0000000..9979d19 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/scsi_data.c @@ -0,0 +1,158 @@ +/** + ****************************************************************************** + * @file scsi_data.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Initialization of the SCSI data + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_scsi.h" +#include "memory.h" + + +uint8_t Page00_Inquiry_Data[] = + { + 0x00, /* PERIPHERAL QUALIFIER & PERIPHERAL DEVICE TYPE*/ + 0x00, + 0x00, + 0x00, + 0x00 /* Supported Pages 00*/ + }; +uint8_t Standard_Inquiry_Data[] = + { + 0x00, /* Direct Access Device */ + 0x80, /* RMB = 1: Removable Medium */ + 0x02, /* Version: No conformance claim to standard */ + 0x02, + + 36 - 4, /* Additional Length */ + 0x00, /* SCCS = 1: Storage Controller Component */ + 0x00, + 0x00, + /* Vendor Identification */ + 'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', + /* Product Identification */ + 'S', 'D', ' ', 'F', 'l', 'a', 's', 'h', ' ', + 'D', 'i', 's', 'k', ' ', ' ', ' ', + /* Product Revision Level */ + '1', '.', '0', ' ' + }; +uint8_t Standard_Inquiry_Data2[] = + { + 0x00, /* Direct Access Device */ + 0x80, /* RMB = 1: Removable Medium */ + 0x02, /* Version: No conformance claim to standard */ + 0x02, + + 36 - 4, /* Additional Length */ + 0x00, /* SCCS = 1: Storage Controller Component */ + 0x00, + 0x00, + /* Vendor Identification */ + 'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', + /* Product Identification */ + 'N', 'A', 'N', 'D', ' ', 'F', 'l', 'a', 's', 'h', ' ', + 'D', 'i', 's', 'k', ' ', + /* Product Revision Level */ + '1', '.', '0', ' ' + }; +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +uint8_t Mode_Sense6_data[] = + { + 0x03, + 0x00, + 0x00, + 0x00, + }; + +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +uint8_t Mode_Sense10_data[] = + { + 0x00, + 0x06, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00 + }; +uint8_t Scsi_Sense_Data[] = + { + 0x70, /*RespCode*/ + 0x00, /*SegmentNumber*/ + NO_SENSE, /* Sens_Key*/ + 0x00, + 0x00, + 0x00, + 0x00, /*Information*/ + 0x0A, /*AdditionalSenseLength*/ + 0x00, + 0x00, + 0x00, + 0x00, /*CmdInformation*/ + NO_SENSE, /*Asc*/ + 0x00, /*ASCQ*/ + 0x00, /*FRUC*/ + 0x00, /*TBD*/ + 0x00, + 0x00 /*SenseKeySpecific*/ + }; +uint8_t ReadCapacity10_Data[] = + { + /* Last Logical Block */ + 0, + 0, + 0, + 0, + + /* Block Length */ + 0, + 0, + 0, + 0 + }; + +uint8_t ReadFormatCapacity_Data [] = + { + 0x00, + 0x00, + 0x00, + 0x08, /* Capacity List Length */ + + /* Block Count */ + 0, + 0, + 0, + 0, + + /* Block Length */ + 0x02,/* Descriptor Code: Formatted Media */ + 0, + 0, + 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/stm32_it.c new file mode 100644 index 0000000..7d21a9e --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/stm32_it.c @@ -0,0 +1,256 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "stm32_it.h" +#include "usb_lib.h" +#include "usb_istr.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSVC exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : USB_HP_CAN1_TX_IRQHandler +* Description : This function handles USB High Priority or CAN TX interrupts requests +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void USB_HP_CAN1_TX_IRQHandler(void) +{ + CTR_HP(); +} + +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined(STM32F37X) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +#if defined(STM32F10X_HD) || defined(STM32F10X_XL) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +/******************************************************************************* +* Function Name : SDIO_IRQHandler +* Description : This function handles SDIO global interrupt request. +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SDIO_IRQHandler(void) +{ + /* Process All SDIO Interrupt Sources */ + SD_ProcessIRQSrc(); + +} + +void SD_SDIO_DMA_IRQHANDLER(void) +{ + /* Process DMA2 Stream3 or DMA2 Stream6 Interrupt Sources */ + SD_ProcessDMAIRQ(); +} + +#endif /* STM32F10X_HD | STM32F10X_XL*/ +/******************************************************************************* +* Function Name : USB_FS_WKUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void USB_FS_WKUP_IRQHandler(void) +#else +void USBWakeUp_IRQHandler(void) +#endif +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f10x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f10x.c new file mode 100644 index 0000000..3686a2f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f10x.c @@ -0,0 +1,917 @@ +/** + ****************************************************************************** + * @file system_stm32f10x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f10x_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on + * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f10x_system + * @{ + */ + +/** @addtogroup STM32F10x_System_Private_Includes + * @{ + */ + +#include "stm32f10x.h" + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) + frequency (after reset the HSI is used as SYSCLK source) + + IMPORTANT NOTE: + ============== + 1. After each device reset the HSI is used as System clock source. + + 2. Please make sure that the selected System clock doesn't exceed your device's + maximum frequency. + + 3. If none of the define below is enabled, the HSI is used as System clock + source. + + 4. The System clock configuration functions provided within this file assume that: + - For Low, Medium and High density Value line devices an external 8MHz + crystal is used to drive the System clock. + - For Low, Medium and High density devices an external 8MHz crystal is + used to drive the System clock. + - For Connectivity line devices an external 25MHz crystal is used to drive + the System clock. + If you are using different crystal you have to adapt those functions accordingly. + */ + +#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ + #define SYSCLK_FREQ_24MHz 24000000 +#else +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ +/* #define SYSCLK_FREQ_24MHz 24000000 */ +/* #define SYSCLK_FREQ_36MHz 36000000 */ +/* #define SYSCLK_FREQ_48MHz 48000000 */ +/* #define SYSCLK_FREQ_56MHz 56000000 */ +#define SYSCLK_FREQ_72MHz 72000000 +#endif + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM3210E-EVAL board (STM32 High density and XL-density devices) or on + STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) +/* #define DATA_IN_ExtSRAM */ +#endif + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Variables + * @{ + */ + +/******************************************************************************* +* Clock Definitions +*******************************************************************************/ +#ifdef SYSCLK_FREQ_HSE + uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_24MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_36MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_48MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_56MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_72MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ +#else /*!< HSI Selected as System Clock source */ + uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ +#endif + +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +#ifdef SYSCLK_FREQ_HSE + static void SetSysClockToHSE(void); +#elif defined SYSCLK_FREQ_24MHz + static void SetSysClockTo24(void); +#elif defined SYSCLK_FREQ_36MHz + static void SetSysClockTo36(void); +#elif defined SYSCLK_FREQ_48MHz + static void SetSysClockTo48(void); +#elif defined SYSCLK_FREQ_56MHz + static void SetSysClockTo56(void); +#elif defined SYSCLK_FREQ_72MHz + static void SetSysClockTo72(void); +#endif + +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ + + RCC->CFGR &= (uint32_t)0xF8FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; +#endif /* STM32F10X_XX */ + +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + + /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ + /* Configure the Flash Latency cycles and enable prefetch buffer */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + uint32_t prediv1factor = 0; +#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } + + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. + * @param None + * @retval None + */ +static void SetSysClock(void) +{ +#ifdef SYSCLK_FREQ_HSE + SetSysClockToHSE(); +#elif defined SYSCLK_FREQ_24MHz + SetSysClockTo24(); +#elif defined SYSCLK_FREQ_36MHz + SetSysClockTo36(); +#elif defined SYSCLK_FREQ_48MHz + SetSysClockTo48(); +#elif defined SYSCLK_FREQ_56MHz + SetSysClockTo56(); +#elif defined SYSCLK_FREQ_72MHz + SetSysClockTo72(); +#endif + + /* If none of the define above is enabled, the HSI is used as System clock + source (default after reset) */ +} + +/** + * @brief Setup the external memory controller. Called in startup_stm32f10x.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f10x_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114; + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0; + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BB; + GPIOD->CRH = 0xBBBBBBBB; + + GPIOE->CRL = 0xB44444BB; + GPIOE->CRH = 0xBBBBBBBB; + + GPIOF->CRL = 0x44BBBBBB; + GPIOF->CRH = 0xBBBB4444; + + GPIOG->CRL = 0x44BBBBBB; + GPIOG->CRH = 0x44444B44; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000200; +} +#endif /* DATA_IN_ExtSRAM */ + +#ifdef SYSCLK_FREQ_HSE +/** + * @brief Selects HSE as System clock source and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockToHSE(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* Select HSE as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; + + /* Wait till HSE is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_24MHz +/** + * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo24(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_XX */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_36MHz +/** + * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo36(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_48MHz +/** + * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo48(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_56MHz +/** + * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo56(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + + /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_72MHz +/** + * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo72(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | + RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#endif + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f37x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f37x.c new file mode 100644 index 0000000..943f188 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32f37x.c @@ -0,0 +1,380 @@ +/** + ****************************************************************************** + * @file system_stm32f37x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F37x devices, + * and is generated by the clock configuration tool + * STM32f37x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f37x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f37x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" defined + * in "stm32f37x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F37x device + *============================================================================= + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup STM32F37x_System + * @{ + */ + +/** @addtogroup STM32F37x_System_Private_Includes + * @{ + */ + +#include "stm32f37x.h" + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 72000000; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontrollers system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */ + RCC->CFGR &= (uint32_t)0x00FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and CECSW bits */ + RCC->CFGR3 &= (uint32_t)0xFFF0F8C; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + +/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32l1xx.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32l1xx.c new file mode 100644 index 0000000..1be659d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/system_stm32l1xx.c @@ -0,0 +1,533 @@ +/** + ****************************************************************************** + * @file system_stm32l1xx.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32L1xx Ultra + * Low Power devices, and is generated by the clock configuration + * tool "STM32L1xx_Clock_Configuration_V1.1.0.xls". + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32l1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and MSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * System Clock Configuration + *============================================================================= + * System Clock source | PLL(HSE) + *----------------------------------------------------------------------------- + * SYSCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * HCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * HSE Frequency | 8000000 Hz + *----------------------------------------------------------------------------- + * PLL DIV | 3 + *----------------------------------------------------------------------------- + * PLL MUL | 12 + *----------------------------------------------------------------------------- + * VDD | 3.3 V + *----------------------------------------------------------------------------- + * Vcore | 1.8 V (Range 1) + *----------------------------------------------------------------------------- + * Flash Latency | 1 WS + *----------------------------------------------------------------------------- + * SDIO clock (SDIOCLK) | 48000000 Hz + *----------------------------------------------------------------------------- + * Require 48MHz for USB clock | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32l1xx_system + * @{ + */ + +/** @addtogroup STM32L1xx_System_Private_Includes + * @{ + */ + +#include "stm32l1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM32L152D_EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 32000000; +__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48}; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /*!< Set MSION bit */ + RCC->CR |= (uint32_t)0x00000100; + + /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */ + RCC->CFGR &= (uint32_t)0x88FFC00C; + + /*!< Reset HSION, HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xEEFEFFFE; + + /*!< Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */ + RCC->CFGR &= (uint32_t)0xFF02FFFF; + + /*!< Disable all interrupts */ + RCC->CIR = 0x00000000; + +#ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM */ + + /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI + * value as defined by the MSI range. + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + case 0x04: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x08: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x0C: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmul = RCC->CFGR & RCC_CFGR_PLLMUL; + plldiv = RCC->CFGR & RCC_CFGR_PLLDIV; + pllmul = PLLMulTable[(pllmul >> 18)]; + plldiv = (plldiv >> 22) + 1; + + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + if (pllsource == 0x00) + { + /* HSI oscillator clock selected as PLL clock entry */ + SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv); + } + else + { + /* HSE selected as PLL clock entry */ + SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv); + } + break; + default: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable 64-bit access */ + FLASH->ACR |= FLASH_ACR_ACC64; + + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTEN; + + /* Flash 1 wait state */ + FLASH->ACR |= FLASH_ACR_LATENCY; + + /* Power enable */ + RCC->APB1ENR |= RCC_APB1ENR_PWREN; + + /* Select the Voltage Range 1 (1.8 V) */ + PWR->CR = PWR_CR_VOS_0; + + /* Wait Until the Voltage Regulator is ready */ + while((PWR->CSR & PWR_CSR_VOSF) != RESET) + { + } + + /* HCLK = SYSCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL | + RCC_CFGR_PLLDIV)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL12 | RCC_CFGR_PLLDIV3); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { + /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in SystemInit() function before jump to main. + * This function configures the external SRAM mounted on STM32L152D_EVAL board + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*-- GPIOs Configuration -----------------------------------------------------*/ +/* + +-------------------+--------------------+------------------+------------------+ + + SRAM pins assignment + + +-------------------+--------------------+------------------+------------------+ + | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | + | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | + | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | + | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | + | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | + | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | + | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 | + | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ + | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | + | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | + | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+ + | PD15 <-> FSMC_D1 |--------------------+ + +-------------------+ +*/ + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHBENR = 0x000080D8; + + /* Connect PDx pins to FSMC Alternate function */ + GPIOD->AFR[0] = 0x00CC00CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A0A; + /* Configure PDx pins speed to 40 MHz */ + GPIOD->OSPEEDR = 0xFFFF0F0F; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x00000000; + + /* Connect PEx pins to FSMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA800A; + /* Configure PEx pins speed to 40 MHz */ + GPIOE->OSPEEDR = 0xFFFFC00F; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x00000000; + + /* Connect PFx pins to FSMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 40 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x00000000; + + /* Connect PGx pins to FSMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x00000C00; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 40 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00000000; + +/*-- FSMC Configuration ------------------------------------------------------*/ + /* Enable the FSMC interface clock */ + RCC->AHBENR = 0x400080D8; + + /* Configure and enable Bank1_SRAM3 */ + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000300; + FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF; +/* + Bank1_SRAM3 is configured as follow: + + p.FSMC_AddressSetupTime = 0; + p.FSMC_AddressHoldTime = 0; + p.FSMC_DataSetupTime = 3; + p.FSMC_BusTurnAroundDuration = 0; + p.FSMC_CLKDivision = 0; + p.FSMC_DataLatency = 0; + p.FSMC_AccessMode = FSMC_AccessMode_A; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); +*/ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_bot.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_bot.c new file mode 100644 index 0000000..9519a01 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_bot.c @@ -0,0 +1,343 @@ +/** + ****************************************************************************** + * @file usb_bot.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief BOT State Machine management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_scsi.h" +#include "hw_config.h" +#include "usb_regs.h" +#include "usb_mem.h" +#include "usb_conf.h" +#include "usb_bot.h" +#include "memory.h" +#include "usb_lib.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint8_t Bot_State; +uint8_t Bulk_Data_Buff[BULK_MAX_PACKET_SIZE]; /* data buffer*/ +uint16_t Data_Len; +Bulk_Only_CBW CBW; +Bulk_Only_CSW CSW; +uint32_t SCSI_LBA , SCSI_BlkLen; +extern uint32_t Max_Lun; +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : Mass_Storage_In +* Description : Mass Storage IN transfer. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_In (void) +{ + switch (Bot_State) + { + case BOT_CSW_Send: + case BOT_ERROR: + Bot_State = BOT_IDLE; + SetEPRxStatus(ENDP2, EP_RX_VALID);/* enable the Endpoint to receive the next cmd*/ + if (GetEPRxStatus(EP2_OUT) == EP_RX_STALL) + { + SetEPRxStatus(EP2_OUT, EP_RX_VALID);/* enable the Endpoint to receive the next cmd*/ + } + break; + case BOT_DATA_IN: + switch (CBW.CB[0]) + { + case SCSI_READ10: + SCSI_Read10_Cmd(CBW.bLUN , SCSI_LBA , SCSI_BlkLen); + break; + } + break; + case BOT_DATA_IN_LAST: + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + + SetEPRxStatus(ENDP2, EP_RX_VALID); + break; + default: + break; + } +} + +/******************************************************************************* +* Function Name : Mass_Storage_Out +* Description : Mass Storage OUT transfer. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_Out (void) +{ + uint8_t CMD; + CMD = CBW.CB[0]; + + Data_Len = USB_SIL_Read(EP2_OUT, Bulk_Data_Buff); + + switch (Bot_State) + { + case BOT_IDLE: + CBW_Decode(); + break; + case BOT_DATA_OUT: + if (CMD == SCSI_WRITE10) + { + SCSI_Write10_Cmd(CBW.bLUN , SCSI_LBA , SCSI_BlkLen); + break; + } + Bot_Abort(DIR_OUT); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_PHASE_ERROR, SEND_CSW_DISABLE); + break; + default: + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_PHASE_ERROR, SEND_CSW_DISABLE); + break; + } +} + +/******************************************************************************* +* Function Name : CBW_Decode +* Description : Decode the received CBW and call the related SCSI command +* routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void CBW_Decode(void) +{ + uint32_t Counter; + + for (Counter = 0; Counter < Data_Len; Counter++) + { + *((uint8_t *)&CBW + Counter) = Bulk_Data_Buff[Counter]; + } + CSW.dTag = CBW.dTag; + CSW.dDataResidue = CBW.dDataLength; + if (Data_Len != BOT_CBW_PACKET_LENGTH) + { + Bot_Abort(BOTH_DIR); + /* reset the CBW.dSignature to disable the clear feature until receiving a Mass storage reset*/ + CBW.dSignature = 0; + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, PARAMETER_LIST_LENGTH_ERROR); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + return; + } + + if ((CBW.CB[0] == SCSI_READ10 ) || (CBW.CB[0] == SCSI_WRITE10 )) + { + /* Calculate Logical Block Address */ + SCSI_LBA = (CBW.CB[2] << 24) | (CBW.CB[3] << 16) | (CBW.CB[4] << 8) | CBW.CB[5]; + /* Calculate the Number of Blocks to transfer */ + SCSI_BlkLen = (CBW.CB[7] << 8) | CBW.CB[8]; + } + + if (CBW.dSignature == BOT_CBW_SIGNATURE) + { + /* Valid CBW */ + if ((CBW.bLUN > Max_Lun) || (CBW.bCBLength < 1) || (CBW.bCBLength > 16)) + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } + else + { + switch (CBW.CB[0]) + { + case SCSI_REQUEST_SENSE: + SCSI_RequestSense_Cmd (CBW.bLUN); + break; + case SCSI_INQUIRY: + SCSI_Inquiry_Cmd(CBW.bLUN); + break; + case SCSI_START_STOP_UNIT: + SCSI_Start_Stop_Unit_Cmd(CBW.bLUN); + break; + case SCSI_ALLOW_MEDIUM_REMOVAL: + SCSI_Start_Stop_Unit_Cmd(CBW.bLUN); + break; + case SCSI_MODE_SENSE6: + SCSI_ModeSense6_Cmd (CBW.bLUN); + break; + case SCSI_MODE_SENSE10: + SCSI_ModeSense10_Cmd (CBW.bLUN); + break; + case SCSI_READ_FORMAT_CAPACITIES: + SCSI_ReadFormatCapacity_Cmd(CBW.bLUN); + break; + case SCSI_READ_CAPACITY10: + SCSI_ReadCapacity10_Cmd(CBW.bLUN); + break; + case SCSI_TEST_UNIT_READY: + SCSI_TestUnitReady_Cmd(CBW.bLUN); + break; + case SCSI_READ10: + SCSI_Read10_Cmd(CBW.bLUN, SCSI_LBA , SCSI_BlkLen); + break; + case SCSI_WRITE10: + SCSI_Write10_Cmd(CBW.bLUN, SCSI_LBA , SCSI_BlkLen); + break; + case SCSI_VERIFY10: + SCSI_Verify10_Cmd(CBW.bLUN); + break; + case SCSI_FORMAT_UNIT: + SCSI_Format_Cmd(CBW.bLUN); + break; + /*Unsupported command*/ + case SCSI_MODE_SELECT10: + SCSI_Mode_Select10_Cmd(CBW.bLUN); + break; + case SCSI_MODE_SELECT6: + SCSI_Mode_Select6_Cmd(CBW.bLUN); + break; + + case SCSI_SEND_DIAGNOSTIC: + SCSI_Send_Diagnostic_Cmd(CBW.bLUN); + break; + case SCSI_READ6: + SCSI_Read6_Cmd(CBW.bLUN); + break; + case SCSI_READ12: + SCSI_Read12_Cmd(CBW.bLUN); + break; + case SCSI_READ16: + SCSI_Read16_Cmd(CBW.bLUN); + break; + case SCSI_READ_CAPACITY16: + SCSI_READ_CAPACITY16_Cmd(CBW.bLUN); + break; + case SCSI_WRITE6: + SCSI_Write6_Cmd(CBW.bLUN); + break; + case SCSI_WRITE12: + SCSI_Write12_Cmd(CBW.bLUN); + break; + case SCSI_WRITE16: + SCSI_Write16_Cmd(CBW.bLUN); + break; + case SCSI_VERIFY12: + SCSI_Verify12_Cmd(CBW.bLUN); + break; + case SCSI_VERIFY16: + SCSI_Verify16_Cmd(CBW.bLUN); + break; + + default: + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } + } + } + } + else + { + /* Invalid CBW */ + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } +} + +/******************************************************************************* +* Function Name : Transfer_Data_Request +* Description : Send the request response to the PC HOST. +* Input : uint8_t* Data_Address : point to the data to transfer. +* uint16_t Data_Length : the number of Bytes to transfer. +* Output : None. +* Return : None. +*******************************************************************************/ +void Transfer_Data_Request(uint8_t* Data_Pointer, uint16_t Data_Len) +{ + USB_SIL_Write(EP1_IN, Data_Pointer, Data_Len); + + SetEPTxStatus(ENDP1, EP_TX_VALID); + + Bot_State = BOT_DATA_IN_LAST; + CSW.dDataResidue -= Data_Len; + CSW.bStatus = CSW_CMD_PASSED; +} + +/******************************************************************************* +* Function Name : Set_CSW +* Description : Set the SCW with the needed fields. +* Input : uint8_t CSW_Status this filed can be CSW_CMD_PASSED,CSW_CMD_FAILED, +* or CSW_PHASE_ERROR. +* Output : None. +* Return : None. +*******************************************************************************/ +void Set_CSW (uint8_t CSW_Status, uint8_t Send_Permission) +{ + CSW.dSignature = BOT_CSW_SIGNATURE; + CSW.bStatus = CSW_Status; + + USB_SIL_Write(EP1_IN, ((uint8_t *)& CSW), CSW_DATA_LENGTH); + + Bot_State = BOT_ERROR; + if (Send_Permission) + { + Bot_State = BOT_CSW_Send; + SetEPTxStatus(ENDP1, EP_TX_VALID); + } +} + +/******************************************************************************* +* Function Name : Bot_Abort +* Description : Stall the needed Endpoint according to the selected direction. +* Input : Endpoint direction IN, OUT or both directions +* Output : None. +* Return : None. +*******************************************************************************/ +void Bot_Abort(uint8_t Direction) +{ + switch (Direction) + { + case DIR_IN : + SetEPTxStatus(ENDP1, EP_TX_STALL); + break; + case DIR_OUT : + SetEPRxStatus(ENDP2, EP_RX_STALL); + break; + case BOTH_DIR : + SetEPTxStatus(ENDP1, EP_TX_STALL); + SetEPRxStatus(ENDP2, EP_RX_STALL); + break; + default: + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_desc.c new file mode 100644 index 0000000..f0349d1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_desc.c @@ -0,0 +1,147 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Mass Storage Device + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_desc.h" + +const uint8_t MASS_DeviceDescriptor[MASS_SIZ_DEVICE_DESC] = + { + 0x12, /* bLength */ + 0x01, /* bDescriptorType */ + 0x00, /* bcdUSB, version 2.00 */ + 0x02, + 0x00, /* bDeviceClass : each interface define the device class */ + 0x00, /* bDeviceSubClass */ + 0x00, /* bDeviceProtocol */ + 0x40, /* bMaxPacketSize0 0x40 = 64 */ + 0x83, /* idVendor (0483) */ + 0x04, + 0x20, /* idProduct */ + 0x57, + 0x00, /* bcdDevice 2.00*/ + 0x02, + 1, /* index of string Manufacturer */ + /**/ + 2, /* index of string descriptor of product*/ + /* */ + 3, /* */ + /* */ + /* */ + 0x01 /*bNumConfigurations */ + }; +const uint8_t MASS_ConfigDescriptor[MASS_SIZ_CONFIG_DESC] = + { + + 0x09, /* bLength: Configuration Descriptor size */ + 0x02, /* bDescriptorType: Configuration */ + MASS_SIZ_CONFIG_DESC, + + 0x00, + 0x01, /* bNumInterfaces: 1 interface */ + 0x01, /* bConfigurationValue: */ + /* Configuration value */ + 0x00, /* iConfiguration: */ + /* Index of string descriptor */ + /* describing the configuration */ + 0xC0, /* bmAttributes: */ + /* Self powered */ + 0x32, /* MaxPower 100 mA */ + + /******************** Descriptor of Mass Storage interface ********************/ + /* 09 */ + 0x09, /* bLength: Interface Descriptor size */ + 0x04, /* bDescriptorType: */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x02, /* bNumEndpoints*/ + 0x08, /* bInterfaceClass: MASS STORAGE Class */ + 0x06, /* bInterfaceSubClass : SCSI transparent*/ + 0x50, /* nInterfaceProtocol */ + 4, /* iInterface: */ + /* 18 */ + 0x07, /*Endpoint descriptor length = 7*/ + 0x05, /*Endpoint descriptor type */ + 0x81, /*Endpoint address (IN, address 1) */ + 0x02, /*Bulk endpoint type */ + 0x40, /*Maximum packet size (64 bytes) */ + 0x00, + 0x00, /*Polling interval in milliseconds */ + /* 25 */ + 0x07, /*Endpoint descriptor length = 7 */ + 0x05, /*Endpoint descriptor type */ + 0x02, /*Endpoint address (OUT, address 2) */ + 0x02, /*Bulk endpoint type */ + 0x40, /*Maximum packet size (64 bytes) */ + 0x00, + 0x00 /*Polling interval in milliseconds*/ + /*32*/ + }; +const uint8_t MASS_StringLangID[MASS_SIZ_STRING_LANGID] = + { + MASS_SIZ_STRING_LANGID, + 0x03, + 0x09, + 0x04 + } + ; /* LangID = 0x0409: U.S. English */ +const uint8_t MASS_StringVendor[MASS_SIZ_STRING_VENDOR] = + { + MASS_SIZ_STRING_VENDOR, /* Size of manufacturer string */ + 0x03, /* bDescriptorType = String descriptor */ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; +const uint8_t MASS_StringProduct[MASS_SIZ_STRING_PRODUCT] = + { + MASS_SIZ_STRING_PRODUCT, + 0x03, + /* Product name: "STM32F10x:USB Mass Storage" */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'M', 0, 'a', 0, 's', 0, + 's', 0, ' ', 0, 'S', 0, 't', 0, 'o', 0, 'r', 0, 'a', 0, 'g', 0, 'e', 0 + + }; + +uint8_t MASS_StringSerial[MASS_SIZ_STRING_SERIAL] = + { + MASS_SIZ_STRING_SERIAL, + 0x03, + /* Serial number*/ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0 + }; +const uint8_t MASS_StringInterface[MASS_SIZ_STRING_INTERFACE] = + { + MASS_SIZ_STRING_INTERFACE, + 0x03, + /* Interface 0: "ST Mass" */ + 'S', 0, 'T', 0, ' ', 0, 'M', 0, 'a', 0, 's', 0, 's', 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_endp.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_endp.c new file mode 100644 index 0000000..43799e3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_endp.c @@ -0,0 +1,66 @@ +/** + ****************************************************************************** + * @file usb_endp.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Endpoint routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_bot.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : EP1_IN_Callback +* Description : EP1 IN Callback Routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP1_IN_Callback(void) +{ + Mass_Storage_In(); +} + +/******************************************************************************* +* Function Name : EP2_OUT_Callback. +* Description : EP2 OUT Callback Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP2_OUT_Callback(void) +{ + Mass_Storage_Out(); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_prop.c new file mode 100644 index 0000000..22eed99 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_prop.c @@ -0,0 +1,411 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Mass Storage Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "usb_bot.h" +#include "memory.h" +#include "mass_mal.h" +#include "usb_prop.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +#if defined (USE_STM3210E_EVAL) +uint32_t Max_Lun = 1; +#else +uint32_t Max_Lun = 0; +#endif + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + MASS_init, + MASS_Reset, + MASS_Status_In, + MASS_Status_Out, + MASS_Data_Setup, + MASS_NoData_Setup, + MASS_Get_Interface_Setting, + MASS_GetDeviceDescriptor, + MASS_GetConfigDescriptor, + MASS_GetStringDescriptor, + 0, + 0x40 /*MAX PACKET SIZE*/ + }; + +USER_STANDARD_REQUESTS User_Standard_Requests = + { + Mass_Storage_GetConfiguration, + Mass_Storage_SetConfiguration, + Mass_Storage_GetInterface, + Mass_Storage_SetInterface, + Mass_Storage_GetStatus, + Mass_Storage_ClearFeature, + Mass_Storage_SetEndPointFeature, + Mass_Storage_SetDeviceFeature, + Mass_Storage_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)MASS_DeviceDescriptor, + MASS_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)MASS_ConfigDescriptor, + MASS_SIZ_CONFIG_DESC + }; + +ONE_DESCRIPTOR String_Descriptor[5] = + { + {(uint8_t*)MASS_StringLangID, MASS_SIZ_STRING_LANGID}, + {(uint8_t*)MASS_StringVendor, MASS_SIZ_STRING_VENDOR}, + {(uint8_t*)MASS_StringProduct, MASS_SIZ_STRING_PRODUCT}, + {(uint8_t*)MASS_StringSerial, MASS_SIZ_STRING_SERIAL}, + {(uint8_t*)MASS_StringInterface, MASS_SIZ_STRING_INTERFACE}, + }; + +/* Extern variables ----------------------------------------------------------*/ +extern unsigned char Bot_State; +extern Bulk_Only_CBW CBW; + +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : MASS_init +* Description : Mass Storage init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void MASS_init() +{ + /* Update the serial number string descriptor with the data from the unique + ID*/ + Get_SerialNum(); + + pInformation->Current_Configuration = 0; + + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : MASS_Reset +* Description : Mass Storage reset routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void MASS_Reset() +{ + /* Set the device as not configured */ + Device_Info.Current_Configuration = 0; + + /* Current Feature initialization */ + pInformation->Current_Feature = MASS_ConfigDescriptor[7]; + + SetBTABLE(BTABLE_ADDRESS); + + /* Initialize Endpoint 0 */ + SetEPType(ENDP0, EP_CONTROL); + SetEPTxStatus(ENDP0, EP_TX_NAK); + SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPTxAddr(ENDP0, ENDP0_TXADDR); + Clear_Status_Out(ENDP0); + SetEPRxValid(ENDP0); + + /* Initialize Endpoint 1 */ + SetEPType(ENDP1, EP_BULK); + SetEPTxAddr(ENDP1, ENDP1_TXADDR); + SetEPTxStatus(ENDP1, EP_TX_NAK); + SetEPRxStatus(ENDP1, EP_RX_DIS); + + /* Initialize Endpoint 2 */ + SetEPType(ENDP2, EP_BULK); + SetEPRxAddr(ENDP2, ENDP2_RXADDR); + SetEPRxCount(ENDP2, Device_Property.MaxPacketSize); + SetEPRxStatus(ENDP2, EP_RX_VALID); + SetEPTxStatus(ENDP2, EP_TX_DIS); + + + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPRxValid(ENDP0); + + /* Set the device to response on default address */ + SetDeviceAddress(0); + + bDeviceState = ATTACHED; + + CBW.dSignature = BOT_CBW_SIGNATURE; + Bot_State = BOT_IDLE; + + USB_NotConfigured_LED(); +} + +/******************************************************************************* +* Function Name : Mass_Storage_SetConfiguration +* Description : Handle the SetConfiguration request. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_SetConfiguration(void) +{ + if (pInformation->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + + ClearDTOG_TX(ENDP1); + ClearDTOG_RX(ENDP2); + + Bot_State = BOT_IDLE; /* set the Bot state machine to the IDLE state */ + } +} + +/******************************************************************************* +* Function Name : Mass_Storage_ClearFeature +* Description : Handle the ClearFeature request. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_ClearFeature(void) +{ + /* when the host send a CBW with invalid signature or invalid length the two + Endpoints (IN & OUT) shall stall until receiving a Mass Storage Reset */ + if (CBW.dSignature != BOT_CBW_SIGNATURE) + Bot_Abort(BOTH_DIR); +} + +/******************************************************************************* +* Function Name : Mass_Storage_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Mass_Storage_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} +/******************************************************************************* +* Function Name : MASS_Status_In +* Description : Mass Storage Status IN routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void MASS_Status_In(void) +{ + return; +} + +/******************************************************************************* +* Function Name : MASS_Status_Out +* Description : Mass Storage Status OUT routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void MASS_Status_Out(void) +{ + return; +} + +/******************************************************************************* +* Function Name : MASS_Data_Setup. +* Description : Handle the data class specific requests.. +* Input : RequestNo. +* Output : None. +* Return : RESULT. +*******************************************************************************/ +RESULT MASS_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + + CopyRoutine = NULL; + if ((Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + && (RequestNo == GET_MAX_LUN) && (pInformation->USBwValue == 0) + && (pInformation->USBwIndex == 0) && (pInformation->USBwLength == 0x01)) + { + CopyRoutine = Get_Max_Lun; + } + else + { + return USB_UNSUPPORT; + } + + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + + return USB_SUCCESS; + +} + +/******************************************************************************* +* Function Name : MASS_NoData_Setup. +* Description : Handle the no data class specific requests. +* Input : RequestNo. +* Output : None. +* Return : RESULT. +*******************************************************************************/ +RESULT MASS_NoData_Setup(uint8_t RequestNo) +{ + if ((Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + && (RequestNo == MASS_STORAGE_RESET) && (pInformation->USBwValue == 0) + && (pInformation->USBwIndex == 0) && (pInformation->USBwLength == 0x00)) + { + /* Initialize Endpoint 1 */ + ClearDTOG_TX(ENDP1); + + /* Initialize Endpoint 2 */ + ClearDTOG_RX(ENDP2); + + /*initialize the CBW signature to enable the clear feature*/ + CBW.dSignature = BOT_CBW_SIGNATURE; + Bot_State = BOT_IDLE; + + return USB_SUCCESS; + } + return USB_UNSUPPORT; +} + +/******************************************************************************* +* Function Name : MASS_Get_Interface_Setting +* Description : Test the interface and the alternate setting according to the +* supported one. +* Input : uint8_t Interface, uint8_t AlternateSetting. +* Output : None. +* Return : RESULT. +*******************************************************************************/ +RESULT MASS_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 0) + { + return USB_UNSUPPORT;/* in this application we don't have AlternateSetting*/ + } + else if (Interface > 0) + { + return USB_UNSUPPORT;/*in this application we have only 1 interfaces*/ + } + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : MASS_GetDeviceDescriptor +* Description : Get the device descriptor. +* Input : uint16_t Length. +* Output : None. +* Return : None. +*******************************************************************************/ +uint8_t *MASS_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor ); +} + +/******************************************************************************* +* Function Name : MASS_GetConfigDescriptor +* Description : Get the configuration descriptor. +* Input : uint16_t Length. +* Output : None. +* Return : None. +*******************************************************************************/ +uint8_t *MASS_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Config_Descriptor ); +} + +/******************************************************************************* +* Function Name : MASS_GetStringDescriptor +* Description : Get the string descriptors according to the needed index. +* Input : uint16_t Length. +* Output : None. +* Return : None. +*******************************************************************************/ +uint8_t *MASS_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + + if (wValue0 > 5) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : Get_Max_Lun +* Description : Handle the Get Max Lun request. +* Input : uint16_t Length. +* Output : None. +* Return : None. +*******************************************************************************/ +uint8_t *Get_Max_Lun(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = LUN_DATA_LENGTH; + return 0; + } + else + { + return((uint8_t*)(&Max_Lun)); + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_scsi.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_scsi.c new file mode 100644 index 0000000..028011c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Mass_Storage/src/usb_scsi.c @@ -0,0 +1,440 @@ +/** + ****************************************************************************** + * @file usb_scsi.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to the SCSI commands + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_scsi.h" +#include "mass_mal.h" +#include "usb_bot.h" +#include "usb_regs.h" +#include "memory.h" +#include "platform_config.h" +#include "usb_lib.h" + +#ifdef USE_STM3210E_EVAL + #include "nand_if.h" +#endif /* USE_STM3210E_EVAL */ + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* External variables --------------------------------------------------------*/ +extern uint8_t Bulk_Data_Buff[BULK_MAX_PACKET_SIZE]; /* data buffer*/ +extern uint8_t Bot_State; +extern Bulk_Only_CBW CBW; +extern Bulk_Only_CSW CSW; +extern uint32_t Mass_Memory_Size[2]; +extern uint32_t Mass_Block_Size[2]; +extern uint32_t Mass_Block_Count[2]; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : SCSI_Inquiry_Cmd +* Description : SCSI Inquiry Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Inquiry_Cmd(uint8_t lun) +{ + uint8_t* Inquiry_Data; + uint16_t Inquiry_Data_Length; + + if (CBW.CB[1] & 0x01)/*Evpd is set*/ + { + Inquiry_Data = Page00_Inquiry_Data; + Inquiry_Data_Length = 5; + } + else + { + if ( lun == 0) + { + Inquiry_Data = Standard_Inquiry_Data; + } + else + { + Inquiry_Data = Standard_Inquiry_Data2; + } + if (CBW.CB[4] <= STANDARD_INQUIRY_DATA_LEN) + Inquiry_Data_Length = CBW.CB[4]; + else + Inquiry_Data_Length = STANDARD_INQUIRY_DATA_LEN; + } + Transfer_Data_Request(Inquiry_Data, Inquiry_Data_Length); +} + +/******************************************************************************* +* Function Name : SCSI_ReadFormatCapacity_Cmd +* Description : SCSI ReadFormatCapacity Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_ReadFormatCapacity_Cmd(uint8_t lun) +{ + if (MAL_GetStatus(lun) != 0 ) + { + Set_Scsi_Sense_Data(CBW.bLUN, NOT_READY, MEDIUM_NOT_PRESENT); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_ENABLE); + Bot_Abort(DIR_IN); + return; + } + ReadFormatCapacity_Data[4] = (uint8_t)(Mass_Block_Count[lun] >> 24); + ReadFormatCapacity_Data[5] = (uint8_t)(Mass_Block_Count[lun] >> 16); + ReadFormatCapacity_Data[6] = (uint8_t)(Mass_Block_Count[lun] >> 8); + ReadFormatCapacity_Data[7] = (uint8_t)(Mass_Block_Count[lun]); + + ReadFormatCapacity_Data[9] = (uint8_t)(Mass_Block_Size[lun] >> 16); + ReadFormatCapacity_Data[10] = (uint8_t)(Mass_Block_Size[lun] >> 8); + ReadFormatCapacity_Data[11] = (uint8_t)(Mass_Block_Size[lun]); + Transfer_Data_Request(ReadFormatCapacity_Data, READ_FORMAT_CAPACITY_DATA_LEN); +} + +/******************************************************************************* +* Function Name : SCSI_ReadCapacity10_Cmd +* Description : SCSI ReadCapacity10 Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_ReadCapacity10_Cmd(uint8_t lun) +{ + if (MAL_GetStatus(lun)) + { + Set_Scsi_Sense_Data(CBW.bLUN, NOT_READY, MEDIUM_NOT_PRESENT); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_ENABLE); + Bot_Abort(DIR_IN); + return; + } + + ReadCapacity10_Data[0] = (uint8_t)((Mass_Block_Count[lun] - 1) >> 24); + ReadCapacity10_Data[1] = (uint8_t)((Mass_Block_Count[lun] - 1) >> 16); + ReadCapacity10_Data[2] = (uint8_t)((Mass_Block_Count[lun] - 1) >> 8); + ReadCapacity10_Data[3] = (uint8_t)(Mass_Block_Count[lun] - 1); + + ReadCapacity10_Data[4] = (uint8_t)(Mass_Block_Size[lun] >> 24); + ReadCapacity10_Data[5] = (uint8_t)(Mass_Block_Size[lun] >> 16); + ReadCapacity10_Data[6] = (uint8_t)(Mass_Block_Size[lun] >> 8); + ReadCapacity10_Data[7] = (uint8_t)(Mass_Block_Size[lun]); + Transfer_Data_Request(ReadCapacity10_Data, READ_CAPACITY10_DATA_LEN); +} + +/******************************************************************************* +* Function Name : SCSI_ModeSense6_Cmd +* Description : SCSI ModeSense6 Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_ModeSense6_Cmd (uint8_t lun) +{ + Transfer_Data_Request(Mode_Sense6_data, MODE_SENSE6_DATA_LEN); +} + +/******************************************************************************* +* Function Name : SCSI_ModeSense10_Cmd +* Description : SCSI ModeSense10 Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_ModeSense10_Cmd (uint8_t lun) +{ + Transfer_Data_Request(Mode_Sense10_data, MODE_SENSE10_DATA_LEN); +} + +/******************************************************************************* +* Function Name : SCSI_RequestSense_Cmd +* Description : SCSI RequestSense Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_RequestSense_Cmd (uint8_t lun) +{ + uint8_t Request_Sense_data_Length; + + if (CBW.CB[4] <= REQUEST_SENSE_DATA_LEN) + { + Request_Sense_data_Length = CBW.CB[4]; + } + else + { + Request_Sense_data_Length = REQUEST_SENSE_DATA_LEN; + } + Transfer_Data_Request(Scsi_Sense_Data, Request_Sense_data_Length); +} + +/******************************************************************************* +* Function Name : Set_Scsi_Sense_Data +* Description : Set Scsi Sense Data routine. +* Input : uint8_t Sens_Key + uint8_t Asc. +* Output : None. +* Return : None. +*******************************************************************************/ +void Set_Scsi_Sense_Data(uint8_t lun, uint8_t Sens_Key, uint8_t Asc) +{ + Scsi_Sense_Data[2] = Sens_Key; + Scsi_Sense_Data[12] = Asc; +} + +/******************************************************************************* +* Function Name : SCSI_Start_Stop_Unit_Cmd +* Description : SCSI Start_Stop_Unit Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Start_Stop_Unit_Cmd(uint8_t lun) +{ + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); +} + +/******************************************************************************* +* Function Name : SCSI_Read10_Cmd +* Description : SCSI Read10 Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Read10_Cmd(uint8_t lun , uint32_t LBA , uint32_t BlockNbr) +{ + if (Bot_State == BOT_IDLE) + { + if (!(SCSI_Address_Management(CBW.bLUN, SCSI_READ10, LBA, BlockNbr)))/*address out of range*/ + { + return; + } + + if ((CBW.bmFlags & 0x80) != 0) + { + Bot_State = BOT_DATA_IN; + Read_Memory(lun, LBA , BlockNbr); + } + else + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_ENABLE); + } + return; + } + else if (Bot_State == BOT_DATA_IN) + { + Read_Memory(lun , LBA , BlockNbr); + } +} + +/******************************************************************************* +* Function Name : SCSI_Write10_Cmd +* Description : SCSI Write10 Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Write10_Cmd(uint8_t lun , uint32_t LBA , uint32_t BlockNbr) +{ + if (Bot_State == BOT_IDLE) + { + if (!(SCSI_Address_Management(CBW.bLUN, SCSI_WRITE10 , LBA, BlockNbr)))/*address out of range*/ + { + return; + } + + if ((CBW.bmFlags & 0x80) == 0) + { + Bot_State = BOT_DATA_OUT; + SetEPRxStatus(ENDP2, EP_RX_VALID); + } + else + { + Bot_Abort(DIR_IN); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } + return; + } + else if (Bot_State == BOT_DATA_OUT) + { + Write_Memory(lun , LBA , BlockNbr); + } +} + +/******************************************************************************* +* Function Name : SCSI_Verify10_Cmd +* Description : SCSI Verify10 Command routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Verify10_Cmd(uint8_t lun) +{ + if ((CBW.dDataLength == 0) && !(CBW.CB[1] & BLKVFY))/* BLKVFY not set*/ + { + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + } + else + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } +} +/******************************************************************************* +* Function Name : SCSI_Valid_Cmd +* Description : Valid Commands routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Valid_Cmd(uint8_t lun) +{ + if (CBW.dDataLength != 0) + { + Bot_Abort(BOTH_DIR); + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + } + else + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); +} +/******************************************************************************* +* Function Name : SCSI_Valid_Cmd +* Description : Valid Commands routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_TestUnitReady_Cmd(uint8_t lun) +{ + if (MAL_GetStatus(lun)) + { + Set_Scsi_Sense_Data(CBW.bLUN, NOT_READY, MEDIUM_NOT_PRESENT); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_ENABLE); + Bot_Abort(DIR_IN); + return; + } + else + { + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + } +} +/******************************************************************************* +* Function Name : SCSI_Format_Cmd +* Description : Format Commands routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Format_Cmd(uint8_t lun) +{ + if (MAL_GetStatus(lun)) + { + Set_Scsi_Sense_Data(CBW.bLUN, NOT_READY, MEDIUM_NOT_PRESENT); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_ENABLE); + Bot_Abort(DIR_IN); + return; + } +#ifdef USE_STM3210E_EVAL + else + { + NAND_Format(); + Set_CSW (CSW_CMD_PASSED, SEND_CSW_ENABLE); + } +#endif +} +/******************************************************************************* +* Function Name : SCSI_Invalid_Cmd +* Description : Invalid Commands routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SCSI_Invalid_Cmd(uint8_t lun) +{ + if (CBW.dDataLength == 0) + { + Bot_Abort(DIR_IN); + } + else + { + if ((CBW.bmFlags & 0x80) != 0) + { + Bot_Abort(DIR_IN); + } + else + { + Bot_Abort(BOTH_DIR); + } + } + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); +} + +/******************************************************************************* +* Function Name : SCSI_Address_Management +* Description : Test the received address. +* Input : uint8_t Cmd : the command can be SCSI_READ10 or SCSI_WRITE10. +* Output : None. +* Return : Read\Write status (bool). +*******************************************************************************/ +bool SCSI_Address_Management(uint8_t lun , uint8_t Cmd , uint32_t LBA , uint32_t BlockNbr) +{ + if ((LBA + BlockNbr) > Mass_Block_Count[lun] ) + { + if (Cmd == SCSI_WRITE10) + { + Bot_Abort(BOTH_DIR); + } + Bot_Abort(DIR_IN); + Set_Scsi_Sense_Data(lun, ILLEGAL_REQUEST, ADDRESS_OUT_OF_RANGE); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + return (FALSE); + } + + if (CBW.dDataLength != BlockNbr * Mass_Block_Size[lun]) + { + if (Cmd == SCSI_WRITE10) + { + Bot_Abort(BOTH_DIR); + } + else + { + Bot_Abort(DIR_IN); + } + Set_Scsi_Sense_Data(CBW.bLUN, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); + Set_CSW (CSW_CMD_FAILED, SEND_CSW_DISABLE); + return (FALSE); + } + return (TRUE); +} +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewd new file mode 100644 index 0000000..26ba5a9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewp new file mode 100644 index 0000000..7f9c127 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.ewp @@ -0,0 +1,6898 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152D-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32373C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32303C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_cl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\system_stm32f10x.c + + STM32L152-EVAL + STM32L152D-EVAL + + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + STM3210C_EVAL + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210C_EVAL\stm3210c_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210C_EVAL\stm3210c_eval_ioe.c + + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32F30X + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\iar\startup_stm32f30x.s + + + $PROJ_DIR$\..\src\system_stm32f30x.c + + + + STM32303C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + STM32F30x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + + + STM32F37X + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\iar\startup_stm32f37x.s + + + $PROJ_DIR$\..\src\system_stm32f37x.c + + + + STM32373C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval_lcd.c + + + + STM32F37x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_can.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_hd.s + + STM32L152-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + STM32L152D-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_mdp.s + + STM32L152-EVAL + STM32L152D-EVAL + + + + $PROJ_DIR$\..\src\system_stm32l1xx.c + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + + STM32L152_EVAL + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + STM32L152D_EVAL + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210B-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + USB-FS-Device_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + User + + $PROJ_DIR$\..\src\hw_config.c + + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\stm32_it.c + + + $PROJ_DIR$\..\src\usb_desc.c + + + $PROJ_DIR$\..\src\usb_endp.c + + + $PROJ_DIR$\..\src\usb_istr.c + + + $PROJ_DIR$\..\src\usb_prop.c + + + $PROJ_DIR$\..\src\usb_pwr.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.eww new file mode 100644 index 0000000..f03206a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/VirtualComport_Loopback.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\VirtualComport_Loopback.ewp + + + + USB-Package-VCOMPort + + CDC_LoopBack + STM3210B-EVAL + + + CDC_LoopBack + STM3210C-EVAL + + + CDC_LoopBack + STM3210E-EVAL + + + CDC_LoopBack + STM3210E-EVAL_XL + + + CDC_LoopBack + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/stm32f30x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/stm32f30x_flash.icf new file mode 100644 index 0000000..9d295c8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/EWARM/stm32f30x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/MDK-ARM/VirtualComport_Loopback.uvopt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/MDK-ARM/VirtualComport_Loopback.uvopt new file mode 100644 index 0000000..72584f3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/MDK-ARM/VirtualComport_Loopback.uvopt @@ -0,0 +1,2389 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + STM3210B-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210B-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL_XL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L151xx_152xx_DS.PDF + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -U-O14 -O2062 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152D-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L162xx_DS.PDF + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UV0579U9E -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32373C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32303C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + User + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + misc.c + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + stm32f37x_misc.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\hw_config.c + hw_config.c + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\main.c + main.c + + + 1 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_desc.c + usb_desc.c + + + 1 + 6 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_endp.c + usb_endp.c + + + 1 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_istr.c + usb_istr.c + + + 1 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_prop.c + usb_prop.c + + + 1 + 9 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_pwr.c + usb_pwr.c + + + 1 + 10 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\stm32_it.c + stm32_it.c + + + + + CMSIS + 0 + 0 + 0 + + 2 + 11 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32l1xx.c + system_stm32l1xx.c + + + 2 + 12 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f10x.c + system_stm32f10x.c + + + 2 + 13 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + startup_stm32f10x_hd.s + + + 2 + 14 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + startup_stm32f10x_ld.s + + + 2 + 15 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + startup_stm32f10x_ld_vl.s + + + 2 + 16 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + startup_stm32f10x_md.s + + + 2 + 17 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + startup_stm32f10x_md_vl.s + + + 2 + 18 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + startup_stm32f10x_xl.s + + + 2 + 19 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + startup_stm32l1xx_hd.s + + + 2 + 20 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + startup_stm32l1xx_md.s + + + 2 + 21 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + startup_stm32l1xx_mdp.s + + + 2 + 22 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f37x.c + system_stm32f37x.c + + + 2 + 23 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + startup_stm32f37x.s + + + 2 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f30x.c + system_stm32f30x.c + + + 2 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + startup_stm32f30x.s + + + + + USB-FS-Device_Driver + 0 + 0 + 0 + + 3 + 24 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + usb_core.c + + + 3 + 25 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + usb_init.c + + + 3 + 26 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + usb_int.c + + + 3 + 27 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + usb_mem.c + + + 3 + 28 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + usb_regs.c + + + 3 + 29 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + 0 + 0 + 0 + + 4 + 30 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_usart.c + + + 4 + 31 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + stm32f10x_gpio.c + + + 4 + 32 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + stm32f10x_rcc.c + + + 4 + 33 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + stm32f10x_flash.c + + + 4 + 34 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + stm32f10x_exti.c + + + 4 + 35 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + stm32f10x_spi.c + + + 4 + 36 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + stm32f10x_dma.c + + + 4 + 37 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + stm32f10x_i2c.c + + + 4 + 38 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + 0 + 0 + 0 + + 5 + 39 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + stm32l1xx_usart.c + + + 5 + 40 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + stm32l1xx_exti.c + + + 5 + 41 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + stm32l1xx_flash.c + + + 5 + 42 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + stm32l1xx_gpio.c + + + 5 + 43 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + stm32l1xx_i2c.c + + + 5 + 44 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + stm32l1xx_rcc.c + + + 5 + 45 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + stm32l1xx_spi.c + + + 5 + 46 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + stm32l1xx_syscfg.c + + + 5 + 47 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + stm32l1xx_dma.c + + + 5 + 48 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + 0 + 0 + 0 + + 6 + 49 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + stm32f37x_adc.c + + + 6 + 50 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + stm32f37x_dma.c + + + 6 + 51 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + stm32f37x_exti.c + + + 6 + 52 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + stm32f37x_flash.c + + + 6 + 53 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + stm32f37x_gpio.c + + + 6 + 54 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + stm32f37x_i2c.c + + + 6 + 55 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + stm32f37x_pwr.c + + + 6 + 56 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + stm32f37x_rcc.c + + + 6 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + stm32f37x_syscfg.c + + + 6 + 58 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + stm32f37x_spi.c + + + 6 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + 0 + 0 + 0 + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + stm32f30x_adc.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + stm32f30x_can.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + stm32f30x_crc.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + stm32f30x_dma.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + stm32f30x_exti.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + stm32f30x_flash.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + stm32f30x_gpio.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + stm32f30x_misc.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + stm32f30x_pwr.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + stm32f30x_rcc.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + stm32f30x_rtc.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + stm32f30x_spi.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + stm32f30x_syscfg.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + stm32f30x_tim.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + stm32f30x_usart.c + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + stm32f30x_i2c.c + + + + + STM3210B-EVAL + 0 + 0 + 0 + + 7 + 60 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + stm3210b_eval.c + + + + + STM3210E-EVAL + 0 + 0 + 0 + + 8 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + stm3210e_eval.c + + + + + STM32L152-EVAL + 0 + 0 + 0 + + 9 + 62 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + stm32l152_eval.c + + + + + STM32L152D-EVAL + 0 + 0 + 0 + + 10 + 63 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + stm32l152d_eval.c + + + + + STM32373C_EVAL + 0 + 0 + 0 + + 11 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + stm32373c_eval.c + + + + + STM32303C_EVAL + 0 + 0 + 0 + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + stm32303c_eval.c + + + + + Doc + 0 + 0 + 0 + + 12 + 65 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\readme.txt + readme.txt + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/RIDE/VirtualComport_Loopback.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/RIDE/VirtualComport_Loopback.rprj new file mode 100644 index 0000000..2df8f81 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/RIDE/VirtualComport_Loopback.rprj @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..ef33007 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.cproject @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..be956bf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,187 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F10x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM3210B_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM32F10x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F10x/CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + STM32F10x/STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/.project new file mode 100644 index 0000000..f20770f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/.project @@ -0,0 +1,197 @@ + + + STM3210E-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F10x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM3210E_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F10x/STM32F10x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F10x/CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + STM32F10x/STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x/STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl new file mode 100644 index 0000000..a2ddd97 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 512k; + map ( size = 512k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 64k; + map ( size = 64k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL_XL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL_XL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM3210E-EVAL_XL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..e4cb9e8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.project new file mode 100644 index 0000000..64d842d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/.project @@ -0,0 +1,202 @@ + + + STM32303C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30X + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F30X/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30X/STM32303C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F30X/STM32F30x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F30X/CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + STM32F30X/STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F30X/STM32F30x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch new file mode 100644 index 0000000..80853f0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32303C_EVAL/STM32303C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/.project new file mode 100644 index 0000000..13e8e59 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/.project @@ -0,0 +1,207 @@ + + + STM32373C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37X + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F37X/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37X/STM32373C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37X/STM32F37x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F37X/CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + STM32F37X/STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37X/STM32373C_EVAL/stm32373c_eval_lcd.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval_lcd.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37X/STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch new file mode 100644 index 0000000..f77e8ab --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl new file mode 100644 index 0000000..d8ba5b5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl @@ -0,0 +1,200 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f37x.lsl +// +// Version : @(#)stm32f37x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F37x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F37x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 32k +#endif + +memory STM32F37x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F37x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_TS_IRQHandler" ); // EXTI2_TS_IRQHandler interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1 interrupts + vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts + vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM15_IRQHandler" ); // TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM16_IRQHandler" ); // TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM17_IRQHandler" ); // TIM17 global interrupt + vector ( id = 43, optional, fill = "TIM118_DAC2_IRQHandler" ); // TIM18 global Interrupt and DAC2 underrun Interrupt + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "CEC_IRQHandler" ); // CEC interrupt + vector ( id = 59, optional, fill = "TIM12_IRQHandler" ); // TIM12 global interrupt + vector ( id = 60, optional, fill = "TIM13_IRQHandler" ); // TIM13 global interrupt + vector ( id = 61, optional, fill = "TIM14_IRQHandler" ); // TIM14 global interrupt + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC1_IRQHandler" ); // TIM6 glbl irq, DAC1 CH1 & CH2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "SDADC1_IRQHandler" ); // ADC Sigma Delta 1 global Interrupt + vector ( id = 78, optional, fill = "SDADC2_IRQHandler" ); // ADC Sigma Delta 2 global Interrupt + vector ( id = 79, optional, fill = "SDADC3_IRQHandler" ); // ADC Sigma Delta 3 global Interrupt + vector ( id = 80, optional, fill = "COMP_IRQHandler" ); // COMP1 and COMP2 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt + vector ( id = 92, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup Interrupt + vector ( id = 94, optional, fill = "TIM19_IRQHandler" ); // TIM19 global Interrupt + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..3669bd9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,197 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L1xx/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L152_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L1xx_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32L1xx/CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + STM32L1xx/STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl new file mode 100644 index 0000000..503c405 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl @@ -0,0 +1,151 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx_cmsis.lsl +// +// Version : @(#)stm32l1xx_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32l1xx.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 84 + + +#ifndef __STACK +# define __STACK 2k +#endif +#ifndef __HEAP +# define __HEAP 1k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32l1xflash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32l1xram +{ + mau = 8; + type = ram; + size = 16k; + map ( size = 16k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // FIXME: "_lc_ub_stack" does not work + vector ( id = 1, fill = "Reset_Handler" ); + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandle" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..5176824 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,202 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L1xx/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L152D_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32L1xx/STM32L1xx_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32L1xx/CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + STM32L1xx/STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx/STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.cproject new file mode 100644 index 0000000..02a4305 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..bed6a38 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,226 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210B_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld new file mode 100644 index 0000000..e0aa35c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210B-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103VB Device with +** 128KByte FLASH, 20KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20005000; /* end of 20K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 128K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..ccb0855 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.cproject @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa25d7d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:23:55 GMT+01:00 2012 +BOARD=STM3210E-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZE +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..bfb478d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..938209b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.project @@ -0,0 +1,226 @@ + + + STM3210E-EVAL_XL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM32F103ZG/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_xl.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_xl.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..a824e90 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:24:15 GMT+01:00 2012 +BOARD=STM3210E-EVAL_XL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZG +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..3b9f2f6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld new file mode 100644 index 0000000..b1c6965 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZG Device with +** 1MByte FLASH, 96KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20018000; /* end of 96K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.project new file mode 100644 index 0000000..06577a1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.project @@ -0,0 +1,310 @@ + + + STM32303C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32303C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_opamp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_opamp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_wwdg.c + + + TrueSTUDIO/startup_stm32f30x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/TrueSTUDIO/startup_stm32f30x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..11c9ee7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:37:51 GMT+01:00 2012 +BOARD=STM32303C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F303VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/.cproject new file mode 100644 index 0000000..f6f0f6d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch new file mode 100644 index 0000000..734d809 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32373C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld new file mode 100644 index 0000000..35c7d30 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32373C-EVAL/STM32F373VC_FLASH.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F373VC Device with +** 256KByte FLASH, 32KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20008000; /* end of 32K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x100; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.cproject new file mode 100644 index 0000000..b6d40bd --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.project new file mode 100644 index 0000000..cc19d22 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.project @@ -0,0 +1,231 @@ + + + STM32L152-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..e34e51b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:25:12 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.cproject new file mode 100644 index 0000000..79bfbe3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.cproject @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.project new file mode 100644 index 0000000..819cea2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.project @@ -0,0 +1,231 @@ + + + STM32L152D-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152D_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa650d6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 11:48:58 GMT+01:00 2012 +BOARD=STM32L152D-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152ZD +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch new file mode 100644 index 0000000..96ae53c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld new file mode 100644 index 0000000..0d8b7b3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_hd Device with +** 384KByte FLASH, 48KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000BFF8; + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/hw_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/hw_config.h new file mode 100644 index 0000000..9c1f2f1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/hw_config.h @@ -0,0 +1,60 @@ +/** + ****************************************************************************** + * @file hw_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __HW_CONFIG_H +#define __HW_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define MASS_MEMORY_START 0x04002000 +#define BULK_MAX_PACKET_SIZE 0x00000040 +#define LED_ON 0xF0 +#define LED_OFF 0xFF + +/* Exported functions ------------------------------------------------------- */ +void Set_System(void); +void Set_USBClock(void); +void Enter_LowPowerMode(void); +void Leave_LowPowerMode(void); +void USB_Interrupts_Config(void); +void USB_Cable_Config (FunctionalState NewState); +void Get_SerialNum(void); +void LCD_Control(void); +uint32_t CDC_Send_DATA (uint8_t *ptrBuffer, uint8_t Send_length); +uint32_t CDC_Receive_DATA(void); +/* External variables --------------------------------------------------------*/ + +#endif /*__HW_CONFIG_H*/ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/platform_config.h new file mode 100644 index 0000000..02bdb83 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/platform_config.h @@ -0,0 +1,155 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) +//#define USE_STM3210B_EVAL +//#define USE_STM3210E_EVAL +//#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define (USE_STM32373C_EVAL) +#define (USE_STM32303C_EVAL) +#endif + + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + +#elif defined (USE_STM32373C_EVAL) + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC + +#elif defined (USE_STM32303C_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB +#endif /* USE_STM3210B_EVAL */ + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_conf.h new file mode 100644 index 0000000..f1fe606 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_conf.h @@ -0,0 +1,103 @@ +/** + ****************************************************************************** + * @file usb_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Virtual COM Port Demo configuration header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_CONF_H +#define __USB_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +/* External variables --------------------------------------------------------*/ + +/*-------------------------------------------------------------*/ +/* EP_NUM */ +/* defines how many endpoints are used by the device */ +/*-------------------------------------------------------------*/ + +#define EP_NUM (4) + +/*-------------------------------------------------------------*/ +/* -------------- Buffer Description Table -----------------*/ +/*-------------------------------------------------------------*/ +/* buffer table base address */ +/* buffer table base address */ +#define BTABLE_ADDRESS (0x00) + +/* EP0 */ +/* rx/tx buffer base address */ +#define ENDP0_RXADDR (0x40) +#define ENDP0_TXADDR (0x80) + +/* EP1 */ +/* tx buffer base address */ +#define ENDP1_TXADDR (0xC0) +#define ENDP2_TXADDR (0x100) +#define ENDP3_RXADDR (0x110) + + +/*-------------------------------------------------------------*/ +/* ------------------- ISTR events -------------------------*/ +/*-------------------------------------------------------------*/ +/* IMR_MSK */ +/* mask defining which events has to be handled */ +/* by the device application software */ +#define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM | CNTR_SOFM \ + | CNTR_ESOFM | CNTR_RESETM ) + +/*#define CTR_CALLBACK*/ +/*#define DOVR_CALLBACK*/ +/*#define ERR_CALLBACK*/ +/*#define WKUP_CALLBACK*/ +/*#define SUSP_CALLBACK*/ +/*#define RESET_CALLBACK*/ +/*#define SOF_CALLBACK*/ +/*#define ESOF_CALLBACK*/ +/* CTR service routines */ +/* associated to defined endpoints */ +/*#define EP1_IN_Callback NOP_Process*/ +#define EP2_IN_Callback NOP_Process +#define EP3_IN_Callback NOP_Process +#define EP4_IN_Callback NOP_Process +#define EP5_IN_Callback NOP_Process +#define EP6_IN_Callback NOP_Process +#define EP7_IN_Callback NOP_Process + +#define EP1_OUT_Callback NOP_Process +#define EP2_OUT_Callback NOP_Process +/*#define EP3_OUT_Callback NOP_Process*/ +#define EP4_OUT_Callback NOP_Process +#define EP5_OUT_Callback NOP_Process +#define EP6_OUT_Callback NOP_Process +#define EP7_OUT_Callback NOP_Process + +#endif /* __USB_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_desc.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_desc.h new file mode 100644 index 0000000..6a26870 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_desc.h @@ -0,0 +1,66 @@ +/** + ****************************************************************************** + * @file usb_desc.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptor Header for Virtual COM Port Device + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_DESC_H +#define __USB_DESC_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define USB_DEVICE_DESCRIPTOR_TYPE 0x01 +#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02 +#define USB_STRING_DESCRIPTOR_TYPE 0x03 +#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04 +#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05 + +#define VIRTUAL_COM_PORT_DATA_SIZE 64 +#define VIRTUAL_COM_PORT_INT_SIZE 8 + +#define VIRTUAL_COM_PORT_SIZ_DEVICE_DESC 18 +#define VIRTUAL_COM_PORT_SIZ_CONFIG_DESC 67 +#define VIRTUAL_COM_PORT_SIZ_STRING_LANGID 4 +#define VIRTUAL_COM_PORT_SIZ_STRING_VENDOR 38 +#define VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT 50 +#define VIRTUAL_COM_PORT_SIZ_STRING_SERIAL 26 + +#define STANDARD_ENDPOINT_DESC_SIZE 0x09 + +/* Exported functions ------------------------------------------------------- */ +extern const uint8_t Virtual_Com_Port_DeviceDescriptor[VIRTUAL_COM_PORT_SIZ_DEVICE_DESC]; +extern const uint8_t Virtual_Com_Port_ConfigDescriptor[VIRTUAL_COM_PORT_SIZ_CONFIG_DESC]; + +extern const uint8_t Virtual_Com_Port_StringLangID[VIRTUAL_COM_PORT_SIZ_STRING_LANGID]; +extern const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR]; +extern const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT]; +extern uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL]; + +#endif /* __USB_DESC_H */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_istr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_istr.h new file mode 100644 index 0000000..3e322b1 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_istr.h @@ -0,0 +1,94 @@ +/** + ****************************************************************************** + * @file usb_istr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file includes the peripherals header files in the user application. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_ISTR_H +#define __USB_ISTR_H + +/* Includes ------------------------------------------------------------------*/ +#include "usb_conf.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + + void USB_Istr(void); + +/* function prototypes Automatically built defining related macros */ + +void EP1_IN_Callback(void); +void EP2_IN_Callback(void); +void EP3_IN_Callback(void); +void EP4_IN_Callback(void); +void EP5_IN_Callback(void); +void EP6_IN_Callback(void); +void EP7_IN_Callback(void); + +void EP1_OUT_Callback(void); +void EP2_OUT_Callback(void); +void EP3_OUT_Callback(void); +void EP4_OUT_Callback(void); +void EP5_OUT_Callback(void); +void EP6_OUT_Callback(void); +void EP7_OUT_Callback(void); + +#ifdef CTR_CALLBACK +void CTR_Callback(void); +#endif + +#ifdef DOVR_CALLBACK +void DOVR_Callback(void); +#endif + +#ifdef ERR_CALLBACK +void ERR_Callback(void); +#endif + +#ifdef WKUP_CALLBACK +void WKUP_Callback(void); +#endif + +#ifdef SUSP_CALLBACK +void SUSP_Callback(void); +#endif + +#ifdef RESET_CALLBACK +void RESET_Callback(void); +#endif + +#ifdef SOF_CALLBACK +void SOF_Callback(void); +#endif + +#ifdef ESOF_CALLBACK +void ESOF_Callback(void); +#endif +#endif /*__USB_ISTR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_prop.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_prop.h new file mode 100644 index 0000000..bd81702 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/inc/usb_prop.h @@ -0,0 +1,87 @@ +/** + ****************************************************************************** + * @file usb_prop.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Virtual COM Port Demo (Endpoint 0) + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __usb_prop_H +#define __usb_prop_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef struct +{ + uint32_t bitrate; + uint8_t format; + uint8_t paritytype; + uint8_t datatype; +}LINE_CODING; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ + +#define Virtual_Com_Port_GetConfiguration NOP_Process +//#define Virtual_Com_Port_SetConfiguration NOP_Process +#define Virtual_Com_Port_GetInterface NOP_Process +#define Virtual_Com_Port_SetInterface NOP_Process +#define Virtual_Com_Port_GetStatus NOP_Process +#define Virtual_Com_Port_ClearFeature NOP_Process +#define Virtual_Com_Port_SetEndPointFeature NOP_Process +#define Virtual_Com_Port_SetDeviceFeature NOP_Process +//#define Virtual_Com_Port_SetDeviceAddress NOP_Process + +#define SEND_ENCAPSULATED_COMMAND 0x00 +#define GET_ENCAPSULATED_RESPONSE 0x01 +#define SET_COMM_FEATURE 0x02 +#define GET_COMM_FEATURE 0x03 +#define CLEAR_COMM_FEATURE 0x04 +#define SET_LINE_CODING 0x20 +#define GET_LINE_CODING 0x21 +#define SET_CONTROL_LINE_STATE 0x22 +#define SEND_BREAK 0x23 + +/* Exported functions ------------------------------------------------------- */ +void Virtual_Com_Port_init(void); +void Virtual_Com_Port_Reset(void); +void Virtual_Com_Port_SetConfiguration(void); +void Virtual_Com_Port_SetDeviceAddress (void); +void Virtual_Com_Port_Status_In (void); +void Virtual_Com_Port_Status_Out (void); +RESULT Virtual_Com_Port_Data_Setup(uint8_t); +RESULT Virtual_Com_Port_NoData_Setup(uint8_t); +RESULT Virtual_Com_Port_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting); +uint8_t *Virtual_Com_Port_GetDeviceDescriptor(uint16_t ); +uint8_t *Virtual_Com_Port_GetConfigDescriptor(uint16_t); +uint8_t *Virtual_Com_Port_GetStringDescriptor(uint16_t); + +uint8_t *Virtual_Com_Port_GetLineCoding(uint16_t Length); +uint8_t *Virtual_Com_Port_SetLineCoding(uint16_t Length); + +#endif /* __usb_prop_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/readme.txt new file mode 100644 index 0000000..abfa558 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/readme.txt @@ -0,0 +1,175 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB VirtualComport_Loopback Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +The aim of this example is to read data from and write data to USB devices using the CDC protocol. +It makes the USB device look like a serial port (NO serial cable connectors:You can see the data +transferred to and from via USB instead of USB-to-USART bridge connection). +This example loops back the contents of a text file over usb port. To run the example, Type a message using the Pc's keyboard. +Any data that shows in HyperTerminal is received from the device. +This VirtualComport_Loopback Demo provides the firmware examples for the STM32F10xxx, STM32L15xxx, +STM32F30xxx and STM32F37xxx families. + +- OUT transfers (receive the data from the PC to STM32): + When a packet is received from the PC on the OUT pipe (EP3), EP3_IN_Callback will process the receive data. + To receive something to the STM32 data are stored in the Receive_Buffer[] by calling CDC_Receive_DATA() + +- IN transfers (to send the data received from the STM32 to the PC): + When a packet is sent from the STM32 on the IN pipe (EP1), EP1_IN_Callback will process the send data. + To send something to the HOST we put the data in to the Send_Buffer[] buffer and call CDC_Send_DATA() + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKNIG: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + + - STM32L152-EVAL Set-up + - Jumper JP19 should be not connected. + + - STM32L152D-EVAL Set-up + - None + + - STM32F373C_EVAL Set-up + - None + + - STM32F303C_EVAL Set-up + - None + +How to use it +============= + + EWARM + - Open the VirtualComport_Loopback.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the VirtualComport_Loopback.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the VirtualComport_Loopback.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/hw_config.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/hw_config.c new file mode 100644 index 0000000..d952ff7 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/hw_config.c @@ -0,0 +1,379 @@ +/** + ****************************************************************************** + * @file hw_config.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ + +#include "stm32_it.h" +#include "usb_lib.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "hw_config.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +ErrorStatus HSEStartUpStatus; +EXTI_InitTypeDef EXTI_InitStructure; +extern __IO uint32_t packet_sent; +extern __IO uint8_t Send_Buffer[VIRTUAL_COM_PORT_DATA_SIZE] ; +extern __IO uint32_t packet_receive; +extern __IO uint8_t Receive_length; + +uint8_t Receive_Buffer[64]; +uint32_t Send_length; +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len); +/* Extern variables ----------------------------------------------------------*/ + +extern LINE_CODING linecoding; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : Set_System +* Description : Configures Main system clocks & power +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_System(void) +{ +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* STM32L1XX_MD && STM32L1XX_XD */ + +#if defined(USB_USE_EXTERNAL_PULLUP) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* USB_USE_EXTERNAL_PULLUP */ + + /*!< At this stage the microcontroller clock setting is already configured, + this is done through SystemInit() function which is called from startup + file (startup_stm32f10x_xx.s) before to branch to application main. + To reconfigure the default setting of SystemInit() function, refer to + system_stm32f10x.c file + */ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined(STM32F37X) || defined(STM32F30X) + /* Enable the SYSCFG module clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); +#endif /* STM32L1XX_XD */ + +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS) && !defined(STM32F37X) && !defined(STM32F30X) + /* Enable USB_DISCONNECT GPIO clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT, ENABLE); + + /* Configure USB pull-up pin */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* STM32L1XX_MD && STM32L1XX_XD */ + +#if defined(USB_USE_EXTERNAL_PULLUP) + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* USB_USE_EXTERNAL_PULLUP */ + +#if defined(STM32F37X) || defined(STM32F30X) + + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /*Set PA11,12 as IN - USB_DM,DP*/ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(GPIOA, &GPIO_InitStructure); + + /*SET PA11,12 for USB: USB_DM,DP*/ + GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_14); + GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_14); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* STM32F37X && STM32F30X)*/ + + /* Configure the EXTI line 18 connected internally to the USB IP */ + EXTI_ClearITPendingBit(EXTI_Line18); + EXTI_InitStructure.EXTI_Line = EXTI_Line18; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); +} + +/******************************************************************************* +* Function Name : Set_USBClock +* Description : Configures USB Clock input (48MHz) +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_USBClock(void) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + /* Enable USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); + +#else + /* Select USBCLK source */ + RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); + + /* Enable the USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : Enter_LowPowerMode +* Description : Power-off system clocks and power while entering suspend mode +* Input : None. +* Return : None. +*******************************************************************************/ +void Enter_LowPowerMode(void) +{ + /* Set the device state to suspend */ + bDeviceState = SUSPENDED; +} + +/******************************************************************************* +* Function Name : Leave_LowPowerMode +* Description : Restores system clocks and power while exiting suspend mode +* Input : None. +* Return : None. +*******************************************************************************/ +void Leave_LowPowerMode(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + /* Set the device state to the correct state */ + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } + else + { + bDeviceState = ATTACHED; + } + /*Enable SystemCoreClock*/ + SystemInit(); +} + +/******************************************************************************* +* Function Name : USB_Interrupts_Config +* Description : Configures the USB interrupts +* Input : None. +* Return : None. +*******************************************************************************/ +void USB_Interrupts_Config(void) +{ +NVIC_InitTypeDef NVIC_InitStructure; + + /* 2 bit for pre-emption priority, 2 bits for subpriority */ + NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); + +#if defined(STM32L1XX_MD)|| defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_FS_WKUP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#elif defined(STM32F37X) + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#else + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_Init(&NVIC_InitStructure); +#endif +} + +/******************************************************************************* +* Function Name : USB_Cable_Config +* Description : Software Connection/Disconnection of USB Cable +* Input : None. +* Return : Status +*******************************************************************************/ +void USB_Cable_Config (FunctionalState NewState) +{ +#if defined(STM32L1XX_MD) || defined (STM32L1XX_HD)|| (STM32L1XX_MD_PLUS) + if (NewState != DISABLE) + { + STM32L15_USB_CONNECT; + } + else + { + STM32L15_USB_DISCONNECT; + } + +#else /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + if (NewState != DISABLE) + { + GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } + else + { + GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : Get_SerialNum. +* Description : Create the serial number string descriptor. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Get_SerialNum(void) +{ + uint32_t Device_Serial0, Device_Serial1, Device_Serial2; + + Device_Serial0 = *(uint32_t*)ID1; + Device_Serial1 = *(uint32_t*)ID2; + Device_Serial2 = *(uint32_t*)ID3; + + Device_Serial0 += Device_Serial2; + + if (Device_Serial0 != 0) + { + IntToUnicode (Device_Serial0, &Virtual_Com_Port_StringSerial[2] , 8); + IntToUnicode (Device_Serial1, &Virtual_Com_Port_StringSerial[18], 4); + } +} + +/******************************************************************************* +* Function Name : HexToChar. +* Description : Convert Hex 32Bits value into char. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len) +{ + uint8_t idx = 0; + + for( idx = 0 ; idx < len ; idx ++) + { + if( ((value >> 28)) < 0xA ) + { + pbuf[ 2* idx] = (value >> 28) + '0'; + } + else + { + pbuf[2* idx] = (value >> 28) + 'A' - 10; + } + + value = value << 4; + + pbuf[ 2* idx + 1] = 0; + } +} + +/******************************************************************************* +* Function Name : Send DATA . +* Description : send the data received from the STM32 to the PC through USB +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +uint32_t CDC_Send_DATA (uint8_t *ptrBuffer, uint8_t Send_length) +{ + /*if max buffer is Not reached*/ + if(Send_length < VIRTUAL_COM_PORT_DATA_SIZE) + { + /*Sent flag*/ + packet_sent = 0; + /* send packet to PMA*/ + UserToPMABufferCopy((unsigned char*)ptrBuffer, ENDP1_TXADDR, Send_length); + SetEPTxCount(ENDP1, Send_length); + SetEPTxValid(ENDP1); + } + else + { + return 0; + } + return 1; +} + +/******************************************************************************* +* Function Name : Receive DATA . +* Description : receive the data from the PC to STM32 and send it through USB +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +uint32_t CDC_Receive_DATA(void) +{ + /*Receive flag*/ + packet_receive = 0; + SetEPRxValid(ENDP3); + return 1 ; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/main.c new file mode 100644 index 0000000..a3a1aa8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/main.c @@ -0,0 +1,100 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Virtual Com Port Demo main file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_pwr.h" + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +extern __IO uint8_t Receive_Buffer[64]; +extern __IO uint32_t Receive_length ; +extern __IO uint32_t length ; +uint8_t Send_Buffer[64]; +uint32_t packet_sent=1; +uint32_t packet_receive=1; +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : main. +* Descriptioan : Main routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +int main(void) +{ + Set_System(); + Set_USBClock(); + USB_Interrupts_Config(); + USB_Init(); + + while (1) + { + if (bDeviceState == CONFIGURED) + { + CDC_Receive_DATA(); + /*Check to see if we have data yet */ + if (Receive_length != 0) + { + if (packet_sent == 1) + CDC_Send_DATA ((unsigned char*)Receive_Buffer,Receive_length); + Receive_length = 0; + } + } + } +} + +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while (1) + {} +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/stm32_it.c new file mode 100644 index 0000000..698c8a6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/stm32_it.c @@ -0,0 +1,214 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "stm32_it.h" +#include "usb_lib.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSVC exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined (STM32F37X) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +/******************************************************************************* +* Function Name : USB_FS_WKUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void USB_FS_WKUP_IRQHandler(void) +#else +void USBWakeUp_IRQHandler(void) +#endif +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f30x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f30x.c new file mode 100644 index 0000000..31faf5c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f30x.c @@ -0,0 +1,382 @@ +/** + ****************************************************************************** + * @file system_stm32f30x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F30x devices, + * and is generated by the clock configuration tool + * stm32f30x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f30x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f30x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32f30x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F30x device + *----------------------------------------------------------------------------- + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f30x_system + * @{ + */ + +/** @addtogroup STM32F30x_System_Private_Includes + * @{ + */ + +#include "stm32f30x.h" + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Defines + * @{ + */ +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Variables + * @{ + */ + + uint32_t SystemCoreClock = 72000000; + + __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F30x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemFrequency variable. + * @param None + * @retval None + */ +void SystemInit(void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Reset the RCC clock configuration to the default reset state ------------*/ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset CFGR register */ + RCC->CFGR &= 0xF87FC00C; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and TIMs bits */ + RCC->CFGR3 &= (uint32_t)0xFF00FCCC; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + + /* Configure the System clock source, PLL Multiplier and Divider factors, + AHB/APBx prescalers and Flash settings ----------------------------------*/ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f30x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock source, PLL Multiplier and Divider factors, + * AHB/APBx prescalers and Flash settings + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f37x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f37x.c new file mode 100644 index 0000000..943f188 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/system_stm32f37x.c @@ -0,0 +1,380 @@ +/** + ****************************************************************************** + * @file system_stm32f37x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F37x devices, + * and is generated by the clock configuration tool + * STM32f37x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f37x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f37x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" defined + * in "stm32f37x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F37x device + *============================================================================= + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup STM32F37x_System + * @{ + */ + +/** @addtogroup STM32F37x_System_Private_Includes + * @{ + */ + +#include "stm32f37x.h" + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 72000000; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontrollers system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */ + RCC->CFGR &= (uint32_t)0x00FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and CECSW bits */ + RCC->CFGR3 &= (uint32_t)0xFFF0F8C; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + +/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_desc.c new file mode 100644 index 0000000..ca93915 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_desc.c @@ -0,0 +1,174 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Virtual Com Port Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" + +/* USB Standard Device Descriptor */ +const uint8_t Virtual_Com_Port_DeviceDescriptor[] = + { + 0x12, /* bLength */ + USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x00, + 0x02, /* bcdUSB = 2.00 */ + 0x02, /* bDeviceClass: CDC */ + 0x00, /* bDeviceSubClass */ + 0x00, /* bDeviceProtocol */ + 0x40, /* bMaxPacketSize0 */ + 0x83, + 0x04, /* idVendor = 0x0483 */ + 0x40, + 0x57, /* idProduct = 0x7540 */ + 0x00, + 0x02, /* bcdDevice = 2.00 */ + 1, /* Index of string descriptor describing manufacturer */ + 2, /* Index of string descriptor describing product */ + 3, /* Index of string descriptor describing the device's serial number */ + 0x01 /* bNumConfigurations */ + }; + +const uint8_t Virtual_Com_Port_ConfigDescriptor[] = + { + /*Configuration Descriptor*/ + 0x09, /* bLength: Configuration Descriptor size */ + USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ + VIRTUAL_COM_PORT_SIZ_CONFIG_DESC, /* wTotalLength:no of returned bytes */ + 0x00, + 0x02, /* bNumInterfaces: 2 interface */ + 0x01, /* bConfigurationValue: Configuration value */ + 0x00, /* iConfiguration: Index of string descriptor describing the configuration */ + 0xC0, /* bmAttributes: self powered */ + 0x32, /* MaxPower 0 mA */ + /*Interface Descriptor*/ + 0x09, /* bLength: Interface Descriptor size */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType: Interface */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x01, /* bNumEndpoints: One endpoints used */ + 0x02, /* bInterfaceClass: Communication Interface Class */ + 0x02, /* bInterfaceSubClass: Abstract Control Model */ + 0x01, /* bInterfaceProtocol: Common AT commands */ + 0x00, /* iInterface: */ + /*Header Functional Descriptor*/ + 0x05, /* bLength: Endpoint Descriptor size */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x00, /* bDescriptorSubtype: Header Func Desc */ + 0x10, /* bcdCDC: spec release number */ + 0x01, + /*Call Management Functional Descriptor*/ + 0x05, /* bFunctionLength */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x01, /* bDescriptorSubtype: Call Management Func Desc */ + 0x00, /* bmCapabilities: D0+D1 */ + 0x01, /* bDataInterface: 1 */ + /*ACM Functional Descriptor*/ + 0x04, /* bFunctionLength */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x02, /* bDescriptorSubtype: Abstract Control Management desc */ + 0x02, /* bmCapabilities */ + /*Union Functional Descriptor*/ + 0x05, /* bFunctionLength */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x06, /* bDescriptorSubtype: Union func desc */ + 0x00, /* bMasterInterface: Communication class interface */ + 0x01, /* bSlaveInterface0: Data Class Interface */ + /*Endpoint 2 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */ + 0x82, /* bEndpointAddress: (IN2) */ + 0x03, /* bmAttributes: Interrupt */ + VIRTUAL_COM_PORT_INT_SIZE, /* wMaxPacketSize: */ + 0x00, + 0xFF, /* bInterval: */ + /*Data class interface descriptor*/ + 0x09, /* bLength: Endpoint Descriptor size */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType: */ + 0x01, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x02, /* bNumEndpoints: Two endpoints used */ + 0x0A, /* bInterfaceClass: CDC */ + 0x00, /* bInterfaceSubClass: */ + 0x00, /* bInterfaceProtocol: */ + 0x00, /* iInterface: */ + /*Endpoint 3 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */ + 0x03, /* bEndpointAddress: (OUT3) */ + 0x02, /* bmAttributes: Bulk */ + VIRTUAL_COM_PORT_DATA_SIZE, /* wMaxPacketSize: */ + 0x00, + 0x00, /* bInterval: ignore for Bulk transfer */ + /*Endpoint 1 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */ + 0x81, /* bEndpointAddress: (IN1) */ + 0x02, /* bmAttributes: Bulk */ + VIRTUAL_COM_PORT_DATA_SIZE, /* wMaxPacketSize: */ + 0x00, + 0x00 /* bInterval */ + }; + +/* USB String Descriptors */ +const uint8_t Virtual_Com_Port_StringLangID[VIRTUAL_COM_PORT_SIZ_STRING_LANGID] = + { + VIRTUAL_COM_PORT_SIZ_STRING_LANGID, + USB_STRING_DESCRIPTOR_TYPE, + 0x09, + 0x04 /* LangID = 0x0409: U.S. English */ + }; + +const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR] = + { + VIRTUAL_COM_PORT_SIZ_STRING_VENDOR, /* Size of Vendor string */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT] = + { + VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + /* Product name: "STM32 Virtual COM Port" */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'V', 0, 'i', 0, + 'r', 0, 't', 0, 'u', 0, 'a', 0, 'l', 0, ' ', 0, 'C', 0, 'O', 0, + 'M', 0, ' ', 0, 'P', 0, 'o', 0, 'r', 0, 't', 0, ' ', 0, ' ', 0 + }; + +uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL] = + { + VIRTUAL_COM_PORT_SIZ_STRING_SERIAL, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_endp.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_endp.c new file mode 100644 index 0000000..ee2c603 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_endp.c @@ -0,0 +1,78 @@ +/** + ****************************************************************************** + * @file usb_endp.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Endpoint routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_mem.h" +#include "hw_config.h" +#include "usb_istr.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/* Interval between sending IN packets in frame number (1 frame = 1ms) */ +#define VCOMPORT_IN_FRAME_INTERVAL 5 +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +extern __IO uint32_t packet_sent; +extern __IO uint32_t packet_receive; +extern __IO uint8_t Receive_Buffer[64]; +uint32_t Receive_length; +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : EP1_IN_Callback +* Description : +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ + +void EP1_IN_Callback (void) +{ + packet_sent = 1; +} + +/******************************************************************************* +* Function Name : EP3_OUT_Callback +* Description : +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP3_OUT_Callback(void) +{ + packet_receive = 1; + Receive_length = GetEPRxCount(ENDP3); + PMAToUserBufferCopy((unsigned char*)Receive_Buffer, ENDP3_RXADDR, Receive_length); +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_prop.c new file mode 100644 index 0000000..c8176c5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_prop.c @@ -0,0 +1,414 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Virtual Com Port Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint8_t Request = 0; + +LINE_CODING linecoding = + { + 115200, /* baud rate*/ + 0x00, /* stop bits-1*/ + 0x00, /* parity - none*/ + 0x08 /* no. of bits 8*/ + }; + +/* -------------------------------------------------------------------------- */ +/* Structures initializations */ +/* -------------------------------------------------------------------------- */ + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + Virtual_Com_Port_init, + Virtual_Com_Port_Reset, + Virtual_Com_Port_Status_In, + Virtual_Com_Port_Status_Out, + Virtual_Com_Port_Data_Setup, + Virtual_Com_Port_NoData_Setup, + Virtual_Com_Port_Get_Interface_Setting, + Virtual_Com_Port_GetDeviceDescriptor, + Virtual_Com_Port_GetConfigDescriptor, + Virtual_Com_Port_GetStringDescriptor, + 0, + 0x40 /*MAX PACKET SIZE*/ + }; + +USER_STANDARD_REQUESTS User_Standard_Requests = + { + Virtual_Com_Port_GetConfiguration, + Virtual_Com_Port_SetConfiguration, + Virtual_Com_Port_GetInterface, + Virtual_Com_Port_SetInterface, + Virtual_Com_Port_GetStatus, + Virtual_Com_Port_ClearFeature, + Virtual_Com_Port_SetEndPointFeature, + Virtual_Com_Port_SetDeviceFeature, + Virtual_Com_Port_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)Virtual_Com_Port_DeviceDescriptor, + VIRTUAL_COM_PORT_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)Virtual_Com_Port_ConfigDescriptor, + VIRTUAL_COM_PORT_SIZ_CONFIG_DESC + }; + +ONE_DESCRIPTOR String_Descriptor[4] = + { + {(uint8_t*)Virtual_Com_Port_StringLangID, VIRTUAL_COM_PORT_SIZ_STRING_LANGID}, + {(uint8_t*)Virtual_Com_Port_StringVendor, VIRTUAL_COM_PORT_SIZ_STRING_VENDOR}, + {(uint8_t*)Virtual_Com_Port_StringProduct, VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT}, + {(uint8_t*)Virtual_Com_Port_StringSerial, VIRTUAL_COM_PORT_SIZ_STRING_SERIAL} + }; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : Virtual_Com_Port_init. +* Description : Virtual COM Port Mouse init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_init(void) +{ + + /* Update the serial number string descriptor with the data from the unique + ID*/ + Get_SerialNum(); + + pInformation->Current_Configuration = 0; + + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Reset +* Description : Virtual_Com_Port Mouse reset routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_Reset(void) +{ + /* Set Virtual_Com_Port DEVICE as not configured */ + pInformation->Current_Configuration = 0; + + /* Current Feature initialization */ + pInformation->Current_Feature = Virtual_Com_Port_ConfigDescriptor[7]; + + /* Set Virtual_Com_Port DEVICE with the default Interface*/ + pInformation->Current_Interface = 0; + + SetBTABLE(BTABLE_ADDRESS); + + /* Initialize Endpoint 0 */ + SetEPType(ENDP0, EP_CONTROL); + SetEPTxStatus(ENDP0, EP_TX_STALL); + SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPTxAddr(ENDP0, ENDP0_TXADDR); + Clear_Status_Out(ENDP0); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPRxValid(ENDP0); + + /* Initialize Endpoint 1 */ + SetEPType(ENDP1, EP_BULK); + SetEPTxAddr(ENDP1, ENDP1_TXADDR); + SetEPTxStatus(ENDP1, EP_TX_NAK); + SetEPRxStatus(ENDP1, EP_RX_DIS); + + /* Initialize Endpoint 2 */ + SetEPType(ENDP2, EP_INTERRUPT); + SetEPTxAddr(ENDP2, ENDP2_TXADDR); + SetEPRxStatus(ENDP2, EP_RX_DIS); + SetEPTxStatus(ENDP2, EP_TX_NAK); + + /* Initialize Endpoint 3 */ + SetEPType(ENDP3, EP_BULK); + SetEPRxAddr(ENDP3, ENDP3_RXADDR); + SetEPRxCount(ENDP3, VIRTUAL_COM_PORT_DATA_SIZE); + SetEPRxStatus(ENDP3, EP_RX_VALID); + SetEPTxStatus(ENDP3, EP_TX_DIS); + + /* Set this device to response on default address */ + SetDeviceAddress(0); + + bDeviceState = ATTACHED; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_SetConfiguration. +* Description : Update the device state to configured. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_SetConfiguration(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Status_In. +* Description : Virtual COM Port Status In Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_Status_In(void) +{ + if (Request == SET_LINE_CODING) + { + Request = 0; + } +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Status_Out +* Description : Virtual COM Port Status OUT Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_Status_Out(void) +{} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Data_Setup +* Description : handle the data class specific requests +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT Virtual_Com_Port_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + + CopyRoutine = NULL; + + if (RequestNo == GET_LINE_CODING) + { + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + CopyRoutine = Virtual_Com_Port_GetLineCoding; + } + } + else if (RequestNo == SET_LINE_CODING) + { + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + CopyRoutine = Virtual_Com_Port_SetLineCoding; + } + Request = SET_LINE_CODING; + } + + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_NoData_Setup. +* Description : handle the no data class specific requests. +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT Virtual_Com_Port_NoData_Setup(uint8_t RequestNo) +{ + + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + if (RequestNo == SET_COMM_FEATURE) + { + return USB_SUCCESS; + } + else if (RequestNo == SET_CONTROL_LINE_STATE) + { + return USB_SUCCESS; + } + } + + return USB_UNSUPPORT; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetDeviceDescriptor. +* Description : Gets the device descriptor. +* Input : Length. +* Output : None. +* Return : The address of the device descriptor. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor); +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetConfigDescriptor. +* Description : get the configuration descriptor. +* Input : Length. +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Config_Descriptor); +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetStringDescriptor +* Description : Gets the string descriptors according to the needed index +* Input : Length. +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + if (wValue0 > 4) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Get_Interface_Setting. +* Description : test the interface and the alternate setting according to the +* supported one. +* Input1 : uint8_t: Interface : interface number. +* Input2 : uint8_t: AlternateSetting : Alternate Setting number. +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +RESULT Virtual_Com_Port_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 0) + { + return USB_UNSUPPORT; + } + else if (Interface > 1) + { + return USB_UNSUPPORT; + } + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetLineCoding. +* Description : send the linecoding structure to the PC host. +* Input : Length. +* Output : None. +* Return : Linecoding structure base address. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetLineCoding(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = sizeof(linecoding); + return NULL; + } + return(uint8_t *)&linecoding; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_SetLineCoding. +* Description : Set the linecoding structure fields. +* Input : Length. +* Output : None. +* Return : Linecoding structure base address. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_SetLineCoding(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = sizeof(linecoding); + return NULL; + } + return(uint8_t *)&linecoding; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_pwr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_pwr.c new file mode 100644 index 0000000..38b8915 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/VirtualComport_Loopback/src/usb_pwr.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file usb_pwr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t bDeviceState = UNCONNECTED; /* USB device status */ +__IO bool fSuspendEnabled = TRUE; /* true when suspend is possible */ +__IO uint32_t EP[8]; + +struct +{ + __IO RESUME_STATE eState; + __IO uint8_t bESOFcnt; +} +ResumeS; + +__IO uint32_t remotewakeupon=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : PowerOn +* Description : +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOn(void) +{ + uint16_t wRegVal; + + /*** cable plugged-in ? ***/ + USB_Cable_Config(ENABLE); + + /*** CNTR_PWDN = 0 ***/ + wRegVal = CNTR_FRES; + _SetCNTR(wRegVal); + + /*** CNTR_FRES = 0 ***/ + wInterrupt_Mask = 0; + _SetCNTR(wInterrupt_Mask); + /*** Clear pending interrupts ***/ + _SetISTR(0); + /*** Set interrupt mask ***/ + wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; + _SetCNTR(wInterrupt_Mask); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : PowerOff +* Description : handles switch-off conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOff() +{ + /* disable all interrupts and force USB reset */ + _SetCNTR(CNTR_FRES); + /* clear interrupt status register */ + _SetISTR(0); + /* Disable the Pull-Up*/ + USB_Cable_Config(DISABLE); + /* switch-off device */ + _SetCNTR(CNTR_FRES + CNTR_PDWN); + /* sw variables reset */ + /* ... */ + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Suspend +* Description : sets suspend mode operating conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Suspend(void) +{ + uint32_t i =0; + uint16_t wCNTR; + uint32_t tmpreg = 0; + __IO uint32_t savePWR_CR=0; + /* suspend preparation */ + /* ... */ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /* This a sequence to apply a force RESET to handle a robustness case */ + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /* unmask RESET flag */ + wCNTR|=CNTR_RESETM; + _SetCNTR(wCNTR); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + /* Now it is safe to enter macrocell in suspend mode */ + wCNTR |= CNTR_FSUSP; + _SetCNTR(wCNTR); + + /* force low-power mode in the macrocell */ + wCNTR = _GetCNTR(); + wCNTR |= CNTR_LPMODE; + _SetCNTR(wCNTR); + + /*prepare entry in low power mode (STOP mode)*/ + /* Select the regulator state in STOP mode*/ + savePWR_CR = PWR->CR; + tmpreg = PWR->CR; + /* Clear PDDS and LPDS bits */ + tmpreg &= ((uint32_t)0xFFFFFFFC); + /* Set LPDS bit according to PWR_Regulator value */ + tmpreg |= PWR_Regulator_LowPower; + /* Store the new value */ + PWR->CR = tmpreg; + /* Set SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; +#else + SCB->SCR |= SCB_SCR_SLEEPDEEP; +#endif + /* enter system in STOP mode, only when wakeup flag in not set */ + if((_GetISTR()&ISTR_WKUP)==0) + { + __WFI(); + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } + else + { + /* Clear Wakeup flag */ + _SetISTR(CLR_WKUP); + /* clear FSUSP to abort entry in suspend mode */ + wCNTR = _GetCNTR(); + wCNTR&=~CNTR_FSUSP; + _SetCNTR(wCNTR); + + /*restore sleep mode configuration */ + /* restore Power regulator config in sleep mode*/ + PWR->CR = savePWR_CR; + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + + } +} + +/******************************************************************************* +* Function Name : Resume_Init +* Description : Handles wake-up restoring normal operations +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Resume_Init(void) +{ + uint16_t wCNTR; + + /* ------------------ ONLY WITH BUS-POWERED DEVICES ---------------------- */ + /* restart the clocks */ + /* ... */ + + /* CNTR_LPMODE = 0 */ + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_LPMODE); + _SetCNTR(wCNTR); + + /* restore full power */ + /* ... on connected devices */ + Leave_LowPowerMode(); + + /* reset FSUSP bit */ + _SetCNTR(IMR_MSK); + + /* reverse suspend preparation */ + /* ... */ + +} + +/******************************************************************************* +* Function Name : Resume +* Description : This is the state machine handling resume operations and +* timing sequence. The control is based on the Resume structure +* variables and on the ESOF interrupt calling this subroutine +* without changing machine state. +* Input : a state machine value (RESUME_STATE) +* RESUME_ESOF doesn't change ResumeS.eState allowing +* decrementing of the ESOF counter in different states. +* Output : None. +* Return : None. +*******************************************************************************/ +void Resume(RESUME_STATE eResumeSetVal) +{ + uint16_t wCNTR; + + if (eResumeSetVal != RESUME_ESOF) + ResumeS.eState = eResumeSetVal; + switch (ResumeS.eState) + { + case RESUME_EXTERNAL: + if (remotewakeupon ==0) + { + Resume_Init(); + ResumeS.eState = RESUME_OFF; + } + else /* RESUME detected during the RemoteWAkeup signalling => keep RemoteWakeup handling*/ + { + ResumeS.eState = RESUME_ON; + } + break; + case RESUME_INTERNAL: + Resume_Init(); + ResumeS.eState = RESUME_START; + remotewakeupon = 1; + break; + case RESUME_LATER: + ResumeS.bESOFcnt = 2; + ResumeS.eState = RESUME_WAIT; + break; + case RESUME_WAIT: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + ResumeS.eState = RESUME_START; + break; + case RESUME_START: + wCNTR = _GetCNTR(); + wCNTR |= CNTR_RESUME; + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_ON; + ResumeS.bESOFcnt = 10; + break; + case RESUME_ON: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + { + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_RESUME); + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_OFF; + remotewakeupon = 0; + } + break; + case RESUME_OFF: + case RESUME_ESOF: + default: + ResumeS.eState = RESUME_OFF; + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewd b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewd new file mode 100644 index 0000000..26f0adf --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewd @@ -0,0 +1,8092 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210B-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32L152D-EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32373C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + STM32303C_EVAL + + ARM + + 1 + + C-SPY + 2 + + 23 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 14 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + RDIJTAGJET_ID + 0 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewp new file mode 100644 index 0000000..24ff4a0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.ewp @@ -0,0 +1,6860 @@ + + + + 2 + + STM3210E-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210B-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM3210E-EVAL_XL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32L152D-EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32373C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + STM32303C_EVAL + + ARM + + 1 + + General + 3 + + 21 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 28 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Doc + + $PROJ_DIR$\..\readme.txt + + + + STM32F10x + + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_hd.s + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_ld_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md.s + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_md_vl.s + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\iar\startup_stm32f10x_xl.s + + STM3210E-EVAL + STM3210B-EVAL + STM32373C_EVAL + STM32303C_EVAL + + + + $PROJ_DIR$\..\src\system_stm32f10x.c + + STM32L152-EVAL + STM32L152D-EVAL + + + + + STM3210B_EVAL + + STM3210E-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + STM3210E_EVAL + + STM3210B-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + STM32F10x_StdPeriph_Driver + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + + + STM32F30x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32373C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\iar\startup_stm32f30x.s + + + $PROJ_DIR$\..\src\system_stm32f30x.c + + + + STM32303C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + STM32F30x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM32F37x + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32L152-EVAL + STM32L152D-EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\iar\startup_stm32f37x.s + + + $PROJ_DIR$\..\src\system_stm32f37x.c + + + + STM32373C_EVAL + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + STM32F37x_StdPeriph_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32L1xx + + STM3210E-EVAL + STM3210B-EVAL + STM3210E-EVAL_XL + STM32373C_EVAL + STM32303C_EVAL + + + CMSIS + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_hd.s + + STM32L152-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_md.s + + STM32L152D-EVAL + + + + $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\iar\startup_stm32l1xx_mdp.s + + STM32L152-EVAL + STM32L152D-EVAL + + + + $PROJ_DIR$\..\src\system_stm32l1xx.c + + STM3210B-EVAL + STM3210E-EVAL_XL + + + + + STM32L152_EVAL + + STM32L152D-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + STM32L152D_EVAL + + STM32L152-EVAL + + + $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + STM32L1xx_StdPeriph_Driver + + STM3210B-EVAL + STM3210E-EVAL_XL + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\misc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_pwr.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + + + USB-FS-Device_Driver + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + $PROJ_DIR$\..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + User + + $PROJ_DIR$\..\src\hw_config.c + + + $PROJ_DIR$\..\src\main.c + + + $PROJ_DIR$\..\src\stm32_it.c + + + $PROJ_DIR$\..\src\usb_desc.c + + + $PROJ_DIR$\..\src\usb_endp.c + + + $PROJ_DIR$\..\src\usb_istr.c + + + $PROJ_DIR$\..\src\usb_prop.c + + + $PROJ_DIR$\..\src\usb_pwr.c + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.eww b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.eww new file mode 100644 index 0000000..f65e377 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/VirtualCOMPort.eww @@ -0,0 +1,34 @@ + + + + + $WS_DIR$\VirtualCOMPort.ewp + + + + USB-Package-VCOMPort + + VirtualCOMPort + STM3210B-EVAL + + + VirtualCOMPort + STM3210C-EVAL + + + VirtualCOMPort + STM3210E-EVAL + + + VirtualCOMPort + STM3210E-EVAL_XL + + + VirtualCOMPort + STM32L152-EVAL + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f10x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f10x_flash.icf new file mode 100644 index 0000000..6721a0d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f10x_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f37x_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f37x_flash.icf new file mode 100644 index 0000000..a743cb4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32f37x_flash.icf @@ -0,0 +1,33 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x1800; +define symbol __ICFEDIT_size_heap__ = 0x800; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +export symbol __ICFEDIT_region_RAM_start__; +export symbol __ICFEDIT_region_RAM_end__; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32l1xx_flash.icf b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32l1xx_flash.icf new file mode 100644 index 0000000..8b7d80d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/EWARM/stm32l1xx_flash.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x08000000 ; +define symbol __ICFEDIT_region_ROM_end__ = 0x0805FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x200; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvopt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvopt new file mode 100644 index 0000000..0c4b8ae --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvopt @@ -0,0 +1,2403 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + + + + 0 + 0 + + + + STM3210B-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210B-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM3210E-EVAL_XL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Reference Manual + DATASHTS\ST\STM32F10xxx.PDF + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UM0015BJE -O2190 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06416041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L151xx_152xx_DS.PDF + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -U-O14 -O2062 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32L152D-EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Datasheet + DATASHTS\ST\STM32L162xx_DS.PDF + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UV0579U9E -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000 + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32373C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\STM32303C_EVAL\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 0 + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 0 + 0 + 1 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + + + + + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + User + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + misc.c + + + 1 + 2 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + stm32f37x_misc.c + + + 1 + 3 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\hw_config.c + hw_config.c + + + 1 + 4 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\main.c + main.c + + + 1 + 5 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_desc.c + usb_desc.c + + + 1 + 6 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_endp.c + usb_endp.c + + + 1 + 7 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_istr.c + usb_istr.c + + + 1 + 8 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_prop.c + usb_prop.c + + + 1 + 9 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\usb_pwr.c + usb_pwr.c + + + 1 + 10 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\stm32_it.c + stm32_it.c + + + + + CMSIS + 0 + 0 + 0 + + 2 + 11 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32l1xx.c + system_stm32l1xx.c + + + 2 + 12 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f10x.c + system_stm32f10x.c + + + 2 + 13 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + startup_stm32f10x_hd.s + + + 2 + 14 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + startup_stm32f10x_ld.s + + + 2 + 15 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + startup_stm32f10x_ld_vl.s + + + 2 + 16 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + startup_stm32f10x_md.s + + + 2 + 17 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + startup_stm32f10x_md_vl.s + + + 2 + 18 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + startup_stm32f10x_xl.s + + + 2 + 19 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + startup_stm32l1xx_hd.s + + + 2 + 20 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + startup_stm32l1xx_md.s + + + 2 + 21 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + startup_stm32l1xx_mdp.s + + + 2 + 22 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f37x.c + system_stm32f37x.c + + + 2 + 23 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + startup_stm32f37x.s + + + 2 + 24 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\src\system_stm32f30x.c + system_stm32f30x.c + + + 2 + 25 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + startup_stm32f30x.s + + + + + USB-FS-Device_Driver + 0 + 0 + 0 + + 3 + 26 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + usb_core.c + + + 3 + 27 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + usb_init.c + + + 3 + 28 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + usb_int.c + + + 3 + 29 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + usb_mem.c + + + 3 + 30 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + usb_regs.c + + + 3 + 31 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + 0 + 0 + 0 + + 4 + 32 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + stm32f10x_usart.c + + + 4 + 33 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + stm32f10x_gpio.c + + + 4 + 34 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + stm32f10x_rcc.c + + + 4 + 35 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + stm32f10x_flash.c + + + 4 + 36 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + stm32f10x_exti.c + + + 4 + 37 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + stm32f10x_spi.c + + + 4 + 38 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + stm32f10x_dma.c + + + 4 + 39 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + stm32f10x_i2c.c + + + 4 + 40 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + 0 + 0 + 0 + + 5 + 41 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + stm32l1xx_usart.c + + + 5 + 42 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + stm32l1xx_exti.c + + + 5 + 43 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + stm32l1xx_flash.c + + + 5 + 44 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + stm32l1xx_gpio.c + + + 5 + 45 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + stm32l1xx_i2c.c + + + 5 + 46 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + stm32l1xx_rcc.c + + + 5 + 47 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + stm32l1xx_spi.c + + + 5 + 48 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + stm32l1xx_syscfg.c + + + 5 + 49 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + stm32l1xx_dma.c + + + 5 + 50 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + 0 + 0 + 0 + + 6 + 51 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + stm32f37x_adc.c + + + 6 + 52 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + stm32f37x_dma.c + + + 6 + 53 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + stm32f37x_exti.c + + + 6 + 54 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + stm32f37x_flash.c + + + 6 + 55 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + stm32f37x_gpio.c + + + 6 + 56 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + stm32f37x_i2c.c + + + 6 + 57 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + stm32f37x_pwr.c + + + 6 + 58 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + stm32f37x_rcc.c + + + 6 + 59 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + stm32f37x_syscfg.c + + + 6 + 60 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + stm32f37x_spi.c + + + 6 + 61 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + 0 + 0 + 0 + + 7 + 62 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + stm32f30x_adc.c + + + 7 + 63 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + stm32f30x_can.c + + + 7 + 64 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + stm32f30x_crc.c + + + 7 + 65 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + stm32f30x_dac.c + + + 7 + 66 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + stm32f30x_dma.c + + + 7 + 67 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + stm32f30x_exti.c + + + 7 + 68 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + stm32f30x_flash.c + + + 7 + 69 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + stm32f30x_gpio.c + + + 7 + 70 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + stm32f30x_i2c.c + + + 7 + 71 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + stm32f30x_misc.c + + + 7 + 72 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + stm32f30x_pwr.c + + + 7 + 73 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + stm32f30x_rcc.c + + + 7 + 74 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + stm32f30x_rtc.c + + + 7 + 75 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + stm32f30x_spi.c + + + 7 + 76 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + stm32f30x_syscfg.c + + + 7 + 77 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + stm32f30x_tim.c + + + 7 + 78 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + stm32f30x_usart.c + + + + + STM3210B-EVAL + 0 + 0 + 0 + + 8 + 79 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + stm3210b_eval.c + + + + + STM3210E-EVAL + 0 + 0 + 0 + + 9 + 80 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + stm3210e_eval.c + + + + + STM32L152-EVAL + 0 + 0 + 0 + + 10 + 81 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + stm32l152_eval.c + + + + + STM32L152D-EVAL + 0 + 0 + 0 + + 11 + 82 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + stm32l152d_eval.c + + + + + STM32373C_EVAL + 0 + 0 + 0 + + 12 + 83 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + stm32373c_eval.c + + + + + STM32303C_EVAL + 0 + 0 + 0 + + 13 + 84 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + stm32303c_eval.c + + + + + Doc + 0 + 0 + 0 + + 14 + 85 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + ..\readme.txt + readme.txt + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvproj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvproj new file mode 100644 index 0000000..ee49c4d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/MDK-ARM/VirtualCOMPort.uvproj @@ -0,0 +1,12678 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + STM3210B-EVAL + 0x4 + ARM-ADS + + + STM32F103VB + STMicroelectronics + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000) + 4223 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210B-EVAL\ + STM3210B-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210B-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103VB + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103VB + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_MD, USE_STM3210B_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL + 0x4 + ARM-ADS + + + STM32F103ZE + STMicroelectronics + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000) + 4216 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL\ + STM3210E-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZE + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZE + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM3210E-EVAL_XL + 0x4 + ARM-ADS + + + STM32F103ZG + STMicroelectronics + IRAM(0x20000000-0x20017FFF) IROM(0x8000000-0x80FFFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32F10x.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_1024 -FS08000000 -FL0100000) + 5094 + stm32f10x_lib.h + + + + + + + + + + + 0 + + + + ST\STM32F10x\ + ST\STM32F10x\ + + 0 + 0 + 0 + 0 + 1 + + .\STM3210E-EVAL_XL\ + STM3210E-EVAL_XL + 1 + 0 + 0 + 1 + 0 + .\STM3210E-EVAL_XL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + -pSTM32F103ZG + SARMCM3.DLL + + TARMSTM.DLL + -pSTM32F103ZG + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 1 + 0x8000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x18000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F10X_HD, USE_STM3210E_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152-EVAL + 0x4 + ARM-ADS + + + STM32L152VB + STMicroelectronics + IRAM(0x20000000-0x20003FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_md.s" ("STM32L15xx Medium density Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L15x_128 -FS08000000 -FL020000) + 5249 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15x\STM32L15x.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152-EVAL\ + STM32L152-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_MD, USE_STM32L152_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32L152D-EVAL + 0x4 + ARM-ADS + + + STM32L152ZD + STMicroelectronics + IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x805FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + "STARTUP\ST\STM32L1xx\startup_stm32l1xx_hd.s" ("STM32L1xx High density Startup Code") + ULP2CM3(-O207 -S8 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32L1xx_384 -FS08000000 -FL060000) + 6190 + stm32l1xx.h + + + + + + + + + + SFD\ST\STM32L15\STM32L152xD.sfr + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32L152D-EVAL\ + STM32L152D-EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32L152D-EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM3 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 1 + 0x8000000 + 0x60000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x60000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0xc000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32L1XX_HD, USE_STM32L152D_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32373C_EVAL + 0x4 + ARM-ADS + + + STM32F373VCT6 + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM0.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32373C_EVAL\ + STM32373C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32373C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F37X, USE_STM32373C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F37x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F37x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + STM32303C_EVAL + 0x4 + ARM-ADS + + + STM32F303VC + STMicroelectronics + IRAM(0x20000000-0x20007FFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M4")ESEL ELITTLE FPU2 + + "STARTUP\ARM\startup_MPS_CM4.s" ("STM32 Startup Code") + UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M4") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F3xx_256 -FS08000000 -FL040000) + 0 + + + + + + + + + + + + 0 + + + + ST\STM32L1xx\ + ST\STM32L1xx\ + + 0 + 0 + 0 + 0 + 1 + + .\STM32303C_EVAL\ + STM32303C_EVAL + 1 + 0 + 0 + 1 + 0 + .\STM32303C_EVAL\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMSTM.DLL + + SARMCM3.DLL + + TARMSTM.DLL + + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + 0 + 1 + + + + + + + + + + + + + + BIN\UL2CM3.DLL + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + BIN\UL2CM3.DLL + + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 8 + 1 + 1 + 0 + 3 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 1 + 0x8000000 + 0x40000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x40000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x8000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + + + USE_STDPERIPH_DRIVER, STM32F30X, USE_STM32303C_EVAL + + ..\inc;..\..\..\Libraries\CMSIS\Device\ST\\STM32F30x\Include;..\..\..\Libraries\STM32_USB-FS-Device_Driver\inc;..\..\..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x8000000 + 0x20000000 + + + + + + + + + + + + User + + + misc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + stm32f37x_misc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_misc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + hw_config.c + 1 + ..\src\hw_config.c + + + main.c + 1 + ..\src\main.c + + + usb_desc.c + 1 + ..\src\usb_desc.c + + + usb_endp.c + 1 + ..\src\usb_endp.c + + + usb_istr.c + 1 + ..\src\usb_istr.c + + + usb_prop.c + 1 + ..\src\usb_prop.c + + + usb_pwr.c + 1 + ..\src\usb_pwr.c + + + stm32_it.c + 1 + ..\src\stm32_it.c + + + + + CMSIS + + + system_stm32l1xx.c + 1 + ..\src\system_stm32l1xx.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + system_stm32f10x.c + 1 + ..\src\system_stm32f10x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f10x_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_ld_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_ld_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_md_vl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_md_vl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32f10x_xl.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F10x\Source\Templates\arm\startup_stm32f10x_xl.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_hd.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_hd.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_md.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_md.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + startup_stm32l1xx_mdp.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\arm\startup_stm32l1xx_mdp.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f37x.c + 1 + ..\src\system_stm32f37x.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + + + + startup_stm32f37x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F37x\Source\Templates\arm\startup_stm32f37x.s + + + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f30x.c + 1 + ..\src\system_stm32f30x.c + + + startup_stm32f30x.s + 2 + ..\..\..\Libraries\CMSIS\Device\ST\STM32F30x\Source\Templates\arm\startup_stm32f30x.s + + + + + USB-FS-Device_Driver + + + usb_core.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c + + + usb_init.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c + + + usb_int.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c + + + usb_mem.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c + + + usb_regs.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c + + + usb_sil.c + 1 + ..\..\..\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c + + + + + STM32F10x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f10x_usart.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c + + + stm32f10x_gpio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c + + + stm32f10x_rcc.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c + + + stm32f10x_flash.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c + + + stm32f10x_exti.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c + + + stm32f10x_spi.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c + + + stm32f10x_dma.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c + + + stm32f10x_i2c.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c + + + stm32f10x_sdio.c + 1 + ..\..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c + + + + + STM32L1xx_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l1xx_usart.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_usart.c + + + stm32l1xx_exti.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_exti.c + + + stm32l1xx_flash.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_flash.c + + + stm32l1xx_gpio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_gpio.c + + + stm32l1xx_i2c.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_i2c.c + + + stm32l1xx_rcc.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_rcc.c + + + stm32l1xx_spi.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_spi.c + + + stm32l1xx_syscfg.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_syscfg.c + + + stm32l1xx_dma.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_dma.c + + + stm32l1xx_sdio.c + 1 + ..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\src\stm32l1xx_sdio.c + + + + + STM32F37x_StdPeriph_Driver + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32f37x_adc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_adc.c + + + stm32f37x_dma.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_dma.c + + + stm32f37x_exti.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_exti.c + + + stm32f37x_flash.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_flash.c + + + stm32f37x_gpio.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_gpio.c + + + stm32f37x_i2c.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_i2c.c + + + stm32f37x_pwr.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_pwr.c + + + stm32f37x_rcc.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_rcc.c + + + stm32f37x_syscfg.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_syscfg.c + + + stm32f37x_spi.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_spi.c + + + stm32f37x_usart.c + 1 + ..\..\..\Libraries\STM32F37x_StdPeriph_Driver\src\stm32f37x_usart.c + + + + + STM32F30x_StdPeriph_Driver + + + stm32f30x_adc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_adc.c + + + stm32f30x_can.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_can.c + + + stm32f30x_crc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_crc.c + + + stm32f30x_dac.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dac.c + + + stm32f30x_dma.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_dma.c + + + stm32f30x_exti.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_exti.c + + + stm32f30x_flash.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_flash.c + + + stm32f30x_gpio.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_gpio.c + + + stm32f30x_i2c.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_i2c.c + + + stm32f30x_misc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_misc.c + + + stm32f30x_pwr.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_pwr.c + + + stm32f30x_rcc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rcc.c + + + stm32f30x_rtc.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_rtc.c + + + stm32f30x_spi.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_spi.c + + + stm32f30x_syscfg.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_syscfg.c + + + stm32f30x_tim.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_tim.c + + + stm32f30x_usart.c + 1 + ..\..\..\Libraries\STM32F30x_StdPeriph_Driver\src\stm32f30x_usart.c + + + + + STM3210B-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210b_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210B_EVAL\stm3210b_eval.c + + + + + STM3210E-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm3210e_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM3210E_EVAL\stm3210e_eval.c + + + + + STM32L152-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL\stm32l152_eval.c + + + + + STM32L152D-EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32l152d_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32L152D_EVAL\stm32l152d_eval.c + + + + + STM32373C_EVAL + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + stm32373c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32373C_EVAL\stm32373c_eval.c + + + + + STM32303C_EVAL + + + stm32303c_eval.c + 1 + ..\..\..\Utilities\STM32_EVAL\STM32303C_EVAL\stm32303c_eval.c + + + + + Doc + + + readme.txt + 5 + ..\readme.txt + + + + + + + +
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rapp b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rapp new file mode 100644 index 0000000..765e056 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rapp @@ -0,0 +1,1427 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ + + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ +
+ +
+ + + + +
+ + + +
+ +
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ + + +
+ + +
+
+ + + + +
+ +
+ +
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + + +
+
+ + +
+
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+
+ + + + + +
+ +
+ +
+ + + +
+
+ + + + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+ +
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+
+ + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + + +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+ + +
+
+ + +
+ +
+ +
+ + + + +
+ +
+ +
+ + +
+
+ + +
+ +
+ +
+ + + +
+
+ + +
+ +
+ +
+ +
+
\ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rprj b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rprj new file mode 100644 index 0000000..b8fcd58 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/RIDE/VirtualCOMPort.rprj @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/.project new file mode 100644 index 0000000..5155ef6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/.project @@ -0,0 +1,202 @@ + + + STM3210B-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210B_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch new file mode 100644 index 0000000..37a6b98 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210B-EVAL/STM3210B-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..d6acb59 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.cproject @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.project new file mode 100644 index 0000000..3119c37 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/.project @@ -0,0 +1,207 @@ + + + STM3210E-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32F10x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch new file mode 100644 index 0000000..547d59a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/STM3210E-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl new file mode 100644 index 0000000..629bfcb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL/TASKING/STM32F10x_hd.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 512k; + map ( size = 512k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 64k; + map ( size = 64k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector( id = 2, optional, fill = "NMI_Handler" ); /* 2 Non Maskable Interrupt */ + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN_RX1_IRQHandler" ); // CAN RX1 + vector ( id = 38, optional, fill = "CAN_SCE_IRQHandler" ); // CAN SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/.project new file mode 100644 index 0000000..c6a41a5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/.project @@ -0,0 +1,207 @@ + + + STM3210E-EVAL_XL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210E_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM3210x_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32f10x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM3210x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_adc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dac.c + + + STM3210x_StdPeriph_Driver/stm32f10x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c + + + STM3210x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM3210x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM3210x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_i2c.c + + + STM3210x_StdPeriph_Driver/stm32f10x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.c + + + STM3210x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM3210x_StdPeriph_Driver/stm32f10x_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_sdio.c + + + STM3210x_StdPeriph_Driver/stm32f10x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_spi.c + + + STM3210x_StdPeriph_Driver/stm32f10x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c + + + STM3210x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl new file mode 100644 index 0000000..a944802 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM3210E-EVAL_XL/TASKING/STM32F10x_XL.lsl @@ -0,0 +1,165 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f103_cmsis.lsl +// +// Version : @(#)stm32f103_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32f103.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 76 + + +#ifndef __STACK +# define __STACK 8k +#endif +#ifndef __HEAP +# define __HEAP 2k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32F10x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32f103flash +{ + mau = 8; + type = rom; + size = 0x100000; + map ( size = 0x100000, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32f103ram +{ + mau = 8; + type = ram; + size = 96k; + map ( size = 96k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); /* Reset Handler */ + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB High Priority or CAN1 TX + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB LowPriority or CAN1 RX0 + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break + vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup from suspend + vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break + vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update + vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 Trigger and Commutation + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 + vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC + vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 + vector ( id = 70, optional, fill = "TIM6_IRQHandler" ); // TIM6 + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel1 + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel2 + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel3 + vector ( id = 75, optional, fill = "DMA2_Channel4_5_IRQHandler" ); // DMA2 Channel4 and DMA2 Channel5 + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.cproject new file mode 100644 index 0000000..2750b9d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.cproject @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.3r1 Build 142 + TASKING program builder v4.3r1 Build 068 + TASKING VX-toolset for ARM Cortex: assembler v4.3r1 Build 148 + TASKING VX-toolset for ARM Cortex: control program v4.3r1 Build 120 + TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.3r1 Build 683 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.launch new file mode 100644 index 0000000..4635ffb --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl new file mode 100644 index 0000000..3ccf590 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32303C_EVAL/TASKING/stm32f30x.lsl @@ -0,0 +1,211 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f30x.lsl +// +// Version : @(#)stm32f30x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F30x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F30x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 6k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif + +memory STM32F30x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE - 8k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +memory STM32F30x_SRAM8k +{ + mau = 8; + type = ram; + size = 8k; + priority = 1; + map ( size = 8k, dest_offset=0x10000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_2_IRQHandler" ); // ADC1 and ADC2 global interrupts + vector ( id = 35, optional, fill = "USB_HP_CAN1_TX_IRQHandler" ); // USB Device High Priority or CAN1 TX interrupts + vector ( id = 36, optional, fill = "USB_LP_CAN1_RX0_IRQHandler" ); // USB Device Low Priority or CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM1_BRK_TIM15_IRQHandler" ); // TIM1 Break irq and TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM1_UP_TIM16_IRQHandler" ); // TIM1 Update irq and TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM17_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM17 global irq + vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup interrupt + vector ( id = 59, optional, fill = "TIM8_BRK_IRQHandler" ); // TIM8 Break interrupt + vector ( id = 60, optional, fill = "TIM8_UP_IRQHandler" ); // TIM8 Update interrupt + vector ( id = 61, optional, fill = "TIM8_TRG_COM_IRQHandler" ); // TIM8 trigger and Comm. interrupt + vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare interrupt + vector ( id = 63, optional, fill = "ADC3_IRQHandler" ); // ADC3 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt + vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "ADC4_IRQHandler" ); // ADC4 global interrupt + vector ( id = 80, optional, fill = "COMP1_2_3_IRQHandler" ); // COMP1, COMP2 and COMP3 global interrupt + vector ( id = 81, optional, fill = "COMP4_5_6_IRQHandler" ); // COMP5, COMP6 and COMP4 global interrupt + vector ( id = 82, optional, fill = "COMP7_IRQHandler" ); // COMP7 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt remap + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt remap + vector ( id = 92, optional, fill = "USBWakeUp_RMP_IRQHandler" ); // USB Wakeup Interrupt remap + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/.project new file mode 100644 index 0000000..23f3d84 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/.project @@ -0,0 +1,197 @@ + + + STM32373C_EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + Doc + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + User + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32F37x/CMSIS + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32373C_EVAL + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + STM32F37x/STM32F37x_StdPeriph_Driver + 2 + PARENT-1-PROJECT_LOC/.metadata/Link + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + STM32F37x/CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + STM32F37x/STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x/STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch new file mode 100644 index 0000000..6c766c6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/STM32373C_EVAL.launch @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl new file mode 100644 index 0000000..d8ba5b5 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32373C_EVAL/TASKING/stm32f37x.lsl @@ -0,0 +1,200 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32f37x.lsl +// +// Version : @(#)stm32f37x.lsl 1.1 12/07/27 +// +// Description : LSL file for the STMicroelectronics STM32F37x +// +// Copyright 2012 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32F37x, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMSIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 98 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x20000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 256k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 32k +#endif + +memory STM32F37x_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32F37x_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + priority = 2; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Define the vector table for CMSIS +// +#ifdef __CMSIS_VECTORS +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler + vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler + vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler + vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler + vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler + vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler + vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler + vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler + vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt + vector ( id = 24, optional, fill = "EXTI2_TS_IRQHandler" ); // EXTI2_TS_IRQHandler interrupt + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA1 Channel 1 global interrupt + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA1 Channel 2 global interrupt + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA1 Channel 3 global interrupt + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA1 Channel 4 global interrupt + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA1 Channel 5 global interrupt + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA1 Channel 6 global interrupt + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA1 Channel 7 global interrupt + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1 interrupts + vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts + vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts + vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt + vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts + vector ( id = 40, optional, fill = "TIM15_IRQHandler" ); // TIM15 global interrupt + vector ( id = 41, optional, fill = "TIM16_IRQHandler" ); // TIM16 global interrupt + vector ( id = 42, optional, fill = "TIM17_IRQHandler" ); // TIM17 global interrupt + vector ( id = 43, optional, fill = "TIM118_DAC2_IRQHandler" ); // TIM18 global Interrupt and DAC2 underrun Interrupt + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "CEC_IRQHandler" ); // CEC interrupt + vector ( id = 59, optional, fill = "TIM12_IRQHandler" ); // TIM12 global interrupt + vector ( id = 60, optional, fill = "TIM13_IRQHandler" ); // TIM13 global interrupt + vector ( id = 61, optional, fill = "TIM14_IRQHandler" ); // TIM14 global interrupt + vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt + vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt + vector ( id = 70, optional, fill = "TIM6_DAC1_IRQHandler" ); // TIM6 glbl irq, DAC1 CH1 & CH2 underrun err irqs + vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt + vector ( id = 72, optional, fill = "DMA2_Channel1_IRQHandler" ); // DMA2 Channel 1 global interrupt + vector ( id = 73, optional, fill = "DMA2_Channel2_IRQHandler" ); // DMA2 Channel 2 global interrupt + vector ( id = 74, optional, fill = "DMA2_Channel3_IRQHandler" ); // DMA2 Channel 3 global interrupt + vector ( id = 75, optional, fill = "DMA2_Channel4_IRQHandler" ); // DMA2 Channel 4 global interrupt + vector ( id = 76, optional, fill = "DMA2_Channel5_IRQHandler" ); // DMA2 Channel 5 global interrupt + vector ( id = 77, optional, fill = "SDADC1_IRQHandler" ); // ADC Sigma Delta 1 global Interrupt + vector ( id = 78, optional, fill = "SDADC2_IRQHandler" ); // ADC Sigma Delta 2 global Interrupt + vector ( id = 79, optional, fill = "SDADC3_IRQHandler" ); // ADC Sigma Delta 3 global Interrupt + vector ( id = 80, optional, fill = "COMP_IRQHandler" ); // COMP1 and COMP2 global interrupt + vector ( id = 90, optional, fill = "USB_HP_IRQHandler" ); // USB High Priority global Interrupt + vector ( id = 91, optional, fill = "USB_LP_IRQHandler" ); // USB Low Priority global Interrupt + vector ( id = 92, optional, fill = "USBWakeUp_IRQHandler" ); // USB Wakeup Interrupt + vector ( id = 94, optional, fill = "TIM19_IRQHandler" ); // TIM19 global Interrupt + vector ( id = 97, optional, fill = "FPU_IRQHandler" ); // Floating point Interrupt + } +} +#endif /* __CMSIS_VECTORS */ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/.project new file mode 100644 index 0000000..69a8de0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/.project @@ -0,0 +1,207 @@ + + + STM32L152-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152_EVAL/stm32l152_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152_EVAL/stm32l152_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch new file mode 100644 index 0000000..d494039 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/STM32L152-EVAL.launch @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl new file mode 100644 index 0000000..909c5b0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152-EVAL/TASKING/stm32l1xx_md.lsl @@ -0,0 +1,151 @@ +//////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx_cmsis.lsl +// +// Version : @(#)stm32l1xx_cmsis.lsl 1.2 09/06/04 +// +// Description : LSL file for the STMicroelectronics STM32F103, CMSIS version +// +// Copyright 2009 Altium BV +// +// NOTE: +// This file is derived from cm3.lsl and stm32l1xx.lsl. +// It is assumed that the user works with the ARMv7M architecture. +// Other architectures will not work with this lsl file. +// +//////////////////////////////////////////////////////////////////////////// + +// +// We do not want the vectors as defined in arm_arch.lsl +// +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 84 + + +#ifndef __STACK +# define __STACK 2k +#endif +#ifndef __HEAP +# define __HEAP 1k +#endif +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif +#ifndef __XVWBUF +#define __XVWBUF 256 /* buffer used by CrossView */ +#endif + +#include + +//////////////////////////////////////////////////////////////////////////// +// +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +memory stm32l1xflash +{ + mau = 8; + type = rom; + size = 128k; + map ( size = 128k, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory stm32l1xram +{ + mau = 8; + type = ram; + size = 16k; + map ( size = 16k, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandle" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/.project new file mode 100644 index 0000000..5cca315 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/.project @@ -0,0 +1,212 @@ + + + STM32L152D-EVAL + + + + + + com.tasking.arm.TskManagedBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.tasking.arm.target + + + + CMSIS + 2 + WORKSPACE_LOC/.metadata/Link + + + Doc + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L152D_EVAL + 2 + WORKSPACE_LOC/.metadata/Link + + + STM32L1xx_StdPeriph_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + USB-FS-Device_Driver + 2 + WORKSPACE_LOC/.metadata/Link + + + User + 2 + WORKSPACE_LOC/.metadata/Link + + + CMSIS/system_stm32l1xx.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32l1xx.c + + + Doc/readme.txt + 1 + PARENT-2-PROJECT_LOC/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_adc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dac.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_dma.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_i2c.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_pwr.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_sdio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_sdio.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_spi.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_tim.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_usart.c + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-2-PROJECT_LOC/src/hw_config.c + + + User/main.c + 1 + PARENT-2-PROJECT_LOC/src/main.c + + + User/stm32_it.c + 1 + PARENT-2-PROJECT_LOC/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-2-PROJECT_LOC/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-2-PROJECT_LOC/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-2-PROJECT_LOC/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-2-PROJECT_LOC/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch new file mode 100644 index 0000000..26462e6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/STM32L152D-EVAL.launch @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl new file mode 100644 index 0000000..77979b6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TASKING/STM32L152D-EVAL/TASKING/stm32l1xx_hd.lsl @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////// +// +// File : stm32l1xx.lsl +// +// Version : @(#)stm32l1xx.lsl 1.5 11/06/30 +// +// Description : LSL file for the STMicroelectronics STM32L1xx +// +// Copyright 2010-2011 Altium BV +// +// Macros specific to control this LSL file +// +// __MEMORY Define this macro to suppress definition of on-chip +// memory. Must be defined when you want to define on-chip +// in your project's LSL file. +// __FLASH_SIZE Specifies the size of flash memory to be allocated +// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated +// __EEPROM_SIZE Specifies the size of the EEPROM memory to be allocated +// __NO_DEFAULT_AUTO_VECTORS +// When enabled the interrupt vector table will not be +// generated +// __VECTOR_TABLE_RAM_COPY +// Define this macro to enable copying the vector table +// at startup from ROM to RAM. +// __VECTOR_TABLE_ROM_ADDR +// Specify the vector table address in ROM +// __VECTOR_TABLE_RAM_ADDR +// Specify the vector table address in RAM when the the +// it is copied from ROM to RAM (__VECTOR_TABLE_RAM_COPY) +// +// See arm_arch.lsl for more available macros. +// +// Notes: +// In the STM32L1xx, 3 different boot modes can be selected +// - User Flash memory is selected as boot space +// - SystemMemory is selected as boot space +// - Embedded SRAM is selected as boot space +// +// This aliases the physical memory associated with each boot mode to Block +// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, +// the related memory (Flash memory or SRAM) is still accessible at its +// original memory space. +// +//////////////////////////////////////////////////////////////////////////// + +#ifndef __NO_DEFAULT_AUTO_VECTORS +// Suppress the vectors as defined arm_arch.lsl, because we define our +// own vectors for CMIS +#define __CMSIS_VECTORS 1 +#define __NO_DEFAULT_AUTO_VECTORS 1 +#define __NR_OF_VECTORS 73 +#endif + +#ifndef __VECTOR_TABLE_ROM_ADDR +# define __VECTOR_TABLE_ROM_ADDR 0x08000000 +#endif + +#ifndef __VECTOR_TABLE_RAM_ADDR +# define __VECTOR_TABLE_RAM_ADDR 0x00000000 +#endif + + +#ifndef __STACK +# define __STACK 4k +#endif + +#ifndef __HEAP +# define __HEAP 2k +#endif + +#include + +// +// If no memory is defined yet use the following memory settings +// +#ifndef __MEMORY + +// Specify default size for Flash and SRAM +#ifndef __FLASH_SIZE +# define __FLASH_SIZE 384k +#endif +#ifndef __SRAM_SIZE +# define __SRAM_SIZE 48k +#endif +#ifndef __EEPROM_SIZE +# define __EEPROM_SIZE 4k +#endif + +memory STM32L1xx_Flash +{ + mau = 8; + type = rom; + size = __FLASH_SIZE; + map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_EEPROM +{ + mau = 8; + type = reserved rom; + size = __EEPROM_SIZE; + map ( size = __EEPROM_SIZE, dest_offset=0x08080000, dest=bus:ARM:local_bus); +} + +memory STM32L1xx_SRAM +{ + mau = 8; + type = ram; + size = __SRAM_SIZE; + map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); +} + +#endif /* __MEMORY */ + + +// +// Custom vector table defines interrupts according to CMSIS standard +// +# if defined(__CPU_ARMV7M__) +section_setup ::linear +{ + // vector table with handler addresses + vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_RUN_ADDR, + template = ".text.handler_address", + template_symbol = "_lc_vector_handler", + vector_prefix = "_vector_", + __VECTOR_TABLE_COPY_ATTRIBUTE + fill = loop, + no_inline + ) + { + vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack + vector ( id = 1, fill = "Reset_Handler" ); // Reset Handler + vector ( id = 2, optional, fill = "NMI_Handler" ); + vector ( id = 3, optional, fill = "HardFault_Handler" ); + vector ( id = 4, optional, fill = "MemManage_Handler" ); + vector ( id = 5, optional, fill = "BusFault_Handler" ); + vector ( id = 6, optional, fill = "UsageFault_Handler" ); + vector ( id = 11, optional, fill = "SVC_Handler" ); + vector ( id = 12, optional, fill = "DebugMon_Handler" ); + vector ( id = 14, optional, fill = "PendSV_Handler" ); + vector ( id = 15, optional, fill = "SysTick_Handler" ); + + // External Interrupts : + vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog + vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect + vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper + vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC + vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash + vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC + vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 + vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 + vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 + vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 + vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 + vector ( id = 27, optional, fill = "DMA1_Channel1_IRQHandler" ); // DMA Channel 1 + vector ( id = 28, optional, fill = "DMA1_Channel2_IRQHandler" ); // DMA Channel 2 + vector ( id = 29, optional, fill = "DMA1_Channel3_IRQHandler" ); // DMA Channel 3 + vector ( id = 30, optional, fill = "DMA1_Channel4_IRQHandler" ); // DMA Channel 4 + vector ( id = 31, optional, fill = "DMA1_Channel5_IRQHandler" ); // DMA Channel 5 + vector ( id = 32, optional, fill = "DMA1_Channel6_IRQHandler" ); // DMA Channel 6 + vector ( id = 33, optional, fill = "DMA1_Channel7_IRQHandler" ); // DMA Channel 7 + vector ( id = 34, optional, fill = "ADC1_IRQHandler" ); // ADC1_IRQHandler + vector ( id = 35, optional, fill = "USB_HP_IRQHandler" ); // USB_HP_IRQHandler + vector ( id = 36, optional, fill = "USB_LP_IRQHandler" ); // USB_LP_IRQHandler + vector ( id = 37, optional, fill = "DAC_IRQHandler" ); // CAN1 RX1 + vector ( id = 38, optional, fill = "COMP_IRQHandler" ); // COMP_IRQHandler + vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 + vector ( id = 40, optional, fill = "LCD_IRQHandler" ); // LCD_IRQHandler + vector ( id = 41, optional, fill = "TIM9_IRQHandler" ); // TIM9_IRQHandler + vector ( id = 42, optional, fill = "TIM10_IRQHandler" ); // TIM10_IRQHandler + vector ( id = 43, optional, fill = "TIM11_IRQHandler" ); // TIM11_IRQHandler + vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 + vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 + vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 + vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event + vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error + vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event + vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error + vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 + vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 + vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 + vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 + vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 + vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 + vector ( id = 57, optional, fill = "RTC_Alarm_IRQHandler" ); // RTC Alarm through EXTI Line + vector ( id = 58, optional, fill = "USB_FS_WKUP_IRQHandler" ); // USB_FS_WKUP_IRQHandler + vector ( id = 59, optional, fill = "TIM6_IRQHandler" ); // TIM6_IRQHandler + vector ( id = 60, optional, fill = "TIM7_IRQHandler" ); // TIM7_IRQHandler + vector ( id = 61, optional, fill = "SDIO_IRQHandler" ); // SDIO_IRQHandler + vector ( id = 62, optional, fill = "TIM5_IRQHandler" ); //TIM5_IRQHandler + vector ( id = 63, optional, fill = "SPI3_IRQHandler" ); //SPI3_IRQHandler + vector ( id = 64, optional, fill = "UART4_IRQHandler" ); //UART4_IRQHandler + vector ( id = 65, optional, fill = "UART5_IRQHandler" ); //UART5_IRQHandler + vector ( id = 66, optional, fill = "DMA2_Channel1_IRQHandler" ); //DMA2_Channel1_IRQHandler + vector ( id = 67, optional, fill = "DMA2_Channel2_IRQHandler" ); //DMA2_Channel2_IRQHandler + vector ( id = 68, optional, fill = "DMA2_Channel3_IRQHandler" ); //DMA2_Channel3_IRQHandler + vector ( id = 69, optional, fill = "DMA2_Channel4_IRQHandler" ); //DMA2_Channel4_IRQHandler + vector ( id = 70, optional, fill = "DMA2_Channel5_IRQHandler" ); //DMA2_Channel5_IRQHandler + vector ( id = 71, optional, fill = "AES_IRQHandler" ); //AES_IRQHandler + vector ( id = 72, optional, fill = "COMP_ACQ_IRQHandler" ); //Comparator Channel Acquisition + + } +} +# endif diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.project new file mode 100644 index 0000000..153ec17 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.project @@ -0,0 +1,226 @@ + + + STM3210B-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210B_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM3210B_EVAL/stm3210b_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210B_EVAL/stm3210b_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_md.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..f6eb6e4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210B-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:23:19 GMT+01:00 2012 +BOARD=STM3210B-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.cproject new file mode 100644 index 0000000..ccb0855 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.cproject @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.project new file mode 100644 index 0000000..d448e26 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.project @@ -0,0 +1,230 @@ + + + STM3210E-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM3210E_EVAL + 2 + virtual:/virtual + + + STM32F10x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f10x.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/system_stm32f10x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM3210E_EVAL/stm3210e_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval.c + + + STM32F10x_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/misc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_exti.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_flash.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_gpio.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_rcc.c + + + STM32F10x_StdPeriph_Driver/stm32f10x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F10x_StdPeriph_Driver/src/stm32f10x_usart.c + + + TrueSTUDIO/startup_stm32f10x_hd.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/TrueSTUDIO/startup_stm32f10x_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..fa25d7d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:23:55 GMT+01:00 2012 +BOARD=STM3210E-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZE +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld new file mode 100644 index 0000000..8320534 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZE Device with +** 512KByte FLASH, 64KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20010000; /* end of 64K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.cproject new file mode 100644 index 0000000..bfb478d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.cproject @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..a824e90 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:24:15 GMT+01:00 2012 +BOARD=STM3210E-EVAL_XL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F103ZG +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch new file mode 100644 index 0000000..3b9f2f6 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/STM32F10X_XL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld new file mode 100644 index 0000000..b1c6965 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM3210E-EVAL_XL/stm32_flash.ld @@ -0,0 +1,170 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for STM32F103ZG Device with +** 1MByte FLASH, 96KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20018000; /* end of 96K RAM */ + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 96K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .ARM.attributes 0 : { *(.ARM.attributes) } + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.cproject b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.cproject new file mode 100644 index 0000000..5929ca9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.cproject @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.project new file mode 100644 index 0000000..03e51a0 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.project @@ -0,0 +1,310 @@ + + + STM32303C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32303C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f30x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f30x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32303C_EVAL/stm32303c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32303C_EVAL/stm32303c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_opamp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_opamp.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f30x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F30x_StdPeriph_Driver/src/stm32f30x_wwdg.c + + + TrueSTUDIO/startup_stm32f30x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F30x/Source/Templates/TrueSTUDIO/startup_stm32f30x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..01cdaca --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,21 @@ +<<<<<<< .mine +#Thu Dec 13 17:37:51 GMT+01:00 2012 +BOARD=STM32303C-EVAL +======= +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +>>>>>>> .r415 +CODE_LOCATION=FLASH +ENDIAN=Little-endian +<<<<<<< .mine +MCU=STM32F303VC +======= +MCU=STM32F373VC +>>>>>>> .r415 +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch new file mode 100644 index 0000000..53aeace --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32303C-EVAL/STM32303C-EVAL.elf.launch @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.project new file mode 100644 index 0000000..1d811d4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.project @@ -0,0 +1,315 @@ + + + STM32373C-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?children? + ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210E-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32373C_EVAL + 2 + virtual:/virtual + + + STM32F37x_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_stm32f37x.c + 1 + PARENT-2-PROJECT_LOC/src/system_stm32f37x.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Custom_HID/readme.txt + + + STM32373C_EVAL/stm32373c_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32373C_EVAL/stm32373c_eval.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_adc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_adc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_can.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_can.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_cec.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_cec.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_comp.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_comp.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_crc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_crc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dac.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dac.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dbgmcu.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dbgmcu.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_dma.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_dma.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_exti.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_flash.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_gpio.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_i2c.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_i2c.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_iwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_iwdg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_misc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_pwr.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_pwr.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rcc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_rtc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_rtc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_sdadc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_sdadc.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_spi.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_spi.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_syscfg.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_tim.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_tim.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_usart.c + + + STM32F37x_StdPeriph_Driver/stm32f37x_wwdg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32F37x_StdPeriph_Driver/src/stm32f37x_wwdg.c + + + TrueSTUDIO/startup_stm32f37x.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F37x/Source/Templates/TrueSTUDIO/startup_stm32f37x.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..ab00129 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32373C-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Thu Dec 13 17:34:36 GMT+01:00 2012 +BOARD=STM32373C-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32F373VC +MCU_VENDOR=STMicroelectronics +MODEL=Pro +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=ARM\u00AE +VERSION=3.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 0000000..e34e51b --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -0,0 +1,12 @@ +#Mon Mar 19 16:25:12 GMT+01:00 2012 +BOARD=STM32L152-EVAL +CODE_LOCATION=FLASH +ENDIAN=Little-endian +MCU=STM32L152VB +MCU_VENDOR=STMicroelectronics +MODEL=Lite +PROBE=ST-LINK +PROJECT_FORMAT_VERSION=2 +TARGET=STMicroelectronics\u00AE STM32\u2122 +VERSION=2.3.0 +eclipse.preferences.version=1 diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch new file mode 100644 index 0000000..f63f161 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152-EVAL/STM32L152-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/.project b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/.project new file mode 100644 index 0000000..6dbdfd4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/.project @@ -0,0 +1,231 @@ + + + STM32L152D-EVAL + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.buildLocation + ${workspace_loc:/STM3210B-EVAL/Debug} + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + CMSIS + 2 + virtual:/virtual + + + Doc + 2 + virtual:/virtual + + + STM32L152D_EVAL + 2 + virtual:/virtual + + + STM32L1xx_StdPeriph_Driver + 2 + virtual:/virtual + + + TrueSTUDIO + 2 + virtual:/virtual + + + USB-FS-Device_Driver + 2 + virtual:/virtual + + + User + 2 + virtual:/virtual + + + CMSIS/system_STM32L1xx.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/system_STM32L1xx.c + + + Doc/readme.txt + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/readme.txt + + + STM32L152D_EVAL/stm32l152d_eval.c + 1 + PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM32L152D_EVAL/stm32l152d_eval.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_exti.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_exti.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_flash.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_flash.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_gpio.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_gpio.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_rcc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_rcc.c + + + STM32L1xx_StdPeriph_Driver/STM32L1xx_usart.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/STM32L1xx_usart.c + + + STM32L1xx_StdPeriph_Driver/misc.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/misc.c + + + STM32L1xx_StdPeriph_Driver/stm32l1xx_syscfg.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32L1xx_StdPeriph_Driver/src/stm32l1xx_syscfg.c + + + TrueSTUDIO/startup_STM32L1xx_md.s + 1 + PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32L1xx/Source/Templates/TrueSTUDIO/startup_STM32L1xx_hd.s + + + USB-FS-Device_Driver/usb_core.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_core.c + + + USB-FS-Device_Driver/usb_init.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_init.c + + + USB-FS-Device_Driver/usb_int.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_int.c + + + USB-FS-Device_Driver/usb_mem.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_mem.c + + + USB-FS-Device_Driver/usb_regs.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_regs.c + + + USB-FS-Device_Driver/usb_sil.c + 1 + PARENT-4-PROJECT_LOC/Libraries/STM32_USB-FS-Device_Driver/src/usb_sil.c + + + User/hw_config.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/hw_config.c + + + User/main.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/main.c + + + User/stm32_it.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/stm32_it.c + + + User/usb_desc.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_desc.c + + + User/usb_endp.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_endp.c + + + User/usb_istr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_istr.c + + + User/usb_prop.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_prop.c + + + User/usb_pwr.c + 1 + PARENT-4-PROJECT_LOC/Projects/Virtual_COM_Port/src/usb_pwr.c + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch new file mode 100644 index 0000000..96ae53c --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/STM32L152D-EVAL.elf.launch @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld new file mode 100644 index 0000000..0d8b7b3 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/TrueSTUDIO/STM32L152D-EVAL/stm32_flash.ld @@ -0,0 +1,171 @@ +/* +***************************************************************************** +** +** File : stm32_flash.ld +** +** Abstract : Linker script for stm32l1xx_hd Device with +** 384KByte FLASH, 48KByte RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Environment : Atollic TrueSTUDIO(R) +** +** Distribution: The file is distributed “as is,” without any warranty +** of any kind. +** +** (c)Copyright Atollic AB. +** You may use this file as-is or modify it according to the needs of your +** project. Distribution of this file (unmodified or modified) is not +** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the +** rights to distribute the assembled, compiled & linked contents of this +** file as part of an application binary file, provided that it is built +** using the Atollic TrueSTUDIO(R) toolchain. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x2000BFF8; + +/* Generate a link error if heap and stack don't fit into RAM */ +_Min_Heap_Size = 0; /* required amount of heap */ +_Min_Stack_Size = 0x800; /* required amount of stack */ + +/* Specify the memory areas */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 384K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K +} + +/* Define output sections */ +SECTIONS +{ + /* The startup code goes first into FLASH */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data goes into FLASH */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH + .ARM : { + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + } >FLASH + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >FLASH + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + } >FLASH + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(.fini_array*)) + KEEP (*(SORT(.fini_array.*))) + PROVIDE_HIDDEN (__fini_array_end = .); + } >FLASH + + /* used by the startup to initialize data */ + _sidata = .; + + /* Initialized data sections goes into RAM, load LMA copy after code */ + .data : AT ( _sidata ) + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM + + /* Uninitialized data section */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + PROVIDE ( end = _ebss ); + PROVIDE ( _end = _ebss ); + + /* User_heap_stack section, used to check that there is enough RAM left */ + ._user_heap_stack : + { + . = ALIGN(4); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(4); + } >RAM + + /* MEMORY_bank1 section, code must be located here explicitly */ + /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ + .memory_b1_text : + { + *(.mb1text) /* .mb1text sections (code) */ + *(.mb1text*) /* .mb1text* sections (code) */ + *(.mb1rodata) /* read-only data (constants) */ + *(.mb1rodata*) + } >MEMORY_B1 + + /* Remove information from the standard libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/hw_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/hw_config.h new file mode 100644 index 0000000..ed8b783 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/hw_config.h @@ -0,0 +1,64 @@ +/** + ****************************************************************************** + * @file hw_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __HW_CONFIG_H +#define __HW_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" +#include "usb_type.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define MASS_MEMORY_START 0x04002000 +#define BULK_MAX_PACKET_SIZE 0x00000040 +#define LED_ON 0xF0 +#define LED_OFF 0xFF + +#define USART_RX_DATA_SIZE 2048 +/* Exported functions ------------------------------------------------------- */ +void Set_System(void); +void Set_USBClock(void); +void Enter_LowPowerMode(void); +void Leave_LowPowerMode(void); +void USB_Interrupts_Config(void); +void USB_Cable_Config (FunctionalState NewState); +void USART_Config_Default(void); +bool USART_Config(void); +void USB_To_USART_Send_Data(uint8_t* data_buffer, uint8_t Nb_bytes); +void USART_To_USB_Send_Data(void); +void Handle_USBAsynchXfer (void); +void Get_SerialNum(void); + +/* External variables --------------------------------------------------------*/ + +#endif /*__HW_CONFIG_H*/ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/platform_config.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/platform_config.h new file mode 100644 index 0000000..68d9c6f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/platform_config.h @@ -0,0 +1,161 @@ +/** + ****************************************************************************** + * @file platform_config.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Evaluation board specific configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __PLATFORM_CONFIG_H +#define __PLATFORM_CONFIG_H + +/* Includes ------------------------------------------------------------------*/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + #include "stm32l1xx.h" + #if defined (USE_STM32L152_EVAL) + #include "stm32l152_eval.h" + #elif defined (USE_STM32L152D_EVAL) + #include "stm32l152d_eval.h" + #else + #error "Missing define: USE_STM32L152_EVAL or USE_STM32L152D_EVAL" + #endif /* USE_STM32L152_EVAL */ +#elif defined (STM32F10X_MD) || defined (STM32F10X_HD) || defined (STM32F10X_XL) + #include "stm32f10x.h" + #if defined (USE_STM3210B_EVAL) + #include "stm3210b_eval.h" + #elif defined (USE_STM3210E_EVAL) + #include "stm3210e_eval.h" + #else + #error "Missing define: USE_STM3210B_EVAL or USE_STM3210E_EVAL" + #endif /* USE_STM3210B_EVAL */ +#elif defined (USE_STM32373C_EVAL) + #include "stm32f37x.h" + #include "stm32373c_eval.h" +#elif defined (USE_STM32303C_EVAL) + #include "stm32f30x.h" + #include "stm32303c_eval.h" +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line corresponding to the STMicroelectronics evaluation board + used to run the example */ +#if !defined (USE_STM3210B_EVAL) && !defined (USE_STM3210E_EVAL) && !defined (USE_STM32L152_EVAL) && !defined (USE_STM32L152D_EVAL) && !defined (USE_STM32373C_EVAL) && !defined (USE_STM32303C_EVAL) +//#define USE_STM3210B_EVAL +//#define USE_STM3210E_EVAL +//#define USE_STM32L152_EVAL +//#define USE_STM32L152D_EVAL +//#define (USE_STM32373C_EVAL) +#define (USE_STM32303C_EVAL) +#endif + +/*Unique Devices IDs register set*/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + +#define ID1 (0x1FF80050) +#define ID2 (0x1FF80054) +#define ID3 (0x1FF80064) + +#elif defined (STM32F37X) || defined(STM32F30X) + +#define ID1 (0x1FFFF7AC) +#define ID2 (0x1FFFF7B0) +#define ID3 (0x1FFFF7B4) + +#else /*STM32F1x*/ + +#define ID1 (0x1FFFF7E8) +#define ID2 (0x1FFFF7EC) +#define ID3 (0x1FFFF7F0) + +#endif + +/* Define the STM32F10x hardware depending on the used evaluation board */ +#ifdef USE_STM3210B_EVAL + #define USB_DISCONNECT GPIOD + #define USB_DISCONNECT_PIN GPIO_Pin_9 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD + #define EVAL_COM1_IRQHandler USART1_IRQHandler + +#elif defined (USE_STM3210E_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_14 + #define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB + #define EVAL_COM1_IRQHandler USART1_IRQHandler + + +#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL) + /* + For STM32L15xx devices it is possible to use the internal USB pullup + controlled by register SYSCFG_PMC (refer to RM0038 reference manual for + more details). + It is also possible to use external pullup (and disable the internal pullup) + by setting the define USB_USE_EXTERNAL_PULLUP in file platform_config.h + and configuring the right pin to be used for the external pull up configuration. + To have more details on how to use an external pull up, please refer to + STM3210E-EVAL evaluation board manuals. + */ + /* Uncomment the following define to use an external pull up instead of the + integrated STM32L15xx internal pull up. In this case make sure to set up + correctly the external required hardware and the GPIO defines below.*/ +/* #define USB_USE_EXTERNAL_PULLUP */ + + #if !defined(USB_USE_EXTERNAL_PULLUP) + #define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE) + #define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE) + + #elif defined(USB_USE_EXTERNAL_PULLUP) + /* PA0 is chosen just as illustrating example, you should modify the defines + below according to your hardware configuration. */ + #define USB_DISCONNECT GPIOA + #define USB_DISCONNECT_PIN GPIO_Pin_0 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA + #define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN) + #endif /* USB_USE_EXTERNAL_PULLUP */ + +#elif defined (USE_STM32373C_EVAL) + #define USB_DISCONNECT GPIOC + #define USB_DISCONNECT_PIN GPIO_Pin_5 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOC + +#elif defined (USE_STM32303C_EVAL) + #define USB_DISCONNECT GPIOB + #define USB_DISCONNECT_PIN GPIO_Pin_8 + #define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOB +#endif /* USE_STM3210B_EVAL */ + +#if defined (USE_STM32L152_EVAL) || (USE_STM32373C_EVAL) + #define EVAL_COM1_IRQHandler USART2_IRQHandler +#elif defined (USE_STM32L152D_EVAL) || (USE_STM32303C_EVAL) + #define EVAL_COM1_IRQHandler USART1_IRQHandler +#endif + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +#endif /* __PLATFORM_CONFIG_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32_it.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32_it.h new file mode 100644 index 0000000..a6f3368 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32_it.h @@ -0,0 +1,59 @@ +/** + ****************************************************************************** + * @file stm32_it.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief This file contains the headers of the interrupt handlers. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32_IT_H +#define __STM32_IT_H + +/* Includes ------------------------------------------------------------------*/ +#include "platform_config.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +void NMI_Handler(void); +void HardFault_Handler(void); +void MemManage_Handler(void); +void BusFault_Handler(void); +void UsageFault_Handler(void); +void SVC_Handler(void); +void DebugMon_Handler(void); +void PendSV_Handler(void); +void SysTick_Handler(void); +void USB_LP_CAN1_RX0_IRQHandler(void); + +#if defined (USE_STM32L152_EVAL) || (USE_STM32373C_EVAL) +void USART2_IRQHandler(void); +#else +void USART1_IRQHandler(void); +#endif /* USE_STM32L152_EVAL */ +#endif /* __STM32_IT_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f10x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f10x_conf.h new file mode 100644 index 0000000..e08299d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f10x_conf.h @@ -0,0 +1,85 @@ +/** + ****************************************************************************** + * @file stm32f10x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F10x_CONF_H +#define __STM32F10x_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Uncomment the line below to enable peripheral header file inclusion */ +#include "stm32f10x_adc.h" +#include "stm32f10x_bkp.h" +#include "stm32f10x_can.h" +#include "stm32f10x_crc.h" +#include "stm32f10x_dac.h" +#include "stm32f10x_dbgmcu.h" +#include "stm32f10x_dma.h" +#include "stm32f10x_exti.h" +#include "stm32f10x_flash.h" +#include "stm32f10x_fsmc.h" +#include "stm32f10x_gpio.h" +#include "stm32f10x_i2c.h" +#include "stm32f10x_iwdg.h" +#include "stm32f10x_pwr.h" +#include "stm32f10x_rcc.h" +#include "stm32f10x_rtc.h" +#include "stm32f10x_sdio.h" +#include "stm32f10x_spi.h" +#include "stm32f10x_tim.h" +#include "stm32f10x_usart.h" +#include "stm32f10x_wwdg.h" +#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/******************************************************************************* +* Macro Name : assert_param +* Description : The assert_param macro is used for function's parameters check. +* Input : - expr: If expr is false, it calls assert_failed function +* which reports the name of the source file and the source +* line number of the call that failed. +* If expr is true, it returns no value. +* Return : None +*******************************************************************************/ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F10x_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f30x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f30x_conf.h new file mode 100644 index 0000000..e716105 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f30x_conf.h @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file stm32f30x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F30X_CONF_H +#define __STM32F30X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f30x_adc.h" +#include "stm32f30x_can.h" +#include "stm32f30x_crc.h" +#include "stm32f30x_comp.h" +#include "stm32f30x_dac.h" +#include "stm32f30x_dbgmcu.h" +#include "stm32f30x_dma.h" +#include "stm32f30x_exti.h" +#include "stm32f30x_flash.h" +#include "stm32f30x_gpio.h" +#include "stm32f30x_syscfg.h" +#include "stm32f30x_i2c.h" +#include "stm32f30x_iwdg.h" +#include "stm32f30x_opamp.h" +#include "stm32f30x_pwr.h" +#include "stm32f30x_rcc.h" +#include "stm32f30x_rtc.h" +#include "stm32f30x_spi.h" +#include "stm32f30x_tim.h" +#include "stm32f30x_usart.h" +#include "stm32f30x_wwdg.h" +#include "stm32f30x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F30X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f37x_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f37x_conf.h new file mode 100644 index 0000000..3d39101 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/stm32f37x_conf.h @@ -0,0 +1,83 @@ +/** + ****************************************************************************** + * @file stm32f37x_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Library configuration file. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F37X_CONF_H +#define __STM32F37X_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Comment the line below to disable peripheral header file inclusion */ +#include "stm32f37x_adc.h" +#include "stm32f37x_can.h" +#include "stm32f37x_cec.h" +#include "stm32f37x_crc.h" +#include "stm32f37x_comp.h" +#include "stm32f37x_dac.h" +#include "stm32f37x_dbgmcu.h" +#include "stm32f37x_dma.h" +#include "stm32f37x_exti.h" +#include "stm32f37x_flash.h" +#include "stm32f37x_gpio.h" +#include "stm32f37x_syscfg.h" +#include "stm32f37x_i2c.h" +#include "stm32f37x_iwdg.h" +#include "stm32f37x_pwr.h" +#include "stm32f37x_rcc.h" +#include "stm32f37x_rtc.h" +#include "stm32f37x_sdadc.h" +#include "stm32f37x_spi.h" +#include "stm32f37x_tim.h" +#include "stm32f37x_usart.h" +#include "stm32f37x_wwdg.h" +#include "stm32f37x_misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Uncomment the line below to expanse the "assert_param" macro in the + Standard Peripheral Library drivers code */ +/* #define USE_FULL_ASSERT 1 */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT + +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr: If expr is false, it calls assert_failed function which reports + * the name of the source file and the source line number of the call + * that failed. If expr is true, it returns no value. + * @retval None + */ + #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ + void assert_failed(uint8_t* file, uint32_t line); +#else + #define assert_param(expr) ((void)0) +#endif /* USE_FULL_ASSERT */ + +#endif /* __STM32F37X_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h new file mode 100644 index 0000000..bdb9bb2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h @@ -0,0 +1,103 @@ +/** + ****************************************************************************** + * @file usb_conf.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Virtual COM Port Demo configuration header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_CONF_H +#define __USB_CONF_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +/* External variables --------------------------------------------------------*/ + +/*-------------------------------------------------------------*/ +/* EP_NUM */ +/* defines how many endpoints are used by the device */ +/*-------------------------------------------------------------*/ + +#define EP_NUM (4) + +/*-------------------------------------------------------------*/ +/* -------------- Buffer Description Table -----------------*/ +/*-------------------------------------------------------------*/ +/* buffer table base address */ +/* buffer table base address */ +#define BTABLE_ADDRESS (0x00) + +/* EP0 */ +/* rx/tx buffer base address */ +#define ENDP0_RXADDR (0x40) +#define ENDP0_TXADDR (0x80) + +/* EP1 */ +/* tx buffer base address */ +#define ENDP1_TXADDR (0xC0) +#define ENDP2_TXADDR (0x100) +#define ENDP3_RXADDR (0x110) + + +/*-------------------------------------------------------------*/ +/* ------------------- ISTR events -------------------------*/ +/*-------------------------------------------------------------*/ +/* IMR_MSK */ +/* mask defining which events has to be handled */ +/* by the device application software */ +#define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM | CNTR_SOFM \ + | CNTR_ESOFM | CNTR_RESETM ) + +/*#define CTR_CALLBACK*/ +/*#define DOVR_CALLBACK*/ +/*#define ERR_CALLBACK*/ +/*#define WKUP_CALLBACK*/ +/*#define SUSP_CALLBACK*/ +/*#define RESET_CALLBACK*/ +#define SOF_CALLBACK +/*#define ESOF_CALLBACK*/ +/* CTR service routines */ +/* associated to defined endpoints */ +/*#define EP1_IN_Callback NOP_Process*/ +#define EP2_IN_Callback NOP_Process +#define EP3_IN_Callback NOP_Process +#define EP4_IN_Callback NOP_Process +#define EP5_IN_Callback NOP_Process +#define EP6_IN_Callback NOP_Process +#define EP7_IN_Callback NOP_Process + +#define EP1_OUT_Callback NOP_Process +#define EP2_OUT_Callback NOP_Process +/*#define EP3_OUT_Callback NOP_Process*/ +#define EP4_OUT_Callback NOP_Process +#define EP5_OUT_Callback NOP_Process +#define EP6_OUT_Callback NOP_Process +#define EP7_OUT_Callback NOP_Process + +#endif /* __USB_CONF_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_desc.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_desc.h new file mode 100644 index 0000000..6a26870 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_desc.h @@ -0,0 +1,66 @@ +/** + ****************************************************************************** + * @file usb_desc.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptor Header for Virtual COM Port Device + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_DESC_H +#define __USB_DESC_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ +#define USB_DEVICE_DESCRIPTOR_TYPE 0x01 +#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02 +#define USB_STRING_DESCRIPTOR_TYPE 0x03 +#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04 +#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05 + +#define VIRTUAL_COM_PORT_DATA_SIZE 64 +#define VIRTUAL_COM_PORT_INT_SIZE 8 + +#define VIRTUAL_COM_PORT_SIZ_DEVICE_DESC 18 +#define VIRTUAL_COM_PORT_SIZ_CONFIG_DESC 67 +#define VIRTUAL_COM_PORT_SIZ_STRING_LANGID 4 +#define VIRTUAL_COM_PORT_SIZ_STRING_VENDOR 38 +#define VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT 50 +#define VIRTUAL_COM_PORT_SIZ_STRING_SERIAL 26 + +#define STANDARD_ENDPOINT_DESC_SIZE 0x09 + +/* Exported functions ------------------------------------------------------- */ +extern const uint8_t Virtual_Com_Port_DeviceDescriptor[VIRTUAL_COM_PORT_SIZ_DEVICE_DESC]; +extern const uint8_t Virtual_Com_Port_ConfigDescriptor[VIRTUAL_COM_PORT_SIZ_CONFIG_DESC]; + +extern const uint8_t Virtual_Com_Port_StringLangID[VIRTUAL_COM_PORT_SIZ_STRING_LANGID]; +extern const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR]; +extern const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT]; +extern uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL]; + +#endif /* __USB_DESC_H */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_prop.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_prop.h new file mode 100644 index 0000000..bd81702 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_prop.h @@ -0,0 +1,87 @@ +/** + ****************************************************************************** + * @file usb_prop.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Virtual COM Port Demo (Endpoint 0) + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __usb_prop_H +#define __usb_prop_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef struct +{ + uint32_t bitrate; + uint8_t format; + uint8_t paritytype; + uint8_t datatype; +}LINE_CODING; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported define -----------------------------------------------------------*/ + +#define Virtual_Com_Port_GetConfiguration NOP_Process +//#define Virtual_Com_Port_SetConfiguration NOP_Process +#define Virtual_Com_Port_GetInterface NOP_Process +#define Virtual_Com_Port_SetInterface NOP_Process +#define Virtual_Com_Port_GetStatus NOP_Process +#define Virtual_Com_Port_ClearFeature NOP_Process +#define Virtual_Com_Port_SetEndPointFeature NOP_Process +#define Virtual_Com_Port_SetDeviceFeature NOP_Process +//#define Virtual_Com_Port_SetDeviceAddress NOP_Process + +#define SEND_ENCAPSULATED_COMMAND 0x00 +#define GET_ENCAPSULATED_RESPONSE 0x01 +#define SET_COMM_FEATURE 0x02 +#define GET_COMM_FEATURE 0x03 +#define CLEAR_COMM_FEATURE 0x04 +#define SET_LINE_CODING 0x20 +#define GET_LINE_CODING 0x21 +#define SET_CONTROL_LINE_STATE 0x22 +#define SEND_BREAK 0x23 + +/* Exported functions ------------------------------------------------------- */ +void Virtual_Com_Port_init(void); +void Virtual_Com_Port_Reset(void); +void Virtual_Com_Port_SetConfiguration(void); +void Virtual_Com_Port_SetDeviceAddress (void); +void Virtual_Com_Port_Status_In (void); +void Virtual_Com_Port_Status_Out (void); +RESULT Virtual_Com_Port_Data_Setup(uint8_t); +RESULT Virtual_Com_Port_NoData_Setup(uint8_t); +RESULT Virtual_Com_Port_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting); +uint8_t *Virtual_Com_Port_GetDeviceDescriptor(uint16_t ); +uint8_t *Virtual_Com_Port_GetConfigDescriptor(uint16_t); +uint8_t *Virtual_Com_Port_GetStringDescriptor(uint16_t); + +uint8_t *Virtual_Com_Port_GetLineCoding(uint16_t Length); +uint8_t *Virtual_Com_Port_SetLineCoding(uint16_t Length); + +#endif /* __usb_prop_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_pwr.h b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_pwr.h new file mode 100644 index 0000000..15255b2 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_pwr.h @@ -0,0 +1,72 @@ +/** + ****************************************************************************** + * @file usb_pwr.h + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management header + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __USB_PWR_H +#define __USB_PWR_H + +/* Includes ------------------------------------------------------------------*/ +/* Exported types ------------------------------------------------------------*/ +typedef enum _RESUME_STATE +{ + RESUME_EXTERNAL, + RESUME_INTERNAL, + RESUME_LATER, + RESUME_WAIT, + RESUME_START, + RESUME_ON, + RESUME_OFF, + RESUME_ESOF +} RESUME_STATE; + +typedef enum _DEVICE_STATE +{ + UNCONNECTED, + ATTACHED, + POWERED, + SUSPENDED, + ADDRESSED, + CONFIGURED +} DEVICE_STATE; + +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ +void Suspend(void); +void Resume_Init(void); +void Resume(RESUME_STATE eResumeSetVal); +RESULT PowerOn(void); +RESULT PowerOff(void); + +/* External variables --------------------------------------------------------*/ +extern __IO uint32_t bDeviceState; /* USB device status */ +extern __IO bool fSuspendEnabled; /* true when suspend is possible */ + +#endif /*__USB_PWR_H*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/readme.txt b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/readme.txt new file mode 100644 index 0000000..7f7e18a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/readme.txt @@ -0,0 +1,215 @@ +/** + ****************************************************************************** + * @file readme.txt + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Description of the USB Virtual_COM_Port Demo. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +Example description +=================== +In modern PCs, USB is the standard communication port for almost all peripherals. +However many industrial software applications still use the classic COM Port (UART). +The Virtual COM Port Demo provides a simple solution to bypass this problem; it +uses the USB-FS-Device as a COM port by affecting the legacy PC application designed for +COM Port communication. +This Virtual COM Port Demo provides the firmware examples for the STM32F10xxx,STM32L15xxx, +STM32F30xxx and STM32F37xxx families. + +Note that with this demo only the following configuration are supported: +-> 7bit data with parity (Even or Odd). +-> 8bit data with and without parity. + +This demo is using two different methods for the IN and OUT transfers in order +to manage the data rate difference between USB and USART buses: + + - OUT transfers (from Host to Device): + When a packet is received from the host on the OUT pipe (EP3), the Endpoint + callback function is called when the transfer is complete and all the received + data are then sent through USART peripheral in polling mode. This allows all + incoming OUT packets to be NAKed till the current packet is completely transferred + through the USART interface. + + - IN transfers (from Device to Host): + For IN data, a large circular buffer is used. USART and USB respectively write + and read to/from this buffer independently. + USART RXNE interrupt is used to write data into the buffer. This interrupt + has the highest priority, which allows to avoid overrun and data loss conditions. + USB IN endpoint (EP1) is written with the received data into the SOF interrupt + callback. + Into this callback, a frame counter counts the number of passed frames since + the last time IN endpoint was written. This allows to write IN endpoint at + separated frames when enough data are present in the data buffer. + To modify the number of frame between IN write operations, modify the value + of the define "VCOMPORT_IN_FRAME_INTERVAL" in "usb_endp.c" file. + To allow high data rate performance, SOF interrupt is managed with highest + priority (thus SOF interrupt is checked before all other interrupts). + + +More details about this Demo implementation is given in the User manual +"UM0424 STM32F10xxx USB development kit", available for download from the ST +microcontrollers website: www.st.com/stm32 + + +Directory contents +================== + + \inc: contains the Demo firmware header files + + \EWARM: contains preconfigured projects for EWARM toolchain + + \RIDE: contains preconfigured projects for RIDE toolchain + + \MDK-ARM: contains preconfigured projects for MDK-ARM toolchain + + \TASKNIG: contains preconfigured projects for TASKING toolchain + + \TrueSTUDIO: contains preconfigured projects for TrueSTUDIO toolchain + + \src: contains the Demo firmware source files + + +Hardware environment +==================== +This example runs these STMicroelectronics evaluation boards and can be easily tailored to any other hardware: + +- STM3210B-EVAL +- STM3210E-EVAL +- STM32L152-EVAL +- STM32F373C_EVAL +- STM32F303C_EVAL +- STM32L152D-EVAL + +To select the STMicroelectronics evaluation board used to run the example, uncomment +the corresponding line in platform_config.h file. + + - STM3210B-EVAL Set-up + - Jumper JP1 (USB disconnect) should be connected in position 2-3. + - Connect a null-modem female/female RS232 cable between the DB9 connector + CN6 and Host (PC) serial port. + + - STM3210E-EVAL Set-up + - Jumper JP14 (USB disconnect) should be connected in position 2-3. + - Connect a null-modem female/female RS232 cable between the DB9 connector + CN12 and Host (PC) serial port. + + - STM32L152-EVAL Set-up + - Jumper JP19 should be not connected. + - Jumper JP5 should be connected in 2-3 position (RS232) + - Connect a null-modem female/female RS232 cable between the DB9 connector + CN2 and Host (PC) serial port. + - The signal Bootloader_RESET (shared with CTS signal) HENSE USART cable with + RX,TX and GND lines ONLY is mandatory + + - STM32L152D-EVAL Set-up + - Jumper JP4 should be connected in 2-3 position (RS232) + - Connect a null-modem female/female RS232 cable between the DB9 connector + CN1 and Host (PC) serial port. + - In STM32L152D-EVAL RevB CTS pin is connected directly (without jumper) to MCU Reset: HENSE USART cable with + RX,TX and GND lines ONLY is mandatory. When using EVAL Rev A Put JP3 to position 2-3 + + - STM32F373C_EVAL Set-up + - Jumper JP6 should be connected in 2-3 position (RS232) + - Jumper JP7 should be connected in 1-2 position. + - Connect a null-modem female/female RS232 cable between the DB9 connector + CN12 and Host (PC) serial port. + + - STM32F303C_EVAL Set-up + - Jumper JP13 should be connected in 2-3 position (RS232) + - Connect a null-modem female/female RS232 cable between the DB9 connector + CN8 and Host (PC) serial port. + +How to use it +============= + + EWARM + - Open the VirtualCOMPort.eww workspace. + - In the workspace toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all + - Load project image: Project->Debug + - Run program: Debug->Go(F5) + + + MDK-ARM + - Open the VirtualCOMPort.Uv2 project + - In the build toolbar select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->Rebuild all target files + - Load project image: Debug->Start/Stop Debug Session + - Run program: Debug->Run (F5) + + + RIDE + - Open the VirtualCOMPort.rprj project. + - In the configuration toolbar(Project->properties) select the project config: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all files: Project->build project + - Load project image: Debug->start(ctrl+D) + - Run program: Debug->Run(ctrl+F9) + + + TASKING + - Open TASKING toolchain. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to TASKING workspace directory and select the project: + - STM3210B-EVAL: to configure the project for STM32 Medium-density devices + - STM3210E-EVAL: to configure the project for STM32 High-density devices + - STM3210E-EVAL_XL: to configure the project for STM32 XL-density devices + - STM32L152-EVAL: to configure the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + + + TrueSTUDIO + - Open the TrueSTUDIO toolchain. + - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace + directory. + - Click on File->Import, select General->'Existing Projects into Workspace' + and then click "Next". + - Browse to the TrueSTUDIO workspace directory and select the project: + - STM3210B-EVAL: to load the project for STM32 Medium-density devices + - STM3210E-EVAL: to load the project for STM32 High-density devices + - STM3210E_EVAL_XL: to load the project for STM32 XL-density devices + - STM32L152_EVAL: to load the project for STM32 Medium-Density Low-Power devices + - STM32L152D-EVAL: to configure the project for STM32 High-Density Low-Power devices + - STM32373C-EVAL: to configure the project for STM32F37xxx devices + - STM32303C-EVAL: to configure the project for STM32F30xxx devices + - Rebuild all project files: Select the project in the "Project explorer" + window then click on Project->build project menu. + - Run program: Select the project in the "Project explorer" window then click + Run->Debug (F11) + +************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****** diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/hw_config.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/hw_config.c new file mode 100644 index 0000000..5f58e7f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/hw_config.c @@ -0,0 +1,561 @@ +/** + ****************************************************************************** + * @file hw_config.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Hardware Configuration & Setup + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ + +#include "stm32_it.h" +#include "usb_lib.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "hw_config.h" +#include "usb_pwr.h" + + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +ErrorStatus HSEStartUpStatus; +USART_InitTypeDef USART_InitStructure; +EXTI_InitTypeDef EXTI_InitStructure; +uint8_t USART_Rx_Buffer [USART_RX_DATA_SIZE]; +uint32_t USART_Rx_ptr_in = 0; +uint32_t USART_Rx_ptr_out = 0; +uint32_t USART_Rx_length = 0; + +uint8_t USB_Tx_State = 0; +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len); +/* Extern variables ----------------------------------------------------------*/ + +extern LINE_CODING linecoding; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : Set_System +* Description : Configures Main system clocks & power +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_System(void) +{ +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* STM32L1XX_MD && STM32L1XX_XD */ + +#if defined(USB_USE_EXTERNAL_PULLUP) + GPIO_InitTypeDef GPIO_InitStructure; +#endif /* USB_USE_EXTERNAL_PULLUP */ + + /*!< At this stage the microcontroller clock setting is already configured, + this is done through SystemInit() function which is called from startup + file (startup_stm32f10x_xx.s) before to branch to application main. + To reconfigure the default setting of SystemInit() function, refer to + system_stm32f10x.c file + */ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) || defined(STM32F37X) || defined(STM32F30X) + /* Enable the SYSCFG module clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); +#endif /* STM32L1XX_XD */ + +#if !defined(STM32L1XX_MD) && !defined(STM32L1XX_HD) && !defined(STM32L1XX_MD_PLUS) && !defined(STM32F37X) && !defined(STM32F30X) + /* Enable USB_DISCONNECT GPIO clock */ + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO_DISCONNECT, ENABLE); + + /* Configure USB pull-up pin */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* STM32L1XX_MD && STM32L1XX_XD */ + +#if defined(USB_USE_EXTERNAL_PULLUP) + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* USB_USE_EXTERNAL_PULLUP */ + +#if defined(STM32F37X) || defined(STM32F30X) + + /* Enable the USB disconnect GPIO clock */ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO_DISCONNECT, ENABLE); + + /*Set PA11,12 as IN - USB_DM,DP*/ + RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(GPIOA, &GPIO_InitStructure); + + /*SET PA11,12 for USB: USB_DM,DP*/ + GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_14); + GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_14); + + /* USB_DISCONNECT used as USB pull-up */ + GPIO_InitStructure.GPIO_Pin = USB_DISCONNECT_PIN; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; + GPIO_Init(USB_DISCONNECT, &GPIO_InitStructure); +#endif /* STM32F37X && STM32F30X */ + + /* Configure the EXTI line 18 connected internally to the USB IP */ + EXTI_ClearITPendingBit(EXTI_Line18); + EXTI_InitStructure.EXTI_Line = EXTI_Line18; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); +} + +/******************************************************************************* +* Function Name : Set_USBClock +* Description : Configures USB Clock input (48MHz) +* Input : None. +* Return : None. +*******************************************************************************/ +void Set_USBClock(void) +{ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS) + /* Enable USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); + +#else + /* Select USBCLK source */ + RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); + + /* Enable the USB clock */ + RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : Enter_LowPowerMode +* Description : Power-off system clocks and power while entering suspend mode +* Input : None. +* Return : None. +*******************************************************************************/ +void Enter_LowPowerMode(void) +{ + /* Set the device state to suspend */ + bDeviceState = SUSPENDED; +} + +/******************************************************************************* +* Function Name : Leave_LowPowerMode +* Description : Restores system clocks and power while exiting suspend mode +* Input : None. +* Return : None. +*******************************************************************************/ +void Leave_LowPowerMode(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + /* Set the device state to the correct state */ + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } + else + { + bDeviceState = ATTACHED; + } + /*Enable SystemCoreClock*/ + SystemInit(); +} + +/******************************************************************************* +* Function Name : USB_Interrupts_Config +* Description : Configures the USB interrupts +* Input : None. +* Return : None. +*******************************************************************************/ +void USB_Interrupts_Config(void) +{ + NVIC_InitTypeDef NVIC_InitStructure; + + /* 2 bit for pre-emption priority, 2 bits for subpriority */ + NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_FS_WKUP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#elif defined(STM32F37X) + /* Enable the USB interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + +#else + NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + /* Enable the USB Wake-up interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = USBWakeUp_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; + NVIC_Init(&NVIC_InitStructure); +#endif /* STM32L1XX_XD */ + + /* Enable USART Interrupt */ + NVIC_InitStructure.NVIC_IRQChannel = EVAL_COM1_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_Init(&NVIC_InitStructure); +} + +/******************************************************************************* +* Function Name : USB_Cable_Config +* Description : Software Connection/Disconnection of USB Cable +* Input : None. +* Return : Status +*******************************************************************************/ +void USB_Cable_Config (FunctionalState NewState) +{ +#if defined(STM32L1XX_MD) || defined (STM32L1XX_HD)|| (STM32L1XX_MD_PLUS) + if (NewState != DISABLE) + { + STM32L15_USB_CONNECT; + } + else + { + STM32L15_USB_DISCONNECT; + } + +#else /* USE_STM3210B_EVAL or USE_STM3210E_EVAL */ + if (NewState != DISABLE) + { + GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } + else + { + GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN); + } +#endif /* STM32L1XX_MD */ +} + +/******************************************************************************* +* Function Name : USART_Config_Default. +* Description : configure the EVAL_COM1 with default values. +* Input : None. +* Return : None. +*******************************************************************************/ +void USART_Config_Default(void) +{ + /* EVAL_COM1 default configuration */ + /* EVAL_COM1 configured as follow: + - BaudRate = 9600 baud + - Word Length = 8 Bits + - One Stop Bit + - Parity Odd + - Hardware flow control disabled + - Receive and transmit enabled + */ + USART_InitStructure.USART_BaudRate = 9600; + USART_InitStructure.USART_WordLength = USART_WordLength_8b; + USART_InitStructure.USART_StopBits = USART_StopBits_1; + USART_InitStructure.USART_Parity = USART_Parity_Odd; + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; + USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; + + /* Configure and enable the USART */ + STM_EVAL_COMInit(COM1, &USART_InitStructure); + + /* Enable the USART Receive interrupt */ + USART_ITConfig(EVAL_COM1, USART_IT_RXNE, ENABLE); +} + +/******************************************************************************* +* Function Name : USART_Config. +* Description : Configure the EVAL_COM1 according to the line coding structure. +* Input : None. +* Return : Configuration status + TRUE : configuration done with success + FALSE : configuration aborted. +*******************************************************************************/ +bool USART_Config(void) +{ + + /* set the Stop bit*/ + switch (linecoding.format) + { + case 0: + USART_InitStructure.USART_StopBits = USART_StopBits_1; + break; + case 1: + USART_InitStructure.USART_StopBits = USART_StopBits_1_5; + break; + case 2: + USART_InitStructure.USART_StopBits = USART_StopBits_2; + break; + default : + { + USART_Config_Default(); + return (FALSE); + } + } + + /* set the parity bit*/ + switch (linecoding.paritytype) + { + case 0: + USART_InitStructure.USART_Parity = USART_Parity_No; + break; + case 1: + USART_InitStructure.USART_Parity = USART_Parity_Even; + break; + case 2: + USART_InitStructure.USART_Parity = USART_Parity_Odd; + break; + default : + { + USART_Config_Default(); + return (FALSE); + } + } + + /*set the data type : only 8bits and 9bits is supported */ + switch (linecoding.datatype) + { + case 0x07: + /* With this configuration a parity (Even or Odd) should be set */ + USART_InitStructure.USART_WordLength = USART_WordLength_8b; + break; + case 0x08: + if (USART_InitStructure.USART_Parity == USART_Parity_No) + { + USART_InitStructure.USART_WordLength = USART_WordLength_8b; + } + else + { + USART_InitStructure.USART_WordLength = USART_WordLength_9b; + } + + break; + default : + { + USART_Config_Default(); + return (FALSE); + } + } + + USART_InitStructure.USART_BaudRate = linecoding.bitrate; + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; + USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; + + /* Configure and enable the USART */ + STM_EVAL_COMInit(COM1, &USART_InitStructure); + + return (TRUE); +} + +/******************************************************************************* +* Function Name : USB_To_USART_Send_Data. +* Description : send the received data from USB to the UART 0. +* Input : data_buffer: data address. + Nb_bytes: number of bytes to send. +* Return : none. +*******************************************************************************/ +void USB_To_USART_Send_Data(uint8_t* data_buffer, uint8_t Nb_bytes) +{ + + uint32_t i; + + for (i = 0; i < Nb_bytes; i++) + { + USART_SendData(EVAL_COM1, *(data_buffer + i)); + while(USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TXE) == RESET); + } +} + +/******************************************************************************* +* Function Name : Handle_USBAsynchXfer. +* Description : send data to USB. +* Input : None. +* Return : none. +*******************************************************************************/ +void Handle_USBAsynchXfer (void) +{ + + uint16_t USB_Tx_ptr; + uint16_t USB_Tx_length; + + if(USB_Tx_State != 1) + { + if (USART_Rx_ptr_out == USART_RX_DATA_SIZE) + { + USART_Rx_ptr_out = 0; + } + + if(USART_Rx_ptr_out == USART_Rx_ptr_in) + { + USB_Tx_State = 0; + return; + } + + if(USART_Rx_ptr_out > USART_Rx_ptr_in) /* rollback */ + { + USART_Rx_length = USART_RX_DATA_SIZE - USART_Rx_ptr_out; + } + else + { + USART_Rx_length = USART_Rx_ptr_in - USART_Rx_ptr_out; + } + + if (USART_Rx_length > VIRTUAL_COM_PORT_DATA_SIZE) + { + USB_Tx_ptr = USART_Rx_ptr_out; + USB_Tx_length = VIRTUAL_COM_PORT_DATA_SIZE; + + USART_Rx_ptr_out += VIRTUAL_COM_PORT_DATA_SIZE; + USART_Rx_length -= VIRTUAL_COM_PORT_DATA_SIZE; + } + else + { + USB_Tx_ptr = USART_Rx_ptr_out; + USB_Tx_length = USART_Rx_length; + + USART_Rx_ptr_out += USART_Rx_length; + USART_Rx_length = 0; + } + USB_Tx_State = 1; + UserToPMABufferCopy(&USART_Rx_Buffer[USB_Tx_ptr], ENDP1_TXADDR, USB_Tx_length); + SetEPTxCount(ENDP1, USB_Tx_length); + SetEPTxValid(ENDP1); + } + +} +/******************************************************************************* +* Function Name : UART_To_USB_Send_Data. +* Description : send the received data from UART 0 to USB. +* Input : None. +* Return : none. +*******************************************************************************/ +void USART_To_USB_Send_Data(void) +{ + + if (linecoding.datatype == 7) + { + USART_Rx_Buffer[USART_Rx_ptr_in] = USART_ReceiveData(EVAL_COM1) & 0x7F; + } + else if (linecoding.datatype == 8) + { + USART_Rx_Buffer[USART_Rx_ptr_in] = USART_ReceiveData(EVAL_COM1); + } + + USART_Rx_ptr_in++; + + /* To avoid buffer overflow */ + if(USART_Rx_ptr_in == USART_RX_DATA_SIZE) + { + USART_Rx_ptr_in = 0; + } +} + +/******************************************************************************* +* Function Name : Get_SerialNum. +* Description : Create the serial number string descriptor. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Get_SerialNum(void) +{ + uint32_t Device_Serial0, Device_Serial1, Device_Serial2; + + Device_Serial0 = *(uint32_t*)ID1; + Device_Serial1 = *(uint32_t*)ID2; + Device_Serial2 = *(uint32_t*)ID3; + + Device_Serial0 += Device_Serial2; + + if (Device_Serial0 != 0) + { + IntToUnicode (Device_Serial0, &Virtual_Com_Port_StringSerial[2] , 8); + IntToUnicode (Device_Serial1, &Virtual_Com_Port_StringSerial[18], 4); + } +} + +/******************************************************************************* +* Function Name : HexToChar. +* Description : Convert Hex 32Bits value into char. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +static void IntToUnicode (uint32_t value , uint8_t *pbuf , uint8_t len) +{ + uint8_t idx = 0; + + for( idx = 0 ; idx < len ; idx ++) + { + if( ((value >> 28)) < 0xA ) + { + pbuf[ 2* idx] = (value >> 28) + '0'; + } + else + { + pbuf[2* idx] = (value >> 28) + 'A' - 10; + } + + value = value << 4; + + pbuf[ 2* idx + 1] = 0; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/main.c new file mode 100644 index 0000000..0476650 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/main.c @@ -0,0 +1,82 @@ +/** + ****************************************************************************** + * @file main.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Virtual Com Port Demo main file + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : main. +* Description : Main routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +int main(void) +{ + Set_System(); + Set_USBClock(); + USB_Interrupts_Config(); + USB_Init(); + + while (1) + { + } +} +#ifdef USE_FULL_ASSERT +/******************************************************************************* +* Function Name : assert_failed +* Description : Reports the name of the source file and the source line number +* where the assert_param error has occurred. +* Input : - file: pointer to the source file name +* - line: assert_param error line source number +* Output : None +* Return : None +*******************************************************************************/ +void assert_failed(uint8_t* file, uint32_t line) +{ + /* User can add his own implementation to report the file name and line number, + ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ + + /* Infinite loop */ + while (1) + {} +} +#endif + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/stm32_it.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/stm32_it.c new file mode 100644 index 0000000..1c081f4 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/stm32_it.c @@ -0,0 +1,236 @@ +/** + ****************************************************************************** + * @file stm32_it.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Main Interrupt Service Routines. + * This file provides template for all exceptions handler and peripherals + * interrupt service routine. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/* Includes ------------------------------------------------------------------*/ +#include "hw_config.h" +#include "stm32_it.h" +#include "usb_lib.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************/ +/* Cortex-M Processor Exceptions Handlers */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : NMI_Handler +* Description : This function handles NMI exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void NMI_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : HardFault_Handler +* Description : This function handles Hard Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void HardFault_Handler(void) +{ + /* Go to infinite loop when Hard Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : MemManage_Handler +* Description : This function handles Memory Manage exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void MemManage_Handler(void) +{ + /* Go to infinite loop when Memory Manage exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : BusFault_Handler +* Description : This function handles Bus Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void BusFault_Handler(void) +{ + /* Go to infinite loop when Bus Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : UsageFault_Handler +* Description : This function handles Usage Fault exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void UsageFault_Handler(void) +{ + /* Go to infinite loop when Usage Fault exception occurs */ + while (1) + { + } +} + +/******************************************************************************* +* Function Name : SVC_Handler +* Description : This function handles SVCall exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SVC_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : DebugMon_Handler +* Description : This function handles Debug Monitor exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void DebugMon_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : PendSV_Handler +* Description : This function handles PendSVC exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void PendSV_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : SysTick_Handler +* Description : This function handles SysTick Handler. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void SysTick_Handler(void) +{ +} + +/******************************************************************************* +* Function Name : USB_IRQHandler +* Description : This function handles USB Low Priority interrupts +* requests. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined (STM32F37X) +void USB_LP_IRQHandler(void) +#else +void USB_LP_CAN1_RX0_IRQHandler(void) +#endif +{ + USB_Istr(); +} + +/******************************************************************************* +* Function Name : EVAL_COM1_IRQHandler +* Description : This function handles EVAL_COM1 global interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void EVAL_COM1_IRQHandler(void) +{ + if (USART_GetITStatus(EVAL_COM1, USART_IT_RXNE) != RESET) + { + /* Send the received data to the PC Host*/ + USART_To_USB_Send_Data(); + } + + /* If overrun condition occurs, clear the ORE flag and recover communication */ + if (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_ORE) != RESET) + { + (void)USART_ReceiveData(EVAL_COM1); + } +} + +/******************************************************************************* +* Function Name : USB_FS_WKUP_IRQHandler +* Description : This function handles USB WakeUp interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ + +#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS) +void USB_FS_WKUP_IRQHandler(void) +#else +void USBWakeUp_IRQHandler(void) +#endif +{ + EXTI_ClearITPendingBit(EXTI_Line18); +} + +/******************************************************************************/ +/* STM32 Peripherals Interrupt Handlers */ +/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ +/* available peripheral interrupt handler's name please refer to the startup */ +/* file (startup_stm32xxx.s). */ +/******************************************************************************/ + +/******************************************************************************* +* Function Name : PPP_IRQHandler +* Description : This function handles PPP interrupt request. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +/*void PPP_IRQHandler(void) +{ +}*/ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f10x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f10x.c new file mode 100644 index 0000000..3686a2f --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f10x.c @@ -0,0 +1,917 @@ +/** + ****************************************************************************** + * @file system_stm32f10x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * factors, AHB/APBx prescalers and Flash settings). + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f10x_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f10x_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depedning on + * the product used), refer to "HSE_VALUE" define in "stm32f10x.h" file. + * When HSE is used as system clock source, directly or through PLL, and you + * are using different crystal you have to adapt the HSE value to your own + * configuration. + * + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32f10x_system + * @{ + */ + +/** @addtogroup STM32F10x_System_Private_Includes + * @{ + */ + +#include "stm32f10x.h" + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the line corresponding to the desired System clock (SYSCLK) + frequency (after reset the HSI is used as SYSCLK source) + + IMPORTANT NOTE: + ============== + 1. After each device reset the HSI is used as System clock source. + + 2. Please make sure that the selected System clock doesn't exceed your device's + maximum frequency. + + 3. If none of the define below is enabled, the HSI is used as System clock + source. + + 4. The System clock configuration functions provided within this file assume that: + - For Low, Medium and High density Value line devices an external 8MHz + crystal is used to drive the System clock. + - For Low, Medium and High density devices an external 8MHz crystal is + used to drive the System clock. + - For Connectivity line devices an external 25MHz crystal is used to drive + the System clock. + If you are using different crystal you have to adapt those functions accordingly. + */ + +#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ + #define SYSCLK_FREQ_24MHz 24000000 +#else +/* #define SYSCLK_FREQ_HSE HSE_VALUE */ +/* #define SYSCLK_FREQ_24MHz 24000000 */ +/* #define SYSCLK_FREQ_36MHz 36000000 */ +/* #define SYSCLK_FREQ_48MHz 48000000 */ +/* #define SYSCLK_FREQ_56MHz 56000000 */ +#define SYSCLK_FREQ_72MHz 72000000 +#endif + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM3210E-EVAL board (STM32 High density and XL-density devices) or on + STM32100E-EVAL board (STM32 High-density value line devices) as data memory */ +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) +/* #define DATA_IN_ExtSRAM */ +#endif + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ + + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Variables + * @{ + */ + +/******************************************************************************* +* Clock Definitions +*******************************************************************************/ +#ifdef SYSCLK_FREQ_HSE + uint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_24MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_36MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_48MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_56MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */ +#elif defined SYSCLK_FREQ_72MHz + uint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */ +#else /*!< HSI Selected as System Clock source */ + uint32_t SystemCoreClock = HSI_VALUE; /*!< System Clock Frequency (Core Clock) */ +#endif + +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +#ifdef SYSCLK_FREQ_HSE + static void SetSysClockToHSE(void); +#elif defined SYSCLK_FREQ_24MHz + static void SetSysClockTo24(void); +#elif defined SYSCLK_FREQ_36MHz + static void SetSysClockTo36(void); +#elif defined SYSCLK_FREQ_48MHz + static void SetSysClockTo48(void); +#elif defined SYSCLK_FREQ_56MHz + static void SetSysClockTo56(void); +#elif defined SYSCLK_FREQ_72MHz + static void SetSysClockTo72(void); +#endif + +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32F10x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ + + RCC->CFGR &= (uint32_t)0xF8FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; + + /* Reset CFGR2 register */ + RCC->CFGR2 = 0x00000000; +#else + /* Disable all interrupts and clear pending bits */ + RCC->CIR = 0x009F0000; +#endif /* STM32F10X_XX */ + +#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL) + #ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); + #endif /* DATA_IN_ExtSRAM */ +#endif + + /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */ + /* Configure the Flash Latency cycles and enable prefetch buffer */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock variable according to Clock Register Values. + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value + * 8 MHz or 25 MHz, depending on the product used), user has to ensure + * that HSE_VALUE is same as the real frequency of the crystal used. + * Otherwise, this function may have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + uint32_t prediv1factor = 0; +#endif /* STM32F10X_LD_VL or STM32F10X_MD_VL or STM32F10X_HD_VL */ + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + #else + /* HSE selected as PLL clock entry */ + if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) + {/* HSE oscillator clock divided by 2 */ + SystemCoreClock = (HSE_VALUE >> 1) * pllmull; + } + else + { + SystemCoreClock = HSE_VALUE * pllmull; + } + #endif + } + + break; + + default: + SystemCoreClock = HSI_VALUE; + break; + } + + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers. + * @param None + * @retval None + */ +static void SetSysClock(void) +{ +#ifdef SYSCLK_FREQ_HSE + SetSysClockToHSE(); +#elif defined SYSCLK_FREQ_24MHz + SetSysClockTo24(); +#elif defined SYSCLK_FREQ_36MHz + SetSysClockTo36(); +#elif defined SYSCLK_FREQ_48MHz + SetSysClockTo48(); +#elif defined SYSCLK_FREQ_56MHz + SetSysClockTo56(); +#elif defined SYSCLK_FREQ_72MHz + SetSysClockTo72(); +#endif + + /* If none of the define above is enabled, the HSI is used as System clock + source (default after reset) */ +} + +/** + * @brief Setup the external memory controller. Called in startup_stm32f10x.s + * before jump to __main + * @param None + * @retval None + */ +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in startup_stm32f10x_xx.s/.c before jump to main. + * This function configures the external SRAM mounted on STM3210E-EVAL + * board (STM32 High density devices). This SRAM will be used as program + * data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is + required, then adjust the Register Addresses */ + + /* Enable FSMC clock */ + RCC->AHBENR = 0x00000114; + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ + RCC->APB2ENR = 0x000001E0; + +/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ +/*---------------- SRAM Address lines configuration -------------------------*/ +/*---------------- NOE and NWE configuration --------------------------------*/ +/*---------------- NE3 configuration ----------------------------------------*/ +/*---------------- NBL0, NBL1 configuration ---------------------------------*/ + + GPIOD->CRL = 0x44BB44BB; + GPIOD->CRH = 0xBBBBBBBB; + + GPIOE->CRL = 0xB44444BB; + GPIOE->CRH = 0xBBBBBBBB; + + GPIOF->CRL = 0x44BBBBBB; + GPIOF->CRH = 0xBBBB4444; + + GPIOG->CRL = 0x44BBBBBB; + GPIOG->CRH = 0x44444B44; + +/*---------------- FSMC Configuration ---------------------------------------*/ +/*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ + + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000200; +} +#endif /* DATA_IN_ExtSRAM */ + +#ifdef SYSCLK_FREQ_HSE +/** + * @brief Selects HSE as System clock source and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockToHSE(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* Select HSE as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_HSE; + + /* Wait till HSE is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x04) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_24MHz +/** + * @brief Sets System clock frequency to 24MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo24(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { +#if !defined STM32F10X_LD_VL && !defined STM32F10X_MD_VL && !defined STM32F10X_HD_VL + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 0 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0; +#endif + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + +#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6); +#else + /* PLL configuration: = (HSE / 2) * 6 = 24 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6); +#endif /* STM32F10X_XX */ + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_36MHz +/** + * @brief Sets System clock frequency to 36MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo36(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration: PLLCLK = (HSE / 2) * 9 = 36 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#elif defined SYSCLK_FREQ_48MHz +/** + * @brief Sets System clock frequency to 48MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo48(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 1 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 6 = 48 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_56MHz +/** + * @brief Sets System clock frequency to 56MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo56(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + + /* PLL configuration: PLLCLK = HSE * 7 = 56 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL7); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#elif defined SYSCLK_FREQ_72MHz +/** + * @brief Sets System clock frequency to 72MHz and configure HCLK, PCLK2 + * and PCLK1 prescalers. + * @note This function should be used only after reset. + * @param None + * @retval None + */ +static void SetSysClockTo72(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTBE; + + /* Flash 2 wait state */ + FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); + FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; + + + /* HCLK = SYSCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | + RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} +#endif + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f37x.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f37x.c new file mode 100644 index 0000000..943f188 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32f37x.c @@ -0,0 +1,380 @@ +/** + ****************************************************************************** + * @file system_stm32f37x.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32F37x devices, + * and is generated by the clock configuration tool + * STM32f37x_Clock_Configuration_V1.0.0.xls + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32f37x.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the HSI (8 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32f37x.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and HSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" defined + * in "stm32f37x.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * Supported STM32F37x device + *============================================================================= + * System Clock source | PLL (HSE) + *----------------------------------------------------------------------------- + * SYSCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * HCLK(Hz) | 72000000 + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 2 + *----------------------------------------------------------------------------- + * HSE Frequency(Hz) | 8000000 + *---------------------------------------------------------------------------- + * PLLMUL | 9 + *----------------------------------------------------------------------------- + * PREDIV | 1 + *----------------------------------------------------------------------------- + * USB Clock | ENABLE + *----------------------------------------------------------------------------- + * Flash Latency(WS) | 2 + *----------------------------------------------------------------------------- + * Prefetch Buffer | ON + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup STM32F37x_System + * @{ + */ + +/** @addtogroup STM32F37x_System_Private_Includes + * @{ + */ + +#include "stm32f37x.h" + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 72000000; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); + +/** + * @} + */ + +/** @addtogroup STM32F37x_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontrollers system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /* FPU settings ------------------------------------------------------------*/ + #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) + SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ + #endif + + /* Set HSION bit */ + RCC->CR |= (uint32_t)0x00000001; + + /* Reset SW[1:0], HPRE[3:0], PPRE[2:0], ADCPRE, SDADCPRE and MCOSEL[2:0] bits */ + RCC->CFGR &= (uint32_t)0x00FF0000; + + /* Reset HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xFEF6FFFF; + + /* Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE bits */ + RCC->CFGR &= (uint32_t)0xFF80FFFF; + + /* Reset PREDIV1[3:0] bits */ + RCC->CFGR2 &= (uint32_t)0xFFFFFFF0; + + /* Reset USARTSW[1:0], I2CSW and CECSW bits */ + RCC->CFGR3 &= (uint32_t)0xFFF0F8C; + + /* Disable all interrupts */ + RCC->CIR = 0x00000000; + +/* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32f37x.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmull = 0, pllsource = 0, prediv1factor = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x04: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x08: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + pllmull = ( pllmull >> 18) + 2; + + if (pllsource == 0x00) + { + /* HSI oscillator clock divided by 2 selected as PLL clock entry */ + SystemCoreClock = (HSI_VALUE >> 1) * pllmull; + } + else + { + prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; + /* HSE oscillator clock selected as PREDIV1 clock entry */ + SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; + } + break; + default: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + } + /* Compute HCLK clock frequency ----------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable Prefetch Buffer and set Flash Latency */ + FLASH->ACR = FLASH_ACR_PRFTBE | (uint32_t)FLASH_ACR_LATENCY_1; + + /* HCLK = SYSCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK / 1 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK / 2 */ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL9); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32l1xx.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32l1xx.c new file mode 100644 index 0000000..1be659d --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/system_stm32l1xx.c @@ -0,0 +1,533 @@ +/** + ****************************************************************************** + * @file system_stm32l1xx.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. + * This file contains the system clock configuration for STM32L1xx Ultra + * Low Power devices, and is generated by the clock configuration + * tool "STM32L1xx_Clock_Configuration_V1.1.0.xls". + * + * 1. This file provides two functions and one global variable to be called from + * user application: + * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier + * and Divider factors, AHB/APBx prescalers and Flash settings), + * depending on the configuration made in the clock xls tool. + * This function is called at startup just after reset and + * before branch to main program. This call is made inside + * the "startup_stm32l1xx_xx.s" file. + * + * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used + * by the user application to setup the SysTick + * timer or configure other parameters. + * + * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must + * be called whenever the core clock is changed + * during program execution. + * + * 2. After each device reset the MSI (2.1 MHz Range) is used as system clock source. + * Then SystemInit() function is called, in "startup_stm32l1xx_xx.s" file, to + * configure the system clock before to branch to main program. + * + * 3. If the system clock source selected by user fails to startup, the SystemInit() + * function will do nothing and MSI still used as system clock source. User can + * add some code to deal with this issue inside the SetSysClock() function. + * + * 4. The default value of HSE crystal is set to 8MHz, refer to "HSE_VALUE" define + * in "stm32l1xx.h" file. When HSE is used as system clock source, directly or + * through PLL, and you are using different crystal you have to adapt the HSE + * value to your own configuration. + * + * 5. This file configures the system clock as follows: + *============================================================================= + * System Clock Configuration + *============================================================================= + * System Clock source | PLL(HSE) + *----------------------------------------------------------------------------- + * SYSCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * HCLK | 32000000 Hz + *----------------------------------------------------------------------------- + * AHB Prescaler | 1 + *----------------------------------------------------------------------------- + * APB1 Prescaler | 1 + *----------------------------------------------------------------------------- + * APB2 Prescaler | 1 + *----------------------------------------------------------------------------- + * HSE Frequency | 8000000 Hz + *----------------------------------------------------------------------------- + * PLL DIV | 3 + *----------------------------------------------------------------------------- + * PLL MUL | 12 + *----------------------------------------------------------------------------- + * VDD | 3.3 V + *----------------------------------------------------------------------------- + * Vcore | 1.8 V (Range 1) + *----------------------------------------------------------------------------- + * Flash Latency | 1 WS + *----------------------------------------------------------------------------- + * SDIO clock (SDIOCLK) | 48000000 Hz + *----------------------------------------------------------------------------- + * Require 48MHz for USB clock | Disabled + *----------------------------------------------------------------------------- + *============================================================================= + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +/** @addtogroup CMSIS + * @{ + */ + +/** @addtogroup stm32l1xx_system + * @{ + */ + +/** @addtogroup STM32L1xx_System_Private_Includes + * @{ + */ + +#include "stm32l1xx.h" + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_TypesDefinitions + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Defines + * @{ + */ + +/*!< Uncomment the following line if you need to use external SRAM mounted + on STM32L152D_EVAL board as data memory */ +/* #define DATA_IN_ExtSRAM */ + +/*!< Uncomment the following line if you need to relocate your vector Table in + Internal SRAM. */ +/* #define VECT_TAB_SRAM */ +#define VECT_TAB_OFFSET 0x0 /*!< Vector Table base offset field. + This value must be a multiple of 0x200. */ +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Macros + * @{ + */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Variables + * @{ + */ +uint32_t SystemCoreClock = 32000000; +__I uint8_t PLLMulTable[9] = {3, 4, 6, 8, 12, 16, 24, 32, 48}; +__I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes + * @{ + */ + +static void SetSysClock(void); +#ifdef DATA_IN_ExtSRAM + static void SystemInit_ExtMemCtl(void); +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** @addtogroup STM32L1xx_System_Private_Functions + * @{ + */ + +/** + * @brief Setup the microcontroller system. + * Initialize the Embedded Flash Interface, the PLL and update the + * SystemCoreClock variable. + * @param None + * @retval None + */ +void SystemInit (void) +{ + /*!< Set MSION bit */ + RCC->CR |= (uint32_t)0x00000100; + + /*!< Reset SW[1:0], HPRE[3:0], PPRE1[2:0], PPRE2[2:0], MCOSEL[2:0] and MCOPRE[2:0] bits */ + RCC->CFGR &= (uint32_t)0x88FFC00C; + + /*!< Reset HSION, HSEON, CSSON and PLLON bits */ + RCC->CR &= (uint32_t)0xEEFEFFFE; + + /*!< Reset HSEBYP bit */ + RCC->CR &= (uint32_t)0xFFFBFFFF; + + /*!< Reset PLLSRC, PLLMUL[3:0] and PLLDIV[1:0] bits */ + RCC->CFGR &= (uint32_t)0xFF02FFFF; + + /*!< Disable all interrupts */ + RCC->CIR = 0x00000000; + +#ifdef DATA_IN_ExtSRAM + SystemInit_ExtMemCtl(); +#endif /* DATA_IN_ExtSRAM */ + + /* Configure the System clock frequency, AHB/APBx prescalers and Flash settings */ + SetSysClock(); + +#ifdef VECT_TAB_SRAM + SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ +#else + SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ +#endif +} + +/** + * @brief Update SystemCoreClock according to Clock Register Values + * The SystemCoreClock variable contains the core clock (HCLK), it can + * be used by the user application to setup the SysTick timer or configure + * other parameters. + * + * @note Each time the core clock (HCLK) changes, this function must be called + * to update SystemCoreClock variable value. Otherwise, any configuration + * based on this variable will be incorrect. + * + * @note - The system frequency computed by this function is not the real + * frequency in the chip. It is calculated based on the predefined + * constant and the selected clock source: + * + * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI + * value as defined by the MSI range. + * + * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) + * + * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) + * + * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) + * or HSI_VALUE(*) multiplied/divided by the PLL factors. + * + * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value + * 16 MHz) but the real value may vary depending on the variations + * in voltage and temperature. + * + * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value + * 8 MHz), user has to ensure that HSE_VALUE is same as the real + * frequency of the crystal used. Otherwise, this function may + * have wrong result. + * + * - The result of this function could be not correct when using fractional + * value for HSE crystal. + * @param None + * @retval None + */ +void SystemCoreClockUpdate (void) +{ + uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0; + + /* Get SYSCLK source -------------------------------------------------------*/ + tmp = RCC->CFGR & RCC_CFGR_SWS; + + switch (tmp) + { + case 0x00: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + case 0x04: /* HSI used as system clock */ + SystemCoreClock = HSI_VALUE; + break; + case 0x08: /* HSE used as system clock */ + SystemCoreClock = HSE_VALUE; + break; + case 0x0C: /* PLL used as system clock */ + /* Get PLL clock source and multiplication factor ----------------------*/ + pllmul = RCC->CFGR & RCC_CFGR_PLLMUL; + plldiv = RCC->CFGR & RCC_CFGR_PLLDIV; + pllmul = PLLMulTable[(pllmul >> 18)]; + plldiv = (plldiv >> 22) + 1; + + pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; + + if (pllsource == 0x00) + { + /* HSI oscillator clock selected as PLL clock entry */ + SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv); + } + else + { + /* HSE selected as PLL clock entry */ + SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv); + } + break; + default: /* MSI used as system clock */ + msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13; + SystemCoreClock = (32768 * (1 << (msirange + 1))); + break; + } + /* Compute HCLK clock frequency --------------------------------------------*/ + /* Get HCLK prescaler */ + tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; + /* HCLK clock frequency */ + SystemCoreClock >>= tmp; +} + +/** + * @brief Configures the System clock frequency, AHB/APBx prescalers and Flash + * settings. + * @note This function should be called only once the RCC clock configuration + * is reset to the default reset state (done in SystemInit() function). + * @param None + * @retval None + */ +static void SetSysClock(void) +{ + __IO uint32_t StartUpCounter = 0, HSEStatus = 0; + + /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ + /* Enable HSE */ + RCC->CR |= ((uint32_t)RCC_CR_HSEON); + + /* Wait till HSE is ready and if Time out is reached exit */ + do + { + HSEStatus = RCC->CR & RCC_CR_HSERDY; + StartUpCounter++; + } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); + + if ((RCC->CR & RCC_CR_HSERDY) != RESET) + { + HSEStatus = (uint32_t)0x01; + } + else + { + HSEStatus = (uint32_t)0x00; + } + + if (HSEStatus == (uint32_t)0x01) + { + /* Enable 64-bit access */ + FLASH->ACR |= FLASH_ACR_ACC64; + + /* Enable Prefetch Buffer */ + FLASH->ACR |= FLASH_ACR_PRFTEN; + + /* Flash 1 wait state */ + FLASH->ACR |= FLASH_ACR_LATENCY; + + /* Power enable */ + RCC->APB1ENR |= RCC_APB1ENR_PWREN; + + /* Select the Voltage Range 1 (1.8 V) */ + PWR->CR = PWR_CR_VOS_0; + + /* Wait Until the Voltage Regulator is ready */ + while((PWR->CSR & PWR_CSR_VOSF) != RESET) + { + } + + /* HCLK = SYSCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; + + /* PCLK2 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; + + /* PCLK1 = HCLK /1*/ + RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1; + + /* PLL configuration */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL | + RCC_CFGR_PLLDIV)); + RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMUL12 | RCC_CFGR_PLLDIV3); + + /* Enable PLL */ + RCC->CR |= RCC_CR_PLLON; + + /* Wait till PLL is ready */ + while((RCC->CR & RCC_CR_PLLRDY) == 0) + { + } + + /* Select PLL as system clock source */ + RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); + RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; + + /* Wait till PLL is used as system clock source */ + while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)RCC_CFGR_SWS_PLL) + { + } + } + else + { + /* If HSE fails to start-up, the application will have wrong clock + configuration. User can add here some code to deal with this error */ + } +} + +#ifdef DATA_IN_ExtSRAM +/** + * @brief Setup the external memory controller. + * Called in SystemInit() function before jump to main. + * This function configures the external SRAM mounted on STM32L152D_EVAL board + * This SRAM will be used as program data memory (including heap and stack). + * @param None + * @retval None + */ +void SystemInit_ExtMemCtl(void) +{ +/*-- GPIOs Configuration -----------------------------------------------------*/ +/* + +-------------------+--------------------+------------------+------------------+ + + SRAM pins assignment + + +-------------------+--------------------+------------------+------------------+ + | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | + | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | + | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | + | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | + | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | + | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | + | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 | + | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ + | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | + | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | + | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+ + | PD15 <-> FSMC_D1 |--------------------+ + +-------------------+ +*/ + + /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ + RCC->AHBENR = 0x000080D8; + + /* Connect PDx pins to FSMC Alternate function */ + GPIOD->AFR[0] = 0x00CC00CC; + GPIOD->AFR[1] = 0xCCCCCCCC; + /* Configure PDx pins in Alternate function mode */ + GPIOD->MODER = 0xAAAA0A0A; + /* Configure PDx pins speed to 40 MHz */ + GPIOD->OSPEEDR = 0xFFFF0F0F; + /* Configure PDx pins Output type to push-pull */ + GPIOD->OTYPER = 0x00000000; + /* No pull-up, pull-down for PDx pins */ + GPIOD->PUPDR = 0x00000000; + + /* Connect PEx pins to FSMC Alternate function */ + GPIOE->AFR[0] = 0xC00000CC; + GPIOE->AFR[1] = 0xCCCCCCCC; + /* Configure PEx pins in Alternate function mode */ + GPIOE->MODER = 0xAAAA800A; + /* Configure PEx pins speed to 40 MHz */ + GPIOE->OSPEEDR = 0xFFFFC00F; + /* Configure PEx pins Output type to push-pull */ + GPIOE->OTYPER = 0x00000000; + /* No pull-up, pull-down for PEx pins */ + GPIOE->PUPDR = 0x00000000; + + /* Connect PFx pins to FSMC Alternate function */ + GPIOF->AFR[0] = 0x00CCCCCC; + GPIOF->AFR[1] = 0xCCCC0000; + /* Configure PFx pins in Alternate function mode */ + GPIOF->MODER = 0xAA000AAA; + /* Configure PFx pins speed to 40 MHz */ + GPIOF->OSPEEDR = 0xFF000FFF; + /* Configure PFx pins Output type to push-pull */ + GPIOF->OTYPER = 0x00000000; + /* No pull-up, pull-down for PFx pins */ + GPIOF->PUPDR = 0x00000000; + + /* Connect PGx pins to FSMC Alternate function */ + GPIOG->AFR[0] = 0x00CCCCCC; + GPIOG->AFR[1] = 0x00000C00; + /* Configure PGx pins in Alternate function mode */ + GPIOG->MODER = 0x00200AAA; + /* Configure PGx pins speed to 40 MHz */ + GPIOG->OSPEEDR = 0x00300FFF; + /* Configure PGx pins Output type to push-pull */ + GPIOG->OTYPER = 0x00000000; + /* No pull-up, pull-down for PGx pins */ + GPIOG->PUPDR = 0x00000000; + +/*-- FSMC Configuration ------------------------------------------------------*/ + /* Enable the FSMC interface clock */ + RCC->AHBENR = 0x400080D8; + + /* Configure and enable Bank1_SRAM3 */ + FSMC_Bank1->BTCR[4] = 0x00001011; + FSMC_Bank1->BTCR[5] = 0x00000300; + FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF; +/* + Bank1_SRAM3 is configured as follow: + + p.FSMC_AddressSetupTime = 0; + p.FSMC_AddressHoldTime = 0; + p.FSMC_DataSetupTime = 3; + p.FSMC_BusTurnAroundDuration = 0; + p.FSMC_CLKDivision = 0; + p.FSMC_DataLatency = 0; + p.FSMC_AccessMode = FSMC_AccessMode_A; + + FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3; + FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; + FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; + FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; + FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; + FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; + FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; + FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; + FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; + FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; + FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; + FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; + + FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); + + FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); +*/ + +} +#endif /* DATA_IN_ExtSRAM */ + +/** + * @} + */ + +/** + * @} + */ + +/** + * @} + */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_desc.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_desc.c new file mode 100644 index 0000000..ca93915 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_desc.c @@ -0,0 +1,174 @@ +/** + ****************************************************************************** + * @file usb_desc.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Descriptors for Virtual Com Port Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" + +/* USB Standard Device Descriptor */ +const uint8_t Virtual_Com_Port_DeviceDescriptor[] = + { + 0x12, /* bLength */ + USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */ + 0x00, + 0x02, /* bcdUSB = 2.00 */ + 0x02, /* bDeviceClass: CDC */ + 0x00, /* bDeviceSubClass */ + 0x00, /* bDeviceProtocol */ + 0x40, /* bMaxPacketSize0 */ + 0x83, + 0x04, /* idVendor = 0x0483 */ + 0x40, + 0x57, /* idProduct = 0x7540 */ + 0x00, + 0x02, /* bcdDevice = 2.00 */ + 1, /* Index of string descriptor describing manufacturer */ + 2, /* Index of string descriptor describing product */ + 3, /* Index of string descriptor describing the device's serial number */ + 0x01 /* bNumConfigurations */ + }; + +const uint8_t Virtual_Com_Port_ConfigDescriptor[] = + { + /*Configuration Descriptor*/ + 0x09, /* bLength: Configuration Descriptor size */ + USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ + VIRTUAL_COM_PORT_SIZ_CONFIG_DESC, /* wTotalLength:no of returned bytes */ + 0x00, + 0x02, /* bNumInterfaces: 2 interface */ + 0x01, /* bConfigurationValue: Configuration value */ + 0x00, /* iConfiguration: Index of string descriptor describing the configuration */ + 0xC0, /* bmAttributes: self powered */ + 0x32, /* MaxPower 0 mA */ + /*Interface Descriptor*/ + 0x09, /* bLength: Interface Descriptor size */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType: Interface */ + /* Interface descriptor type */ + 0x00, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x01, /* bNumEndpoints: One endpoints used */ + 0x02, /* bInterfaceClass: Communication Interface Class */ + 0x02, /* bInterfaceSubClass: Abstract Control Model */ + 0x01, /* bInterfaceProtocol: Common AT commands */ + 0x00, /* iInterface: */ + /*Header Functional Descriptor*/ + 0x05, /* bLength: Endpoint Descriptor size */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x00, /* bDescriptorSubtype: Header Func Desc */ + 0x10, /* bcdCDC: spec release number */ + 0x01, + /*Call Management Functional Descriptor*/ + 0x05, /* bFunctionLength */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x01, /* bDescriptorSubtype: Call Management Func Desc */ + 0x00, /* bmCapabilities: D0+D1 */ + 0x01, /* bDataInterface: 1 */ + /*ACM Functional Descriptor*/ + 0x04, /* bFunctionLength */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x02, /* bDescriptorSubtype: Abstract Control Management desc */ + 0x02, /* bmCapabilities */ + /*Union Functional Descriptor*/ + 0x05, /* bFunctionLength */ + 0x24, /* bDescriptorType: CS_INTERFACE */ + 0x06, /* bDescriptorSubtype: Union func desc */ + 0x00, /* bMasterInterface: Communication class interface */ + 0x01, /* bSlaveInterface0: Data Class Interface */ + /*Endpoint 2 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */ + 0x82, /* bEndpointAddress: (IN2) */ + 0x03, /* bmAttributes: Interrupt */ + VIRTUAL_COM_PORT_INT_SIZE, /* wMaxPacketSize: */ + 0x00, + 0xFF, /* bInterval: */ + /*Data class interface descriptor*/ + 0x09, /* bLength: Endpoint Descriptor size */ + USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType: */ + 0x01, /* bInterfaceNumber: Number of Interface */ + 0x00, /* bAlternateSetting: Alternate setting */ + 0x02, /* bNumEndpoints: Two endpoints used */ + 0x0A, /* bInterfaceClass: CDC */ + 0x00, /* bInterfaceSubClass: */ + 0x00, /* bInterfaceProtocol: */ + 0x00, /* iInterface: */ + /*Endpoint 3 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */ + 0x03, /* bEndpointAddress: (OUT3) */ + 0x02, /* bmAttributes: Bulk */ + VIRTUAL_COM_PORT_DATA_SIZE, /* wMaxPacketSize: */ + 0x00, + 0x00, /* bInterval: ignore for Bulk transfer */ + /*Endpoint 1 Descriptor*/ + 0x07, /* bLength: Endpoint Descriptor size */ + USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */ + 0x81, /* bEndpointAddress: (IN1) */ + 0x02, /* bmAttributes: Bulk */ + VIRTUAL_COM_PORT_DATA_SIZE, /* wMaxPacketSize: */ + 0x00, + 0x00 /* bInterval */ + }; + +/* USB String Descriptors */ +const uint8_t Virtual_Com_Port_StringLangID[VIRTUAL_COM_PORT_SIZ_STRING_LANGID] = + { + VIRTUAL_COM_PORT_SIZ_STRING_LANGID, + USB_STRING_DESCRIPTOR_TYPE, + 0x09, + 0x04 /* LangID = 0x0409: U.S. English */ + }; + +const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR] = + { + VIRTUAL_COM_PORT_SIZ_STRING_VENDOR, /* Size of Vendor string */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ + /* Manufacturer: "STMicroelectronics" */ + 'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0, + 'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0, + 'c', 0, 's', 0 + }; + +const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT] = + { + VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + /* Product name: "STM32 Virtual COM Port" */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'V', 0, 'i', 0, + 'r', 0, 't', 0, 'u', 0, 'a', 0, 'l', 0, ' ', 0, 'C', 0, 'O', 0, + 'M', 0, ' ', 0, 'P', 0, 'o', 0, 'r', 0, 't', 0, ' ', 0, ' ', 0 + }; + +uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL] = + { + VIRTUAL_COM_PORT_SIZ_STRING_SERIAL, /* bLength */ + USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ + 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0 + }; + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_endp.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_endp.c new file mode 100644 index 0000000..b662cfe --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_endp.c @@ -0,0 +1,144 @@ +/** + ****************************************************************************** + * @file usb_endp.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Endpoint routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_desc.h" +#include "usb_mem.h" +#include "hw_config.h" +#include "usb_istr.h" +#include "usb_pwr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ + +/* Interval between sending IN packets in frame number (1 frame = 1ms) */ +#define VCOMPORT_IN_FRAME_INTERVAL 5 + +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint8_t USB_Rx_Buffer[VIRTUAL_COM_PORT_DATA_SIZE]; +extern uint8_t USART_Rx_Buffer[]; +extern uint32_t USART_Rx_ptr_out; +extern uint32_t USART_Rx_length; +extern uint8_t USB_Tx_State; + +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : EP1_IN_Callback +* Description : +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP1_IN_Callback (void) +{ + uint16_t USB_Tx_ptr; + uint16_t USB_Tx_length; + + if (USB_Tx_State == 1) + { + if (USART_Rx_length == 0) + { + USB_Tx_State = 0; + } + else + { + if (USART_Rx_length > VIRTUAL_COM_PORT_DATA_SIZE){ + USB_Tx_ptr = USART_Rx_ptr_out; + USB_Tx_length = VIRTUAL_COM_PORT_DATA_SIZE; + + USART_Rx_ptr_out += VIRTUAL_COM_PORT_DATA_SIZE; + USART_Rx_length -= VIRTUAL_COM_PORT_DATA_SIZE; + } + else + { + USB_Tx_ptr = USART_Rx_ptr_out; + USB_Tx_length = USART_Rx_length; + + USART_Rx_ptr_out += USART_Rx_length; + USART_Rx_length = 0; + } + UserToPMABufferCopy(&USART_Rx_Buffer[USB_Tx_ptr], ENDP1_TXADDR, USB_Tx_length); + SetEPTxCount(ENDP1, USB_Tx_length); + SetEPTxValid(ENDP1); + } + } +} + +/******************************************************************************* +* Function Name : EP3_OUT_Callback +* Description : +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void EP3_OUT_Callback(void) +{ + uint16_t USB_Rx_Cnt; + + /* Get the received data buffer and update the counter */ + USB_Rx_Cnt = USB_SIL_Read(EP3_OUT, USB_Rx_Buffer); + + /* USB data will be immediately processed, this allow next USB traffic being + NAKed till the end of the USART Xfer */ + + USB_To_USART_Send_Data(USB_Rx_Buffer, USB_Rx_Cnt); + + /* Enable the receive of data on EP3 */ + SetEPRxValid(ENDP3); +} + + +/******************************************************************************* +* Function Name : SOF_Callback / INTR_SOFINTR_Callback +* Description : +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void SOF_Callback(void) +{ + static uint32_t FrameCount = 0; + + if(bDeviceState == CONFIGURED) + { + if (FrameCount++ == VCOMPORT_IN_FRAME_INTERVAL) + { + /* Reset the frame counter */ + FrameCount = 0; + + /* Check the data to be sent through IN pipe */ + Handle_USBAsynchXfer(); + } + } +} +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_istr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_istr.c new file mode 100644 index 0000000..41166a9 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_istr.c @@ -0,0 +1,233 @@ +/** + ****************************************************************************** + * @file usb_istr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief ISTR events interrupt service routines + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_prop.h" +#include "usb_pwr.h" +#include "usb_istr.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint16_t wIstr; /* ISTR register last read value */ +__IO uint8_t bIntPackSOF = 0; /* SOFs received between 2 consecutive packets */ +__IO uint32_t esof_counter =0; /* expected SOF counter */ +__IO uint32_t wCNTR=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/* function pointers to non-control endpoints service routines */ +void (*pEpInt_IN[7])(void) = + { + EP1_IN_Callback, + EP2_IN_Callback, + EP3_IN_Callback, + EP4_IN_Callback, + EP5_IN_Callback, + EP6_IN_Callback, + EP7_IN_Callback, + }; + +void (*pEpInt_OUT[7])(void) = + { + EP1_OUT_Callback, + EP2_OUT_Callback, + EP3_OUT_Callback, + EP4_OUT_Callback, + EP5_OUT_Callback, + EP6_OUT_Callback, + EP7_OUT_Callback, + }; + +/******************************************************************************* +* Function Name : USB_Istr +* Description : ISTR events interrupt service routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void USB_Istr(void) +{ + uint32_t i=0; + __IO uint32_t EP[8]; + + wIstr = _GetISTR(); + +#if (IMR_MSK & ISTR_SOF) + if (wIstr & ISTR_SOF & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_SOF); + bIntPackSOF++; + +#ifdef SOF_CALLBACK + SOF_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#if (IMR_MSK & ISTR_CTR) + if (wIstr & ISTR_CTR & wInterrupt_Mask) + { + /* servicing of the endpoint correct transfer interrupt */ + /* clear of the CTR flag into the sub */ + CTR_LP(); +#ifdef CTR_CALLBACK + CTR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_RESET) + if (wIstr & ISTR_RESET & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_RESET); + Device_Property.Reset(); +#ifdef RESET_CALLBACK + RESET_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_DOVR) + if (wIstr & ISTR_DOVR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_DOVR); +#ifdef DOVR_CALLBACK + DOVR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_ERR) + if (wIstr & ISTR_ERR & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_ERR); +#ifdef ERR_CALLBACK + ERR_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_WKUP) + if (wIstr & ISTR_WKUP & wInterrupt_Mask) + { + _SetISTR((uint16_t)CLR_WKUP); + Resume(RESUME_EXTERNAL); +#ifdef WKUP_CALLBACK + WKUP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if (IMR_MSK & ISTR_SUSP) + if (wIstr & ISTR_SUSP & wInterrupt_Mask) + { + + /* check if SUSPEND is possible */ + if (fSuspendEnabled) + { + Suspend(); + } + else + { + /* if not possible then resume after xx ms */ + Resume(RESUME_LATER); + } + /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */ + _SetISTR((uint16_t)CLR_SUSP); +#ifdef SUSP_CALLBACK + SUSP_Callback(); +#endif + } +#endif + /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#if (IMR_MSK & ISTR_ESOF) + if (wIstr & ISTR_ESOF & wInterrupt_Mask) + { + /* clear ESOF flag in ISTR */ + _SetISTR((uint16_t)CLR_ESOF); + + if ((_GetFNR()&FNR_RXDP)!=0) + { + /* increment ESOF counter */ + esof_counter ++; + + /* test if we enter in ESOF more than 3 times with FSUSP =0 and RXDP =1=>> possible missing SUSP flag*/ + if ((esof_counter >3)&&((_GetCNTR()&CNTR_FSUSP)==0)) + { + /* this a sequence to apply a force RESET*/ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + esof_counter = 0; + } + } + else + { + esof_counter = 0; + } + + /* resume handling timing is made with ESOFs */ + Resume(RESUME_ESOF); /* request without change of the machine state */ + +#ifdef ESOF_CALLBACK + ESOF_Callback(); +#endif + } +#endif +} /* USB_Istr */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_prop.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_prop.c new file mode 100644 index 0000000..6a59c1a --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_prop.c @@ -0,0 +1,418 @@ +/** + ****************************************************************************** + * @file usb_prop.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief All processing related to Virtual Com Port Demo + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_prop.h" +#include "usb_desc.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +uint8_t Request = 0; + +LINE_CODING linecoding = + { + 115200, /* baud rate*/ + 0x00, /* stop bits-1*/ + 0x00, /* parity - none*/ + 0x08 /* no. of bits 8*/ + }; + +/* -------------------------------------------------------------------------- */ +/* Structures initializations */ +/* -------------------------------------------------------------------------- */ + +DEVICE Device_Table = + { + EP_NUM, + 1 + }; + +DEVICE_PROP Device_Property = + { + Virtual_Com_Port_init, + Virtual_Com_Port_Reset, + Virtual_Com_Port_Status_In, + Virtual_Com_Port_Status_Out, + Virtual_Com_Port_Data_Setup, + Virtual_Com_Port_NoData_Setup, + Virtual_Com_Port_Get_Interface_Setting, + Virtual_Com_Port_GetDeviceDescriptor, + Virtual_Com_Port_GetConfigDescriptor, + Virtual_Com_Port_GetStringDescriptor, + 0, + 0x40 /*MAX PACKET SIZE*/ + }; + +USER_STANDARD_REQUESTS User_Standard_Requests = + { + Virtual_Com_Port_GetConfiguration, + Virtual_Com_Port_SetConfiguration, + Virtual_Com_Port_GetInterface, + Virtual_Com_Port_SetInterface, + Virtual_Com_Port_GetStatus, + Virtual_Com_Port_ClearFeature, + Virtual_Com_Port_SetEndPointFeature, + Virtual_Com_Port_SetDeviceFeature, + Virtual_Com_Port_SetDeviceAddress + }; + +ONE_DESCRIPTOR Device_Descriptor = + { + (uint8_t*)Virtual_Com_Port_DeviceDescriptor, + VIRTUAL_COM_PORT_SIZ_DEVICE_DESC + }; + +ONE_DESCRIPTOR Config_Descriptor = + { + (uint8_t*)Virtual_Com_Port_ConfigDescriptor, + VIRTUAL_COM_PORT_SIZ_CONFIG_DESC + }; + +ONE_DESCRIPTOR String_Descriptor[4] = + { + {(uint8_t*)Virtual_Com_Port_StringLangID, VIRTUAL_COM_PORT_SIZ_STRING_LANGID}, + {(uint8_t*)Virtual_Com_Port_StringVendor, VIRTUAL_COM_PORT_SIZ_STRING_VENDOR}, + {(uint8_t*)Virtual_Com_Port_StringProduct, VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT}, + {(uint8_t*)Virtual_Com_Port_StringSerial, VIRTUAL_COM_PORT_SIZ_STRING_SERIAL} + }; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ +/******************************************************************************* +* Function Name : Virtual_Com_Port_init. +* Description : Virtual COM Port Mouse init routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_init(void) +{ + + /* Update the serial number string descriptor with the data from the unique + ID*/ + Get_SerialNum(); + + pInformation->Current_Configuration = 0; + + /* Connect the device */ + PowerOn(); + + /* Perform basic device initialization operations */ + USB_SIL_Init(); + + /* configure the USART to the default settings */ + USART_Config_Default(); + + bDeviceState = UNCONNECTED; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Reset +* Description : Virtual_Com_Port Mouse reset routine +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_Reset(void) +{ + /* Set Virtual_Com_Port DEVICE as not configured */ + pInformation->Current_Configuration = 0; + + /* Current Feature initialization */ + pInformation->Current_Feature = Virtual_Com_Port_ConfigDescriptor[7]; + + /* Set Virtual_Com_Port DEVICE with the default Interface*/ + pInformation->Current_Interface = 0; + + SetBTABLE(BTABLE_ADDRESS); + + /* Initialize Endpoint 0 */ + SetEPType(ENDP0, EP_CONTROL); + SetEPTxStatus(ENDP0, EP_TX_STALL); + SetEPRxAddr(ENDP0, ENDP0_RXADDR); + SetEPTxAddr(ENDP0, ENDP0_TXADDR); + Clear_Status_Out(ENDP0); + SetEPRxCount(ENDP0, Device_Property.MaxPacketSize); + SetEPRxValid(ENDP0); + + /* Initialize Endpoint 1 */ + SetEPType(ENDP1, EP_BULK); + SetEPTxAddr(ENDP1, ENDP1_TXADDR); + SetEPTxStatus(ENDP1, EP_TX_NAK); + SetEPRxStatus(ENDP1, EP_RX_DIS); + + /* Initialize Endpoint 2 */ + SetEPType(ENDP2, EP_INTERRUPT); + SetEPTxAddr(ENDP2, ENDP2_TXADDR); + SetEPRxStatus(ENDP2, EP_RX_DIS); + SetEPTxStatus(ENDP2, EP_TX_NAK); + + /* Initialize Endpoint 3 */ + SetEPType(ENDP3, EP_BULK); + SetEPRxAddr(ENDP3, ENDP3_RXADDR); + SetEPRxCount(ENDP3, VIRTUAL_COM_PORT_DATA_SIZE); + SetEPRxStatus(ENDP3, EP_RX_VALID); + SetEPTxStatus(ENDP3, EP_TX_DIS); + + /* Set this device to response on default address */ + SetDeviceAddress(0); + + bDeviceState = ATTACHED; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_SetConfiguration. +* Description : Update the device state to configured. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_SetConfiguration(void) +{ + DEVICE_INFO *pInfo = &Device_Info; + + if (pInfo->Current_Configuration != 0) + { + /* Device configured */ + bDeviceState = CONFIGURED; + } +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_SetConfiguration. +* Description : Update the device state to addressed. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_SetDeviceAddress (void) +{ + bDeviceState = ADDRESSED; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Status_In. +* Description : Virtual COM Port Status In Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_Status_In(void) +{ + if (Request == SET_LINE_CODING) + { + USART_Config(); + Request = 0; + } +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Status_Out +* Description : Virtual COM Port Status OUT Routine. +* Input : None. +* Output : None. +* Return : None. +*******************************************************************************/ +void Virtual_Com_Port_Status_Out(void) +{} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Data_Setup +* Description : handle the data class specific requests +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT Virtual_Com_Port_Data_Setup(uint8_t RequestNo) +{ + uint8_t *(*CopyRoutine)(uint16_t); + + CopyRoutine = NULL; + + if (RequestNo == GET_LINE_CODING) + { + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + CopyRoutine = Virtual_Com_Port_GetLineCoding; + } + } + else if (RequestNo == SET_LINE_CODING) + { + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + CopyRoutine = Virtual_Com_Port_SetLineCoding; + } + Request = SET_LINE_CODING; + } + + if (CopyRoutine == NULL) + { + return USB_UNSUPPORT; + } + + pInformation->Ctrl_Info.CopyData = CopyRoutine; + pInformation->Ctrl_Info.Usb_wOffset = 0; + (*CopyRoutine)(0); + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_NoData_Setup. +* Description : handle the no data class specific requests. +* Input : Request Nb. +* Output : None. +* Return : USB_UNSUPPORT or USB_SUCCESS. +*******************************************************************************/ +RESULT Virtual_Com_Port_NoData_Setup(uint8_t RequestNo) +{ + + if (Type_Recipient == (CLASS_REQUEST | INTERFACE_RECIPIENT)) + { + if (RequestNo == SET_COMM_FEATURE) + { + return USB_SUCCESS; + } + else if (RequestNo == SET_CONTROL_LINE_STATE) + { + return USB_SUCCESS; + } + } + + return USB_UNSUPPORT; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetDeviceDescriptor. +* Description : Gets the device descriptor. +* Input : Length. +* Output : None. +* Return : The address of the device descriptor. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetDeviceDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Device_Descriptor); +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetConfigDescriptor. +* Description : get the configuration descriptor. +* Input : Length. +* Output : None. +* Return : The address of the configuration descriptor. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetConfigDescriptor(uint16_t Length) +{ + return Standard_GetDescriptorData(Length, &Config_Descriptor); +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetStringDescriptor +* Description : Gets the string descriptors according to the needed index +* Input : Length. +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetStringDescriptor(uint16_t Length) +{ + uint8_t wValue0 = pInformation->USBwValue0; + if (wValue0 > 4) + { + return NULL; + } + else + { + return Standard_GetDescriptorData(Length, &String_Descriptor[wValue0]); + } +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_Get_Interface_Setting. +* Description : test the interface and the alternate setting according to the +* supported one. +* Input1 : uint8_t: Interface : interface number. +* Input2 : uint8_t: AlternateSetting : Alternate Setting number. +* Output : None. +* Return : The address of the string descriptors. +*******************************************************************************/ +RESULT Virtual_Com_Port_Get_Interface_Setting(uint8_t Interface, uint8_t AlternateSetting) +{ + if (AlternateSetting > 0) + { + return USB_UNSUPPORT; + } + else if (Interface > 1) + { + return USB_UNSUPPORT; + } + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_GetLineCoding. +* Description : send the linecoding structure to the PC host. +* Input : Length. +* Output : None. +* Return : Linecoding structure base address. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_GetLineCoding(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = sizeof(linecoding); + return NULL; + } + return(uint8_t *)&linecoding; +} + +/******************************************************************************* +* Function Name : Virtual_Com_Port_SetLineCoding. +* Description : Set the linecoding structure fields. +* Input : Length. +* Output : None. +* Return : Linecoding structure base address. +*******************************************************************************/ +uint8_t *Virtual_Com_Port_SetLineCoding(uint16_t Length) +{ + if (Length == 0) + { + pInformation->Ctrl_Info.Usb_wLength = sizeof(linecoding); + return NULL; + } + return(uint8_t *)&linecoding; +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ + diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_pwr.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_pwr.c new file mode 100644 index 0000000..a2253a8 --- /dev/null +++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/src/usb_pwr.c @@ -0,0 +1,318 @@ +/** + ****************************************************************************** + * @file usb_pwr.c + * @author MCD Application Team + * @version V4.0.0 + * @date 21-January-2013 + * @brief Connection/disconnection & power management + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2013 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + + +/* Includes ------------------------------------------------------------------*/ +#include "usb_lib.h" +#include "usb_conf.h" +#include "usb_pwr.h" +#include "hw_config.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ +__IO uint32_t bDeviceState = UNCONNECTED; /* USB device status */ +__IO bool fSuspendEnabled = TRUE; /* true when suspend is possible */ +__IO uint32_t EP[8]; + +struct +{ + __IO RESUME_STATE eState; + __IO uint8_t bESOFcnt; +} +ResumeS; + +__IO uint32_t remotewakeupon=0; + +/* Extern variables ----------------------------------------------------------*/ +/* Private function prototypes -----------------------------------------------*/ +/* Extern function prototypes ------------------------------------------------*/ +/* Private functions ---------------------------------------------------------*/ + +/******************************************************************************* +* Function Name : PowerOn +* Description : +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOn(void) +{ + uint16_t wRegVal; + + /*** cable plugged-in ? ***/ + USB_Cable_Config(ENABLE); + + /*** CNTR_PWDN = 0 ***/ + wRegVal = CNTR_FRES; + _SetCNTR(wRegVal); + + /*** CNTR_FRES = 0 ***/ + wInterrupt_Mask = 0; + _SetCNTR(wInterrupt_Mask); + /*** Clear pending interrupts ***/ + _SetISTR(0); + /*** Set interrupt mask ***/ + wInterrupt_Mask = CNTR_RESETM | CNTR_SUSPM | CNTR_WKUPM; + _SetCNTR(wInterrupt_Mask); + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : PowerOff +* Description : handles switch-off conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +RESULT PowerOff() +{ + /* disable all interrupts and force USB reset */ + _SetCNTR(CNTR_FRES); + /* clear interrupt status register */ + _SetISTR(0); + /* Disable the Pull-Up*/ + USB_Cable_Config(DISABLE); + /* switch-off device */ + _SetCNTR(CNTR_FRES + CNTR_PDWN); + /* sw variables reset */ + /* ... */ + + return USB_SUCCESS; +} + +/******************************************************************************* +* Function Name : Suspend +* Description : sets suspend mode operating conditions +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Suspend(void) +{ + uint32_t i =0; + uint16_t wCNTR; + uint32_t tmpreg = 0; + __IO uint32_t savePWR_CR=0; + /* suspend preparation */ + /* ... */ + + /*Store CNTR value */ + wCNTR = _GetCNTR(); + + /* This a sequence to apply a force RESET to handle a robustness case */ + + /*Store endpoints registers status */ + for (i=0;i<8;i++) EP[i] = _GetENDPOINT(i); + + /* unmask RESET flag */ + wCNTR|=CNTR_RESETM; + _SetCNTR(wCNTR); + + /*apply FRES */ + wCNTR|=CNTR_FRES; + _SetCNTR(wCNTR); + + /*clear FRES*/ + wCNTR&=~CNTR_FRES; + _SetCNTR(wCNTR); + + /*poll for RESET flag in ISTR*/ + while((_GetISTR()&ISTR_RESET) == 0); + + /* clear RESET flag in ISTR */ + _SetISTR((uint16_t)CLR_RESET); + + /*restore Enpoints*/ + for (i=0;i<8;i++) + _SetENDPOINT(i, EP[i]); + + /* Now it is safe to enter macrocell in suspend mode */ + wCNTR |= CNTR_FSUSP; + _SetCNTR(wCNTR); + + /* force low-power mode in the macrocell */ + wCNTR = _GetCNTR(); + wCNTR |= CNTR_LPMODE; + _SetCNTR(wCNTR); + + /*prepare entry in low power mode (STOP mode)*/ + /* Select the regulator state in STOP mode*/ + savePWR_CR = PWR->CR; + tmpreg = PWR->CR; + /* Clear PDDS and LPDS bits */ + tmpreg &= ((uint32_t)0xFFFFFFFC); + /* Set LPDS bit according to PWR_Regulator value */ + tmpreg |= PWR_Regulator_LowPower; + /* Store the new value */ + PWR->CR = tmpreg; + /* Set SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; +#else + SCB->SCR |= SCB_SCR_SLEEPDEEP; +#endif + + /* enter system in STOP mode, only when wakeup flag in not set */ + if((_GetISTR()&ISTR_WKUP)==0) + { + __WFI(); + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } + else + { + /* Clear Wakeup flag */ + _SetISTR(CLR_WKUP); + /* clear FSUSP to abort entry in suspend mode */ + wCNTR = _GetCNTR(); + wCNTR&=~CNTR_FSUSP; + _SetCNTR(wCNTR); + + /*restore sleep mode configuration */ + /* restore Power regulator config in sleep mode*/ + PWR->CR = savePWR_CR; + + /* Reset SLEEPDEEP bit of Cortex System Control Register */ +#if defined (STM32F30X) || defined (STM32F37X) + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk); +#else + SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP); +#endif + } +} + +/******************************************************************************* +* Function Name : Resume_Init +* Description : Handles wake-up restoring normal operations +* Input : None. +* Output : None. +* Return : USB_SUCCESS. +*******************************************************************************/ +void Resume_Init(void) +{ + uint16_t wCNTR; + + /* ------------------ ONLY WITH BUS-POWERED DEVICES ---------------------- */ + /* restart the clocks */ + /* ... */ + + /* CNTR_LPMODE = 0 */ + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_LPMODE); + _SetCNTR(wCNTR); + + /* restore full power */ + /* ... on connected devices */ + Leave_LowPowerMode(); + + /* reset FSUSP bit */ + _SetCNTR(IMR_MSK); + + /* reverse suspend preparation */ + /* ... */ + +} + +/******************************************************************************* +* Function Name : Resume +* Description : This is the state machine handling resume operations and +* timing sequence. The control is based on the Resume structure +* variables and on the ESOF interrupt calling this subroutine +* without changing machine state. +* Input : a state machine value (RESUME_STATE) +* RESUME_ESOF doesn't change ResumeS.eState allowing +* decrementing of the ESOF counter in different states. +* Output : None. +* Return : None. +*******************************************************************************/ +void Resume(RESUME_STATE eResumeSetVal) +{ + uint16_t wCNTR; + + if (eResumeSetVal != RESUME_ESOF) + ResumeS.eState = eResumeSetVal; + switch (ResumeS.eState) + { + case RESUME_EXTERNAL: + if (remotewakeupon ==0) + { + Resume_Init(); + ResumeS.eState = RESUME_OFF; + } + else /* RESUME detected during the RemoteWAkeup signalling => keep RemoteWakeup handling*/ + { + ResumeS.eState = RESUME_ON; + } + break; + case RESUME_INTERNAL: + Resume_Init(); + ResumeS.eState = RESUME_START; + remotewakeupon = 1; + break; + case RESUME_LATER: + ResumeS.bESOFcnt = 2; + ResumeS.eState = RESUME_WAIT; + break; + case RESUME_WAIT: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + ResumeS.eState = RESUME_START; + break; + case RESUME_START: + wCNTR = _GetCNTR(); + wCNTR |= CNTR_RESUME; + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_ON; + ResumeS.bESOFcnt = 10; + break; + case RESUME_ON: + ResumeS.bESOFcnt--; + if (ResumeS.bESOFcnt == 0) + { + wCNTR = _GetCNTR(); + wCNTR &= (~CNTR_RESUME); + _SetCNTR(wCNTR); + ResumeS.eState = RESUME_OFF; + remotewakeupon = 0; + } + break; + case RESUME_OFF: + case RESUME_ESOF: + default: + ResumeS.eState = RESUME_OFF; + break; + } +} + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ -- cgit v1.2.3