STM_ATEM/STM_ATEM_F405.ioc
zhoujie fee2e96eaa feat(system): 优化系统性能并简化监控模块
- 新增VSCode编辑器配置,启用保存时自动格式化
- 新增DMA2_Stream5和USART1中断处理函数,优化SPI传输性能
- 移除TIM1相关配置和性能监控模块,简化系统架构
- 优化GPIO配置,将ADC_SYNC和PA8引脚合并配置
- 简化系统监控模块,仅保留采样计数和数据溢出统计
- 优化SPI配置,使用16位数据宽度并提高DMA优先级
- 提高USART波特率(USART1:2Mbps, USART3:921600bps)
- 优化LTC2508驱动,增加初始化状态检查和缓冲区大小
- 修正数据存储模块,使用校正数据包而非校正结果结构体
- 优化RS485驱动,使用中断传输并添加传输完成回调
- 更新IOC配置文件,移除TIM1并调整中断优先级配置
- 新增系统监控简化说明文档,详细记录架构变更
2026-02-06 22:45:25 +08:00

382 lines
14 KiB
Plaintext

#MicroXplorer Configuration settings - do not modify
CAD.formats=
CAD.pinconfig=
CAD.provider=
Dma.Request0=SPI1_RX
Dma.Request1=SPI2_RX
Dma.Request2=SPI3_RX
Dma.Request3=SDIO_RX
Dma.Request4=SDIO_TX
Dma.Request5=USART1_TX
Dma.Request6=SPI1_TX
Dma.RequestsNb=7
Dma.SDIO_RX.3.Direction=DMA_PERIPH_TO_MEMORY
Dma.SDIO_RX.3.FIFOMode=DMA_FIFOMODE_ENABLE
Dma.SDIO_RX.3.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL
Dma.SDIO_RX.3.Instance=DMA2_Stream3
Dma.SDIO_RX.3.MemBurst=DMA_MBURST_INC4
Dma.SDIO_RX.3.MemDataAlignment=DMA_MDATAALIGN_WORD
Dma.SDIO_RX.3.MemInc=DMA_MINC_ENABLE
Dma.SDIO_RX.3.Mode=DMA_PFCTRL
Dma.SDIO_RX.3.PeriphBurst=DMA_PBURST_INC4
Dma.SDIO_RX.3.PeriphDataAlignment=DMA_PDATAALIGN_WORD
Dma.SDIO_RX.3.PeriphInc=DMA_PINC_DISABLE
Dma.SDIO_RX.3.Priority=DMA_PRIORITY_VERY_HIGH
Dma.SDIO_RX.3.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,FIFOThreshold,MemBurst,PeriphBurst
Dma.SDIO_TX.4.Direction=DMA_MEMORY_TO_PERIPH
Dma.SDIO_TX.4.FIFOMode=DMA_FIFOMODE_ENABLE
Dma.SDIO_TX.4.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL
Dma.SDIO_TX.4.Instance=DMA2_Stream6
Dma.SDIO_TX.4.MemBurst=DMA_MBURST_INC4
Dma.SDIO_TX.4.MemDataAlignment=DMA_MDATAALIGN_WORD
Dma.SDIO_TX.4.MemInc=DMA_MINC_ENABLE
Dma.SDIO_TX.4.Mode=DMA_PFCTRL
Dma.SDIO_TX.4.PeriphBurst=DMA_PBURST_INC4
Dma.SDIO_TX.4.PeriphDataAlignment=DMA_PDATAALIGN_WORD
Dma.SDIO_TX.4.PeriphInc=DMA_PINC_DISABLE
Dma.SDIO_TX.4.Priority=DMA_PRIORITY_VERY_HIGH
Dma.SDIO_TX.4.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode,FIFOThreshold,MemBurst,PeriphBurst
Dma.SPI1_RX.0.Direction=DMA_PERIPH_TO_MEMORY
Dma.SPI1_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.SPI1_RX.0.Instance=DMA2_Stream0
Dma.SPI1_RX.0.MemDataAlignment=DMA_MDATAALIGN_HALFWORD
Dma.SPI1_RX.0.MemInc=DMA_MINC_ENABLE
Dma.SPI1_RX.0.Mode=DMA_NORMAL
Dma.SPI1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD
Dma.SPI1_RX.0.PeriphInc=DMA_PINC_DISABLE
Dma.SPI1_RX.0.Priority=DMA_PRIORITY_VERY_HIGH
Dma.SPI1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.SPI1_TX.6.Direction=DMA_MEMORY_TO_PERIPH
Dma.SPI1_TX.6.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.SPI1_TX.6.Instance=DMA2_Stream5
Dma.SPI1_TX.6.MemDataAlignment=DMA_MDATAALIGN_HALFWORD
Dma.SPI1_TX.6.MemInc=DMA_MINC_ENABLE
Dma.SPI1_TX.6.Mode=DMA_NORMAL
Dma.SPI1_TX.6.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD
Dma.SPI1_TX.6.PeriphInc=DMA_PINC_DISABLE
Dma.SPI1_TX.6.Priority=DMA_PRIORITY_VERY_HIGH
Dma.SPI1_TX.6.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.SPI2_RX.1.Direction=DMA_PERIPH_TO_MEMORY
Dma.SPI2_RX.1.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.SPI2_RX.1.Instance=DMA1_Stream3
Dma.SPI2_RX.1.MemDataAlignment=DMA_MDATAALIGN_HALFWORD
Dma.SPI2_RX.1.MemInc=DMA_MINC_ENABLE
Dma.SPI2_RX.1.Mode=DMA_NORMAL
Dma.SPI2_RX.1.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD
Dma.SPI2_RX.1.PeriphInc=DMA_PINC_DISABLE
Dma.SPI2_RX.1.Priority=DMA_PRIORITY_VERY_HIGH
Dma.SPI2_RX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.SPI3_RX.2.Direction=DMA_PERIPH_TO_MEMORY
Dma.SPI3_RX.2.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.SPI3_RX.2.Instance=DMA1_Stream0
Dma.SPI3_RX.2.MemDataAlignment=DMA_MDATAALIGN_HALFWORD
Dma.SPI3_RX.2.MemInc=DMA_MINC_ENABLE
Dma.SPI3_RX.2.Mode=DMA_NORMAL
Dma.SPI3_RX.2.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD
Dma.SPI3_RX.2.PeriphInc=DMA_PINC_DISABLE
Dma.SPI3_RX.2.Priority=DMA_PRIORITY_VERY_HIGH
Dma.SPI3_RX.2.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
Dma.USART1_TX.5.Direction=DMA_MEMORY_TO_PERIPH
Dma.USART1_TX.5.FIFOMode=DMA_FIFOMODE_DISABLE
Dma.USART1_TX.5.Instance=DMA2_Stream7
Dma.USART1_TX.5.MemDataAlignment=DMA_MDATAALIGN_BYTE
Dma.USART1_TX.5.MemInc=DMA_MINC_ENABLE
Dma.USART1_TX.5.Mode=DMA_NORMAL
Dma.USART1_TX.5.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
Dma.USART1_TX.5.PeriphInc=DMA_PINC_DISABLE
Dma.USART1_TX.5.Priority=DMA_PRIORITY_LOW
Dma.USART1_TX.5.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode
FATFS.BSP.number=1
FATFS.IPParameters=_USE_LFN,USE_DMA_CODE_SD,_MAX_SS,_MIN_SS
FATFS.USE_DMA_CODE_SD=1
FATFS._MAX_SS=512
FATFS._MIN_SS=512
FATFS._USE_LFN=2
FATFS0.BSP.STBoard=false
FATFS0.BSP.api=Unknown
FATFS0.BSP.component=
FATFS0.BSP.condition=
FATFS0.BSP.instance=PC3
FATFS0.BSP.ip=GPIO
FATFS0.BSP.mode=Input
FATFS0.BSP.name=Detect_SDIO
FATFS0.BSP.semaphore=
FATFS0.BSP.solution=PC3
File.Version=6
GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false
Mcu.CPN=STM32F405RGT6
Mcu.Family=STM32F4
Mcu.IP0=DMA
Mcu.IP1=FATFS
Mcu.IP10=USART1
Mcu.IP11=USART3
Mcu.IP12=USB_DEVICE
Mcu.IP13=USB_OTG_FS
Mcu.IP2=NVIC
Mcu.IP3=RCC
Mcu.IP4=SDIO
Mcu.IP5=SPI1
Mcu.IP6=SPI2
Mcu.IP7=SPI3
Mcu.IP8=SYS
Mcu.IP9=TIM2
Mcu.IPNb=14
Mcu.Name=STM32F405RGTx
Mcu.Package=LQFP64
Mcu.Pin0=PH0-OSC_IN
Mcu.Pin1=PH1-OSC_OUT
Mcu.Pin10=PB13
Mcu.Pin11=PB15
Mcu.Pin12=PC7
Mcu.Pin13=PC8
Mcu.Pin14=PC9
Mcu.Pin15=PA8
Mcu.Pin16=PA9
Mcu.Pin17=PA10
Mcu.Pin18=PA11
Mcu.Pin19=PA12
Mcu.Pin2=PC3
Mcu.Pin20=PA13
Mcu.Pin21=PA14
Mcu.Pin22=PC10
Mcu.Pin23=PC11
Mcu.Pin24=PC12
Mcu.Pin25=PD2
Mcu.Pin26=PB3
Mcu.Pin27=PB5
Mcu.Pin28=VP_FATFS_VS_SDIO
Mcu.Pin29=VP_SYS_VS_Systick
Mcu.Pin3=PA1
Mcu.Pin30=VP_TIM2_VS_ClockSourceINT
Mcu.Pin31=VP_USB_DEVICE_VS_USB_DEVICE_MSC_FS
Mcu.Pin4=PA2
Mcu.Pin5=PA5
Mcu.Pin6=PA6
Mcu.Pin7=PA7
Mcu.Pin8=PB10
Mcu.Pin9=PB11
Mcu.PinsNb=32
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F405RGTx
MxCube.Version=6.15.0
MxDb.Version=DB.6.0.150
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DMA1_Stream0_IRQn=true\:5\:0\:true\:false\:true\:false\:true\:true
NVIC.DMA1_Stream3_IRQn=true\:5\:0\:true\:false\:true\:false\:true\:true
NVIC.DMA2_Stream0_IRQn=true\:5\:0\:true\:false\:true\:false\:true\:true
NVIC.DMA2_Stream3_IRQn=true\:10\:0\:true\:false\:true\:false\:true\:true
NVIC.DMA2_Stream5_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.DMA2_Stream6_IRQn=true\:10\:0\:true\:false\:true\:false\:true\:true
NVIC.DMA2_Stream7_IRQn=true\:12\:0\:true\:false\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.EXTI1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.OTG_FS_IRQn=true\:11\:0\:true\:false\:true\:false\:true\:true
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SDIO_IRQn=true\:9\:0\:true\:false\:true\:true\:true\:true
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:true\:false\:true\:false\:true\:false
NVIC.TIM2_IRQn=true\:12\:0\:true\:false\:true\:true\:true\:true
NVIC.USART1_IRQn=true\:6\:0\:true\:false\:true\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA1.GPIOParameters=GPIO_Label
PA1.GPIO_Label=ADC_DRY
PA1.Locked=true
PA1.Signal=GPXTI1
PA10.Mode=Asynchronous
PA10.Signal=USART1_RX
PA11.Mode=Device_Only
PA11.Signal=USB_OTG_FS_DM
PA12.Mode=Device_Only
PA12.Signal=USB_OTG_FS_DP
PA13.Mode=Serial_Wire
PA13.Signal=SYS_JTMS-SWDIO
PA14.Mode=Serial_Wire
PA14.Signal=SYS_JTCK-SWCLK
PA2.GPIOParameters=GPIO_Label
PA2.GPIO_Label=ADC_SYNC
PA2.Locked=true
PA2.Signal=GPIO_Output
PA5.Mode=Full_Duplex_Master
PA5.Signal=SPI1_SCK
PA6.Mode=Full_Duplex_Master
PA6.Signal=SPI1_MISO
PA7.Mode=Full_Duplex_Master
PA7.Signal=SPI1_MOSI
PA8.Locked=true
PA8.Signal=GPIO_Output
PA9.Mode=Asynchronous
PA9.Signal=USART1_TX
PB10.Locked=true
PB10.Mode=Asynchronous
PB10.Signal=USART3_TX
PB11.Locked=true
PB11.Mode=Asynchronous
PB11.Signal=USART3_RX
PB13.Locked=true
PB13.Mode=RX_Only_Simplex_Unidirect_Slave
PB13.Signal=SPI2_SCK
PB15.Locked=true
PB15.Mode=RX_Only_Simplex_Unidirect_Slave
PB15.Signal=SPI2_MOSI
PB3.Mode=RX_Only_Simplex_Unidirect_Slave
PB3.Signal=SPI3_SCK
PB5.Mode=RX_Only_Simplex_Unidirect_Slave
PB5.Signal=SPI3_MOSI
PC10.GPIOParameters=GPIO_PuPd
PC10.GPIO_PuPd=GPIO_PULLUP
PC10.Mode=SD_4_bits_Wide_bus
PC10.Signal=SDIO_D2
PC11.GPIOParameters=GPIO_PuPd
PC11.GPIO_PuPd=GPIO_PULLUP
PC11.Mode=SD_4_bits_Wide_bus
PC11.Signal=SDIO_D3
PC12.GPIOParameters=GPIO_PuPd
PC12.GPIO_PuPd=GPIO_NOPULL
PC12.Mode=SD_4_bits_Wide_bus
PC12.Signal=SDIO_CK
PC3.GPIOParameters=GPIO_PuPd
PC3.GPIO_PuPd=GPIO_PULLDOWN
PC3.Locked=true
PC3.Signal=GPIO_Input
PC7.GPIOParameters=GPIO_Label
PC7.GPIO_Label=RS485_CTL
PC7.Locked=true
PC7.Signal=GPIO_Output
PC8.GPIOParameters=GPIO_PuPd
PC8.GPIO_PuPd=GPIO_PULLUP
PC8.Mode=SD_4_bits_Wide_bus
PC8.Signal=SDIO_D0
PC9.GPIOParameters=GPIO_PuPd
PC9.GPIO_PuPd=GPIO_PULLUP
PC9.Mode=SD_4_bits_Wide_bus
PC9.Signal=SDIO_D1
PD2.GPIOParameters=GPIO_PuPd
PD2.GPIO_PuPd=GPIO_PULLUP
PD2.Mode=SD_4_bits_Wide_bus
PD2.Signal=SDIO_CMD
PH0-OSC_IN.Mode=HSE-External-Oscillator
PH0-OSC_IN.Signal=RCC_OSC_IN
PH1-OSC_OUT.Mode=HSE-External-Oscillator
PH1-OSC_OUT.Signal=RCC_OSC_OUT
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerLinker=GCC
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=true
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32F405RGTx
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.3
ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x1000
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=STM_ATEM_F405.ioc
ProjectManager.ProjectName=STM_ATEM_F405
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=
ProjectManager.StackSize=0x800
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_SDIO_SD_Init-SDIO-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true,6-MX_SPI2_Init-SPI2-false-HAL-true,7-MX_SPI3_Init-SPI3-false-HAL-true,8-MX_USART1_UART_Init-USART1-false-HAL-true,9-MX_FATFS_Init-FATFS-false-HAL-false,10-MX_USB_DEVICE_Init-USB_DEVICE-false-HAL-false,11-MX_USART3_UART_Init-USART3-false-HAL-true,12-MX_TIM2_Init-TIM2-false-HAL-true
RCC.48MHZClocksFreq_Value=48000000
RCC.AHBFreq_Value=168000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
RCC.APB1Freq_Value=42000000
RCC.APB1TimFreq_Value=84000000
RCC.APB2CLKDivider=RCC_HCLK_DIV2
RCC.APB2Freq_Value=84000000
RCC.APB2TimFreq_Value=168000000
RCC.CortexFreq_Value=168000000
RCC.EthernetFreq_Value=168000000
RCC.FCLKCortexFreq_Value=168000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=168000000
RCC.HSE_VALUE=25000000
RCC.HSI_VALUE=16000000
RCC.I2SClocksFreq_Value=96000000
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.MCO2PinFreq_Value=168000000
RCC.PLLCLKFreq_Value=168000000
RCC.PLLM=25
RCC.PLLN=336
RCC.PLLQ=7
RCC.PLLQCLKFreq_Value=48000000
RCC.RTCFreq_Value=32000
RCC.RTCHSEDivFreq_Value=12500000
RCC.SYSCLKFreq_VALUE=168000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.VCOI2SOutputFreq_Value=192000000
RCC.VCOInputFreq_Value=1000000
RCC.VCOOutputFreq_Value=336000000
RCC.VcooutputI2S=96000000
SDIO.ClockDiv=2
SDIO.HardwareFlowControl=SDIO_HARDWARE_FLOW_CONTROL_DISABLE
SDIO.IPParameters=ClockDiv,HardwareFlowControl
SH.GPXTI1.0=GPIO_EXTI1
SH.GPXTI1.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_4
SPI1.CalculateBaudRate=21.0 MBits/s
SPI1.DataSize=SPI_DATASIZE_16BIT
SPI1.Direction=SPI_DIRECTION_2LINES
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler,DataSize
SPI1.Mode=SPI_MODE_MASTER
SPI1.VirtualType=VM_MASTER
SPI2.DataSize=SPI_DATASIZE_16BIT
SPI2.Direction=SPI_DIRECTION_2LINES_RXONLY
SPI2.IPParameters=VirtualType,Mode,Direction,DataSize
SPI2.Mode=SPI_MODE_SLAVE
SPI2.VirtualType=VM_SLAVE
SPI3.DataSize=SPI_DATASIZE_16BIT
SPI3.Direction=SPI_DIRECTION_2LINES_RXONLY
SPI3.IPParameters=VirtualType,Mode,Direction,DataSize
SPI3.Mode=SPI_MODE_SLAVE
SPI3.VirtualType=VM_SLAVE
TIM2.IPParameters=Prescaler,Period
TIM2.Period=999
TIM2.Prescaler=83
USART1.BaudRate=2000000
USART1.IPParameters=VirtualMode,BaudRate
USART1.VirtualMode=VM_ASYNC
USART3.BaudRate=921600
USART3.IPParameters=VirtualMode,BaudRate
USART3.VirtualMode=VM_ASYNC
USB_DEVICE.CLASS_NAME_FS=MSC
USB_DEVICE.IPParameters=VirtualMode-MSC_FS,VirtualModeFS,CLASS_NAME_FS,MSC_MEDIA_PACKET-MSC_FS
USB_DEVICE.MSC_MEDIA_PACKET-MSC_FS=32768
USB_DEVICE.VirtualMode-MSC_FS=Msc
USB_DEVICE.VirtualModeFS=Msc_FS
USB_OTG_FS.IPParameters=VirtualMode
USB_OTG_FS.VirtualMode=Device_Only
VP_FATFS_VS_SDIO.Mode=SDIO
VP_FATFS_VS_SDIO.Signal=FATFS_VS_SDIO
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TIM2_VS_ClockSourceINT.Mode=Internal
VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT
VP_USB_DEVICE_VS_USB_DEVICE_MSC_FS.Mode=MSC_FS
VP_USB_DEVICE_VS_USB_DEVICE_MSC_FS.Signal=USB_DEVICE_VS_USB_DEVICE_MSC_FS
board=custom
isbadioc=false