diff --git a/.mxproject b/.mxproject index 3ba56ff..74bfc3f 100644 --- a/.mxproject +++ b/.mxproject @@ -1,5 +1,5 @@ [PreviousLibFiles] -LibFiles=Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rng.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/include/atomic.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_mpool.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_os2.h;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rng.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/include/atomic.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_mpool.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_os2.h;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_armv8mbl.h; +LibFiles=Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rng.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/include/atomic.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_mpool.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_os2.h;Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h;Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_adc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_crc.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_i2c_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rng.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h;Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h;Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h;Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h;Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h;Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h;Middlewares/Third_Party/FreeRTOS/Source/include/list.h;Middlewares/Third_Party/FreeRTOS/Source/include/message_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h;Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h;Middlewares/Third_Party/FreeRTOS/Source/include/portable.h;Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h;Middlewares/Third_Party/FreeRTOS/Source/include/queue.h;Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h;Middlewares/Third_Party/FreeRTOS/Source/include/stack_macros.h;Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h;Middlewares/Third_Party/FreeRTOS/Source/include/stream_buffer.h;Middlewares/Third_Party/FreeRTOS/Source/include/task.h;Middlewares/Third_Party/FreeRTOS/Source/include/timers.h;Middlewares/Third_Party/FreeRTOS/Source/include/atomic.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_mpool.h;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/freertos_os2.h;Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h;Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_armv8mbl.h; [PreviousUsedCMakes] SourceFiles=Core/Src/main.c;Core/Src/gpio.c;Core/Src/freertos.c;Core/Src/adc.c;Core/Src/can.c;Core/Src/crc.c;Core/Src/dma.c;Core/Src/i2c.c;Core/Src/rng.c;Core/Src/spi.c;Core/Src/tim.c;Core/Src/usart.c;USB_DEVICE/App/usb_device.c;USB_DEVICE/Target/usbd_conf.c;USB_DEVICE/App/usbd_desc.c;USB_DEVICE/App/usbd_cdc_if.c;Core/Src/stm32f4xx_it.c;Core/Src/stm32f4xx_hal_msp.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Core/Src/system_stm32f4xx.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c;Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;Core/Src/system_stm32f4xx.c;;;Middlewares/Third_Party/FreeRTOS/Source/croutine.c;Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;Middlewares/Third_Party/FreeRTOS/Source/list.c;Middlewares/Third_Party/FreeRTOS/Source/queue.c;Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;Middlewares/Third_Party/FreeRTOS/Source/tasks.c;Middlewares/Third_Party/FreeRTOS/Source/timers.c;Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c; @@ -57,3 +57,8 @@ SourcePath#1=../USB_DEVICE/App SourcePath#2=../USB_DEVICE/Target SourceFiles=; +[PreviousUsedKeilFiles] +SourceFiles=../Core/Src/main.c;../Core/Src/gpio.c;../Core/Src/freertos.c;../Core/Src/adc.c;../Core/Src/can.c;../Core/Src/crc.c;../Core/Src/dma.c;../Core/Src/i2c.c;../Core/Src/rng.c;../Core/Src/spi.c;../Core/Src/tim.c;../Core/Src/usart.c;../USB_DEVICE/App/usb_device.c;../USB_DEVICE/Target/usbd_conf.c;../USB_DEVICE/App/usbd_desc.c;../USB_DEVICE/App/usbd_cdc_if.c;../Core/Src/stm32f4xx_it.c;../Core/Src/stm32f4xx_hal_msp.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;../Middlewares/Third_Party/FreeRTOS/Source/croutine.c;../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;../Middlewares/Third_Party/FreeRTOS/Source/list.c;../Middlewares/Third_Party/FreeRTOS/Source/queue.c;../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;../Middlewares/Third_Party/FreeRTOS/Source/tasks.c;../Middlewares/Third_Party/FreeRTOS/Source/timers.c;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c;../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;../Core/Src/system_stm32f4xx.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c;../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c;../Middlewares/Third_Party/FreeRTOS/Source/croutine.c;../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;../Middlewares/Third_Party/FreeRTOS/Source/list.c;../Middlewares/Third_Party/FreeRTOS/Source/queue.c;../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;../Middlewares/Third_Party/FreeRTOS/Source/tasks.c;../Middlewares/Third_Party/FreeRTOS/Source/timers.c;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c;../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c;../Core/Src/system_stm32f4xx.c;;;../Middlewares/Third_Party/FreeRTOS/Source/croutine.c;../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c;../Middlewares/Third_Party/FreeRTOS/Source/list.c;../Middlewares/Third_Party/FreeRTOS/Source/queue.c;../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c;../Middlewares/Third_Party/FreeRTOS/Source/tasks.c;../Middlewares/Third_Party/FreeRTOS/Source/timers.c;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c;../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c;../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c; +HeaderPath=../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Middlewares/ST/STM32_USB_Device_Library/Core/Inc;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../Core/Inc;../USB_DEVICE/App;../USB_DEVICE/Target; +CDefines=USE_HAL_DRIVER;STM32F407xx;USE_HAL_DRIVER;USE_HAL_DRIVER; + diff --git a/Core/Inc/FreeRTOSConfig.h b/Core/Inc/FreeRTOSConfig.h index 16c89ac..fee994f 100644 --- a/Core/Inc/FreeRTOSConfig.h +++ b/Core/Inc/FreeRTOSConfig.h @@ -187,7 +187,7 @@ standard names. */ /* USER CODE BEGIN Defines */ /* Section where parameter definitions can be added (for instance, to override default ones in FreeRTOS.h) */ -#define configAPPLICATION_ALLOCATED_HEAP 1 +// #define configAPPLICATION_ALLOCATED_HEAP 1 /* USER CODE END Defines */ #endif /* FREERTOS_CONFIG_H */ diff --git a/Core/Src/stm32f4xx_it.c b/Core/Src/stm32f4xx_it.c index 3baef83..200488b 100644 --- a/Core/Src/stm32f4xx_it.c +++ b/Core/Src/stm32f4xx_it.c @@ -1,515 +1,515 @@ -/* USER CODE BEGIN Header */ -/** - ****************************************************************************** - * @file stm32f4xx_it.c - * @brief Interrupt Service Routines. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2025 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under Ultimate Liberty license - * SLA0044, the "License"; You may not use this file except in compliance with - * the License. You may obtain a copy of the License at: - * www.st.com/SLA0044 - * - ****************************************************************************** - */ -/* USER CODE END Header */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "stm32f4xx_it.h" -#include "FreeRTOS.h" -#include "task.h" -/* Private includes ----------------------------------------------------------*/ -/* USER CODE BEGIN Includes */ -#include "bsp/uart.h" -/* USER CODE END Includes */ - -/* Private typedef -----------------------------------------------------------*/ -/* USER CODE BEGIN TD */ - -/* USER CODE END TD */ - -/* Private define ------------------------------------------------------------*/ -/* USER CODE BEGIN PD */ - -/* USER CODE END PD */ - -/* Private macro -------------------------------------------------------------*/ -/* USER CODE BEGIN PM */ - -/* USER CODE END PM */ - -/* Private variables ---------------------------------------------------------*/ -/* USER CODE BEGIN PV */ - -/* USER CODE END PV */ - -/* Private function prototypes -----------------------------------------------*/ -/* USER CODE BEGIN PFP */ - -/* USER CODE END PFP */ - -/* Private user code ---------------------------------------------------------*/ -/* USER CODE BEGIN 0 */ - -/* USER CODE END 0 */ - -/* External variables --------------------------------------------------------*/ -extern PCD_HandleTypeDef hpcd_USB_OTG_FS; -extern CAN_HandleTypeDef hcan1; -extern CAN_HandleTypeDef hcan2; -extern DMA_HandleTypeDef hdma_i2c2_tx; -extern DMA_HandleTypeDef hdma_i2c3_rx; -extern DMA_HandleTypeDef hdma_spi1_rx; -extern DMA_HandleTypeDef hdma_spi1_tx; -extern TIM_HandleTypeDef htim1; -extern TIM_HandleTypeDef htim7; -extern DMA_HandleTypeDef hdma_usart1_tx; -extern DMA_HandleTypeDef hdma_usart1_rx; -extern DMA_HandleTypeDef hdma_usart3_rx; -extern DMA_HandleTypeDef hdma_usart6_rx; -extern DMA_HandleTypeDef hdma_usart6_tx; -extern UART_HandleTypeDef huart1; -extern UART_HandleTypeDef huart6; -/* USER CODE BEGIN EV */ - -/* USER CODE END EV */ - -/******************************************************************************/ -/* Cortex-M4 Processor Interruption and Exception Handlers */ -/******************************************************************************/ -/** - * @brief This function handles Non maskable interrupt. - */ -void NMI_Handler(void) -{ - /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ - - /* USER CODE END NonMaskableInt_IRQn 0 */ - /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ - while (1) - { - } - /* USER CODE END NonMaskableInt_IRQn 1 */ -} - -/** - * @brief This function handles Hard fault interrupt. - */ -void HardFault_Handler(void) -{ - /* USER CODE BEGIN HardFault_IRQn 0 */ - - /* USER CODE END HardFault_IRQn 0 */ - while (1) - { - /* USER CODE BEGIN W1_HardFault_IRQn 0 */ - /* USER CODE END W1_HardFault_IRQn 0 */ - } -} - -/** - * @brief This function handles Memory management fault. - */ -void MemManage_Handler(void) -{ - /* USER CODE BEGIN MemoryManagement_IRQn 0 */ - - /* USER CODE END MemoryManagement_IRQn 0 */ - while (1) - { - /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */ - /* USER CODE END W1_MemoryManagement_IRQn 0 */ - } -} - -/** - * @brief This function handles Pre-fetch fault, memory access fault. - */ -void BusFault_Handler(void) -{ - /* USER CODE BEGIN BusFault_IRQn 0 */ - - /* USER CODE END BusFault_IRQn 0 */ - while (1) - { - /* USER CODE BEGIN W1_BusFault_IRQn 0 */ - /* USER CODE END W1_BusFault_IRQn 0 */ - } -} - -/** - * @brief This function handles Undefined instruction or illegal state. - */ -void UsageFault_Handler(void) -{ - /* USER CODE BEGIN UsageFault_IRQn 0 */ - - /* USER CODE END UsageFault_IRQn 0 */ - while (1) - { - /* USER CODE BEGIN W1_UsageFault_IRQn 0 */ - /* USER CODE END W1_UsageFault_IRQn 0 */ - } -} - -/** - * @brief This function handles Debug monitor. - */ -void DebugMon_Handler(void) -{ - /* USER CODE BEGIN DebugMonitor_IRQn 0 */ - - /* USER CODE END DebugMonitor_IRQn 0 */ - /* USER CODE BEGIN DebugMonitor_IRQn 1 */ - - /* USER CODE END DebugMonitor_IRQn 1 */ -} - -/** - * @brief This function handles System tick timer. - */ -void SysTick_Handler(void) -{ - /* USER CODE BEGIN SysTick_IRQn 0 */ - - /* USER CODE END SysTick_IRQn 0 */ - HAL_IncTick(); -#if (INCLUDE_xTaskGetSchedulerState == 1 ) - if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) - { -#endif /* INCLUDE_xTaskGetSchedulerState */ - xPortSysTickHandler(); -#if (INCLUDE_xTaskGetSchedulerState == 1 ) - } -#endif /* INCLUDE_xTaskGetSchedulerState */ - /* USER CODE BEGIN SysTick_IRQn 1 */ - - /* USER CODE END SysTick_IRQn 1 */ -} - -/******************************************************************************/ -/* STM32F4xx Peripheral Interrupt Handlers */ -/* Add here the Interrupt Handlers for the used peripherals. */ -/* For the available peripheral interrupt handler names, */ -/* please refer to the startup file (startup_stm32f4xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles EXTI line0 interrupt. - */ -void EXTI0_IRQHandler(void) -{ - /* USER CODE BEGIN EXTI0_IRQn 0 */ - - /* USER CODE END EXTI0_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); - /* USER CODE BEGIN EXTI0_IRQn 1 */ - - /* USER CODE END EXTI0_IRQn 1 */ -} - -/** - * @brief This function handles EXTI line3 interrupt. - */ -void EXTI3_IRQHandler(void) -{ - /* USER CODE BEGIN EXTI3_IRQn 0 */ - - /* USER CODE END EXTI3_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); - /* USER CODE BEGIN EXTI3_IRQn 1 */ - - /* USER CODE END EXTI3_IRQn 1 */ -} - -/** - * @brief This function handles EXTI line4 interrupt. - */ -void EXTI4_IRQHandler(void) -{ - /* USER CODE BEGIN EXTI4_IRQn 0 */ - - /* USER CODE END EXTI4_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); - /* USER CODE BEGIN EXTI4_IRQn 1 */ - - /* USER CODE END EXTI4_IRQn 1 */ -} - -/** - * @brief This function handles DMA1 stream1 global interrupt. - */ -void DMA1_Stream1_IRQHandler(void) -{ - /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */ - - /* USER CODE END DMA1_Stream1_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_usart3_rx); - /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */ - - /* USER CODE END DMA1_Stream1_IRQn 1 */ -} - -/** - * @brief This function handles DMA1 stream2 global interrupt. - */ -void DMA1_Stream2_IRQHandler(void) -{ - /* USER CODE BEGIN DMA1_Stream2_IRQn 0 */ - - /* USER CODE END DMA1_Stream2_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_i2c3_rx); - /* USER CODE BEGIN DMA1_Stream2_IRQn 1 */ - - /* USER CODE END DMA1_Stream2_IRQn 1 */ -} - -/** - * @brief This function handles CAN1 RX0 interrupts. - */ -void CAN1_RX0_IRQHandler(void) -{ - /* USER CODE BEGIN CAN1_RX0_IRQn 0 */ - - /* USER CODE END CAN1_RX0_IRQn 0 */ - HAL_CAN_IRQHandler(&hcan1); - /* USER CODE BEGIN CAN1_RX0_IRQn 1 */ - - /* USER CODE END CAN1_RX0_IRQn 1 */ -} - -/** - * @brief This function handles CAN1 RX1 interrupt. - */ -void CAN1_RX1_IRQHandler(void) -{ - /* USER CODE BEGIN CAN1_RX1_IRQn 0 */ - - /* USER CODE END CAN1_RX1_IRQn 0 */ - HAL_CAN_IRQHandler(&hcan1); - /* USER CODE BEGIN CAN1_RX1_IRQn 1 */ - - /* USER CODE END CAN1_RX1_IRQn 1 */ -} - -/** - * @brief This function handles EXTI line[9:5] interrupts. - */ -void EXTI9_5_IRQHandler(void) -{ - /* USER CODE BEGIN EXTI9_5_IRQn 0 */ - - /* USER CODE END EXTI9_5_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5); - /* USER CODE BEGIN EXTI9_5_IRQn 1 */ - - /* USER CODE END EXTI9_5_IRQn 1 */ -} - -/** - * @brief This function handles TIM1 break interrupt and TIM9 global interrupt. - */ -void TIM1_BRK_TIM9_IRQHandler(void) -{ - /* USER CODE BEGIN TIM1_BRK_TIM9_IRQn 0 */ - - /* USER CODE END TIM1_BRK_TIM9_IRQn 0 */ - HAL_TIM_IRQHandler(&htim1); - /* USER CODE BEGIN TIM1_BRK_TIM9_IRQn 1 */ - - /* USER CODE END TIM1_BRK_TIM9_IRQn 1 */ -} - -/** - * @brief This function handles USART1 global interrupt. - */ -void USART1_IRQHandler(void) -{ - /* USER CODE BEGIN USART1_IRQn 0 */ - - /* USER CODE END USART1_IRQn 0 */ - HAL_UART_IRQHandler(&huart1); - /* USER CODE BEGIN USART1_IRQn 1 */ - BSP_UART_IRQHandler(&huart1); - - /* USER CODE END USART1_IRQn 1 */ -} - -/** - * @brief This function handles DMA1 stream7 global interrupt. - */ -void DMA1_Stream7_IRQHandler(void) -{ - /* USER CODE BEGIN DMA1_Stream7_IRQn 0 */ - - /* USER CODE END DMA1_Stream7_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_i2c2_tx); - /* USER CODE BEGIN DMA1_Stream7_IRQn 1 */ - - /* USER CODE END DMA1_Stream7_IRQn 1 */ -} - -/** - * @brief This function handles TIM7 global interrupt. - */ -void TIM7_IRQHandler(void) -{ - /* USER CODE BEGIN TIM7_IRQn 0 */ - - /* USER CODE END TIM7_IRQn 0 */ - HAL_TIM_IRQHandler(&htim7); - /* USER CODE BEGIN TIM7_IRQn 1 */ - - /* USER CODE END TIM7_IRQn 1 */ -} - -/** - * @brief This function handles DMA2 stream1 global interrupt. - */ -void DMA2_Stream1_IRQHandler(void) -{ - /* USER CODE BEGIN DMA2_Stream1_IRQn 0 */ - - /* USER CODE END DMA2_Stream1_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_usart6_rx); - /* USER CODE BEGIN DMA2_Stream1_IRQn 1 */ - - /* USER CODE END DMA2_Stream1_IRQn 1 */ -} - -/** - * @brief This function handles DMA2 stream2 global interrupt. - */ -void DMA2_Stream2_IRQHandler(void) -{ - /* USER CODE BEGIN DMA2_Stream2_IRQn 0 */ - - /* USER CODE END DMA2_Stream2_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_spi1_rx); - /* USER CODE BEGIN DMA2_Stream2_IRQn 1 */ - - /* USER CODE END DMA2_Stream2_IRQn 1 */ -} - -/** - * @brief This function handles DMA2 stream3 global interrupt. - */ -void DMA2_Stream3_IRQHandler(void) -{ - /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ - - /* USER CODE END DMA2_Stream3_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_spi1_tx); - /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ - - /* USER CODE END DMA2_Stream3_IRQn 1 */ -} - -/** - * @brief This function handles CAN2 RX0 interrupts. - */ -void CAN2_RX0_IRQHandler(void) -{ - /* USER CODE BEGIN CAN2_RX0_IRQn 0 */ - - /* USER CODE END CAN2_RX0_IRQn 0 */ - HAL_CAN_IRQHandler(&hcan2); - /* USER CODE BEGIN CAN2_RX0_IRQn 1 */ - - /* USER CODE END CAN2_RX0_IRQn 1 */ -} - -/** - * @brief This function handles CAN2 RX1 interrupt. - */ -void CAN2_RX1_IRQHandler(void) -{ - /* USER CODE BEGIN CAN2_RX1_IRQn 0 */ - - /* USER CODE END CAN2_RX1_IRQn 0 */ - HAL_CAN_IRQHandler(&hcan2); - /* USER CODE BEGIN CAN2_RX1_IRQn 1 */ - - /* USER CODE END CAN2_RX1_IRQn 1 */ -} - -/** - * @brief This function handles USB On The Go FS global interrupt. - */ -void OTG_FS_IRQHandler(void) -{ - /* USER CODE BEGIN OTG_FS_IRQn 0 */ - - /* USER CODE END OTG_FS_IRQn 0 */ - HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS); - /* USER CODE BEGIN OTG_FS_IRQn 1 */ - - /* USER CODE END OTG_FS_IRQn 1 */ -} - -/** - * @brief This function handles DMA2 stream5 global interrupt. - */ -void DMA2_Stream5_IRQHandler(void) -{ - /* USER CODE BEGIN DMA2_Stream5_IRQn 0 */ - - /* USER CODE END DMA2_Stream5_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_usart1_rx); - /* USER CODE BEGIN DMA2_Stream5_IRQn 1 */ - - /* USER CODE END DMA2_Stream5_IRQn 1 */ -} - -/** - * @brief This function handles DMA2 stream6 global interrupt. - */ -void DMA2_Stream6_IRQHandler(void) -{ - /* USER CODE BEGIN DMA2_Stream6_IRQn 0 */ - - /* USER CODE END DMA2_Stream6_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_usart6_tx); - /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ - - /* USER CODE END DMA2_Stream6_IRQn 1 */ -} - -/** - * @brief This function handles DMA2 stream7 global interrupt. - */ -void DMA2_Stream7_IRQHandler(void) -{ - /* USER CODE BEGIN DMA2_Stream7_IRQn 0 */ - - /* USER CODE END DMA2_Stream7_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_usart1_tx); - /* USER CODE BEGIN DMA2_Stream7_IRQn 1 */ - - /* USER CODE END DMA2_Stream7_IRQn 1 */ -} - -/** - * @brief This function handles USART6 global interrupt. - */ -void USART6_IRQHandler(void) -{ - /* USER CODE BEGIN USART6_IRQn 0 */ - - /* USER CODE END USART6_IRQn 0 */ - HAL_UART_IRQHandler(&huart6); - /* USER CODE BEGIN USART6_IRQn 1 */ - BSP_UART_IRQHandler(&huart6); - - /* USER CODE END USART6_IRQn 1 */ -} - -/* USER CODE BEGIN 1 */ - -/* USER CODE END 1 */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * @file stm32f4xx_it.c + * @brief Interrupt Service Routines. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2025 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under Ultimate Liberty license + * SLA0044, the "License"; You may not use this file except in compliance with + * the License. You may obtain a copy of the License at: + * www.st.com/SLA0044 + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "main.h" +#include "stm32f4xx_it.h" +#include "FreeRTOS.h" +#include "task.h" +/* Private includes ----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ +#include "bsp/uart.h" +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN TD */ + +/* USER CODE END TD */ + +/* Private define ------------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macro -------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Private user code ---------------------------------------------------------*/ +/* USER CODE BEGIN 0 */ + +/* USER CODE END 0 */ + +/* External variables --------------------------------------------------------*/ +extern PCD_HandleTypeDef hpcd_USB_OTG_FS; +extern CAN_HandleTypeDef hcan1; +extern CAN_HandleTypeDef hcan2; +extern DMA_HandleTypeDef hdma_i2c2_tx; +extern DMA_HandleTypeDef hdma_i2c3_rx; +extern DMA_HandleTypeDef hdma_spi1_rx; +extern DMA_HandleTypeDef hdma_spi1_tx; +extern TIM_HandleTypeDef htim1; +extern TIM_HandleTypeDef htim7; +extern DMA_HandleTypeDef hdma_usart1_tx; +extern DMA_HandleTypeDef hdma_usart1_rx; +extern DMA_HandleTypeDef hdma_usart3_rx; +extern DMA_HandleTypeDef hdma_usart6_rx; +extern DMA_HandleTypeDef hdma_usart6_tx; +extern UART_HandleTypeDef huart1; +extern UART_HandleTypeDef huart6; +/* USER CODE BEGIN EV */ + +/* USER CODE END EV */ + +/******************************************************************************/ +/* Cortex-M4 Processor Interruption and Exception Handlers */ +/******************************************************************************/ +/** + * @brief This function handles Non maskable interrupt. + */ +void NMI_Handler(void) +{ + /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ + + /* USER CODE END NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ + while (1) + { + } + /* USER CODE END NonMaskableInt_IRQn 1 */ +} + +/** + * @brief This function handles Hard fault interrupt. + */ +void HardFault_Handler(void) +{ + /* USER CODE BEGIN HardFault_IRQn 0 */ + + /* USER CODE END HardFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + /* USER CODE END W1_HardFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Memory management fault. + */ +void MemManage_Handler(void) +{ + /* USER CODE BEGIN MemoryManagement_IRQn 0 */ + + /* USER CODE END MemoryManagement_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */ + /* USER CODE END W1_MemoryManagement_IRQn 0 */ + } +} + +/** + * @brief This function handles Pre-fetch fault, memory access fault. + */ +void BusFault_Handler(void) +{ + /* USER CODE BEGIN BusFault_IRQn 0 */ + + /* USER CODE END BusFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_BusFault_IRQn 0 */ + /* USER CODE END W1_BusFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Undefined instruction or illegal state. + */ +void UsageFault_Handler(void) +{ + /* USER CODE BEGIN UsageFault_IRQn 0 */ + + /* USER CODE END UsageFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_UsageFault_IRQn 0 */ + /* USER CODE END W1_UsageFault_IRQn 0 */ + } +} + +/** + * @brief This function handles Debug monitor. + */ +void DebugMon_Handler(void) +{ + /* USER CODE BEGIN DebugMonitor_IRQn 0 */ + + /* USER CODE END DebugMonitor_IRQn 0 */ + /* USER CODE BEGIN DebugMonitor_IRQn 1 */ + + /* USER CODE END DebugMonitor_IRQn 1 */ +} + +/** + * @brief This function handles System tick timer. + */ +void SysTick_Handler(void) +{ + /* USER CODE BEGIN SysTick_IRQn 0 */ + + /* USER CODE END SysTick_IRQn 0 */ + HAL_IncTick(); +#if (INCLUDE_xTaskGetSchedulerState == 1 ) + if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) + { +#endif /* INCLUDE_xTaskGetSchedulerState */ + xPortSysTickHandler(); +#if (INCLUDE_xTaskGetSchedulerState == 1 ) + } +#endif /* INCLUDE_xTaskGetSchedulerState */ + /* USER CODE BEGIN SysTick_IRQn 1 */ + + /* USER CODE END SysTick_IRQn 1 */ +} + +/******************************************************************************/ +/* STM32F4xx Peripheral Interrupt Handlers */ +/* Add here the Interrupt Handlers for the used peripherals. */ +/* For the available peripheral interrupt handler names, */ +/* please refer to the startup file (startup_stm32f4xx.s). */ +/******************************************************************************/ + +/** + * @brief This function handles EXTI line0 interrupt. + */ +void EXTI0_IRQHandler(void) +{ + /* USER CODE BEGIN EXTI0_IRQn 0 */ + + /* USER CODE END EXTI0_IRQn 0 */ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); + /* USER CODE BEGIN EXTI0_IRQn 1 */ + + /* USER CODE END EXTI0_IRQn 1 */ +} + +/** + * @brief This function handles EXTI line3 interrupt. + */ +void EXTI3_IRQHandler(void) +{ + /* USER CODE BEGIN EXTI3_IRQn 0 */ + + /* USER CODE END EXTI3_IRQn 0 */ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); + /* USER CODE BEGIN EXTI3_IRQn 1 */ + + /* USER CODE END EXTI3_IRQn 1 */ +} + +/** + * @brief This function handles EXTI line4 interrupt. + */ +void EXTI4_IRQHandler(void) +{ + /* USER CODE BEGIN EXTI4_IRQn 0 */ + + /* USER CODE END EXTI4_IRQn 0 */ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); + /* USER CODE BEGIN EXTI4_IRQn 1 */ + + /* USER CODE END EXTI4_IRQn 1 */ +} + +/** + * @brief This function handles DMA1 stream1 global interrupt. + */ +void DMA1_Stream1_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Stream1_IRQn 0 */ + + /* USER CODE END DMA1_Stream1_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart3_rx); + /* USER CODE BEGIN DMA1_Stream1_IRQn 1 */ + + /* USER CODE END DMA1_Stream1_IRQn 1 */ +} + +/** + * @brief This function handles DMA1 stream2 global interrupt. + */ +void DMA1_Stream2_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Stream2_IRQn 0 */ + + /* USER CODE END DMA1_Stream2_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_i2c3_rx); + /* USER CODE BEGIN DMA1_Stream2_IRQn 1 */ + + /* USER CODE END DMA1_Stream2_IRQn 1 */ +} + +/** + * @brief This function handles CAN1 RX0 interrupts. + */ +void CAN1_RX0_IRQHandler(void) +{ + /* USER CODE BEGIN CAN1_RX0_IRQn 0 */ + + /* USER CODE END CAN1_RX0_IRQn 0 */ + HAL_CAN_IRQHandler(&hcan1); + /* USER CODE BEGIN CAN1_RX0_IRQn 1 */ + + /* USER CODE END CAN1_RX0_IRQn 1 */ +} + +/** + * @brief This function handles CAN1 RX1 interrupt. + */ +void CAN1_RX1_IRQHandler(void) +{ + /* USER CODE BEGIN CAN1_RX1_IRQn 0 */ + + /* USER CODE END CAN1_RX1_IRQn 0 */ + HAL_CAN_IRQHandler(&hcan1); + /* USER CODE BEGIN CAN1_RX1_IRQn 1 */ + + /* USER CODE END CAN1_RX1_IRQn 1 */ +} + +/** + * @brief This function handles EXTI line[9:5] interrupts. + */ +void EXTI9_5_IRQHandler(void) +{ + /* USER CODE BEGIN EXTI9_5_IRQn 0 */ + + /* USER CODE END EXTI9_5_IRQn 0 */ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_5); + /* USER CODE BEGIN EXTI9_5_IRQn 1 */ + + /* USER CODE END EXTI9_5_IRQn 1 */ +} + +/** + * @brief This function handles TIM1 break interrupt and TIM9 global interrupt. + */ +void TIM1_BRK_TIM9_IRQHandler(void) +{ + /* USER CODE BEGIN TIM1_BRK_TIM9_IRQn 0 */ + + /* USER CODE END TIM1_BRK_TIM9_IRQn 0 */ + HAL_TIM_IRQHandler(&htim1); + /* USER CODE BEGIN TIM1_BRK_TIM9_IRQn 1 */ + + /* USER CODE END TIM1_BRK_TIM9_IRQn 1 */ +} + +/** + * @brief This function handles USART1 global interrupt. + */ +void USART1_IRQHandler(void) +{ + /* USER CODE BEGIN USART1_IRQn 0 */ + + /* USER CODE END USART1_IRQn 0 */ + HAL_UART_IRQHandler(&huart1); + /* USER CODE BEGIN USART1_IRQn 1 */ + BSP_UART_IRQHandler(&huart1); + + /* USER CODE END USART1_IRQn 1 */ +} + +/** + * @brief This function handles DMA1 stream7 global interrupt. + */ +void DMA1_Stream7_IRQHandler(void) +{ + /* USER CODE BEGIN DMA1_Stream7_IRQn 0 */ + + /* USER CODE END DMA1_Stream7_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_i2c2_tx); + /* USER CODE BEGIN DMA1_Stream7_IRQn 1 */ + + /* USER CODE END DMA1_Stream7_IRQn 1 */ +} + +/** + * @brief This function handles TIM7 global interrupt. + */ +void TIM7_IRQHandler(void) +{ + /* USER CODE BEGIN TIM7_IRQn 0 */ + + /* USER CODE END TIM7_IRQn 0 */ + HAL_TIM_IRQHandler(&htim7); + /* USER CODE BEGIN TIM7_IRQn 1 */ + + /* USER CODE END TIM7_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream1 global interrupt. + */ +void DMA2_Stream1_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream1_IRQn 0 */ + + /* USER CODE END DMA2_Stream1_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_rx); + /* USER CODE BEGIN DMA2_Stream1_IRQn 1 */ + + /* USER CODE END DMA2_Stream1_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream2 global interrupt. + */ +void DMA2_Stream2_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream2_IRQn 0 */ + + /* USER CODE END DMA2_Stream2_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_spi1_rx); + /* USER CODE BEGIN DMA2_Stream2_IRQn 1 */ + + /* USER CODE END DMA2_Stream2_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream3 global interrupt. + */ +void DMA2_Stream3_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ + + /* USER CODE END DMA2_Stream3_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_spi1_tx); + /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ + + /* USER CODE END DMA2_Stream3_IRQn 1 */ +} + +/** + * @brief This function handles CAN2 RX0 interrupts. + */ +void CAN2_RX0_IRQHandler(void) +{ + /* USER CODE BEGIN CAN2_RX0_IRQn 0 */ + + /* USER CODE END CAN2_RX0_IRQn 0 */ + HAL_CAN_IRQHandler(&hcan2); + /* USER CODE BEGIN CAN2_RX0_IRQn 1 */ + + /* USER CODE END CAN2_RX0_IRQn 1 */ +} + +/** + * @brief This function handles CAN2 RX1 interrupt. + */ +void CAN2_RX1_IRQHandler(void) +{ + /* USER CODE BEGIN CAN2_RX1_IRQn 0 */ + + /* USER CODE END CAN2_RX1_IRQn 0 */ + HAL_CAN_IRQHandler(&hcan2); + /* USER CODE BEGIN CAN2_RX1_IRQn 1 */ + + /* USER CODE END CAN2_RX1_IRQn 1 */ +} + +/** + * @brief This function handles USB On The Go FS global interrupt. + */ +void OTG_FS_IRQHandler(void) +{ + /* USER CODE BEGIN OTG_FS_IRQn 0 */ + + /* USER CODE END OTG_FS_IRQn 0 */ + HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS); + /* USER CODE BEGIN OTG_FS_IRQn 1 */ + + /* USER CODE END OTG_FS_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream5 global interrupt. + */ +void DMA2_Stream5_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream5_IRQn 0 */ + + /* USER CODE END DMA2_Stream5_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_rx); + /* USER CODE BEGIN DMA2_Stream5_IRQn 1 */ + + /* USER CODE END DMA2_Stream5_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream6 global interrupt. + */ +void DMA2_Stream6_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream6_IRQn 0 */ + + /* USER CODE END DMA2_Stream6_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart6_tx); + /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ + + /* USER CODE END DMA2_Stream6_IRQn 1 */ +} + +/** + * @brief This function handles DMA2 stream7 global interrupt. + */ +void DMA2_Stream7_IRQHandler(void) +{ + /* USER CODE BEGIN DMA2_Stream7_IRQn 0 */ + + /* USER CODE END DMA2_Stream7_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_tx); + /* USER CODE BEGIN DMA2_Stream7_IRQn 1 */ + + /* USER CODE END DMA2_Stream7_IRQn 1 */ +} + +/** + * @brief This function handles USART6 global interrupt. + */ +void USART6_IRQHandler(void) +{ + /* USER CODE BEGIN USART6_IRQn 0 */ + + /* USER CODE END USART6_IRQn 0 */ + HAL_UART_IRQHandler(&huart6); + /* USER CODE BEGIN USART6_IRQn 1 */ + BSP_UART_IRQHandler(&huart6); + + /* USER CODE END USART6_IRQn 1 */ +} + +/* USER CODE BEGIN 1 */ + +/* USER CODE END 1 */ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/DevC.ioc b/DevC.ioc index 3be775d..94215c8 100644 --- a/DevC.ioc +++ b/DevC.ioc @@ -552,7 +552,7 @@ ProjectManager.ProjectName=DevC ProjectManager.ProjectStructure= ProjectManager.RegisterCallBack= ProjectManager.StackSize=0x1000 -ProjectManager.TargetToolchain=CMake +ProjectManager.TargetToolchain=MDK-ARM V5.32 ProjectManager.ToolChainLocation= ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptBeforePath= diff --git a/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h b/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h index 0dba2cf..0faf69d 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h +++ b/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h @@ -1245,8 +1245,8 @@ typedef struct */ /* Initialization and de-initialization functions ******************************/ HAL_StatusTypeDef HAL_RCC_DeInit(void); -HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct); -HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency); +HAL_StatusTypeDef HAL_RCC_OscConfig(const RCC_OscInitTypeDef *RCC_OscInitStruct); +HAL_StatusTypeDef HAL_RCC_ClockConfig(const RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency); /** * @} */ diff --git a/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c b/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c index 4cf59ef..98c38ca 100644 --- a/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c +++ b/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c @@ -218,7 +218,7 @@ __weak HAL_StatusTypeDef HAL_RCC_DeInit(void) * first and then HSE On or HSE Bypass. * @retval HAL status */ -__weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) +__weak HAL_StatusTypeDef HAL_RCC_OscConfig(const RCC_OscInitTypeDef *RCC_OscInitStruct) { uint32_t tickstart, pll_config; @@ -590,7 +590,7 @@ __weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruc * (for more details refer to section above "Initialization/de-initialization functions") * @retval None */ -HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) +HAL_StatusTypeDef HAL_RCC_ClockConfig(const RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) { uint32_t tickstart; diff --git a/MDK-ARM/DevC.uvguix.lvzucheng b/MDK-ARM/DevC.uvguix.lvzucheng index 931ee57..fe1fe20 100644 --- a/MDK-ARM/DevC.uvguix.lvzucheng +++ b/MDK-ARM/DevC.uvguix.lvzucheng @@ -25,7 +25,7 @@ 204 Performance Analyzer - 275 137 137 366 + 915 @@ -34,7 +34,7 @@ 35141 Event Statistics - 250 50 619 + 200 50 700 1506 @@ -110,8 +110,8 @@ 0 - 458 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000020000000100000046433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000C5D4F200FFFFFFFF38433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF41433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C557365725C7461736B5C6374726C5F636861737369732E63000000000E6374726C5F636861737369732E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF0000007900000092050000E5020000 + 361 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000038433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF46433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF000000790000009205000081010000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000BA000000A2020000 + 0300000066000000BA0000003E010000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000BA000000A2020000 + 0300000066000000BA0000003E010000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000BA000000A2020000 + 0300000066000000BA0000003E010000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000BA000000A2020000 + 0300000066000000BA0000003E010000 16 @@ -490,7 +490,7 @@ 0 16 - 00000000D30200006405000036030000 + 000000006F0100006405000036030000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000D6020000610500001D030000 + 030000007201000061050000B9010000 16 @@ -1170,7 +1170,7 @@ 0 16 - 03000000D6020000610500001D030000 + 030000007201000061050000B9010000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000D6020000610500001D030000 + 030000007201000061050000B9010000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000D6020000610500001D030000 + 030000007201000061050000B9010000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000D6020000610500001D030000 + 030000007201000061050000B9010000 16 @@ -1799,7 +1799,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC1000000C60000005E040000CA000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000EF000000790000008C040000F0000000C10000004F0000005E040000C60000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9D0300004F000000A1030000C9010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000CF030000790000008C040000F3010000A10300004F0000005E040000C901000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFBD0000004F000000C1000000BB020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000002E00000079000000EB000000E5020000000000004F000000BD000000BB0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000B50100005E040000B901000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000002E000000E30100008C0400006E02000000000000B90100005E0400004402000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF2F020000B9010000330200004402000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000BB02000064050000BF020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002E000000E9020000920500006003000000000000BF02000064050000360300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC1000000C60000005E040000CA000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000EF000000790000008C040000F0000000C10000004F0000005E040000C60000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9D0300004F000000A1030000C9010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000CF030000790000008C040000F3010000A10300004F0000005E040000C901000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFBD0000004F000000C100000057010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000002E00000079000000EB000000E5020000000000004F000000BD000000570100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000B50100005E040000B901000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000002E000000E30100008C0400006E02000000000000B90100005E0400004402000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF2F020000B9010000330200004402000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000057010000640500005B0100000100000001000010040000000100000000FEFFFFDC000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002E000000E90200009205000060030000000000005B01000064050000360300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1862,34 +1862,25 @@ 0 100 - 2 + 0 + + ../Core/Src/main.c + 34 + 69 + 91 + 1 + + 0 + startup_stm32f407xx.s 0 - 164 + 167 175 0 0 - - ../Core/Src/main.c - 0 - 69 - 77 - 1 - - 0 - - - ..\User\task\ctrl_chassis.c - 13 - 1 - 22 - 1 - - 0 - diff --git a/MDK-ARM/DevC.uvoptx b/MDK-ARM/DevC.uvoptx index 34531cb..9675a0b 100644 --- a/MDK-ARM/DevC.uvoptx +++ b/MDK-ARM/DevC.uvoptx @@ -26,7 +26,7 @@ 0x4 ARM-ADS - 25000000 + 12000000 1 1 @@ -1009,18 +1009,6 @@ 0 0 0 - ..\User\bsp\dwt.c - dwt.c - 0 - 0 - - - 9 - 65 - 1 - 0 - 0 - 0 ..\User\bsp\gpio.c gpio.c 0 @@ -1028,7 +1016,7 @@ 9 - 66 + 65 1 0 0 @@ -1040,7 +1028,7 @@ 9 - 67 + 66 1 0 0 @@ -1052,7 +1040,7 @@ 9 - 68 + 67 1 0 0 @@ -1064,7 +1052,7 @@ 9 - 69 + 68 1 0 0 @@ -1076,7 +1064,7 @@ 9 - 70 + 69 1 0 0 @@ -1096,7 +1084,7 @@ 0 10 - 71 + 70 1 0 0 @@ -1106,6 +1094,18 @@ 0 0 + + 10 + 71 + 1 + 0 + 0 + 0 + ..\User\component\crc8.c + crc8.c + 0 + 0 + 10 72 @@ -1113,8 +1113,8 @@ 0 0 0 - ..\User\component\cmd.c - cmd.c + ..\User\component\crc16.c + crc16.c 0 0 @@ -1166,42 +1166,6 @@ 0 0 - - 10 - 77 - 1 - 0 - 0 - 0 - ..\User\component\kinematics.c - kinematics.c - 0 - 0 - - - 10 - 78 - 1 - 0 - 0 - 0 - ..\User\component\lqr.c - lqr.c - 0 - 0 - - - 10 - 79 - 1 - 0 - 0 - 0 - ..\User\component\vmc.c - vmc.c - 0 - 0 - @@ -1212,7 +1176,19 @@ 0 11 - 80 + 77 + 1 + 0 + 0 + 0 + ..\User\device\bmi088.c + bmi088.c + 0 + 0 + + + 11 + 78 1 0 0 @@ -1224,19 +1200,7 @@ 11 - 81 - 1 - 0 - 0 - 0 - ..\User\device\dm_imu.c - dm_imu.c - 0 - 0 - - - 11 - 82 + 79 1 0 0 @@ -1248,7 +1212,7 @@ 11 - 83 + 80 1 0 0 @@ -1260,25 +1224,25 @@ 11 - 84 + 81 1 0 0 0 - ..\User\device\motor_lk.c - motor_lk.c + ..\User\device\motor_rm.c + motor_rm.c 0 0 11 - 85 + 82 1 0 0 0 - ..\User\device\motor_lz.c - motor_lz.c + ..\User\device\rc_can.c + rc_can.c 0 0 @@ -1292,7 +1256,7 @@ 0 12 - 86 + 83 1 0 0 @@ -1304,13 +1268,25 @@ 12 - 87 + 84 1 0 0 0 - ..\User\module\balance_chassis.c - balance_chassis.c + ..\User\module\gimbal.c + gimbal.c + 0 + 0 + + + 12 + 85 + 1 + 0 + 0 + 0 + ..\User\module\shoot.c + shoot.c 0 0 @@ -1324,67 +1300,19 @@ 0 13 - 88 + 86 1 0 0 0 - ..\User\task\blink.c - blink.c + ..\User\task\ai.c + ai.c 0 0 13 - 89 - 1 - 0 - 0 - 0 - ..\User\task\init.c - init.c - 0 - 0 - - - 13 - 90 - 1 - 0 - 0 - 0 - ..\User\task\rc.c - rc.c - 0 - 0 - - - 13 - 91 - 1 - 0 - 0 - 0 - ..\User\task\user_task.c - user_task.c - 0 - 0 - - - 13 - 92 - 5 - 0 - 0 - 0 - ..\User\task\user_task.h - user_task.h - 0 - 0 - - - 13 - 93 + 87 1 0 0 @@ -1396,19 +1324,7 @@ 13 - 94 - 1 - 0 - 0 - 0 - ..\User\task\ctrl_chassis.c - ctrl_chassis.c - 0 - 0 - - - 13 - 95 + 88 1 0 0 @@ -1418,6 +1334,78 @@ 0 0 + + 13 + 89 + 1 + 0 + 0 + 0 + ..\User\task\ctrl_shoot.c + ctrl_shoot.c + 0 + 0 + + + 13 + 90 + 1 + 0 + 0 + 0 + ..\User\task\init.c + init.c + 0 + 0 + + + 13 + 91 + 1 + 0 + 0 + 0 + ..\User\task\monitor.c + monitor.c + 0 + 0 + + + 13 + 92 + 1 + 0 + 0 + 0 + ..\User\task\rc.c + rc.c + 0 + 0 + + + 13 + 93 + 1 + 0 + 0 + 0 + ..\User\task\user_task.c + user_task.c + 0 + 0 + + + 13 + 94 + 5 + 0 + 0 + 0 + ..\User\task\user_task.h + user_task.h + 0 + 0 + diff --git a/MDK-ARM/DevC.uvprojx b/MDK-ARM/DevC.uvprojx new file mode 100644 index 0000000..778995d --- /dev/null +++ b/MDK-ARM/DevC.uvprojx @@ -0,0 +1,948 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + DevC + 0x4 + ARM-ADS + 6160000::V6.16::ARMCLANG + 6160000::V6.16::ARMCLANG + 1 + + + STM32F407IGHx + STMicroelectronics + Keil.STM32F4xx_DFP.3.0.0 + https://www.keil.com/pack/ + IRAM(0x20000000-0x2001BFFF) IRAM2(0x2001C000-0x2001FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(25000000) FPU2 CPUTYPE("Cortex-M4") TZ + + + + 0 + + + + + + + + + + + $$Device:STM32F407IGHx$CMSIS\SVD\STM32F407.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\DevC\ + DevC + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 1 + + + 0 + 0 + 0 + 0 + + 1 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP -MPU + DCM.DLL + -pCM4 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 1 + BIN\UL2CM3.DLL + "" () + + + + + 0 + + + + 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 + 1 + 0 + 8 + 0 + 0 + 0 + 0 + 3 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 1 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x1c000 + + + 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 + 0x1c000 + + + 0 + 0x2001c000 + 0x4000 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 3 + 0 + 0 + 1 + 0 + 0 + 3 + 3 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32F407xx + + ../Core/Inc;../USB_DEVICE/App;../USB_DEVICE/Target;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Middlewares/ST/STM32_USB_Device_Library/Core/Inc;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../User + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + + + + + ../Core/Inc;../USB_DEVICE/App;../USB_DEVICE/Target;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Middlewares/ST/STM32_USB_Device_Library/Core/Inc;../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include + + + + 1 + 0 + 0 + 0 + 1 + 0 + + + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32f407xx.s + 2 + startup_stm32f407xx.s + + + + + Application/User/Core + + + main.c + 1 + ../Core/Src/main.c + + + gpio.c + 1 + ../Core/Src/gpio.c + + + freertos.c + 1 + ../Core/Src/freertos.c + + + adc.c + 1 + ../Core/Src/adc.c + + + can.c + 1 + ../Core/Src/can.c + + + crc.c + 1 + ../Core/Src/crc.c + + + dma.c + 1 + ../Core/Src/dma.c + + + i2c.c + 1 + ../Core/Src/i2c.c + + + rng.c + 1 + ../Core/Src/rng.c + + + spi.c + 1 + ../Core/Src/spi.c + + + tim.c + 1 + ../Core/Src/tim.c + + + usart.c + 1 + ../Core/Src/usart.c + + + stm32f4xx_it.c + 1 + ../Core/Src/stm32f4xx_it.c + + + stm32f4xx_hal_msp.c + 1 + ../Core/Src/stm32f4xx_hal_msp.c + + + + + Application/User/USB_DEVICE/App + + + usb_device.c + 1 + ../USB_DEVICE/App/usb_device.c + + + usbd_desc.c + 1 + ../USB_DEVICE/App/usbd_desc.c + + + usbd_cdc_if.c + 1 + ../USB_DEVICE/App/usbd_cdc_if.c + + + + + Application/User/USB_DEVICE/Target + + + usbd_conf.c + 1 + ../USB_DEVICE/Target/usbd_conf.c + + + + + Drivers/STM32F4xx_HAL_Driver + + + stm32f4xx_hal_pcd.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c + + + stm32f4xx_hal_pcd_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c + + + stm32f4xx_ll_usb.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c + + + stm32f4xx_hal_rcc.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c + + + stm32f4xx_hal_rcc_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c + + + stm32f4xx_hal_flash.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c + + + stm32f4xx_hal_flash_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c + + + stm32f4xx_hal_flash_ramfunc.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c + + + stm32f4xx_hal_gpio.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c + + + stm32f4xx_hal_dma_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c + + + stm32f4xx_hal_dma.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c + + + stm32f4xx_hal_pwr.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c + + + stm32f4xx_hal_pwr_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c + + + stm32f4xx_hal_cortex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c + + + stm32f4xx_hal.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c + + + stm32f4xx_hal_exti.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c + + + stm32f4xx_hal_adc.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c + + + stm32f4xx_hal_adc_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c + + + stm32f4xx_ll_adc.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c + + + stm32f4xx_hal_can.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c + + + stm32f4xx_hal_crc.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c + + + stm32f4xx_hal_i2c.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c + + + stm32f4xx_hal_i2c_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c + + + stm32f4xx_hal_rng.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c + + + stm32f4xx_hal_spi.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c + + + stm32f4xx_hal_tim.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c + + + stm32f4xx_hal_tim_ex.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c + + + stm32f4xx_hal_uart.c + 1 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c + + + + + Drivers/CMSIS + + + system_stm32f4xx.c + 1 + ../Core/Src/system_stm32f4xx.c + + + + + Middlewares/FreeRTOS + + + croutine.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c + + + event_groups.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c + + + list.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/list.c + + + queue.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/queue.c + + + stream_buffer.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c + + + tasks.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c + + + timers.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/timers.c + + + cmsis_os2.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c + + + heap_4.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c + + + port.c + 1 + ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c + + + + + Middlewares/USB_Device_Library + + + usbd_core.c + 1 + ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c + + + usbd_ctlreq.c + 1 + ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c + + + usbd_ioreq.c + 1 + ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c + + + usbd_cdc.c + 1 + ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c + + + + + User/bsp + + + can.c + 1 + ..\User\bsp\can.c + + + gpio.c + 1 + ..\User\bsp\gpio.c + + + mm.c + 1 + ..\User\bsp\mm.c + + + pwm.c + 1 + ..\User\bsp\pwm.c + + + spi.c + 1 + ..\User\bsp\spi.c + + + time.c + 1 + ..\User\bsp\time.c + + + uart.c + 1 + ..\User\bsp\uart.c + + + + + User/component + + + ahrs.c + 1 + ..\User\component\ahrs.c + + + crc8.c + 1 + ..\User\component\crc8.c + + + crc16.c + 1 + ..\User\component\crc16.c + + + filter.c + 1 + ..\User\component\filter.c + + + limiter.c + 1 + ..\User\component\limiter.c + + + pid.c + 1 + ..\User\component\pid.c + + + user_math.c + 1 + ..\User\component\user_math.c + + + + + User/device + + + bmi088.c + 1 + ..\User\device\bmi088.c + + + buzzer.c + 1 + ..\User\device\buzzer.c + + + dr16.c + 1 + ..\User\device\dr16.c + + + motor.c + 1 + ..\User\device\motor.c + + + motor_rm.c + 1 + ..\User\device\motor_rm.c + + + rc_can.c + 1 + ..\User\device\rc_can.c + + + + + User/module + + + config.c + 1 + ..\User\module\config.c + + + gimbal.c + 1 + ..\User\module\gimbal.c + + + shoot.c + 1 + ..\User\module\shoot.c + + + + + User/task + + + ai.c + 1 + ..\User\task\ai.c + + + atti_esti.c + 1 + ..\User\task\atti_esti.c + + + ctrl_gimbal.c + 1 + ..\User\task\ctrl_gimbal.c + + + ctrl_shoot.c + 1 + ..\User\task\ctrl_shoot.c + + + init.c + 1 + ..\User\task\init.c + + + monitor.c + 1 + ..\User\task\monitor.c + + + rc.c + 1 + ..\User\task\rc.c + + + user_task.c + 1 + ..\User\task\user_task.c + + + user_task.h + 5 + ..\User\task\user_task.h + + + + + ::CMSIS + + + + + + + + + + + + + + + + + + + + + + DevC + 1 + + + + +
diff --git a/MDK-ARM/DevC/DevC.axf b/MDK-ARM/DevC/DevC.axf deleted file mode 100644 index 4360ecb..0000000 Binary files a/MDK-ARM/DevC/DevC.axf and /dev/null differ diff --git a/MDK-ARM/DevC/DevC.build_log.htm b/MDK-ARM/DevC/DevC.build_log.htm index 22b9234..651d998 100644 --- a/MDK-ARM/DevC/DevC.build_log.htm +++ b/MDK-ARM/DevC/DevC.build_log.htm @@ -22,7 +22,7 @@ Dialog DLL: TCM.DLL V1.48.0.0

Project:

C:\Mac\Home\Documents\R\balance_infantry\MDK-ARM\DevC.uvprojx -Project File Date: 09/29/2025 +Project File Date: 09/30/2025

Output:

*** Using Compiler 'V6.16', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' @@ -30,38 +30,31 @@ Build target 'DevC' Note: source file '..\User\bsp\can.c' - object file renamed from '.\DevC\can.o' to '.\DevC\can_1.o'. Note: source file '..\User\bsp\gpio.c' - object file renamed from '.\DevC\gpio.o' to '.\DevC\gpio_1.o'. Note: source file '..\User\bsp\spi.c' - object file renamed from '.\DevC\spi.o' to '.\DevC\spi_1.o'. -compiling croutine.c... -compiling list.c... -compiling event_groups.c... -compiling stream_buffer.c... -compiling timers.c... -compiling stm32f4xx_it.c... -compiling freertos.c... -compiling main.c... -compiling queue.c... -compiling heap_4.c... -compiling port.c... -compiling mm.c... -compiling tasks.c... -compiling cmsis_os2.c... -compiling time.c... -compiling can.c... -compiling user_task.c... -compiling dm_imu.c... -compiling config.c... -compiling blink.c... -compiling motor_lk.c... -compiling motor_lz.c... -compiling init.c... -compiling balance_chassis.c... -compiling rc.c... -compiling atti_esti.c... -compiling ctrl_chassis.c... -compiling ctrl_gimbal.c... -linking... -Program Size: Code=77552 RO-data=1588 RW-data=66508 ZI-data=23356 -FromELF: creating hex file... -".\DevC\DevC.axf" - 0 Error(s), 0 Warning(s). +compiling rc_can.c... +compiling crc8.c... +compiling gimbal.c... +compiling ai.c... +compiling crc16.c... +../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c(221): error: conflicting types for 'HAL_RCC_OscConfig' +__weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) + ^ +../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h(1245): note: previous declaration is here +HAL_StatusTypeDef HAL_RCC_OscConfig(const RCC_OscInitTypeDef *RCC_OscInitStruct); + ^ +../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c(593): error: conflicting types for 'HAL_RCC_ClockConfig' +HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) + ^ +../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h(1246): note: previous declaration is here +HAL_StatusTypeDef HAL_RCC_ClockConfig(const RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency); + ^ +2 errors generated. +compiling stm32f4xx_hal_rcc.c... +compiling shoot.c... +compiling ctrl_shoot.c... +compiling monitor.c... +compiling bmi088.c... +compiling motor_rm.c... +".\DevC\DevC.axf" - 2 Error(s), 0 Warning(s).

Software Packages used:

@@ -84,7 +77,8 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:6.1.0 Include file: CMSIS\Core\Include\tz_context.h -Build Time Elapsed: 00:00:04 +Target not created. +Build Time Elapsed: 00:00:03 diff --git a/MDK-ARM/DevC/DevC.sct b/MDK-ARM/DevC/DevC.sct new file mode 100644 index 0000000..f2cd784 --- /dev/null +++ b/MDK-ARM/DevC/DevC.sct @@ -0,0 +1,19 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00100000 { ; load region size_region + ER_IROM1 0x08000000 0x00100000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x0001C000 { ; RW data + .ANY (+RW +ZI) + } + RW_IRAM2 0x2001C000 0x00004000 { + .ANY (+RW +ZI) + } +} + diff --git a/MDK-ARM/DevC/adc.d b/MDK-ARM/DevC/adc.d index 49ac396..0b8c87a 100644 --- a/MDK-ARM/DevC/adc.d +++ b/MDK-ARM/DevC/adc.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/ai.d b/MDK-ARM/DevC/ai.d new file mode 100644 index 0000000..4dca518 --- /dev/null +++ b/MDK-ARM/DevC/ai.d @@ -0,0 +1,13 @@ +./devc/ai.o: ..\User\task\ai.c ..\User\task\user_task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + ..\Core\Inc\FreeRTOSConfig.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h diff --git a/MDK-ARM/DevC/atti_esti.d b/MDK-ARM/DevC/atti_esti.d index 06ba6c0..ae5fa73 100644 --- a/MDK-ARM/DevC/atti_esti.d +++ b/MDK-ARM/DevC/atti_esti.d @@ -10,58 +10,4 @@ ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ - ..\User\bsp\can.h ..\Core\Inc\can.h ..\Core\Inc\main.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ - ..\Core\Inc\stm32f4xx_hal_conf.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ - ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ - ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ - ..\Drivers\CMSIS\Include\core_cm4.h \ - ..\Drivers\CMSIS\Include\cmsis_version.h \ - ..\Drivers\CMSIS\Include\cmsis_compiler.h \ - ..\Drivers\CMSIS\Include\cmsis_armclang.h \ - ..\Drivers\CMSIS\Include\mpu_armv7.h \ - ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ - ..\User\bsp\bsp.h ..\User\bsp\mm.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ - ..\User\device\dm_imu.h ..\User\device\device.h \ - ..\User\component\ahrs.h ..\User\component\user_math.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h ..\User\module\config.h \ - ..\User\device\motor_lz.h ..\User\device\motor.h \ - ..\User\device\motor_lk.h ..\User\module\balance_chassis.h \ - ..\User\component\vmc.h ..\User\component\kinematics.h \ - ..\User\component\lqr.h ..\User\component\filter.h \ - ..\User\component\pid.h + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h diff --git a/MDK-ARM/DevC/bmi088.d b/MDK-ARM/DevC/bmi088.d new file mode 100644 index 0000000..e9df5c8 --- /dev/null +++ b/MDK-ARM/DevC/bmi088.d @@ -0,0 +1,55 @@ +./devc/bmi088.o: ..\User\device\bmi088.c ..\User\device\bmi088.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + ..\User\component\ahrs.h ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\User\device\device.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + ..\Core\Inc\gpio.h ..\Core\Inc\main.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + ..\Core\Inc\stm32f4xx_hal_conf.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ + ..\Drivers\CMSIS\Include\core_cm4.h \ + ..\Drivers\CMSIS\Include\cmsis_version.h \ + ..\Drivers\CMSIS\Include\cmsis_compiler.h \ + ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h ..\User\bsp\time.h \ + ..\User\bsp\bsp.h ..\User\bsp\gpio.h ..\User\bsp\spi.h \ + ..\Core\Inc\spi.h diff --git a/MDK-ARM/DevC/buzzer.d b/MDK-ARM/DevC/buzzer.d index 595c9b0..b0f37fa 100644 --- a/MDK-ARM/DevC/buzzer.d +++ b/MDK-ARM/DevC/buzzer.d @@ -13,6 +13,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/can.d b/MDK-ARM/DevC/can.d index e81389b..296db26 100644 --- a/MDK-ARM/DevC/can.d +++ b/MDK-ARM/DevC/can.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/can_1.d b/MDK-ARM/DevC/can_1.d index dc6c56b..660f804 100644 --- a/MDK-ARM/DevC/can_1.d +++ b/MDK-ARM/DevC/can_1.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/cmsis_os2.d b/MDK-ARM/DevC/cmsis_os2.d index a88b13a..aa7f9a3 100644 --- a/MDK-ARM/DevC/cmsis_os2.d +++ b/MDK-ARM/DevC/cmsis_os2.d @@ -6,6 +6,8 @@ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ ..\Core\Inc\FreeRTOSConfig.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ diff --git a/MDK-ARM/DevC/config.d b/MDK-ARM/DevC/config.d index c74f0be..335d271 100644 --- a/MDK-ARM/DevC/config.d +++ b/MDK-ARM/DevC/config.d @@ -1,13 +1,6 @@ ./devc/config.o: ..\User\module\config.c ..\User\module\config.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ - ..\User\device\dm_imu.h ..\User\device\device.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ - ..\User\component\ahrs.h ..\User\component\user_math.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h ..\User\bsp\can.h \ - ..\Core\Inc\can.h ..\Core\Inc\main.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h ..\User\module\shoot.h \ + ..\Core\Inc\main.h ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ ..\Core\Inc\stm32f4xx_hal_conf.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ @@ -17,9 +10,12 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ @@ -47,7 +43,14 @@ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ - ..\User\bsp\bsp.h ..\User\bsp\mm.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\component\pid.h ..\User\component\filter.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\device\motor_rm.h ..\User\device\motor.h \ + ..\User\device\device.h ..\User\bsp\can.h ..\Core\Inc\can.h \ + ..\Core\Inc\main.h ..\User\bsp\bsp.h ..\User\bsp\mm.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ ..\Core\Inc\FreeRTOSConfig.h \ @@ -59,8 +62,4 @@ ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ - ..\User\device\motor_lz.h ..\User\device\motor.h \ - ..\User\device\motor_lk.h ..\User\module\balance_chassis.h \ - ..\User\component\vmc.h ..\User\component\kinematics.h \ - ..\User\component\lqr.h ..\User\component\filter.h \ - ..\User\component\pid.h + ..\User\module\gimbal.h diff --git a/MDK-ARM/DevC/crc.d b/MDK-ARM/DevC/crc.d index f8b4974..75a5249 100644 --- a/MDK-ARM/DevC/crc.d +++ b/MDK-ARM/DevC/crc.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/crc16.d b/MDK-ARM/DevC/crc16.d new file mode 100644 index 0000000..5beb422 --- /dev/null +++ b/MDK-ARM/DevC/crc16.d @@ -0,0 +1,7 @@ +./devc/crc16.o: ..\User\component\crc16.c ..\User\component\crc16.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h diff --git a/MDK-ARM/DevC/crc8.d b/MDK-ARM/DevC/crc8.d new file mode 100644 index 0000000..6438ebd --- /dev/null +++ b/MDK-ARM/DevC/crc8.d @@ -0,0 +1,4 @@ +./devc/crc8.o: ..\User\component\crc8.c ..\User\component\crc8.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h diff --git a/MDK-ARM/DevC/ctrl_gimbal.d b/MDK-ARM/DevC/ctrl_gimbal.d index 972a8b0..d5906e7 100644 --- a/MDK-ARM/DevC/ctrl_gimbal.d +++ b/MDK-ARM/DevC/ctrl_gimbal.d @@ -1,52 +1,7 @@ -./devc/ctrl_gimbal.o: ..\User\task\ctrl_gimbal.c \ - ..\User\device\motor_rm.h ..\User\device\motor.h \ - ..\User\device\device.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h ..\User\bsp\can.h \ - ..\Core\Inc\can.h ..\Core\Inc\main.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ - ..\Core\Inc\stm32f4xx_hal_conf.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ - ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ - ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ - ..\Drivers\CMSIS\Include\core_cm4.h \ - ..\Drivers\CMSIS\Include\cmsis_version.h \ - ..\Drivers\CMSIS\Include\cmsis_compiler.h \ - ..\Drivers\CMSIS\Include\cmsis_armclang.h \ - ..\Drivers\CMSIS\Include\mpu_armv7.h \ - ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ +./devc/ctrl_gimbal.o: ..\User\task\ctrl_gimbal.c ..\User\task\user_task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ - ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ - ..\User\bsp\bsp.h ..\User\bsp\mm.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ ..\Core\Inc\FreeRTOSConfig.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ @@ -55,11 +10,4 @@ ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ - ..\User\task\user_task.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ - ..\User\device\motor_dm.h ..\User\component\pid.h \ - ..\User\component\filter.h ..\User\component\user_math.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h diff --git a/MDK-ARM/DevC/ctrl_shoot.d b/MDK-ARM/DevC/ctrl_shoot.d new file mode 100644 index 0000000..97590da --- /dev/null +++ b/MDK-ARM/DevC/ctrl_shoot.d @@ -0,0 +1,68 @@ +./devc/ctrl_shoot.o: ..\User\task\ctrl_shoot.c \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\User\task\user_task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + ..\Core\Inc\FreeRTOSConfig.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ + ..\User\module\shoot.h ..\Core\Inc\main.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + ..\Core\Inc\stm32f4xx_hal_conf.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ + ..\Drivers\CMSIS\Include\core_cm4.h \ + ..\Drivers\CMSIS\Include\cmsis_version.h \ + ..\Drivers\CMSIS\Include\cmsis_compiler.h \ + ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\component\pid.h ..\User\component\filter.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\device\motor_rm.h ..\User\device\motor.h \ + ..\User\device\device.h ..\User\bsp\can.h ..\Core\Inc\can.h \ + ..\Core\Inc\main.h ..\User\bsp\bsp.h ..\User\bsp\mm.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + ..\User\module\config.h ..\User\module\gimbal.h diff --git a/MDK-ARM/DevC/dma.d b/MDK-ARM/DevC/dma.d index 77c3930..bba8a28 100644 --- a/MDK-ARM/DevC/dma.d +++ b/MDK-ARM/DevC/dma.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/dr16.d b/MDK-ARM/DevC/dr16.d index e8eaa9a..76d3673 100644 --- a/MDK-ARM/DevC/dr16.d +++ b/MDK-ARM/DevC/dr16.d @@ -17,6 +17,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/freertos.d b/MDK-ARM/DevC/freertos.d index dd21c1b..422b519 100644 --- a/MDK-ARM/DevC/freertos.d +++ b/MDK-ARM/DevC/freertos.d @@ -20,6 +20,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/gimbal.d b/MDK-ARM/DevC/gimbal.d new file mode 100644 index 0000000..4b6164e --- /dev/null +++ b/MDK-ARM/DevC/gimbal.d @@ -0,0 +1 @@ +./devc/gimbal.o: ..\User\module\gimbal.c diff --git a/MDK-ARM/DevC/gpio.d b/MDK-ARM/DevC/gpio.d index 2a1c50f..ab3cfcc 100644 --- a/MDK-ARM/DevC/gpio.d +++ b/MDK-ARM/DevC/gpio.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/gpio_1.d b/MDK-ARM/DevC/gpio_1.d index 7b6d373..edd2ad1 100644 --- a/MDK-ARM/DevC/gpio_1.d +++ b/MDK-ARM/DevC/gpio_1.d @@ -12,6 +12,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/i2c.d b/MDK-ARM/DevC/i2c.d index f027e7a..61d2257 100644 --- a/MDK-ARM/DevC/i2c.d +++ b/MDK-ARM/DevC/i2c.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/init.d b/MDK-ARM/DevC/init.d index 9599f96..32b4783 100644 --- a/MDK-ARM/DevC/init.d +++ b/MDK-ARM/DevC/init.d @@ -11,13 +11,8 @@ ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ - ..\User\component\ahrs.h ..\User\component\user_math.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ - C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ - ..\User\module\config.h ..\User\device\dm_imu.h \ - ..\User\device\device.h ..\User\bsp\can.h ..\Core\Inc\can.h \ - ..\Core\Inc\main.h ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + ..\User\module\shoot.h ..\Core\Inc\main.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ ..\Core\Inc\stm32f4xx_hal_conf.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ @@ -27,6 +22,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ @@ -57,11 +54,13 @@ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ - ..\User\bsp\bsp.h ..\User\bsp\mm.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\component\pid.h ..\User\component\filter.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\device\motor_rm.h ..\User\device\motor.h \ + ..\User\device\device.h ..\User\bsp\can.h ..\Core\Inc\can.h \ + ..\Core\Inc\main.h ..\User\bsp\bsp.h ..\User\bsp\mm.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ - ..\User\device\motor_lz.h ..\User\device\motor.h \ - ..\User\device\motor_lk.h ..\User\module\balance_chassis.h \ - ..\User\component\vmc.h ..\User\component\kinematics.h \ - ..\User\component\lqr.h ..\User\component\filter.h \ - ..\User\component\pid.h + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h diff --git a/MDK-ARM/DevC/main.d b/MDK-ARM/DevC/main.d index 03215f1..163f045 100644 --- a/MDK-ARM/DevC/main.d +++ b/MDK-ARM/DevC/main.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/monitor.d b/MDK-ARM/DevC/monitor.d new file mode 100644 index 0000000..3c6aa51 --- /dev/null +++ b/MDK-ARM/DevC/monitor.d @@ -0,0 +1,61 @@ +./devc/monitor.o: ..\User\task\monitor.c ..\User\task\user_task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + ..\Core\Inc\FreeRTOSConfig.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ + ..\User\bsp\time.h ..\User\bsp\bsp.h ..\User\bsp\pwm.h \ + ..\Core\Inc\tim.h ..\Core\Inc\main.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + ..\Core\Inc\stm32f4xx_hal_conf.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ + ..\Drivers\CMSIS\Include\core_cm4.h \ + ..\Drivers\CMSIS\Include\cmsis_version.h \ + ..\Drivers\CMSIS\Include\cmsis_compiler.h \ + ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h diff --git a/MDK-ARM/DevC/motor_rm.d b/MDK-ARM/DevC/motor_rm.d new file mode 100644 index 0000000..413a3d4 --- /dev/null +++ b/MDK-ARM/DevC/motor_rm.d @@ -0,0 +1,64 @@ +./devc/motor_rm.o: ..\User\device\motor_rm.c ..\User\device\motor_rm.h \ + ..\User\device\motor.h ..\User\device\device.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h ..\User\device\motor.h \ + ..\User\bsp\can.h ..\Core\Inc\can.h ..\Core\Inc\main.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + ..\Core\Inc\stm32f4xx_hal_conf.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ + ..\Drivers\CMSIS\Include\core_cm4.h \ + ..\Drivers\CMSIS\Include\cmsis_version.h \ + ..\Drivers\CMSIS\Include\cmsis_compiler.h \ + ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ + ..\User\bsp\bsp.h ..\User\bsp\mm.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + ..\Core\Inc\FreeRTOSConfig.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h ..\User\bsp\time.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h diff --git a/MDK-ARM/DevC/pwm.d b/MDK-ARM/DevC/pwm.d index b23d079..d9a80bd 100644 --- a/MDK-ARM/DevC/pwm.d +++ b/MDK-ARM/DevC/pwm.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/rc.d b/MDK-ARM/DevC/rc.d index 59be96b..2118484 100644 --- a/MDK-ARM/DevC/rc.d +++ b/MDK-ARM/DevC/rc.d @@ -1,7 +1,8 @@ -./devc/rc.o: ..\User\task\rc.c ..\User\task\user_task.h \ +./devc/rc.o: ..\User\task\rc.c \ ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\User\task\user_task.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ ..\Core\Inc\FreeRTOSConfig.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ @@ -15,12 +16,7 @@ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ - ..\User\device\device.h ..\User\module\balance_chassis.h \ - ..\User\component\vmc.h ..\User\component\kinematics.h \ - ..\User\component\lqr.h ..\User\component\ahrs.h \ - ..\User\component\filter.h ..\User\component\pid.h \ - ..\User\device\motor.h ..\User\device\motor_lk.h ..\User\bsp\can.h \ - ..\Core\Inc\can.h ..\Core\Inc\main.h \ + ..\User\device\device.h ..\User\module\shoot.h ..\Core\Inc\main.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ ..\Core\Inc\stm32f4xx_hal_conf.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ @@ -31,6 +27,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ @@ -61,7 +59,9 @@ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ - ..\User\bsp\bsp.h ..\User\bsp\mm.h \ + ..\User\component\pid.h ..\User\component\filter.h \ + ..\User\device\motor_rm.h ..\User\device\motor.h ..\User\bsp\can.h \ + ..\Core\Inc\can.h ..\Core\Inc\main.h ..\User\bsp\bsp.h \ + ..\User\bsp\mm.h \ ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ - ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ - ..\User\device\motor_lz.h + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h diff --git a/MDK-ARM/DevC/rc_can.d b/MDK-ARM/DevC/rc_can.d new file mode 100644 index 0000000..49be1a7 --- /dev/null +++ b/MDK-ARM/DevC/rc_can.d @@ -0,0 +1 @@ +./devc/rc_can.o: ..\User\device\rc_can.c diff --git a/MDK-ARM/DevC/rng.d b/MDK-ARM/DevC/rng.d index 9606c69..90a0570 100644 --- a/MDK-ARM/DevC/rng.d +++ b/MDK-ARM/DevC/rng.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/shoot.d b/MDK-ARM/DevC/shoot.d new file mode 100644 index 0000000..9c2806d --- /dev/null +++ b/MDK-ARM/DevC/shoot.d @@ -0,0 +1,65 @@ +./devc/shoot.o: ..\User\module\shoot.c ..\User\module\shoot.h \ + ..\Core\Inc\main.h ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ + ..\Core\Inc\stm32f4xx_hal_conf.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ + ..\Drivers\CMSIS\Include\core_cm4.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + ..\Drivers\CMSIS\Include\cmsis_version.h \ + ..\Drivers\CMSIS\Include\cmsis_compiler.h \ + ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_adc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_adc_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_can.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_crc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_i2c_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rng.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_ll_usb.h \ + ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pcd_ex.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\component\pid.h ..\User\component\filter.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\device\motor_rm.h ..\User\device\motor.h \ + ..\User\device\device.h ..\User\bsp\can.h ..\Core\Inc\can.h \ + ..\Core\Inc\main.h ..\User\bsp\bsp.h ..\User\bsp\mm.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + ..\Core\Inc\FreeRTOSConfig.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\portable.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h ..\User\bsp\time.h diff --git a/MDK-ARM/DevC/spi.d b/MDK-ARM/DevC/spi.d index efaa410..67f20b2 100644 --- a/MDK-ARM/DevC/spi.d +++ b/MDK-ARM/DevC/spi.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/spi_1.d b/MDK-ARM/DevC/spi_1.d index 8170aaf..de6d4e4 100644 --- a/MDK-ARM/DevC/spi_1.d +++ b/MDK-ARM/DevC/spi_1.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal.d b/MDK-ARM/DevC/stm32f4xx_hal.d index 9f8b08a..7bfc91f 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal.d +++ b/MDK-ARM/DevC/stm32f4xx_hal.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_adc.d b/MDK-ARM/DevC/stm32f4xx_hal_adc.d index df2553b..ad3824c 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_adc.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_adc.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d index b084912..28938bf 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_can.d b/MDK-ARM/DevC/stm32f4xx_hal_can.d index caef7e5..b340d40 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_can.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_can.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_cortex.d b/MDK-ARM/DevC/stm32f4xx_hal_cortex.d index 14e2699..0a1871f 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_cortex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_cortex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_crc.d b/MDK-ARM/DevC/stm32f4xx_hal_crc.d index 28bee9e..7945fe5 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_crc.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_crc.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_dma.d b/MDK-ARM/DevC/stm32f4xx_hal_dma.d index 93c0292..4677490 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_dma.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_dma.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d index 31ba460..9cc2f90 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_exti.d b/MDK-ARM/DevC/stm32f4xx_hal_exti.d index 0e54316..7c7ee98 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_exti.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_exti.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_flash.d b/MDK-ARM/DevC/stm32f4xx_hal_flash.d index 09e9c02..5aaabc1 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_flash.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_flash.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d index 0fb3318..452ff29 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d b/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d index 7588e8a..c1aca12 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_gpio.d b/MDK-ARM/DevC/stm32f4xx_hal_gpio.d index 6f91db9..5d5253c 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_gpio.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_gpio.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_i2c.d b/MDK-ARM/DevC/stm32f4xx_hal_i2c.d index 8b61607..a7658b7 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_i2c.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_i2c.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d index b0c46cc..5b81210 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_msp.d b/MDK-ARM/DevC/stm32f4xx_hal_msp.d index 21a980d..f65db1c 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_msp.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_msp.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pcd.d b/MDK-ARM/DevC/stm32f4xx_hal_pcd.d index da3b869..bc1f429 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_pcd.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_pcd.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d index 9b9a473..b665c02 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pwr.d b/MDK-ARM/DevC/stm32f4xx_hal_pwr.d index cec4bb7..5f2e0b8 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_pwr.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_pwr.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d index 1d92f87..514ec25 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_rcc.d b/MDK-ARM/DevC/stm32f4xx_hal_rcc.d index 0c61891..8fead3d 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_rcc.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_rcc.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d index c10a815..914e9dc 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_rng.d b/MDK-ARM/DevC/stm32f4xx_hal_rng.d index 6aba9bf..bc976ea 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_rng.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_rng.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_spi.d b/MDK-ARM/DevC/stm32f4xx_hal_spi.d index fa6b591..0c7ffbf 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_spi.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_spi.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_tim.d b/MDK-ARM/DevC/stm32f4xx_hal_tim.d index 4bb25cc..7bb9478 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_tim.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_tim.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d index e8061f8..fe3488f 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_hal_uart.d b/MDK-ARM/DevC/stm32f4xx_hal_uart.d index 057273a..0339ebc 100644 --- a/MDK-ARM/DevC/stm32f4xx_hal_uart.d +++ b/MDK-ARM/DevC/stm32f4xx_hal_uart.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_it.d b/MDK-ARM/DevC/stm32f4xx_it.d index e1ebb65..b004c40 100644 --- a/MDK-ARM/DevC/stm32f4xx_it.d +++ b/MDK-ARM/DevC/stm32f4xx_it.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/stm32f4xx_ll_usb.d b/MDK-ARM/DevC/stm32f4xx_ll_usb.d index 8bcdae9..ab48bf9 100644 --- a/MDK-ARM/DevC/stm32f4xx_ll_usb.d +++ b/MDK-ARM/DevC/stm32f4xx_ll_usb.d @@ -11,6 +11,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/system_stm32f4xx.d b/MDK-ARM/DevC/system_stm32f4xx.d index fabdb18..4c901ea 100644 --- a/MDK-ARM/DevC/system_stm32f4xx.d +++ b/MDK-ARM/DevC/system_stm32f4xx.d @@ -6,6 +6,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ diff --git a/MDK-ARM/DevC/tim.d b/MDK-ARM/DevC/tim.d index f75a5b2..636d1f4 100644 --- a/MDK-ARM/DevC/tim.d +++ b/MDK-ARM/DevC/tim.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/time.d b/MDK-ARM/DevC/time.d index 1f01d65..aa1e2e2 100644 --- a/MDK-ARM/DevC/time.d +++ b/MDK-ARM/DevC/time.d @@ -20,6 +20,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/uart.d b/MDK-ARM/DevC/uart.d index 74dfacb..960084d 100644 --- a/MDK-ARM/DevC/uart.d +++ b/MDK-ARM/DevC/uart.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usart.d b/MDK-ARM/DevC/usart.d index f66a452..f49027f 100644 --- a/MDK-ARM/DevC/usart.d +++ b/MDK-ARM/DevC/usart.d @@ -10,6 +10,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usb_device.d b/MDK-ARM/DevC/usb_device.d index 0568361..42e025b 100644 --- a/MDK-ARM/DevC/usb_device.d +++ b/MDK-ARM/DevC/usb_device.d @@ -7,6 +7,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ diff --git a/MDK-ARM/DevC/usbd_cdc.d b/MDK-ARM/DevC/usbd_cdc.d index 84cb6a9..fecaf2e 100644 --- a/MDK-ARM/DevC/usbd_cdc.d +++ b/MDK-ARM/DevC/usbd_cdc.d @@ -18,6 +18,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usbd_cdc_if.d b/MDK-ARM/DevC/usbd_cdc_if.d index 6a34457..14b02cc 100644 --- a/MDK-ARM/DevC/usbd_cdc_if.d +++ b/MDK-ARM/DevC/usbd_cdc_if.d @@ -18,6 +18,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usbd_conf.d b/MDK-ARM/DevC/usbd_conf.d index 258ef27..4b05553 100644 --- a/MDK-ARM/DevC/usbd_conf.d +++ b/MDK-ARM/DevC/usbd_conf.d @@ -6,6 +6,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ diff --git a/MDK-ARM/DevC/usbd_core.d b/MDK-ARM/DevC/usbd_core.d index 0ef6e94..bf194a5 100644 --- a/MDK-ARM/DevC/usbd_core.d +++ b/MDK-ARM/DevC/usbd_core.d @@ -16,6 +16,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usbd_ctlreq.d b/MDK-ARM/DevC/usbd_ctlreq.d index c1e6989..c3350d3 100644 --- a/MDK-ARM/DevC/usbd_ctlreq.d +++ b/MDK-ARM/DevC/usbd_ctlreq.d @@ -17,6 +17,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usbd_desc.d b/MDK-ARM/DevC/usbd_desc.d index 269d9ca..1020e90 100644 --- a/MDK-ARM/DevC/usbd_desc.d +++ b/MDK-ARM/DevC/usbd_desc.d @@ -15,6 +15,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/DevC/usbd_ioreq.d b/MDK-ARM/DevC/usbd_ioreq.d index 9b96a48..c2316d1 100644 --- a/MDK-ARM/DevC/usbd_ioreq.d +++ b/MDK-ARM/DevC/usbd_ioreq.d @@ -17,6 +17,8 @@ ..\Drivers\CMSIS\Include\cmsis_version.h \ ..\Drivers\CMSIS\Include\cmsis_compiler.h \ ..\Drivers\CMSIS\Include\cmsis_armclang.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \ ..\Drivers\CMSIS\Include\mpu_armv7.h \ ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ ..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ diff --git a/MDK-ARM/startup_stm32f407xx.s b/MDK-ARM/startup_stm32f407xx.s new file mode 100644 index 0000000..018ce26 --- /dev/null +++ b/MDK-ARM/startup_stm32f407xx.s @@ -0,0 +1,425 @@ +;******************************************************************************* +;* File Name : startup_stm32f407xx.s +;* Author : MCD Application Team +;* Description : STM32F407xx devices vector table for MDK-ARM toolchain. +;* This module performs: +;* - Set the initial SP +;* - Set the initial PC == Reset_Handler +;* - Set the vector table entries with the exceptions ISR address +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the CortexM4 processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;******************************************************************************** +;* @attention +;* +;*

© Copyright (c) 2017 STMicroelectronics. +;* All rights reserved.

+;* +;* This software component is licensed by ST under BSD 3-Clause license, +;* the "License"; You may not use this file except in compliance with the +;* License. You may obtain a copy of the License at: +;* opensource.org/licenses/BSD-3-Clause +;* +;******************************************************************************* +;* <<< Use Configuration Wizard in Context Menu >>> +; +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x1000 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x1000 + + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD MemManage_Handler ; MPU Fault Handler + DCD BusFault_Handler ; Bus Fault Handler + DCD UsageFault_Handler ; Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD DebugMon_Handler ; Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler + + ; External Interrupts + DCD WWDG_IRQHandler ; Window WatchDog + DCD PVD_IRQHandler ; PVD through EXTI Line detection + DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line + DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line + DCD FLASH_IRQHandler ; FLASH + DCD RCC_IRQHandler ; RCC + DCD EXTI0_IRQHandler ; EXTI Line0 + DCD EXTI1_IRQHandler ; EXTI Line1 + DCD EXTI2_IRQHandler ; EXTI Line2 + DCD EXTI3_IRQHandler ; EXTI Line3 + DCD EXTI4_IRQHandler ; EXTI Line4 + DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 + DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 + DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 + DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 + DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 + DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 + DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 + DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s + DCD CAN1_TX_IRQHandler ; CAN1 TX + DCD CAN1_RX0_IRQHandler ; CAN1 RX0 + DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + DCD CAN1_SCE_IRQHandler ; CAN1 SCE + DCD EXTI9_5_IRQHandler ; External Line[9:5]s + DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 + DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 + DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 + DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare + DCD TIM2_IRQHandler ; TIM2 + DCD TIM3_IRQHandler ; TIM3 + DCD TIM4_IRQHandler ; TIM4 + DCD I2C1_EV_IRQHandler ; I2C1 Event + DCD I2C1_ER_IRQHandler ; I2C1 Error + DCD I2C2_EV_IRQHandler ; I2C2 Event + DCD I2C2_ER_IRQHandler ; I2C2 Error + DCD SPI1_IRQHandler ; SPI1 + DCD SPI2_IRQHandler ; SPI2 + DCD USART1_IRQHandler ; USART1 + DCD USART2_IRQHandler ; USART2 + DCD USART3_IRQHandler ; USART3 + DCD EXTI15_10_IRQHandler ; External Line[15:10]s + DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line + DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line + DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 + DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 + DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 + DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare + DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 + DCD FMC_IRQHandler ; FMC + DCD SDIO_IRQHandler ; SDIO + DCD TIM5_IRQHandler ; TIM5 + DCD SPI3_IRQHandler ; SPI3 + DCD UART4_IRQHandler ; UART4 + DCD UART5_IRQHandler ; UART5 + DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors + DCD TIM7_IRQHandler ; TIM7 + DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 + DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 + DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 + DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 + DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 + DCD ETH_IRQHandler ; Ethernet + DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line + DCD CAN2_TX_IRQHandler ; CAN2 TX + DCD CAN2_RX0_IRQHandler ; CAN2 RX0 + DCD CAN2_RX1_IRQHandler ; CAN2 RX1 + DCD CAN2_SCE_IRQHandler ; CAN2 SCE + DCD OTG_FS_IRQHandler ; USB OTG FS + DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 + DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 + DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 + DCD USART6_IRQHandler ; USART6 + DCD I2C3_EV_IRQHandler ; I2C3 event + DCD I2C3_ER_IRQHandler ; I2C3 error + DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out + DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In + DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI + DCD OTG_HS_IRQHandler ; USB OTG HS + DCD DCMI_IRQHandler ; DCMI + DCD 0 ; Reserved + DCD HASH_RNG_IRQHandler ; Hash and Rng + DCD FPU_IRQHandler ; FPU + + +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + LDR R0, =__main + BX R0 + ENDP + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + +Default_Handler PROC + + EXPORT WWDG_IRQHandler [WEAK] + EXPORT PVD_IRQHandler [WEAK] + EXPORT TAMP_STAMP_IRQHandler [WEAK] + EXPORT RTC_WKUP_IRQHandler [WEAK] + EXPORT FLASH_IRQHandler [WEAK] + EXPORT RCC_IRQHandler [WEAK] + EXPORT EXTI0_IRQHandler [WEAK] + EXPORT EXTI1_IRQHandler [WEAK] + EXPORT EXTI2_IRQHandler [WEAK] + EXPORT EXTI3_IRQHandler [WEAK] + EXPORT EXTI4_IRQHandler [WEAK] + EXPORT DMA1_Stream0_IRQHandler [WEAK] + EXPORT DMA1_Stream1_IRQHandler [WEAK] + EXPORT DMA1_Stream2_IRQHandler [WEAK] + EXPORT DMA1_Stream3_IRQHandler [WEAK] + EXPORT DMA1_Stream4_IRQHandler [WEAK] + EXPORT DMA1_Stream5_IRQHandler [WEAK] + EXPORT DMA1_Stream6_IRQHandler [WEAK] + EXPORT ADC_IRQHandler [WEAK] + EXPORT CAN1_TX_IRQHandler [WEAK] + EXPORT CAN1_RX0_IRQHandler [WEAK] + EXPORT CAN1_RX1_IRQHandler [WEAK] + EXPORT CAN1_SCE_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK] + EXPORT TIM1_UP_TIM10_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK] + EXPORT TIM1_CC_IRQHandler [WEAK] + EXPORT TIM2_IRQHandler [WEAK] + EXPORT TIM3_IRQHandler [WEAK] + EXPORT TIM4_IRQHandler [WEAK] + EXPORT I2C1_EV_IRQHandler [WEAK] + EXPORT I2C1_ER_IRQHandler [WEAK] + EXPORT I2C2_EV_IRQHandler [WEAK] + EXPORT I2C2_ER_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT USART1_IRQHandler [WEAK] + EXPORT USART2_IRQHandler [WEAK] + EXPORT USART3_IRQHandler [WEAK] + EXPORT EXTI15_10_IRQHandler [WEAK] + EXPORT RTC_Alarm_IRQHandler [WEAK] + EXPORT OTG_FS_WKUP_IRQHandler [WEAK] + EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK] + EXPORT TIM8_UP_TIM13_IRQHandler [WEAK] + EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK] + EXPORT TIM8_CC_IRQHandler [WEAK] + EXPORT DMA1_Stream7_IRQHandler [WEAK] + EXPORT FMC_IRQHandler [WEAK] + EXPORT SDIO_IRQHandler [WEAK] + EXPORT TIM5_IRQHandler [WEAK] + EXPORT SPI3_IRQHandler [WEAK] + EXPORT UART4_IRQHandler [WEAK] + EXPORT UART5_IRQHandler [WEAK] + EXPORT TIM6_DAC_IRQHandler [WEAK] + EXPORT TIM7_IRQHandler [WEAK] + EXPORT DMA2_Stream0_IRQHandler [WEAK] + EXPORT DMA2_Stream1_IRQHandler [WEAK] + EXPORT DMA2_Stream2_IRQHandler [WEAK] + EXPORT DMA2_Stream3_IRQHandler [WEAK] + EXPORT DMA2_Stream4_IRQHandler [WEAK] + EXPORT ETH_IRQHandler [WEAK] + EXPORT ETH_WKUP_IRQHandler [WEAK] + EXPORT CAN2_TX_IRQHandler [WEAK] + EXPORT CAN2_RX0_IRQHandler [WEAK] + EXPORT CAN2_RX1_IRQHandler [WEAK] + EXPORT CAN2_SCE_IRQHandler [WEAK] + EXPORT OTG_FS_IRQHandler [WEAK] + EXPORT DMA2_Stream5_IRQHandler [WEAK] + EXPORT DMA2_Stream6_IRQHandler [WEAK] + EXPORT DMA2_Stream7_IRQHandler [WEAK] + EXPORT USART6_IRQHandler [WEAK] + EXPORT I2C3_EV_IRQHandler [WEAK] + EXPORT I2C3_ER_IRQHandler [WEAK] + EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK] + EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK] + EXPORT OTG_HS_WKUP_IRQHandler [WEAK] + EXPORT OTG_HS_IRQHandler [WEAK] + EXPORT DCMI_IRQHandler [WEAK] + EXPORT HASH_RNG_IRQHandler [WEAK] + EXPORT FPU_IRQHandler [WEAK] + +WWDG_IRQHandler +PVD_IRQHandler +TAMP_STAMP_IRQHandler +RTC_WKUP_IRQHandler +FLASH_IRQHandler +RCC_IRQHandler +EXTI0_IRQHandler +EXTI1_IRQHandler +EXTI2_IRQHandler +EXTI3_IRQHandler +EXTI4_IRQHandler +DMA1_Stream0_IRQHandler +DMA1_Stream1_IRQHandler +DMA1_Stream2_IRQHandler +DMA1_Stream3_IRQHandler +DMA1_Stream4_IRQHandler +DMA1_Stream5_IRQHandler +DMA1_Stream6_IRQHandler +ADC_IRQHandler +CAN1_TX_IRQHandler +CAN1_RX0_IRQHandler +CAN1_RX1_IRQHandler +CAN1_SCE_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_TIM9_IRQHandler +TIM1_UP_TIM10_IRQHandler +TIM1_TRG_COM_TIM11_IRQHandler +TIM1_CC_IRQHandler +TIM2_IRQHandler +TIM3_IRQHandler +TIM4_IRQHandler +I2C1_EV_IRQHandler +I2C1_ER_IRQHandler +I2C2_EV_IRQHandler +I2C2_ER_IRQHandler +SPI1_IRQHandler +SPI2_IRQHandler +USART1_IRQHandler +USART2_IRQHandler +USART3_IRQHandler +EXTI15_10_IRQHandler +RTC_Alarm_IRQHandler +OTG_FS_WKUP_IRQHandler +TIM8_BRK_TIM12_IRQHandler +TIM8_UP_TIM13_IRQHandler +TIM8_TRG_COM_TIM14_IRQHandler +TIM8_CC_IRQHandler +DMA1_Stream7_IRQHandler +FMC_IRQHandler +SDIO_IRQHandler +TIM5_IRQHandler +SPI3_IRQHandler +UART4_IRQHandler +UART5_IRQHandler +TIM6_DAC_IRQHandler +TIM7_IRQHandler +DMA2_Stream0_IRQHandler +DMA2_Stream1_IRQHandler +DMA2_Stream2_IRQHandler +DMA2_Stream3_IRQHandler +DMA2_Stream4_IRQHandler +ETH_IRQHandler +ETH_WKUP_IRQHandler +CAN2_TX_IRQHandler +CAN2_RX0_IRQHandler +CAN2_RX1_IRQHandler +CAN2_SCE_IRQHandler +OTG_FS_IRQHandler +DMA2_Stream5_IRQHandler +DMA2_Stream6_IRQHandler +DMA2_Stream7_IRQHandler +USART6_IRQHandler +I2C3_EV_IRQHandler +I2C3_ER_IRQHandler +OTG_HS_EP1_OUT_IRQHandler +OTG_HS_EP1_IN_IRQHandler +OTG_HS_WKUP_IRQHandler +OTG_HS_IRQHandler +DCMI_IRQHandler +HASH_RNG_IRQHandler +FPU_IRQHandler + + B . + + ENDP + + ALIGN + +;******************************************************************************* +; User Stack and Heap initialization +;******************************************************************************* + IF :DEF:__MICROLIB + + EXPORT __initial_sp + EXPORT __heap_base + EXPORT __heap_limit + + ELSE + + IMPORT __use_two_region_memory + EXPORT __user_initial_stackheap + +__user_initial_stackheap + + LDR R0, = Heap_Mem + LDR R1, =(Stack_Mem + Stack_Size) + LDR R2, = (Heap_Mem + Heap_Size) + LDR R3, = Stack_Mem + BX LR + + ALIGN + + ENDIF + + END + +;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***** diff --git a/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c b/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c new file mode 100644 index 0000000..9e1d1a8 --- /dev/null +++ b/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c @@ -0,0 +1,775 @@ +/* + * FreeRTOS Kernel V10.3.1 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/*----------------------------------------------------------- + * Implementation of functions defined in portable.h for the ARM CM4F port. + *----------------------------------------------------------*/ + +/* Scheduler includes. */ +#include "FreeRTOS.h" +#include "task.h" + +#ifndef __VFP_FP__ + #error This port can only be used when the project options are configured to enable hardware floating point support. +#endif + +#ifndef configSYSTICK_CLOCK_HZ + #define configSYSTICK_CLOCK_HZ configCPU_CLOCK_HZ + /* Ensure the SysTick is clocked at the same frequency as the core. */ + #define portNVIC_SYSTICK_CLK_BIT ( 1UL << 2UL ) +#else + /* The way the SysTick is clocked is not modified in case it is not the same + as the core. */ + #define portNVIC_SYSTICK_CLK_BIT ( 0 ) +#endif + +/* Constants required to manipulate the core. Registers first... */ +#define portNVIC_SYSTICK_CTRL_REG ( * ( ( volatile uint32_t * ) 0xe000e010 ) ) +#define portNVIC_SYSTICK_LOAD_REG ( * ( ( volatile uint32_t * ) 0xe000e014 ) ) +#define portNVIC_SYSTICK_CURRENT_VALUE_REG ( * ( ( volatile uint32_t * ) 0xe000e018 ) ) +#define portNVIC_SYSPRI2_REG ( * ( ( volatile uint32_t * ) 0xe000ed20 ) ) +/* ...then bits in the registers. */ +#define portNVIC_SYSTICK_INT_BIT ( 1UL << 1UL ) +#define portNVIC_SYSTICK_ENABLE_BIT ( 1UL << 0UL ) +#define portNVIC_SYSTICK_COUNT_FLAG_BIT ( 1UL << 16UL ) +#define portNVIC_PENDSVCLEAR_BIT ( 1UL << 27UL ) +#define portNVIC_PEND_SYSTICK_CLEAR_BIT ( 1UL << 25UL ) + +/* Constants used to detect a Cortex-M7 r0p1 core, which should use the ARM_CM7 +r0p1 port. */ +#define portCPUID ( * ( ( volatile uint32_t * ) 0xE000ed00 ) ) +#define portCORTEX_M7_r0p1_ID ( 0x410FC271UL ) +#define portCORTEX_M7_r0p0_ID ( 0x410FC270UL ) + +#define portNVIC_PENDSV_PRI ( ( ( uint32_t ) configKERNEL_INTERRUPT_PRIORITY ) << 16UL ) +#define portNVIC_SYSTICK_PRI ( ( ( uint32_t ) configKERNEL_INTERRUPT_PRIORITY ) << 24UL ) + +/* Constants required to check the validity of an interrupt priority. */ +#define portFIRST_USER_INTERRUPT_NUMBER ( 16 ) +#define portNVIC_IP_REGISTERS_OFFSET_16 ( 0xE000E3F0 ) +#define portAIRCR_REG ( * ( ( volatile uint32_t * ) 0xE000ED0C ) ) +#define portMAX_8_BIT_VALUE ( ( uint8_t ) 0xff ) +#define portTOP_BIT_OF_BYTE ( ( uint8_t ) 0x80 ) +#define portMAX_PRIGROUP_BITS ( ( uint8_t ) 7 ) +#define portPRIORITY_GROUP_MASK ( 0x07UL << 8UL ) +#define portPRIGROUP_SHIFT ( 8UL ) + +/* Masks off all bits but the VECTACTIVE bits in the ICSR register. */ +#define portVECTACTIVE_MASK ( 0xFFUL ) + +/* Constants required to manipulate the VFP. */ +#define portFPCCR ( ( volatile uint32_t * ) 0xe000ef34 ) /* Floating point context control register. */ +#define portASPEN_AND_LSPEN_BITS ( 0x3UL << 30UL ) + +/* Constants required to set up the initial stack. */ +#define portINITIAL_XPSR ( 0x01000000 ) +#define portINITIAL_EXC_RETURN ( 0xfffffffd ) + +/* The systick is a 24-bit counter. */ +#define portMAX_24_BIT_NUMBER ( 0xffffffUL ) + +/* For strict compliance with the Cortex-M spec the task start address should +have bit-0 clear, as it is loaded into the PC on exit from an ISR. */ +#define portSTART_ADDRESS_MASK ( ( StackType_t ) 0xfffffffeUL ) + +/* A fiddle factor to estimate the number of SysTick counts that would have +occurred while the SysTick counter is stopped during tickless idle +calculations. */ +#define portMISSED_COUNTS_FACTOR ( 45UL ) + +/* Let the user override the pre-loading of the initial LR with the address of +prvTaskExitError() in case it messes up unwinding of the stack in the +debugger. */ +#ifdef configTASK_RETURN_ADDRESS + #define portTASK_RETURN_ADDRESS configTASK_RETURN_ADDRESS +#else + #define portTASK_RETURN_ADDRESS prvTaskExitError +#endif + +/* + * Setup the timer to generate the tick interrupts. The implementation in this + * file is weak to allow application writers to change the timer used to + * generate the tick interrupt. + */ +void vPortSetupTimerInterrupt( void ); + +/* + * Exception handlers. + */ +void xPortPendSVHandler( void ) __attribute__ (( naked )); +void xPortSysTickHandler( void ); +void vPortSVCHandler( void ) __attribute__ (( naked )); + +/* + * Start first task is a separate function so it can be tested in isolation. + */ +static void prvPortStartFirstTask( void ) __attribute__ (( naked )); + +/* + * Function to enable the VFP. + */ +static void vPortEnableVFP( void ) __attribute__ (( naked )); + +/* + * Used to catch tasks that attempt to return from their implementing function. + */ +static void prvTaskExitError( void ); + +/*-----------------------------------------------------------*/ + +/* Each task maintains its own interrupt status in the critical nesting +variable. */ +static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; + +/* + * The number of SysTick increments that make up one tick period. + */ +#if( configUSE_TICKLESS_IDLE == 1 ) + static uint32_t ulTimerCountsForOneTick = 0; +#endif /* configUSE_TICKLESS_IDLE */ + +/* + * The maximum number of tick periods that can be suppressed is limited by the + * 24 bit resolution of the SysTick timer. + */ +#if( configUSE_TICKLESS_IDLE == 1 ) + static uint32_t xMaximumPossibleSuppressedTicks = 0; +#endif /* configUSE_TICKLESS_IDLE */ + +/* + * Compensate for the CPU cycles that pass while the SysTick is stopped (low + * power functionality only. + */ +#if( configUSE_TICKLESS_IDLE == 1 ) + static uint32_t ulStoppedTimerCompensation = 0; +#endif /* configUSE_TICKLESS_IDLE */ + +/* + * Used by the portASSERT_IF_INTERRUPT_PRIORITY_INVALID() macro to ensure + * FreeRTOS API functions are not called from interrupts that have been assigned + * a priority above configMAX_SYSCALL_INTERRUPT_PRIORITY. + */ +#if( configASSERT_DEFINED == 1 ) + static uint8_t ucMaxSysCallPriority = 0; + static uint32_t ulMaxPRIGROUPValue = 0; + static const volatile uint8_t * const pcInterruptPriorityRegisters = ( const volatile uint8_t * const ) portNVIC_IP_REGISTERS_OFFSET_16; +#endif /* configASSERT_DEFINED */ + +/*-----------------------------------------------------------*/ + +/* + * See header file for description. + */ +StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) +{ + /* Simulate the stack frame as it would be created by a context switch + interrupt. */ + + /* Offset added to account for the way the MCU uses the stack on entry/exit + of interrupts, and to ensure alignment. */ + pxTopOfStack--; + + *pxTopOfStack = portINITIAL_XPSR; /* xPSR */ + pxTopOfStack--; + *pxTopOfStack = ( ( StackType_t ) pxCode ) & portSTART_ADDRESS_MASK; /* PC */ + pxTopOfStack--; + *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS; /* LR */ + + /* Save code space by skipping register initialisation. */ + pxTopOfStack -= 5; /* R12, R3, R2 and R1. */ + *pxTopOfStack = ( StackType_t ) pvParameters; /* R0 */ + + /* A save method is being used that requires each task to maintain its + own exec return value. */ + pxTopOfStack--; + *pxTopOfStack = portINITIAL_EXC_RETURN; + + pxTopOfStack -= 8; /* R11, R10, R9, R8, R7, R6, R5 and R4. */ + + return pxTopOfStack; +} +/*-----------------------------------------------------------*/ + +static void prvTaskExitError( void ) +{ +volatile uint32_t ulDummy = 0; + + /* A function that implements a task must not exit or attempt to return to + its caller as there is nothing to return to. If a task wants to exit it + should instead call vTaskDelete( NULL ). + + Artificially force an assert() to be triggered if configASSERT() is + defined, then stop here so application writers can catch the error. */ + configASSERT( uxCriticalNesting == ~0UL ); + portDISABLE_INTERRUPTS(); + while( ulDummy == 0 ) + { + /* This file calls prvTaskExitError() after the scheduler has been + started to remove a compiler warning about the function being defined + but never called. ulDummy is used purely to quieten other warnings + about code appearing after this function is called - making ulDummy + volatile makes the compiler think the function could return and + therefore not output an 'unreachable code' warning for code that appears + after it. */ + } +} +/*-----------------------------------------------------------*/ + +void vPortSVCHandler( void ) +{ + __asm volatile ( + " ldr r3, pxCurrentTCBConst2 \n" /* Restore the context. */ + " ldr r1, [r3] \n" /* Use pxCurrentTCBConst to get the pxCurrentTCB address. */ + " ldr r0, [r1] \n" /* The first item in pxCurrentTCB is the task top of stack. */ + " ldmia r0!, {r4-r11, r14} \n" /* Pop the registers that are not automatically saved on exception entry and the critical nesting count. */ + " msr psp, r0 \n" /* Restore the task stack pointer. */ + " isb \n" + " mov r0, #0 \n" + " msr basepri, r0 \n" + " bx r14 \n" + " \n" + " .align 4 \n" + "pxCurrentTCBConst2: .word pxCurrentTCB \n" + ); +} +/*-----------------------------------------------------------*/ + +static void prvPortStartFirstTask( void ) +{ + /* Start the first task. This also clears the bit that indicates the FPU is + in use in case the FPU was used before the scheduler was started - which + would otherwise result in the unnecessary leaving of space in the SVC stack + for lazy saving of FPU registers. */ + __asm volatile( + " ldr r0, =0xE000ED08 \n" /* Use the NVIC offset register to locate the stack. */ + " ldr r0, [r0] \n" + " ldr r0, [r0] \n" + " msr msp, r0 \n" /* Set the msp back to the start of the stack. */ + " mov r0, #0 \n" /* Clear the bit that indicates the FPU is in use, see comment above. */ + " msr control, r0 \n" + " cpsie i \n" /* Globally enable interrupts. */ + " cpsie f \n" + " dsb \n" + " isb \n" + " svc 0 \n" /* System call to start first task. */ + " nop \n" + ); +} +/*-----------------------------------------------------------*/ + +/* + * See header file for description. + */ +BaseType_t xPortStartScheduler( void ) +{ + /* configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to 0. + See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html */ + configASSERT( configMAX_SYSCALL_INTERRUPT_PRIORITY ); + + /* This port can be used on all revisions of the Cortex-M7 core other than + the r0p1 parts. r0p1 parts should use the port from the + /source/portable/GCC/ARM_CM7/r0p1 directory. */ + configASSERT( portCPUID != portCORTEX_M7_r0p1_ID ); + configASSERT( portCPUID != portCORTEX_M7_r0p0_ID ); + + #if( configASSERT_DEFINED == 1 ) + { + volatile uint32_t ulOriginalPriority; + volatile uint8_t * const pucFirstUserPriorityRegister = ( volatile uint8_t * const ) ( portNVIC_IP_REGISTERS_OFFSET_16 + portFIRST_USER_INTERRUPT_NUMBER ); + volatile uint8_t ucMaxPriorityValue; + + /* Determine the maximum priority from which ISR safe FreeRTOS API + functions can be called. ISR safe functions are those that end in + "FromISR". FreeRTOS maintains separate thread and ISR API functions to + ensure interrupt entry is as fast and simple as possible. + + Save the interrupt priority value that is about to be clobbered. */ + ulOriginalPriority = *pucFirstUserPriorityRegister; + + /* Determine the number of priority bits available. First write to all + possible bits. */ + *pucFirstUserPriorityRegister = portMAX_8_BIT_VALUE; + + /* Read the value back to see how many bits stuck. */ + ucMaxPriorityValue = *pucFirstUserPriorityRegister; + + /* Use the same mask on the maximum system call priority. */ + ucMaxSysCallPriority = configMAX_SYSCALL_INTERRUPT_PRIORITY & ucMaxPriorityValue; + + /* Calculate the maximum acceptable priority group value for the number + of bits read back. */ + ulMaxPRIGROUPValue = portMAX_PRIGROUP_BITS; + while( ( ucMaxPriorityValue & portTOP_BIT_OF_BYTE ) == portTOP_BIT_OF_BYTE ) + { + ulMaxPRIGROUPValue--; + ucMaxPriorityValue <<= ( uint8_t ) 0x01; + } + + #ifdef __NVIC_PRIO_BITS + { + /* Check the CMSIS configuration that defines the number of + priority bits matches the number of priority bits actually queried + from the hardware. */ + configASSERT( ( portMAX_PRIGROUP_BITS - ulMaxPRIGROUPValue ) == __NVIC_PRIO_BITS ); + } + #endif + + #ifdef configPRIO_BITS + { + /* Check the FreeRTOS configuration that defines the number of + priority bits matches the number of priority bits actually queried + from the hardware. */ + configASSERT( ( portMAX_PRIGROUP_BITS - ulMaxPRIGROUPValue ) == configPRIO_BITS ); + } + #endif + + /* Shift the priority group value back to its position within the AIRCR + register. */ + ulMaxPRIGROUPValue <<= portPRIGROUP_SHIFT; + ulMaxPRIGROUPValue &= portPRIORITY_GROUP_MASK; + + /* Restore the clobbered interrupt priority register to its original + value. */ + *pucFirstUserPriorityRegister = ulOriginalPriority; + } + #endif /* conifgASSERT_DEFINED */ + + /* Make PendSV and SysTick the lowest priority interrupts. */ + portNVIC_SYSPRI2_REG |= portNVIC_PENDSV_PRI; + portNVIC_SYSPRI2_REG |= portNVIC_SYSTICK_PRI; + + /* Start the timer that generates the tick ISR. Interrupts are disabled + here already. */ + vPortSetupTimerInterrupt(); + + /* Initialise the critical nesting count ready for the first task. */ + uxCriticalNesting = 0; + + /* Ensure the VFP is enabled - it should be anyway. */ + vPortEnableVFP(); + + /* Lazy save always. */ + *( portFPCCR ) |= portASPEN_AND_LSPEN_BITS; + + /* Start the first task. */ + prvPortStartFirstTask(); + + /* Should never get here as the tasks will now be executing! Call the task + exit error function to prevent compiler warnings about a static function + not being called in the case that the application writer overrides this + functionality by defining configTASK_RETURN_ADDRESS. Call + vTaskSwitchContext() so link time optimisation does not remove the + symbol. */ + vTaskSwitchContext(); + prvTaskExitError(); + + /* Should not get here! */ + return 0; +} +/*-----------------------------------------------------------*/ + +void vPortEndScheduler( void ) +{ + /* Not implemented in ports where there is nothing to return to. + Artificially force an assert. */ + configASSERT( uxCriticalNesting == 1000UL ); +} +/*-----------------------------------------------------------*/ + +void vPortEnterCritical( void ) +{ + portDISABLE_INTERRUPTS(); + uxCriticalNesting++; + + /* This is not the interrupt safe version of the enter critical function so + assert() if it is being called from an interrupt context. Only API + functions that end in "FromISR" can be used in an interrupt. Only assert if + the critical nesting count is 1 to protect against recursive calls if the + assert function also uses a critical section. */ + if( uxCriticalNesting == 1 ) + { + configASSERT( ( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0 ); + } +} +/*-----------------------------------------------------------*/ + +void vPortExitCritical( void ) +{ + configASSERT( uxCriticalNesting ); + uxCriticalNesting--; + if( uxCriticalNesting == 0 ) + { + portENABLE_INTERRUPTS(); + } +} +/*-----------------------------------------------------------*/ + +void xPortPendSVHandler( void ) +{ + /* This is a naked function. */ + + __asm volatile + ( + " mrs r0, psp \n" + " isb \n" + " \n" + " ldr r3, pxCurrentTCBConst \n" /* Get the location of the current TCB. */ + " ldr r2, [r3] \n" + " \n" + " tst r14, #0x10 \n" /* Is the task using the FPU context? If so, push high vfp registers. */ + " it eq \n" + " vstmdbeq r0!, {s16-s31} \n" + " \n" + " stmdb r0!, {r4-r11, r14} \n" /* Save the core registers. */ + " str r0, [r2] \n" /* Save the new top of stack into the first member of the TCB. */ + " \n" + " stmdb sp!, {r0, r3} \n" + " mov r0, %0 \n" + " msr basepri, r0 \n" + " dsb \n" + " isb \n" + " bl vTaskSwitchContext \n" + " mov r0, #0 \n" + " msr basepri, r0 \n" + " ldmia sp!, {r0, r3} \n" + " \n" + " ldr r1, [r3] \n" /* The first item in pxCurrentTCB is the task top of stack. */ + " ldr r0, [r1] \n" + " \n" + " ldmia r0!, {r4-r11, r14} \n" /* Pop the core registers. */ + " \n" + " tst r14, #0x10 \n" /* Is the task using the FPU context? If so, pop the high vfp registers too. */ + " it eq \n" + " vldmiaeq r0!, {s16-s31} \n" + " \n" + " msr psp, r0 \n" + " isb \n" + " \n" + #ifdef WORKAROUND_PMU_CM001 /* XMC4000 specific errata workaround. */ + #if WORKAROUND_PMU_CM001 == 1 + " push { r14 } \n" + " pop { pc } \n" + #endif + #endif + " \n" + " bx r14 \n" + " \n" + " .align 4 \n" + "pxCurrentTCBConst: .word pxCurrentTCB \n" + ::"i"(configMAX_SYSCALL_INTERRUPT_PRIORITY) + ); +} +/*-----------------------------------------------------------*/ + +void xPortSysTickHandler( void ) +{ + /* The SysTick runs at the lowest interrupt priority, so when this interrupt + executes all interrupts must be unmasked. There is therefore no need to + save and then restore the interrupt mask value as its value is already + known. */ + portDISABLE_INTERRUPTS(); + { + /* Increment the RTOS tick. */ + if( xTaskIncrementTick() != pdFALSE ) + { + /* A context switch is required. Context switching is performed in + the PendSV interrupt. Pend the PendSV interrupt. */ + portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; + } + } + portENABLE_INTERRUPTS(); +} +/*-----------------------------------------------------------*/ + +#if( configUSE_TICKLESS_IDLE == 1 ) + + __attribute__((weak)) void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ) + { + uint32_t ulReloadValue, ulCompleteTickPeriods, ulCompletedSysTickDecrements; + TickType_t xModifiableIdleTime; + + /* Make sure the SysTick reload value does not overflow the counter. */ + if( xExpectedIdleTime > xMaximumPossibleSuppressedTicks ) + { + xExpectedIdleTime = xMaximumPossibleSuppressedTicks; + } + + /* Stop the SysTick momentarily. The time the SysTick is stopped for + is accounted for as best it can be, but using the tickless mode will + inevitably result in some tiny drift of the time maintained by the + kernel with respect to calendar time. */ + portNVIC_SYSTICK_CTRL_REG &= ~portNVIC_SYSTICK_ENABLE_BIT; + + /* Calculate the reload value required to wait xExpectedIdleTime + tick periods. -1 is used because this code will execute part way + through one of the tick periods. */ + ulReloadValue = portNVIC_SYSTICK_CURRENT_VALUE_REG + ( ulTimerCountsForOneTick * ( xExpectedIdleTime - 1UL ) ); + if( ulReloadValue > ulStoppedTimerCompensation ) + { + ulReloadValue -= ulStoppedTimerCompensation; + } + + /* Enter a critical section but don't use the taskENTER_CRITICAL() + method as that will mask interrupts that should exit sleep mode. */ + __asm volatile( "cpsid i" ::: "memory" ); + __asm volatile( "dsb" ); + __asm volatile( "isb" ); + + /* If a context switch is pending or a task is waiting for the scheduler + to be unsuspended then abandon the low power entry. */ + if( eTaskConfirmSleepModeStatus() == eAbortSleep ) + { + /* Restart from whatever is left in the count register to complete + this tick period. */ + portNVIC_SYSTICK_LOAD_REG = portNVIC_SYSTICK_CURRENT_VALUE_REG; + + /* Restart SysTick. */ + portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT; + + /* Reset the reload register to the value required for normal tick + periods. */ + portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL; + + /* Re-enable interrupts - see comments above the cpsid instruction() + above. */ + __asm volatile( "cpsie i" ::: "memory" ); + } + else + { + /* Set the new reload value. */ + portNVIC_SYSTICK_LOAD_REG = ulReloadValue; + + /* Clear the SysTick count flag and set the count value back to + zero. */ + portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; + + /* Restart SysTick. */ + portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT; + + /* Sleep until something happens. configPRE_SLEEP_PROCESSING() can + set its parameter to 0 to indicate that its implementation contains + its own wait for interrupt or wait for event instruction, and so wfi + should not be executed again. However, the original expected idle + time variable must remain unmodified, so a copy is taken. */ + xModifiableIdleTime = xExpectedIdleTime; + configPRE_SLEEP_PROCESSING( xModifiableIdleTime ); + if( xModifiableIdleTime > 0 ) + { + __asm volatile( "dsb" ::: "memory" ); + __asm volatile( "wfi" ); + __asm volatile( "isb" ); + } + configPOST_SLEEP_PROCESSING( xExpectedIdleTime ); + + /* Re-enable interrupts to allow the interrupt that brought the MCU + out of sleep mode to execute immediately. see comments above + __disable_interrupt() call above. */ + __asm volatile( "cpsie i" ::: "memory" ); + __asm volatile( "dsb" ); + __asm volatile( "isb" ); + + /* Disable interrupts again because the clock is about to be stopped + and interrupts that execute while the clock is stopped will increase + any slippage between the time maintained by the RTOS and calendar + time. */ + __asm volatile( "cpsid i" ::: "memory" ); + __asm volatile( "dsb" ); + __asm volatile( "isb" ); + + /* Disable the SysTick clock without reading the + portNVIC_SYSTICK_CTRL_REG register to ensure the + portNVIC_SYSTICK_COUNT_FLAG_BIT is not cleared if it is set. Again, + the time the SysTick is stopped for is accounted for as best it can + be, but using the tickless mode will inevitably result in some tiny + drift of the time maintained by the kernel with respect to calendar + time*/ + portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT ); + + /* Determine if the SysTick clock has already counted to zero and + been set back to the current reload value (the reload back being + correct for the entire expected idle time) or if the SysTick is yet + to count to zero (in which case an interrupt other than the SysTick + must have brought the system out of sleep mode). */ + if( ( portNVIC_SYSTICK_CTRL_REG & portNVIC_SYSTICK_COUNT_FLAG_BIT ) != 0 ) + { + uint32_t ulCalculatedLoadValue; + + /* The tick interrupt is already pending, and the SysTick count + reloaded with ulReloadValue. Reset the + portNVIC_SYSTICK_LOAD_REG with whatever remains of this tick + period. */ + ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL ) - ( ulReloadValue - portNVIC_SYSTICK_CURRENT_VALUE_REG ); + + /* Don't allow a tiny value, or values that have somehow + underflowed because the post sleep hook did something + that took too long. */ + if( ( ulCalculatedLoadValue < ulStoppedTimerCompensation ) || ( ulCalculatedLoadValue > ulTimerCountsForOneTick ) ) + { + ulCalculatedLoadValue = ( ulTimerCountsForOneTick - 1UL ); + } + + portNVIC_SYSTICK_LOAD_REG = ulCalculatedLoadValue; + + /* As the pending tick will be processed as soon as this + function exits, the tick value maintained by the tick is stepped + forward by one less than the time spent waiting. */ + ulCompleteTickPeriods = xExpectedIdleTime - 1UL; + } + else + { + /* Something other than the tick interrupt ended the sleep. + Work out how long the sleep lasted rounded to complete tick + periods (not the ulReload value which accounted for part + ticks). */ + ulCompletedSysTickDecrements = ( xExpectedIdleTime * ulTimerCountsForOneTick ) - portNVIC_SYSTICK_CURRENT_VALUE_REG; + + /* How many complete tick periods passed while the processor + was waiting? */ + ulCompleteTickPeriods = ulCompletedSysTickDecrements / ulTimerCountsForOneTick; + + /* The reload value is set to whatever fraction of a single tick + period remains. */ + portNVIC_SYSTICK_LOAD_REG = ( ( ulCompleteTickPeriods + 1UL ) * ulTimerCountsForOneTick ) - ulCompletedSysTickDecrements; + } + + /* Restart SysTick so it runs from portNVIC_SYSTICK_LOAD_REG + again, then set portNVIC_SYSTICK_LOAD_REG back to its standard + value. */ + portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; + portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT; + vTaskStepTick( ulCompleteTickPeriods ); + portNVIC_SYSTICK_LOAD_REG = ulTimerCountsForOneTick - 1UL; + + /* Exit with interrupts enabled. */ + __asm volatile( "cpsie i" ::: "memory" ); + } + } + +#endif /* #if configUSE_TICKLESS_IDLE */ +/*-----------------------------------------------------------*/ + +/* + * Setup the systick timer to generate the tick interrupts at the required + * frequency. + */ +__attribute__(( weak )) void vPortSetupTimerInterrupt( void ) +{ + /* Calculate the constants required to configure the tick interrupt. */ + #if( configUSE_TICKLESS_IDLE == 1 ) + { + ulTimerCountsForOneTick = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ); + xMaximumPossibleSuppressedTicks = portMAX_24_BIT_NUMBER / ulTimerCountsForOneTick; + ulStoppedTimerCompensation = portMISSED_COUNTS_FACTOR / ( configCPU_CLOCK_HZ / configSYSTICK_CLOCK_HZ ); + } + #endif /* configUSE_TICKLESS_IDLE */ + + /* Stop and clear the SysTick. */ + portNVIC_SYSTICK_CTRL_REG = 0UL; + portNVIC_SYSTICK_CURRENT_VALUE_REG = 0UL; + + /* Configure SysTick to interrupt at the requested rate. */ + portNVIC_SYSTICK_LOAD_REG = ( configSYSTICK_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL; + portNVIC_SYSTICK_CTRL_REG = ( portNVIC_SYSTICK_CLK_BIT | portNVIC_SYSTICK_INT_BIT | portNVIC_SYSTICK_ENABLE_BIT ); +} +/*-----------------------------------------------------------*/ + +/* This is a naked function. */ +static void vPortEnableVFP( void ) +{ + __asm volatile + ( + " ldr.w r0, =0xE000ED88 \n" /* The FPU enable bits are in the CPACR. */ + " ldr r1, [r0] \n" + " \n" + " orr r1, r1, #( 0xf << 20 ) \n" /* Enable CP10 and CP11 coprocessors, then save back. */ + " str r1, [r0] \n" + " bx r14 " + ); +} +/*-----------------------------------------------------------*/ + +#if( configASSERT_DEFINED == 1 ) + + void vPortValidateInterruptPriority( void ) + { + uint32_t ulCurrentInterrupt; + uint8_t ucCurrentPriority; + + /* Obtain the number of the currently executing interrupt. */ + __asm volatile( "mrs %0, ipsr" : "=r"( ulCurrentInterrupt ) :: "memory" ); + + /* Is the interrupt number a user defined interrupt? */ + if( ulCurrentInterrupt >= portFIRST_USER_INTERRUPT_NUMBER ) + { + /* Look up the interrupt's priority. */ + ucCurrentPriority = pcInterruptPriorityRegisters[ ulCurrentInterrupt ]; + + /* The following assertion will fail if a service routine (ISR) for + an interrupt that has been assigned a priority above + configMAX_SYSCALL_INTERRUPT_PRIORITY calls an ISR safe FreeRTOS API + function. ISR safe FreeRTOS API functions must *only* be called + from interrupts that have been assigned a priority at or below + configMAX_SYSCALL_INTERRUPT_PRIORITY. + + Numerically low interrupt priority numbers represent logically high + interrupt priorities, therefore the priority of the interrupt must + be set to a value equal to or numerically *higher* than + configMAX_SYSCALL_INTERRUPT_PRIORITY. + + Interrupts that use the FreeRTOS API must not be left at their + default priority of zero as that is the highest possible priority, + which is guaranteed to be above configMAX_SYSCALL_INTERRUPT_PRIORITY, + and therefore also guaranteed to be invalid. + + FreeRTOS maintains separate thread and ISR API functions to ensure + interrupt entry is as fast and simple as possible. + + The following links provide detailed information: + http://www.freertos.org/RTOS-Cortex-M3-M4.html + http://www.freertos.org/FAQHelp.html */ + configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); + } + + /* Priority grouping: The interrupt controller (NVIC) allows the bits + that define each interrupt's priority to be split between bits that + define the interrupt's pre-emption priority bits and bits that define + the interrupt's sub-priority. For simplicity all bits must be defined + to be pre-emption priority bits. The following assertion will fail if + this is not the case (if some bits represent a sub-priority). + + If the application only uses CMSIS libraries for interrupt + configuration then the correct setting can be achieved on all Cortex-M + devices by calling NVIC_SetPriorityGrouping( 0 ); before starting the + scheduler. Note however that some vendor specific peripheral libraries + assume a non-zero priority group setting, in which cases using a value + of zero will result in unpredictable behaviour. */ + configASSERT( ( portAIRCR_REG & portPRIORITY_GROUP_MASK ) <= ulMaxPRIGROUPValue ); + } + +#endif /* configASSERT_DEFINED */ + + diff --git a/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h b/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h new file mode 100644 index 0000000..e1e7fad --- /dev/null +++ b/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h @@ -0,0 +1,243 @@ +/* + * FreeRTOS Kernel V10.3.1 + * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + + +#ifndef PORTMACRO_H +#define PORTMACRO_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*----------------------------------------------------------- + * Port specific definitions. + * + * The settings in this file configure FreeRTOS correctly for the + * given hardware and compiler. + * + * These settings should not be altered. + *----------------------------------------------------------- + */ + +/* Type definitions. */ +#define portCHAR char +#define portFLOAT float +#define portDOUBLE double +#define portLONG long +#define portSHORT short +#define portSTACK_TYPE uint32_t +#define portBASE_TYPE long + +typedef portSTACK_TYPE StackType_t; +typedef long BaseType_t; +typedef unsigned long UBaseType_t; + +#if( configUSE_16_BIT_TICKS == 1 ) + typedef uint16_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffff +#else + typedef uint32_t TickType_t; + #define portMAX_DELAY ( TickType_t ) 0xffffffffUL + + /* 32-bit tick type on a 32-bit architecture, so reads of the tick count do + not need to be guarded with a critical section. */ + #define portTICK_TYPE_IS_ATOMIC 1 +#endif +/*-----------------------------------------------------------*/ + +/* Architecture specifics. */ +#define portSTACK_GROWTH ( -1 ) +#define portTICK_PERIOD_MS ( ( TickType_t ) 1000 / configTICK_RATE_HZ ) +#define portBYTE_ALIGNMENT 8 +/*-----------------------------------------------------------*/ + +/* Scheduler utilities. */ +#define portYIELD() \ +{ \ + /* Set a PendSV to request a context switch. */ \ + portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT; \ + \ + /* Barriers are normally not required but do ensure the code is completely \ + within the specified behaviour for the architecture. */ \ + __asm volatile( "dsb" ::: "memory" ); \ + __asm volatile( "isb" ); \ +} + +#define portNVIC_INT_CTRL_REG ( * ( ( volatile uint32_t * ) 0xe000ed04 ) ) +#define portNVIC_PENDSVSET_BIT ( 1UL << 28UL ) +#define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired != pdFALSE ) portYIELD() +#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x ) +/*-----------------------------------------------------------*/ + +/* Critical section management. */ +extern void vPortEnterCritical( void ); +extern void vPortExitCritical( void ); +#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortRaiseBASEPRI() +#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x) vPortSetBASEPRI(x) +#define portDISABLE_INTERRUPTS() vPortRaiseBASEPRI() +#define portENABLE_INTERRUPTS() vPortSetBASEPRI(0) +#define portENTER_CRITICAL() vPortEnterCritical() +#define portEXIT_CRITICAL() vPortExitCritical() + +/*-----------------------------------------------------------*/ + +/* Task function macros as described on the FreeRTOS.org WEB site. These are +not necessary for to use this port. They are defined so the common demo files +(which build with all the ports) will build. */ +#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters ) +#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters ) +/*-----------------------------------------------------------*/ + +/* Tickless idle/low power functionality. */ +#ifndef portSUPPRESS_TICKS_AND_SLEEP + extern void vPortSuppressTicksAndSleep( TickType_t xExpectedIdleTime ); + #define portSUPPRESS_TICKS_AND_SLEEP( xExpectedIdleTime ) vPortSuppressTicksAndSleep( xExpectedIdleTime ) +#endif +/*-----------------------------------------------------------*/ + +/* Architecture specific optimisations. */ +#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION + #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 +#endif + +#if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1 + + /* Generic helper function. */ + __attribute__( ( always_inline ) ) static inline uint8_t ucPortCountLeadingZeros( uint32_t ulBitmap ) + { + uint8_t ucReturn; + + __asm volatile ( "clz %0, %1" : "=r" ( ucReturn ) : "r" ( ulBitmap ) : "memory" ); + return ucReturn; + } + + /* Check the configuration. */ + #if( configMAX_PRIORITIES > 32 ) + #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32. It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice. + #endif + + /* Store/clear the ready priorities in a bit map. */ + #define portRECORD_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) |= ( 1UL << ( uxPriority ) ) + #define portRESET_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) &= ~( 1UL << ( uxPriority ) ) + + /*-----------------------------------------------------------*/ + + #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxReadyPriorities ) uxTopPriority = ( 31UL - ( uint32_t ) ucPortCountLeadingZeros( ( uxReadyPriorities ) ) ) + +#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */ + +/*-----------------------------------------------------------*/ + +#ifdef configASSERT + void vPortValidateInterruptPriority( void ); + #define portASSERT_IF_INTERRUPT_PRIORITY_INVALID() vPortValidateInterruptPriority() +#endif + +/* portNOP() is not required by this port. */ +#define portNOP() + +#define portINLINE __inline + +#ifndef portFORCE_INLINE + #define portFORCE_INLINE inline __attribute__(( always_inline)) +#endif + +portFORCE_INLINE static BaseType_t xPortIsInsideInterrupt( void ) +{ +uint32_t ulCurrentInterrupt; +BaseType_t xReturn; + + /* Obtain the number of the currently executing interrupt. */ + __asm volatile( "mrs %0, ipsr" : "=r"( ulCurrentInterrupt ) :: "memory" ); + + if( ulCurrentInterrupt == 0 ) + { + xReturn = pdFALSE; + } + else + { + xReturn = pdTRUE; + } + + return xReturn; +} + +/*-----------------------------------------------------------*/ + +portFORCE_INLINE static void vPortRaiseBASEPRI( void ) +{ +uint32_t ulNewBASEPRI; + + __asm volatile + ( + " mov %0, %1 \n" \ + " msr basepri, %0 \n" \ + " isb \n" \ + " dsb \n" \ + :"=r" (ulNewBASEPRI) : "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory" + ); +} + +/*-----------------------------------------------------------*/ + +portFORCE_INLINE static uint32_t ulPortRaiseBASEPRI( void ) +{ +uint32_t ulOriginalBASEPRI, ulNewBASEPRI; + + __asm volatile + ( + " mrs %0, basepri \n" \ + " mov %1, %2 \n" \ + " msr basepri, %1 \n" \ + " isb \n" \ + " dsb \n" \ + :"=r" (ulOriginalBASEPRI), "=r" (ulNewBASEPRI) : "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) : "memory" + ); + + /* This return will not be reached but is necessary to prevent compiler + warnings. */ + return ulOriginalBASEPRI; +} +/*-----------------------------------------------------------*/ + +portFORCE_INLINE static void vPortSetBASEPRI( uint32_t ulNewMaskValue ) +{ + __asm volatile + ( + " msr basepri, %0 " :: "r" ( ulNewMaskValue ) : "memory" + ); +} +/*-----------------------------------------------------------*/ + +#define portMEMORY_BARRIER() __asm volatile( "" ::: "memory" ) + +#ifdef __cplusplus +} +#endif + +#endif /* PORTMACRO_H */ + diff --git a/User/device/rc_can.c b/User/device/rc_can.c new file mode 100644 index 0000000..e69de29 diff --git a/User/device/rc_can.h b/User/device/rc_can.h new file mode 100644 index 0000000..8e73fa7 --- /dev/null +++ b/User/device/rc_can.h @@ -0,0 +1,56 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +/* Includes ----------------------------------------------------------------- */ +#include "bsp/can.h" +#include "device/device.h" +/* USER INCLUDE BEGIN */ + +/* USER INCLUDE END */ + +/* USER DEFINE BEGIN */ + +/* USER DEFINE END */ + +/* Exported constants ------------------------------------------------------- */ +/* Exported macro ----------------------------------------------------------- */ +/* Exported types ----------------------------------------------------------- */ + +typedef enum { + RC_CAN_SW_ERR = 0, + RC_CAN_SW_UP = 1, + RC_CAN_SW_MID = 3, + RC_CAN_SW_DOWN = 2, +} RC_CAN_SW_t; + +typedef struct { + float ch_l_x; + float ch_l_y; + float ch_r_x; + float ch_r_y; + RC_CAN_SW_t sw_l; + RC_CAN_SW_t sw_r; + flaot res; +} RC_CAN_DR16_t; + +typedef struct { + f +} RC_CAN_DR16_t; + + +/* USER STRUCT BEGIN */ + +/* USER STRUCT END */ + +/* Exported functions prototypes -------------------------------------------- */ + +/* USER FUNCTION BEGIN */ + +/* USER FUNCTION END */ + +#ifdef __cplusplus +} +#endif diff --git a/User/module/config.c b/User/module/config.c index 89ff42a..ff247b4 100644 --- a/User/module/config.c +++ b/User/module/config.c @@ -18,28 +18,69 @@ // 机器人参数配置 Config_RobotParam_t robot_config = { - // .shoot_param = { - // .trig_motor_param = { - // .can = BSP_CAN_1, - // .id = 0x201, - // .module = MOTOR_M2006, - // .reverse = false, - // .gear = true, - // }, - // .trig_pid_param = { - // .k = 12.0f, - // .p = 1.0f, - // .i = 0.0f, - // .d = 0.0450000018f, - // .i_limit = 1.0f, - // .out_limit = 1.0f, - // .d_cutoff_freq = -1.0f, - // .range = M_2PI, - // }, - // .num_trig_tooth = 8.0f, - // .fric_radius = 0.03f, - // .min_shoot_delay = (uint32_t)(1000.0f / 10.0f), - // } + .shoot_param = { + .trig_step_angle=M_2PI/8, + .fric_motor_param[0] = { + .can = BSP_CAN_1, + .id = 0x205, + .module = MOTOR_M3508, + .reverse = false, + .gear=false, + }, + .fric_motor_param[1] = { + .can = BSP_CAN_1, + .id = 0x206, + .module = MOTOR_M3508, + .reverse = true, + .gear=false, + }, + .trig_motor_param = { + .can = BSP_CAN_1, + .id = 0x202, + .module = MOTOR_M2006, + .reverse = false, + .gear=true, + }, + .fric_follow = { + .k=1.0f, + .p=1.8f, + .i=0.0f, + .d=0.0f, + .i_limit=0.0f, + .out_limit=0.9f, + .d_cutoff_freq=30.0f, + .range=-1.0f, + }, + .fric_err = { + .k=1.0f, + .p=4.0f, + .i=0.4f, + .d=0.04f, + .i_limit=0.25f, + .out_limit=0.25f, + .d_cutoff_freq=40.0f, + .range=-1.0f, + }, + .trig = { + .k=1.0f, + .p=1.2f, + .i=0.0f, + .d=0.05f, + .i_limit=0.2f, + .out_limit=0.9f, + .d_cutoff_freq=30.0f, + .range=-1.0f, + }, + .filter.fric = { + .in = 30.0f, + .out = 30.0f, + }, + .filter.trig = { + .in = 30.0f, + .out = 30.0f, + }, + } + }; /* Private function prototypes ---------------------------------------------- */ diff --git a/User/module/config.h b/User/module/config.h index 91b224a..388c923 100644 --- a/User/module/config.h +++ b/User/module/config.h @@ -14,6 +14,7 @@ extern "C" { typedef struct { + Shoot_Params_t shoot_param; // Shoot_Params_t shoot_param; /* 射击参数 */ } Config_RobotParam_t; diff --git a/User/module/shoot.c b/User/module/shoot.c index a07b8bc..ba77a1e 100644 --- a/User/module/shoot.c +++ b/User/module/shoot.c @@ -1,201 +1,172 @@ -// /* -// * 射击模组 -// */ -// /* Includes ----------------------------------------------------------------- */ -// #include "shoot.h" +#include "shoot.h" -// #include "bsp/pwm.h" -// #include "bsp/time.h" -// #include "bsp/can.h" -// #include "component/pid.h" -// #include "component/limiter.h" -// #include "component/user_math.h" -// #include "device/motor_rm.h" -// #include -// /* Private typedef ---------------------------------------------------------- */ -// /* Private define ----------------------------------------------------------- */ +#include "bsp/can.h" +#include "component/filter.h" +#include +// #include +#include +#include "bsp/time.h" -// #define BULLET_SPEED_LIMIT_17MM (25.0) +uint32_t shoot_ctrl_cnt_last; +float shoot_ctrl_dt; +bool last_firecmd=false; -// /* Private macro ------------------------------------------------------------ */ -// /* Private variables -------------------------------------------------------- */ -// /* Private function -------------------------------------------------------- */ +static inline void ScaleSumTo1(float *a, float *b) { + float sum = *a + *b; + if (sum > 1.0f) { + float scale = 1.0f / sum; + *a *= scale; + *b *= scale; + } +} -// /** -// * \brief 设置射击模式 -// * -// * \param c 包含射击数据的结构体 -// * \param mode 要设置的模式 -// * -// * \return 函数运行结果 -// */ -// static int8_t Shoot_SetMode(Shoot_t *s, CMD_ShootMode_t mode) { -// if (s == NULL) return -1; +int8_t Shoot_Init(Shoot_t *c, Shoot_Params_t *param, float target_freq) +{ + if (c == NULL || param == NULL || target_freq <= 0.0f) { + return -1; // 参数错误 + } + c->param=param; + BSP_CAN_Init(); + memset(&c->feedback, 0, sizeof(c->feedback)); + + for(int i=0;ifric_motor_param[i]); + PID_Init(&c->pid.fric_follow[i], KPID_MODE_CALC_D, target_freq,¶m->fric_follow); + LowPassFilter2p_Init(&c->filter.fric.in[i], target_freq, c->param->filter.fric.in); + LowPassFilter2p_Init(&c->filter.fric.out[i], target_freq, c->param->filter.fric.out); + } + MOTOR_RM_Register(¶m->trig_motor_param); + PID_Init(&c->pid.trig, KPID_MODE_CALC_D, target_freq,¶m->trig); + + LowPassFilter2p_Init(&c->filter.trig.in, target_freq, c->param->filter.trig.in); + LowPassFilter2p_Init(&c->filter.trig.out, target_freq, c->param->filter.trig.out); + + return 0; +} + +int8_t Chassis_UpdateFeedback(Shoot_t *c) +{ + if (c == NULL) { + return -1; // 参数错误 + } + + float rpm_sum=0.0f; + for(int i = 0; i < SHOOT_FRIC_NUM; i++) { + MOTOR_RM_Update(&c->param->fric_motor_param[i]); + MOTOR_RM_t *motor_fed = MOTOR_RM_GetMotor(&c->param->fric_motor_param[i]); + if(motor_fed!=NULL) + { + c->feedback.fric[i]=motor_fed->motor.feedback; + } + c->feedback.fil_fric_rpm[i] = LowPassFilter2p_Apply(&c->filter.fric.in[i], c->feedback.fric[i].rotor_speed); + c->feedback.fric_rpm[i] = c->feedback.fil_fric_rpm[i] / MAX_FRIC_RPM; + if(c->feedback.fric_rpm[i]>1.0f)c->feedback.fric_rpm[i]=1.0f; + if(c->feedback.fric_rpm[i]<-1.0f)c->feedback.fric_rpm[i]=-1.0f; + rpm_sum+=c->feedback.fric_rpm[i]; + } + c->feedback.fric_avgrpm=rpm_sum/SHOOT_FRIC_NUM; + MOTOR_RM_Update(&c->param->trig_motor_param); + c->feedback.trig = MOTOR_RM_GetMotor(&c->param->trig_motor_param); + // + c->feedback.fil_trig_rpm = LowPassFilter2p_Apply(&c->filter.trig.in, c->feedback.trig->feedback.rotor_speed); + c->feedback.trig_rpm = c->feedback.trig->feedback.rotor_speed / MAX_TRIG_RPM; + if(c->feedback.trig_rpm>1.0f)c->feedback.trig_rpm=1.0f; //如果单环效果好就删 + if(c->feedback.trig_rpm<-1.0f)c->feedback.trig_rpm=-1.0f; + // + c->errtosee = c->feedback.fric[0].rotor_speed - c->feedback.fric[1].rotor_speed; + return 0; +} + +int8_t Shoot_Control(Shoot_t *c, const Shoot_CMD_t *cmd) +{ + if (c == NULL || cmd == NULL) { + return -1; // 参数错误 + } + c->dt = (BSP_TIME_Get_us() - c->lask_wakeup) / 1000000.0f; + c->lask_wakeup = BSP_TIME_Get_us(); + c->online = cmd->online; + if(!c->online /*|| c->mode==SHOOT_MODE_SAFE*/){ + for(int i=0;iparam->fric_motor_param[i]); + } + MOTOR_RM_Relax(&c->param->trig_motor_param); + } + else{ + switch(c->running_state) + { + case SHOOT_STATE_IDLE:/*熄火等待*/ + for(int i=0;ipid.fric_follow[i]); + c->output.out_follow[i]=PID_Calc(&c->pid.fric_follow[i],0.0f,c->feedback.fric_rpm[i],0,c->dt); + c->output.out_fric[i]=c->output.out_follow[i]; + c->output.lpfout_fric[i] = LowPassFilter2p_Apply(&c->filter.fric.out[i], c->output.out_fric[i]); + MOTOR_RM_SetOutput(&c->param->fric_motor_param[i], c->output.lpfout_fric[i]); + } + c->output.out_trig=PID_Calc(&c->pid.trig,c->target_variable.target_angle,c->feedback.trig->gearbox_total_angle,0,c->dt); + MOTOR_RM_SetOutput(&c->param->trig_motor_param, c->output.out_trig); + if(cmd->ready) + { + c->running_state=SHOOT_STATE_READY; + } + break; + case SHOOT_STATE_READY:/*准备射击*/ + for(int i=0;i计算修正输出->加和、滤波、输出 */ + c->output.out_follow[i]=PID_Calc(&c->pid.fric_follow[i],c->target_variable.target_rpm/MAX_FRIC_RPM,c->feedback.fric_rpm[i],0,c->dt); + c->output.out_err[i]=PID_Calc(&c->pid.fric_err[i],c->feedback.fric_avgrpm,c->feedback.fric_rpm[i],0,c->dt); + ScaleSumTo1(&c->output.out_follow[i], &c->output.out_err[i]); + c->output.out_fric[i]=c->output.out_follow[i]+c->output.out_err[i]; + c->output.lpfout_fric[i] = LowPassFilter2p_Apply(&c->filter.fric.out[i], c->output.out_fric[i]); + MOTOR_RM_SetOutput(&c->param->fric_motor_param[i], c->output.lpfout_fric[i]); + } + c->output.out_trig=PID_Calc(&c->pid.trig,c->target_variable.target_angle,c->feedback.trig->gearbox_total_angle,0,c->dt); + MOTOR_RM_SetOutput(&c->param->trig_motor_param, c->output.out_trig); + if(!cmd->ready) + { + c->running_state=SHOOT_STATE_IDLE; + } + else if(cmd->last_firecmd==false&&cmd->firecmd==true)//可以加一个到达目标速度的判断 + { + c->running_state=SHOOT_STATE_FIRE; + c->target_variable.target_angle-=c->param->trig_step_angle; + } + break; + case SHOOT_STATE_FIRE: +// c->target_variable.target_angle+=c->param->trig_step_angle; + for(int i=0;ioutput.out_follow[i]=PID_Calc(&c->pid.fric_follow[i],c->target_variable.target_rpm/MAX_FRIC_RPM,c->feedback.fric_rpm[i],0,c->dt); + c->output.out_err[i]=PID_Calc(&c->pid.fric_err[i],c->feedback.fric_avgrpm,c->feedback.fric_rpm[i],0,c->dt); + ScaleSumTo1(&c->output.out_follow[i], &c->output.out_err[i]); + c->output.out_fric[i]=c->output.out_follow[i]+c->output.out_err[i]; + c->output.lpfout_fric[i] = LowPassFilter2p_Apply(&c->filter.fric.out[i], c->output.out_fric[i]); + MOTOR_RM_SetOutput(&c->param->fric_motor_param[i], c->output.lpfout_fric[i]); + } + c->output.out_trig=PID_Calc(&c->pid.trig,c->target_variable.target_angle,c->feedback.trig->gearbox_total_angle,0,c->dt); + MOTOR_RM_SetOutput(&c->param->trig_motor_param, c->output.out_trig); + if(!cmd->firecmd) + { + c->running_state=SHOOT_STATE_READY; + } + break; + default: + c->running_state=SHOOT_STATE_IDLE; + break; + } + } + MOTOR_RM_Ctrl(&c->param->fric_motor_param[0]); + MOTOR_RM_Ctrl(&c->param->trig_motor_param); + + return 0; +} -// if (mode == s->mode) return SHOOT_OK; -// /* 切换模式后重置PID和滤波器 */ -// // for (uint8_t i = 0; i < 2; i++) { -// // PID_Reset(s->pid.fric + i); -// // LowPassFilter2p_Reset(s->filter.in.fric + i, 0.0f); -// // LowPassFilter2p_Reset(s->filter.out.fric + i, 0.0f); -// // } -// // PID_Reset(&(s->pid.trig)); -// // LowPassFilter2p_Reset(&(s->filter.in.trig), 0.0f); -// // LowPassFilter2p_Reset(&(s->filter.out.trig), 0.0f); -// PID_Reset(&(s->pid.fric[0])); -// PID_Reset(&(s->pid.fric[1])); -// LowPassFilter2p_Reset(&(s->filter.in.fric[0]), 0.0f); -// LowPassFilter2p_Reset(&(s->filter.in.fric[1]), 0.0f); -// LowPassFilter2p_Reset(&(s->filter.out.fric[0]), 0.0f); -// LowPassFilter2p_Reset(&(s->filter.out.fric[1]), 0.0f); -// PID_Reset(&(s->pid.trig)); -// LowPassFilter2p_Reset(&(s->filter.in.trig), 0.0f); -// LowPassFilter2p_Reset(&(s->filter.out.trig), 0.0f); -// // while (fabsf(CircleError(s->setpoint.trig_angle, s->feedback.trig_angle, -// // M_2PI)) >= M_2PI / s->param->num_trig_tooth / 2.0f) { -// // CircleAdd(&(s->setpoint.trig_angle), M_2PI / s->param->num_trig_tooth, -// // M_2PI); -// // } -// if (mode == SHOOT_MODE_LOADED) s->fire_ctrl.to_shoot = 0; -// s->mode = mode; -// return 0; -// } - -// // static float Shoot_CalcRPMFromSpeed(float speed, float radius, float *rpm) { -// // if (rpm == NULL) return -1; -// // if (radius <= 0.0f) return -2; - -// // /* 限制弹丸速度 */ -// // speed = Limit_Abs(speed, BULLET_SPEED_LIMIT_17MM); - -// // /* 计算转速 */ -// // *rpm = speed / (2.0f * M_PI * radius) * 60.0f; - -// // return 0; -// // } - -// /* Exported functions ------------------------------------------------------- */ - -// /** -// * \brief 初始化射击 -// * -// * \param s 包含射击数据的结构体 -// * \param param 包含射击参数的结构体指针 -// * \param target_freq 任务预期的运行频率 -// * -// * \return 函数运行结果 -// */ -// int8_t Shoot_Init(Shoot_t *s, const Shoot_Params_t *param, float target_freq) { -// if (s == NULL) return -1; - -// s->param = param; /* 初始化参数 */ -// s->mode = SHOOT_MODE_RELAX; /* 设置默认模式 */ - -// PID_Init(&(s->pid.fric[0]), KPID_MODE_NO_D, target_freq, -// &(param->fric_pid_param)); -// PID_Init(&(s->pid.fric[1]), KPID_MODE_NO_D, target_freq, -// &(param->fric_pid_param)); -// PID_Init(&(s->pid.trig), KPID_MODE_CALC_D, target_freq, -// &(param->trig_pid_param)); - -// LowPassFilter2p_Init(&(s->filter.in.fric[0]), target_freq, -// param->low_pass_cutoff_freq.in.fric); -// LowPassFilter2p_Init(&(s->filter.in.fric[1]), target_freq, -// param->low_pass_cutoff_freq.in.fric); -// LowPassFilter2p_Init(&(s->filter.out.fric[0]), target_freq, -// param->low_pass_cutoff_freq.out.fric); -// LowPassFilter2p_Init(&(s->filter.out.fric[1]), target_freq, -// param->low_pass_cutoff_freq.out.fric); -// LowPassFilter2p_Init(&(s->filter.in.trig), target_freq, -// param->low_pass_cutoff_freq.in.trig); -// LowPassFilter2p_Init(&(s->filter.out.trig), target_freq, -// param->low_pass_cutoff_freq.out.trig); - -// BSP_CAN_Init(); -// MOTOR_RM_Register(s->param->fric_motor_param[0]); -// MOTOR_RM_Register(s->param->fric_motor_param[1]); -// MOTOR_RM_Register(s->param->trig_motor_param); - -// return SHOOT_OK; -// } - -// /** -// * \brief 更新射击的反馈信息 -// * -// * \param s 包含射击数据的结构体 -// * -// * \return 函数运行结果 -// */ -// int8_t Shoot_UpdateFeedback(Shoot_t *s) { -// if (s == NULL) return -1; -// MOTOR_RM_Update(s->param->fric_motor_param[0]); -// MOTOR_RM_Update(s->param->fric_motor_param[1]); -// MOTOR_RM_Update(s->param->trig_motor_param); - -// MOTOR_RM_t *motor; -// motor = MOTOR_RM_GetMotor(s->param->fric_motor_param[0]); -// s->feedback.fric[0] = motor->feedback; -// motor = MOTOR_RM_GetMotor(s->param->fric_motor_param[1]); -// s->feedback.fric[1] = motor->feedback; -// motor = MOTOR_RM_GetMotor(s->param->trig_motor_param); -// s->feedback.trig = motor->feedback; - -// return SHOOT_OK; -// } - -// /** -// * \brief 运行射击控制逻辑 -// * -// * \param s 包含射击数据的结构体 -// * \param s_cmd 射击控制指令 -// * -// * \return 函数运行结果 -// */ -// int8_t Shoot_Control(Shoot_t *s, Shoot_CMD_t *s_cmd) { -// if (s == NULL) return -1; -// if (s_cmd == NULL) return -1; - -// Shoot_SetMode(s, s_cmd->mode); /* 设置射击模式 */ - -// /* 计算摩擦轮转速的目标值 */ -// // 根据弹丸射速计算转速,这里需要实现具体的计算逻辑 -// // s->setpoint.fric_rpm[0] = calculate_rpm_from_speed(s_cmd->bullet_speed); -// // s->setpoint.fric_rpm[1] = -s->setpoint.fric_rpm[0]; - -// switch (s->mode) { -// case SHOOT_MODE_RELAX: -// MOTOR_RM_SetOutput(s->param->fric_motor_param[0], 0.0f); -// MOTOR_RM_SetOutput(s->param->fric_motor_param[1], 0.0f); -// MOTOR_RM_SetOutput(s->param->trig_motor_param, 0.0f); -// break; -// case SHOOT_MODE_SAFE: -// /*摩擦轮速度环到0,拨弹位置环到设定位置*/ -// s->setpoint.fric_rpm[0] = 0.0f; -// s->setpoint.fric_rpm[1] = 0.0f; - -// break; - -// case SHOOT_MODE_LOADED: -// // TODO: 实现上膛模式的控制逻辑 -// break; -// } -// return SHOOT_OK; -// } - -// /** -// * \brief 射击输出值 -// * -// * \param s 包含射击数据的结构体 -// */ -// void Shoot_Output(Shoot_t *s) { -// if (s == NULL) return; -// MOTOR_RM_Ctrl(s->param->fric_motor_param[0]); -// } diff --git a/User/module/shoot.h b/User/module/shoot.h index 8530e59..69fd47d 100644 --- a/User/module/shoot.h +++ b/User/module/shoot.h @@ -1,176 +1,189 @@ -// /* -// * 射击模组 -// */ +/* + * far蛇模组 + */ -// #pragma once +#pragma once -// #ifdef __cplusplus -// extern "C" { -// #endif +#ifdef __cplusplus +extern "C" { +#endif -// /* Includes ----------------------------------------------------------------- */ -// #include - -// #include "component/filter.h" -// #include "component/pid.h" -// #include "device/motor_rm.h" -// #include "device/motor.h" - -// /* Exported constants ------------------------------------------------------- */ -// #define SHOOT_OK (0) /* 运行正常 */ -// #define SHOOT_ERR (-1) /* 运行时发现了其他错误 */ -// #define SHOOT_ERR_NULL (-2) /* 运行时发现NULL指针 */ -// #define SHOOT_ERR_MODE (-3) /* 运行时配置了错误的CMD_ShootMode_t */ - -// /* Exported macro ----------------------------------------------------------- */ -// /* Exported types ----------------------------------------------------------- */ - -// typedef enum { -// SHOOT_MODE_RELAX = 0, /* 放松模式,电机不工作 */ -// SHOOT_MODE_SAFE = 1, /* 安全模式,电机工作但不允许射击 */ -// SHOOT_MODE_LOADED = 2 /* 上膛模式,电机工作并允许射击 */ -// }Shoot_Mode_t; - -// typedef struct { -// Shoot_Mode_t mode; /*射击模式*/ -// float bullet_speed; /*弹丸射速*/ -// uint32_t bullet_num; /*要发射的弹丸数*/ -// }Shoot_CMD_t; - -// /* 射击参数的结构体,包含所有初始化用的参数,通常是const,存好几组。*/ -// typedef struct { -// MOTOR_RM_Param_t fric_motor_param[2]; /* 摩擦轮电机参数 */ -// MOTOR_RM_Param_t trig_motor_param; /* 拨弹电机参数 */ +#include "main.h" +#include +#include "component/pid.h" +#include "device/motor_rm.h" -// KPID_Params_t fric_pid_param; /* 摩擦轮电机控制PID的参数 */ -// KPID_Params_t trig_pid_param; /* 扳机电机控制PID的参数 */ -// /* 低通滤波器截止频率 */ -// struct { -// /* 输入 */ -// struct { -// float fric; /* 摩擦轮电机 */ -// float trig; /* 扳机电机 */ -// } in; +/* Exported constants ------------------------------------------------------- */ +#define SHOOT_OK (0) /* 运行正常 */ +#define SHOOT_ERR (-1) /* 运行时发现了其他错误 */ +#define SHOOT_ERR_NULL (-2) /* 运行时发现NULL指针 */ +#define SHOOT_ERR_MODE (-3) /* 运行时配置了错误的CMD_ChassisMode_t */ +#define SHOOT_ERR_TYPE (-4) /* 运行时配置了错误的Chassis_Type_t */ -// /* 输出 */ -// struct { -// float fric; /* 摩擦轮电机 */ -// float trig; /* 扳机电机 */ -// } out; -// } low_pass_cutoff_freq; +#define SHOOT_FRIC_NUM (2) /* 摩擦轮数量 */ +#define MAX_FRIC_RPM 7000.0f +#define MAX_TRIG_RPM 1000.0f +/* Exported macro ----------------------------------------------------------- */ +/* Exported types ----------------------------------------------------------- */ -// float num_trig_tooth; /* 拨弹盘中一圈能存储几颗弹丸 */ -// float fric_radius; /* 摩擦轮半径,单位:米 */ -// float cover_open_duty; /* 弹舱盖打开时舵机PWM占空比 */ -// float cover_close_duty; /* 弹舱盖关闭时舵机PWM占空比 */ -// float bullet_speed; /* 弹丸初速度 */ -// uint32_t min_shoot_delay; /* 通过设置最小射击间隔来设置最大射频 */ -// } Shoot_Params_t; +typedef enum { + SHOOT_STATE_IDLE = 0, // 熄火 + SHOOT_STATE_READY, // 准备射击 + SHOOT_STATE_FIRE // 射击 +} Shoot_State_t; + +typedef enum { + SHOOT_MODE_SAFE = 0, // 安全模式 + SHOOT_MODE_SINGLE, // 单发模式 + SHOOT_MODE_BURST, // 多发模式 + SHOOT_MODE_CONTINUE // 连发模式 +} Shoot_Mode_t; +typedef struct { + bool online; + + bool ready; /* 准备射击 */ + bool firecmd; /* 射击指令 */ + + bool last_firecmd; + +} Shoot_CMD_t; + +typedef struct { + MOTOR_Feedback_t fric[SHOOT_FRIC_NUM]; /* 摩擦轮电机反馈 */ + MOTOR_RM_t *trig; /* 拨弹电机反馈 */ + + float fil_fric_rpm[SHOOT_FRIC_NUM]; /* 滤波后的摩擦轮转速 */ + float fil_trig_rpm; /* 滤波后的拨弹电机转速*/ + + float fric_rpm[SHOOT_FRIC_NUM]; /* 归一化摩擦轮转速 */ + float fric_avgrpm; /* 归一化摩擦轮平均转速*/ + float trig_rpm; /* 归一化拨弹电机转速*/ + +}Shoot_Feedback_t; + +typedef struct { + float out_follow[SHOOT_FRIC_NUM]; + float out_err[SHOOT_FRIC_NUM]; + float out_fric[SHOOT_FRIC_NUM]; + float lpfout_fric[SHOOT_FRIC_NUM]; + + + float out_trig; + float lpfout_trig; +}Shoot_Output_t; -// typedef struct { -// uint32_t last_shoot; /* 上次射击时间 单位:ms */ -// bool last_fire; /* 上次开火状态 */ -// bool first_fire; /* 第一次收到开火指令 */ -// uint32_t shooted; /* 已经发射的弹丸 */ -// uint32_t to_shoot; /* 计划发射的弹丸 */ -// float bullet_speed; /* 弹丸初速度 */ -// uint32_t period_ms; /* 弹丸击发延迟 */ -// } Shoot_FireCtrl_t; +/* 底盘参数的结构体,包含所有初始化用的参数,通常是const,存好几组 */ +typedef struct { + float trig_step_angle; /* 每次拨弹电机转动的角度 */ -// /* -// * 运行的主结构体,所有这个文件里的函数都在操作这个结构体。 -// * 包含了初始化参数,中间变量,输出变量。 -// */ -// typedef struct { -// uint64_t lask_wakeup; -// float dt; + MOTOR_RM_Param_t fric_motor_param[SHOOT_FRIC_NUM]; + MOTOR_RM_Param_t trig_motor_param; + + + KPID_Params_t fric_follow; /* 摩擦轮电机PID控制参数,用于跟随目标速度 */ + KPID_Params_t fric_err; /* 摩擦轮电机PID控制参数,用于消除转速误差 */ + KPID_Params_t trig; /* 拨弹电机PID控制参数 */ + + + /* 低通滤波器截止频率 */ + struct { + struct{ + float in; /* 反馈值滤波器 */ + float out; /* 输出值滤波器 */ + }fric; + struct{ + float in; /* 反馈值滤波器 */ + float out; /* 输出值滤波器 */ + }trig; + } filter; +} Shoot_Params_t; + +/* + * 运行的主结构体,所有这个文件里的函数都在操作这个结构体 + * 包含了初始化参数,中间变量,输出变量 + */ +typedef struct { + bool online; + + uint64_t lask_wakeup; + float dt; + + Shoot_Params_t *param; /* */ + /* 模块通用 */ + Shoot_State_t running_state; /* 运行状态机 */ + Shoot_Mode_t mode; + /* 反馈信息 */ + Shoot_Feedback_t feedback; + /* 控制信息*/ + Shoot_Output_t output; + /* 目标控制量 */ + struct { + float target_rpm; /* 目标摩擦轮转速 */ + float target_angle; /* 目标拨弹位置 */ + }target_variable; + + /* 反馈控制用的PID */ + struct { + KPID_t fric_follow[SHOOT_FRIC_NUM]; /* */ + KPID_t fric_err[SHOOT_FRIC_NUM]; /* */ + KPID_t trig; + } pid; + + /* 滤波器 */ + struct { + struct{ + LowPassFilter2p_t in[SHOOT_FRIC_NUM]; /* 反馈值滤波器 */ + LowPassFilter2p_t out[SHOOT_FRIC_NUM]; /* 输出值滤波器 */ + }fric; + struct{ + LowPassFilter2p_t in; /* 反馈值滤波器 */ + LowPassFilter2p_t out; /* 输出值滤波器 */ + }trig; + } filter; + + float errtosee; /*调试用*/ + +} Shoot_t; + +/* Exported functions prototypes -------------------------------------------- */ + +/** + * \brief 初始化发射 + * + * \param c 包含发射数据的结构体 + * \param param 包含发射参数的结构体指针 + * \param target_freq 任务预期的运行频率 + * + * \return 函数运行结果 + */ +int8_t Shoot_Init(Shoot_t *c, Shoot_Params_t *param, float target_freq); + +/** + * \brief 更新反馈 + * + * \param c 包含发射数据的结构体 + * + * \return 函数运行结果 + */ +int8_t Chassis_UpdateFeedback(Shoot_t *c); + +/** + * \brief 初始化发射 + * + * \param c 包含发射数据的结构体 + * \param cmd 包含发射命令的结构体 + * + * \return 函数运行结果 + */ +int8_t Shoot_Control(Shoot_t *c, const Shoot_CMD_t *cmd); + + + +#ifdef __cplusplus +} +#endif -// const Shoot_Params_t *param; /* 射击的参数,用Shoot_Init设定 */ -// Shoot_FireCtrl_t fire_ctrl; -// /* 模块通用 */ -// Shoot_Mode_t mode; /* 当前模式 */ - -// /* 反馈信息 */ -// struct { -// MOTOR_Feedback_t fric[2]; /* 摩擦轮电机反馈 */ -// MOTOR_Feedback_t trig; /* 拨弹电机反馈 */ -// } feedback; - -// /* PID计算的目标值 */ -// struct { -// float fric_rpm[2]; /* 摩擦轮电机转速,单位:RPM */ -// float trig_angle; /* 拨弹电机角度,单位:弧度 */ -// } setpoint; - -// /* 反馈控制用的PID */ -// struct { -// KPID_t fric[2]; /* 控制摩擦轮 */ -// KPID_t trig; /* 控制拨弹电机 */ -// } pid; - -// /* 过滤器 */ -// struct { -// /* 反馈值滤波器 */ -// struct { -// LowPassFilter2p_t fric[2]; /* 过滤摩擦轮 */ -// LowPassFilter2p_t trig; /* 过滤拨弹电机 */ -// } in; - -// /* 输出值滤波器 */ -// struct { -// LowPassFilter2p_t fric[2]; /* 过滤摩擦轮 */ -// LowPassFilter2p_t trig; /* 过滤拨弹电机 */ -// } out; -// } filter; - -// } Shoot_t; - -// /* Exported functions prototypes -------------------------------------------- */ - -// /** -// * \brief 初始化射击 -// * -// * \param s 包含射击数据的结构体 -// * \param param 包含射击参数的结构体指针 -// * \param target_freq 任务预期的运行频率 -// * -// * \return 函数运行结果 -// */ -// int8_t Shoot_Init(Shoot_t *s, const Shoot_Params_t *param, float target_freq); - -// /** -// * \brief 更新射击的反馈信息 -// * -// * \param s 包含射击数据的结构体 -// * \param can CAN设备结构体 -// * -// * \return 函数运行结果 -// */ -// int8_t Shoot_UpdateFeedback(Shoot_t *s); - -// /** -// * \brief 运行射击控制逻辑 -// * -// * \param s 包含射击数据的结构体 -// * \param s_cmd 射击控制指令 -// * \param s_ref 裁判系统数据 -// * \param dt_sec 两次调用的时间间隔 -// * -// * \return 函数运行结果 -// */ -// int8_t Shoot_Control(Shoot_t *s,Shoot_CMD_t *s_cmd); - -// /** -// * \brief 射击输出值 -// * -// * \param s 包含射击数据的结构体 -// * \param out CAN设备射击输出结构体 -// */ -// void Shoot_Output(Shoot_t *s); -// #ifdef __cplusplus -// } -// #endif diff --git a/User/task/ctrl_shoot.c b/User/task/ctrl_shoot.c index 56f1f6f..0ab63a2 100644 --- a/User/task/ctrl_shoot.c +++ b/User/task/ctrl_shoot.c @@ -4,9 +4,11 @@ */ /* Includes ----------------------------------------------------------------- */ +#include "cmsis_os2.h" #include "task/user_task.h" /* USER INCLUDE BEGIN */ - +#include "module/shoot.h" +#include "module/config.h" /* USER INCLUDE END */ /* Private typedef ---------------------------------------------------------- */ @@ -14,7 +16,8 @@ /* Private macro ------------------------------------------------------------ */ /* Private variables -------------------------------------------------------- */ /* USER STRUCT BEGIN */ - +Shoot_t shoot; +Shoot_CMD_t shoot_cmd; /* USER STRUCT END */ /* Private function --------------------------------------------------------- */ @@ -30,13 +33,15 @@ void Task_ctrl_shoot(void *argument) { uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */ /* USER CODE INIT BEGIN */ - + Shoot_Init(&shoot,&Config_GetRobotParam()->shoot_param,CTRL_SHOOT_FREQ); /* USER CODE INIT END */ while (1) { tick += delay_tick; /* 计算下一个唤醒时刻 */ /* USER CODE BEGIN */ - + osMessageQueueGet(task_runtime.msgq.shoot.shoot_cmd, &shoot_cmd, NULL, 0); + Chassis_UpdateFeedback(&shoot); + Shoot_Control(&shoot,&shoot_cmd); /* USER CODE END */ osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */ } diff --git a/User/task/init.c b/User/task/init.c index 50b2dfc..99d9194 100644 --- a/User/task/init.c +++ b/User/task/init.c @@ -7,7 +7,7 @@ #include "task/user_task.h" /* USER INCLUDE BEGIN */ - +#include "module/shoot.h" /* USER INCLUDE END */ /* Private typedef ---------------------------------------------------------- */ @@ -40,6 +40,7 @@ void Task_Init(void *argument) { // 创建消息队列 /* USER MESSAGE BEGIN */ task_runtime.msgq.user_msg= osMessageQueueNew(2u, 10, NULL); + task_runtime.msgq.shoot.shoot_cmd=osMessageQueueNew(2u, sizeof(Shoot_CMD_t), NULL); /* USER MESSAGE END */ osKernelUnlock(); // 解锁内核 diff --git a/User/task/rc.c b/User/task/rc.c index 4b40471..f0fc1e3 100644 --- a/User/task/rc.c +++ b/User/task/rc.c @@ -4,9 +4,12 @@ */ /* Includes ----------------------------------------------------------------- */ +#include "cmsis_os2.h" #include "task/user_task.h" /* USER INCLUDE BEGIN */ #include "device/dr16.h" +#include "module/shoot.h" +#include /* USER INCLUDE END */ /* Private typedef ---------------------------------------------------------- */ @@ -15,6 +18,7 @@ /* Private variables -------------------------------------------------------- */ /* USER STRUCT BEGIN */ DR16_t dr16; +Shoot_CMD_t for_shoot; /* USER STRUCT END */ /* Private function --------------------------------------------------------- */ @@ -37,6 +41,27 @@ void Task_rc(void *argument) { } else { DR16_Offline(&dr16); } + for_shoot.online = dr16.header.online; + switch (dr16.data.sw_r) { + case CMD_SW_UP: + for_shoot.ready = false; + for_shoot.firecmd = false; + break; + case CMD_SW_MID: + for_shoot.ready = true; + for_shoot.firecmd = false; + break; + case CMD_SW_DOWN: + for_shoot.ready = true; + for_shoot.firecmd = true; + break; + default: + for_shoot.ready = false; + for_shoot.firecmd = false; + break; + } + osMessageQueueReset(task_runtime.msgq.shoot.shoot_cmd); + osMessageQueuePut(task_runtime.msgq.shoot.shoot_cmd, &for_shoot, 0, 0); /* USER CODE END */ } diff --git a/User/task/user_task.h b/User/task/user_task.h index b2070d4..dcc4099 100644 --- a/User/task/user_task.h +++ b/User/task/user_task.h @@ -46,6 +46,9 @@ typedef struct { /* USER MESSAGE BEGIN */ struct { osMessageQueueId_t user_msg; /* 用户自定义任务消息队列 */ + struct { + osMessageQueueId_t shoot_cmd; /* 发射命令队列 */ + }shoot; } msgq; /* USER MESSAGE END */