From 410d3a23760f541cabb397205fb478fa41a18891 Mon Sep 17 00:00:00 2001 From: Robofish <1683502971@qq.com> Date: Mon, 29 Sep 2025 09:58:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E4=BA=86shoot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DebugConfig/DevC_STM32F407IGHx.dbgconf | 48 + MDK-ARM/DevC.uvguix.lvzucheng | 1896 +++++++ MDK-ARM/DevC.uvoptx | 1431 +++++ MDK-ARM/DevC/DevC.axf | Bin 0 -> 865568 bytes MDK-ARM/DevC/DevC.build_log.htm | 90 + MDK-ARM/DevC/DevC.htm | 4786 +++++++++++++++++ MDK-ARM/DevC/ExtDll.iex | 2 + MDK-ARM/DevC/adc.d | 43 + MDK-ARM/DevC/ahrs.d | 8 + MDK-ARM/DevC/atti_esti.d | 67 + MDK-ARM/DevC/balance_chassis.d | 67 + MDK-ARM/DevC/blink.d | 55 + MDK-ARM/DevC/buzzer.d | 47 + MDK-ARM/DevC/can.d | 43 + MDK-ARM/DevC/can_1.d | 58 + MDK-ARM/DevC/cmd.d | 8 + MDK-ARM/DevC/cmsis_os2.d | 63 + MDK-ARM/DevC/config.d | 66 + MDK-ARM/DevC/crc.d | 43 + MDK-ARM/DevC/croutine.d | 13 + MDK-ARM/DevC/ctrl_chassis.d | 68 + MDK-ARM/DevC/ctrl_gimbal.d | 65 + MDK-ARM/DevC/dm_imu.d | 62 + MDK-ARM/DevC/dma.d | 43 + MDK-ARM/DevC/dr16.d | 51 + MDK-ARM/DevC/dwt.d | 43 + MDK-ARM/DevC/event_groups.d | 18 + MDK-ARM/DevC/filter.d | 7 + MDK-ARM/DevC/freertos.d | 56 + MDK-ARM/DevC/gpio.d | 43 + MDK-ARM/DevC/gpio_1.d | 46 + MDK-ARM/DevC/heap_4.d | 14 + MDK-ARM/DevC/i2c.d | 43 + MDK-ARM/DevC/init.d | 67 + MDK-ARM/DevC/kinematics.d | 8 + MDK-ARM/DevC/limiter.d | 5 + MDK-ARM/DevC/list.d | 12 + MDK-ARM/DevC/lqr.d | 5 + MDK-ARM/DevC/main.d | 63 + MDK-ARM/DevC/mm.d | 10 + MDK-ARM/DevC/motor.d | 5 + MDK-ARM/DevC/motor_lk.d | 62 + MDK-ARM/DevC/motor_lz.d | 62 + MDK-ARM/DevC/pid.d | 7 + MDK-ARM/DevC/port.d | 13 + MDK-ARM/DevC/pwm.d | 44 + MDK-ARM/DevC/queue.d | 16 + MDK-ARM/DevC/rc.d | 67 + MDK-ARM/DevC/rng.d | 43 + MDK-ARM/DevC/spi.d | 43 + MDK-ARM/DevC/spi_1.d | 45 + MDK-ARM/DevC/stm32f4xx_hal.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_adc.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_can.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_cortex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_crc.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_dma.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_exti.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_flash.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_gpio.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_i2c.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_msp.d | 43 + MDK-ARM/DevC/stm32f4xx_hal_pcd.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_pwr.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_rcc.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_rng.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_spi.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_tim.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d | 44 + MDK-ARM/DevC/stm32f4xx_hal_uart.d | 44 + MDK-ARM/DevC/stm32f4xx_it.d | 55 + MDK-ARM/DevC/stm32f4xx_ll_adc.d | 2 + MDK-ARM/DevC/stm32f4xx_ll_usb.d | 44 + MDK-ARM/DevC/stream_buffer.d | 15 + MDK-ARM/DevC/system_stm32f4xx.d | 43 + MDK-ARM/DevC/tasks.d | 18 + MDK-ARM/DevC/tim.d | 43 + MDK-ARM/DevC/time.d | 54 + MDK-ARM/DevC/timers.d | 16 + MDK-ARM/DevC/uart.d | 45 + MDK-ARM/DevC/usart.d | 43 + MDK-ARM/DevC/usb_device.d | 58 + MDK-ARM/DevC/usbd_cdc.d | 55 + MDK-ARM/DevC/usbd_cdc_if.d | 54 + MDK-ARM/DevC/usbd_conf.d | 55 + MDK-ARM/DevC/usbd_core.d | 53 + MDK-ARM/DevC/usbd_ctlreq.d | 54 + MDK-ARM/DevC/usbd_desc.d | 54 + MDK-ARM/DevC/usbd_ioreq.d | 53 + MDK-ARM/DevC/user_math.d | 8 + MDK-ARM/DevC/user_task.d | 13 + MDK-ARM/DevC/vmc.d | 6 + MDK-ARM/RTE/_DevC/RTE_Components.h | 15 + User/module/config.c | 44 +- User/module/config.h | 2 +- User/module/shoot.c | 338 +- User/module/shoot.h | 292 +- 105 files changed, 12351 insertions(+), 338 deletions(-) create mode 100644 MDK-ARM/DebugConfig/DevC_STM32F407IGHx.dbgconf create mode 100644 MDK-ARM/DevC.uvguix.lvzucheng create mode 100644 MDK-ARM/DevC.uvoptx create mode 100644 MDK-ARM/DevC/DevC.axf create mode 100644 MDK-ARM/DevC/DevC.build_log.htm create mode 100644 MDK-ARM/DevC/DevC.htm create mode 100644 MDK-ARM/DevC/ExtDll.iex create mode 100644 MDK-ARM/DevC/adc.d create mode 100644 MDK-ARM/DevC/ahrs.d create mode 100644 MDK-ARM/DevC/atti_esti.d create mode 100644 MDK-ARM/DevC/balance_chassis.d create mode 100644 MDK-ARM/DevC/blink.d create mode 100644 MDK-ARM/DevC/buzzer.d create mode 100644 MDK-ARM/DevC/can.d create mode 100644 MDK-ARM/DevC/can_1.d create mode 100644 MDK-ARM/DevC/cmd.d create mode 100644 MDK-ARM/DevC/cmsis_os2.d create mode 100644 MDK-ARM/DevC/config.d create mode 100644 MDK-ARM/DevC/crc.d create mode 100644 MDK-ARM/DevC/croutine.d create mode 100644 MDK-ARM/DevC/ctrl_chassis.d create mode 100644 MDK-ARM/DevC/ctrl_gimbal.d create mode 100644 MDK-ARM/DevC/dm_imu.d create mode 100644 MDK-ARM/DevC/dma.d create mode 100644 MDK-ARM/DevC/dr16.d create mode 100644 MDK-ARM/DevC/dwt.d create mode 100644 MDK-ARM/DevC/event_groups.d create mode 100644 MDK-ARM/DevC/filter.d create mode 100644 MDK-ARM/DevC/freertos.d create mode 100644 MDK-ARM/DevC/gpio.d create mode 100644 MDK-ARM/DevC/gpio_1.d create mode 100644 MDK-ARM/DevC/heap_4.d create mode 100644 MDK-ARM/DevC/i2c.d create mode 100644 MDK-ARM/DevC/init.d create mode 100644 MDK-ARM/DevC/kinematics.d create mode 100644 MDK-ARM/DevC/limiter.d create mode 100644 MDK-ARM/DevC/list.d create mode 100644 MDK-ARM/DevC/lqr.d create mode 100644 MDK-ARM/DevC/main.d create mode 100644 MDK-ARM/DevC/mm.d create mode 100644 MDK-ARM/DevC/motor.d create mode 100644 MDK-ARM/DevC/motor_lk.d create mode 100644 MDK-ARM/DevC/motor_lz.d create mode 100644 MDK-ARM/DevC/pid.d create mode 100644 MDK-ARM/DevC/port.d create mode 100644 MDK-ARM/DevC/pwm.d create mode 100644 MDK-ARM/DevC/queue.d create mode 100644 MDK-ARM/DevC/rc.d create mode 100644 MDK-ARM/DevC/rng.d create mode 100644 MDK-ARM/DevC/spi.d create mode 100644 MDK-ARM/DevC/spi_1.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_adc.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_can.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_cortex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_crc.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_dma.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_exti.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_flash.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_gpio.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_i2c.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_msp.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_pcd.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_pwr.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_rcc.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_rng.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_spi.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_tim.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d create mode 100644 MDK-ARM/DevC/stm32f4xx_hal_uart.d create mode 100644 MDK-ARM/DevC/stm32f4xx_it.d create mode 100644 MDK-ARM/DevC/stm32f4xx_ll_adc.d create mode 100644 MDK-ARM/DevC/stm32f4xx_ll_usb.d create mode 100644 MDK-ARM/DevC/stream_buffer.d create mode 100644 MDK-ARM/DevC/system_stm32f4xx.d create mode 100644 MDK-ARM/DevC/tasks.d create mode 100644 MDK-ARM/DevC/tim.d create mode 100644 MDK-ARM/DevC/time.d create mode 100644 MDK-ARM/DevC/timers.d create mode 100644 MDK-ARM/DevC/uart.d create mode 100644 MDK-ARM/DevC/usart.d create mode 100644 MDK-ARM/DevC/usb_device.d create mode 100644 MDK-ARM/DevC/usbd_cdc.d create mode 100644 MDK-ARM/DevC/usbd_cdc_if.d create mode 100644 MDK-ARM/DevC/usbd_conf.d create mode 100644 MDK-ARM/DevC/usbd_core.d create mode 100644 MDK-ARM/DevC/usbd_ctlreq.d create mode 100644 MDK-ARM/DevC/usbd_desc.d create mode 100644 MDK-ARM/DevC/usbd_ioreq.d create mode 100644 MDK-ARM/DevC/user_math.d create mode 100644 MDK-ARM/DevC/user_task.d create mode 100644 MDK-ARM/DevC/vmc.d create mode 100644 MDK-ARM/RTE/_DevC/RTE_Components.h diff --git a/MDK-ARM/DebugConfig/DevC_STM32F407IGHx.dbgconf b/MDK-ARM/DebugConfig/DevC_STM32F407IGHx.dbgconf new file mode 100644 index 0000000..1df0a1b --- /dev/null +++ b/MDK-ARM/DebugConfig/DevC_STM32F407IGHx.dbgconf @@ -0,0 +1,48 @@ +// File: STM32F405_415_407_417_427_437_429_439.dbgconf +// Version: 1.0.0 +// Note: refer to STM32F405/415 STM32F407/417 STM32F427/437 STM32F429/439 reference manual (RM0090) +// refer to STM32F40x STM32F41x datasheets +// refer to STM32F42x STM32F43x datasheets + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// DBG_STANDBY Debug Standby Mode +// DBG_STOP Debug Stop Mode +// DBG_SLEEP Debug Sleep Mode +// +DbgMCU_CR = 0x00000007; + +// Debug MCU APB1 freeze register (DBGMCU_APB1_FZ) +// Reserved bits must be kept at reset value +// DBG_CAN2_STOP CAN2 stopped when core is halted +// DBG_CAN1_STOP CAN2 stopped when core is halted +// DBG_I2C3_SMBUS_TIMEOUT I2C3 SMBUS timeout mode stopped when core is halted +// DBG_I2C2_SMBUS_TIMEOUT I2C2 SMBUS timeout mode stopped when core is halted +// DBG_I2C1_SMBUS_TIMEOUT I2C1 SMBUS timeout mode stopped when core is halted +// DBG_IWDG_STOP Independent watchdog stopped when core is halted +// DBG_WWDG_STOP Window watchdog stopped when core is halted +// DBG_RTC_STOP RTC stopped when core is halted +// DBG_TIM14_STOP TIM14 counter stopped when core is halted +// DBG_TIM13_STOP TIM13 counter stopped when core is halted +// DBG_TIM12_STOP TIM12 counter stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM5_STOP TIM5 counter stopped when core is halted +// DBG_TIM4_STOP TIM4 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// +DbgMCU_APB1_Fz = 0x00000000; + +// Debug MCU APB2 freeze register (DBGMCU_APB2_FZ) +// Reserved bits must be kept at reset value +// DBG_TIM11_STOP TIM11 counter stopped when core is halted +// DBG_TIM10_STOP TIM10 counter stopped when core is halted +// DBG_TIM9_STOP TIM9 counter stopped when core is halted +// DBG_TIM8_STOP TIM8 counter stopped when core is halted +// DBG_TIM1_STOP TIM1 counter stopped when core is halted +// +DbgMCU_APB2_Fz = 0x00000000; + +// <<< end of configuration section >>> \ No newline at end of file diff --git a/MDK-ARM/DevC.uvguix.lvzucheng b/MDK-ARM/DevC.uvguix.lvzucheng new file mode 100644 index 0000000..931ee57 --- /dev/null +++ b/MDK-ARM/DevC.uvguix.lvzucheng @@ -0,0 +1,1896 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + + + + + 38003 + Registers + 115 64 + + + 346 + Code Coverage + 755 160 + + + 204 + Performance Analyzer + 275 137 137 366 + + + + + + 35141 + Event Statistics + + 250 50 619 + + + 1506 + Symbols + + 63 63 63 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 300 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 0 + 1 + + -1 + -1 + + + -1 + -1 + + + 11 + 38 + 1434 + 891 + + + + 0 + + 458 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000020000000100000046433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000C5D4F200FFFFFFFF38433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF41433A5C4D61635C486F6D655C446F63756D656E74735C525C62616C616E63655F696E66616E7472795C557365725C7461736B5C6374726C5F636861737369732E63000000000E6374726C5F636861737369732E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF0000007900000092050000E5020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C10000004F0000005E040000C6000000 + + + 16 + EF000000790000008C040000F0000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BA000000A2020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BA000000A2020000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BA000000A2020000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BA000000A2020000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000D30200006405000036030000 + + + 16 + D8000000EF0000000703000066010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000B90100005E04000044020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D6020000610500001D030000 + + + 16 + D8000000EF0000000703000066010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF0000000703000066010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000BA000000A2020000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D6020000610500001D030000 + + + 16 + D8000000EF0000000703000066010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D6020000610500001D030000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D6020000610500001D030000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D6020000610500001D030000 + + + 16 + D8000000EF000000B7010000CF020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C4000000660000005B040000AD000000 + + + 16 + D8000000EF0000000703000066010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A4030000660000005B040000B0010000 + + + 16 + D8000000EF000000950100009E010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000360300006405000049030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000D00100005B0400002B020000 + + + 16 + D8000000EF000000950100009E010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC1000000C60000005E040000CA000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000EF000000790000008C040000F0000000C10000004F0000005E040000C60000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9D0300004F000000A1030000C9010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000CF030000790000008C040000F3010000A10300004F0000005E040000C901000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFBD0000004F000000C1000000BB020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000002E00000079000000EB000000E5020000000000004F000000BD000000BB0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000B50100005E040000B901000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000002E000000E30100008C0400006E02000000000000B90100005E0400004402000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF2F020000B9010000330200004402000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000BB02000064050000BF020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002E000000E9020000920500006003000000000000BF02000064050000360300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 968 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000444657643960000000000000001000444657643000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1512 + 949 + + + + + + 1 + 0 + + 100 + 2 + + startup_stm32f407xx.s + 0 + 164 + 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 new file mode 100644 index 0000000..34531cb --- /dev/null +++ b/MDK-ARM/DevC.uvoptx @@ -0,0 +1,1431 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp; *.cc; *.cxx + 0 + + + + 0 + 0 + + + + DevC + 0x4 + ARM-ADS + + 25000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 0 + 0 + 1 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 3 + + + + + + + + + + + BIN\CMSIS_AGDI.dll + + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F407IGHx$CMSIS\Flash\STM32F4xx_1024.FLM)) + + + + + 0 + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 1 + 0 + 2 + 10000000 + + + + + + Application/MDK-ARM + 0 + 0 + 0 + 0 + + 1 + 1 + 2 + 0 + 0 + 0 + startup_stm32f407xx.s + startup_stm32f407xx.s + 0 + 0 + + + + + Application/User/Core + 0 + 0 + 0 + 0 + + 2 + 2 + 1 + 0 + 0 + 0 + ../Core/Src/main.c + main.c + 0 + 0 + + + 2 + 3 + 1 + 0 + 0 + 0 + ../Core/Src/gpio.c + gpio.c + 0 + 0 + + + 2 + 4 + 1 + 0 + 0 + 0 + ../Core/Src/freertos.c + freertos.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ../Core/Src/adc.c + adc.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 + ../Core/Src/can.c + can.c + 0 + 0 + + + 2 + 7 + 1 + 0 + 0 + 0 + ../Core/Src/crc.c + crc.c + 0 + 0 + + + 2 + 8 + 1 + 0 + 0 + 0 + ../Core/Src/dma.c + dma.c + 0 + 0 + + + 2 + 9 + 1 + 0 + 0 + 0 + ../Core/Src/i2c.c + i2c.c + 0 + 0 + + + 2 + 10 + 1 + 0 + 0 + 0 + ../Core/Src/rng.c + rng.c + 0 + 0 + + + 2 + 11 + 1 + 0 + 0 + 0 + ../Core/Src/spi.c + spi.c + 0 + 0 + + + 2 + 12 + 1 + 0 + 0 + 0 + ../Core/Src/tim.c + tim.c + 0 + 0 + + + 2 + 13 + 1 + 0 + 0 + 0 + ../Core/Src/usart.c + usart.c + 0 + 0 + + + 2 + 14 + 1 + 0 + 0 + 0 + ../Core/Src/stm32f4xx_it.c + stm32f4xx_it.c + 0 + 0 + + + 2 + 15 + 1 + 0 + 0 + 0 + ../Core/Src/stm32f4xx_hal_msp.c + stm32f4xx_hal_msp.c + 0 + 0 + + + + + Application/User/USB_DEVICE/App + 0 + 0 + 0 + 0 + + 3 + 16 + 1 + 0 + 0 + 0 + ../USB_DEVICE/App/usb_device.c + usb_device.c + 0 + 0 + + + 3 + 17 + 1 + 0 + 0 + 0 + ../USB_DEVICE/App/usbd_desc.c + usbd_desc.c + 0 + 0 + + + 3 + 18 + 1 + 0 + 0 + 0 + ../USB_DEVICE/App/usbd_cdc_if.c + usbd_cdc_if.c + 0 + 0 + + + + + Application/User/USB_DEVICE/Target + 0 + 0 + 0 + 0 + + 4 + 19 + 1 + 0 + 0 + 0 + ../USB_DEVICE/Target/usbd_conf.c + usbd_conf.c + 0 + 0 + + + + + Drivers/STM32F4xx_HAL_Driver + 0 + 0 + 0 + 0 + + 5 + 20 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c + stm32f4xx_hal_pcd.c + 0 + 0 + + + 5 + 21 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c + stm32f4xx_hal_pcd_ex.c + 0 + 0 + + + 5 + 22 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c + stm32f4xx_ll_usb.c + 0 + 0 + + + 5 + 23 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c + stm32f4xx_hal_rcc.c + 0 + 0 + + + 5 + 24 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c + stm32f4xx_hal_rcc_ex.c + 0 + 0 + + + 5 + 25 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c + stm32f4xx_hal_flash.c + 0 + 0 + + + 5 + 26 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c + stm32f4xx_hal_flash_ex.c + 0 + 0 + + + 5 + 27 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c + stm32f4xx_hal_flash_ramfunc.c + 0 + 0 + + + 5 + 28 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c + stm32f4xx_hal_gpio.c + 0 + 0 + + + 5 + 29 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c + stm32f4xx_hal_dma_ex.c + 0 + 0 + + + 5 + 30 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c + stm32f4xx_hal_dma.c + 0 + 0 + + + 5 + 31 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c + stm32f4xx_hal_pwr.c + 0 + 0 + + + 5 + 32 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c + stm32f4xx_hal_pwr_ex.c + 0 + 0 + + + 5 + 33 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c + stm32f4xx_hal_cortex.c + 0 + 0 + + + 5 + 34 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c + stm32f4xx_hal.c + 0 + 0 + + + 5 + 35 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c + stm32f4xx_hal_exti.c + 0 + 0 + + + 5 + 36 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c + stm32f4xx_hal_adc.c + 0 + 0 + + + 5 + 37 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c + stm32f4xx_hal_adc_ex.c + 0 + 0 + + + 5 + 38 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c + stm32f4xx_ll_adc.c + 0 + 0 + + + 5 + 39 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c + stm32f4xx_hal_can.c + 0 + 0 + + + 5 + 40 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_crc.c + stm32f4xx_hal_crc.c + 0 + 0 + + + 5 + 41 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c + stm32f4xx_hal_i2c.c + 0 + 0 + + + 5 + 42 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c + stm32f4xx_hal_i2c_ex.c + 0 + 0 + + + 5 + 43 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rng.c + stm32f4xx_hal_rng.c + 0 + 0 + + + 5 + 44 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c + stm32f4xx_hal_spi.c + 0 + 0 + + + 5 + 45 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c + stm32f4xx_hal_tim.c + 0 + 0 + + + 5 + 46 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c + stm32f4xx_hal_tim_ex.c + 0 + 0 + + + 5 + 47 + 1 + 0 + 0 + 0 + ../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c + stm32f4xx_hal_uart.c + 0 + 0 + + + + + Drivers/CMSIS + 0 + 0 + 0 + 0 + + 6 + 48 + 1 + 0 + 0 + 0 + ../Core/Src/system_stm32f4xx.c + system_stm32f4xx.c + 0 + 0 + + + + + Middlewares/FreeRTOS + 0 + 0 + 0 + 0 + + 7 + 49 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c + croutine.c + 0 + 0 + + + 7 + 50 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c + event_groups.c + 0 + 0 + + + 7 + 51 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/list.c + list.c + 0 + 0 + + + 7 + 52 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/queue.c + queue.c + 0 + 0 + + + 7 + 53 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.c + stream_buffer.c + 0 + 0 + + + 7 + 54 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c + tasks.c + 0 + 0 + + + 7 + 55 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/timers.c + timers.c + 0 + 0 + + + 7 + 56 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c + cmsis_os2.c + 0 + 0 + + + 7 + 57 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c + heap_4.c + 0 + 0 + + + 7 + 58 + 1 + 0 + 0 + 0 + ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c + port.c + 0 + 0 + + + + + Middlewares/USB_Device_Library + 0 + 0 + 0 + 0 + + 8 + 59 + 1 + 0 + 0 + 0 + ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c + usbd_core.c + 0 + 0 + + + 8 + 60 + 1 + 0 + 0 + 0 + ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c + usbd_ctlreq.c + 0 + 0 + + + 8 + 61 + 1 + 0 + 0 + 0 + ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c + usbd_ioreq.c + 0 + 0 + + + 8 + 62 + 1 + 0 + 0 + 0 + ../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c + usbd_cdc.c + 0 + 0 + + + + + User/bsp + 0 + 0 + 0 + 0 + + 9 + 63 + 1 + 0 + 0 + 0 + ..\User\bsp\can.c + can.c + 0 + 0 + + + 9 + 64 + 1 + 0 + 0 + 0 + ..\User\bsp\dwt.c + dwt.c + 0 + 0 + + + 9 + 65 + 1 + 0 + 0 + 0 + ..\User\bsp\gpio.c + gpio.c + 0 + 0 + + + 9 + 66 + 1 + 0 + 0 + 0 + ..\User\bsp\mm.c + mm.c + 0 + 0 + + + 9 + 67 + 1 + 0 + 0 + 0 + ..\User\bsp\pwm.c + pwm.c + 0 + 0 + + + 9 + 68 + 1 + 0 + 0 + 0 + ..\User\bsp\spi.c + spi.c + 0 + 0 + + + 9 + 69 + 1 + 0 + 0 + 0 + ..\User\bsp\time.c + time.c + 0 + 0 + + + 9 + 70 + 1 + 0 + 0 + 0 + ..\User\bsp\uart.c + uart.c + 0 + 0 + + + + + User/component + 0 + 0 + 0 + 0 + + 10 + 71 + 1 + 0 + 0 + 0 + ..\User\component\ahrs.c + ahrs.c + 0 + 0 + + + 10 + 72 + 1 + 0 + 0 + 0 + ..\User\component\cmd.c + cmd.c + 0 + 0 + + + 10 + 73 + 1 + 0 + 0 + 0 + ..\User\component\filter.c + filter.c + 0 + 0 + + + 10 + 74 + 1 + 0 + 0 + 0 + ..\User\component\limiter.c + limiter.c + 0 + 0 + + + 10 + 75 + 1 + 0 + 0 + 0 + ..\User\component\pid.c + pid.c + 0 + 0 + + + 10 + 76 + 1 + 0 + 0 + 0 + ..\User\component\user_math.c + user_math.c + 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 + + + + + User/device + 0 + 0 + 0 + 0 + + 11 + 80 + 1 + 0 + 0 + 0 + ..\User\device\buzzer.c + buzzer.c + 0 + 0 + + + 11 + 81 + 1 + 0 + 0 + 0 + ..\User\device\dm_imu.c + dm_imu.c + 0 + 0 + + + 11 + 82 + 1 + 0 + 0 + 0 + ..\User\device\dr16.c + dr16.c + 0 + 0 + + + 11 + 83 + 1 + 0 + 0 + 0 + ..\User\device\motor.c + motor.c + 0 + 0 + + + 11 + 84 + 1 + 0 + 0 + 0 + ..\User\device\motor_lk.c + motor_lk.c + 0 + 0 + + + 11 + 85 + 1 + 0 + 0 + 0 + ..\User\device\motor_lz.c + motor_lz.c + 0 + 0 + + + + + User/module + 0 + 0 + 0 + 0 + + 12 + 86 + 1 + 0 + 0 + 0 + ..\User\module\config.c + config.c + 0 + 0 + + + 12 + 87 + 1 + 0 + 0 + 0 + ..\User\module\balance_chassis.c + balance_chassis.c + 0 + 0 + + + + + User/task + 0 + 0 + 0 + 0 + + 13 + 88 + 1 + 0 + 0 + 0 + ..\User\task\blink.c + blink.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 + 1 + 0 + 0 + 0 + ..\User\task\atti_esti.c + atti_esti.c + 0 + 0 + + + 13 + 94 + 1 + 0 + 0 + 0 + ..\User\task\ctrl_chassis.c + ctrl_chassis.c + 0 + 0 + + + 13 + 95 + 1 + 0 + 0 + 0 + ..\User\task\ctrl_gimbal.c + ctrl_gimbal.c + 0 + 0 + + + + + ::CMSIS + 0 + 0 + 0 + 1 + + +
diff --git a/MDK-ARM/DevC/DevC.axf b/MDK-ARM/DevC/DevC.axf new file mode 100644 index 0000000000000000000000000000000000000000..4360ecbe427f2d99beb1596df7d2be40d2909c8d GIT binary patch literal 865568 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�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
vKtrP6aXjsWY<|#;Trs2(L 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

OGbx1NP$7fp64NgbJtq>ODK$W-Lq^;3X7 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%0AyQ?_?g^xR;jhz}v7ex2n;s2CExk_u|Xdjbfqe z?1eJjN=el?Osk&DuQbXsl$ojb*y`f<(@!`#<5ime~&PAS;}tn=H`!}BQIBk&?I^L|QS7nwH9&wMqSh>eV z_j`ZOikde#v(9?{YGYaZhUroImqw|WvZ67)UO6gaRy0P;A5}>TZW0;tqKaqs16n`} zCUFV~XE~10T758z;fukIyVxyU-|95K&@oI#$AB&5n|@Y(Adg`D`+l5tX(Ctk;z^Q& zqjn!cCy+Ckc#!sk4ekf>$OrGq2T}rs!`-&TCvFLOq{J6eLas+lt1B3<1|OeOc#@{U z(>$23i&Z?I(?7k&;oZirv@&xPl>HG1oC&6FTIqX^lFx+Y1&Y7Mz2wZ`j8QO$j~hq% zfx|K{py-*SYP1X#J%a%u*Ly1`X8r<|hJ{L}TN>Wnm<4~zC>46{Y$5~yPgm&KIZ|UZ zOl%UfM{2$w2`js;iEv(>+gI7-Oi2P--shTlVvHQw_-%x8##bcn;S(dP%_~h<-bS*F zrKHeQ`WNy6>tOr?dYxRb%6(4M5E{lj9SPaK)&%bSnEYDTg!sNF*+$09>+}lcM1c)t zJ%6N%GVAHT6=m+??gZBVO=P&Dj2xzv!;$6XFd_GFq%nglvoG=coLrXTbFwfPB12`G z>%GI|+c->q6NkySahN;*{@796J(+Sp+()MpBS_js z_K-&KAiaNYfdr#pVSjN@y;K{k@j#;qsFq0rF3RNv$!L2vJ2-j1}J%Yb(QILicGJr z^k<@l_4Q^ly$FAn-Pt_d1zzyNKdbqn!X=&y2*}l^;(f}ec6s{ z6`*FB)e34=7oA?K^kJEf{wj_l%k-LJr`Pu>)9Y6aZZVPta5x7Wn@2*WZx)$5x}XJP zcwcy>RgYm86|28`qoAhC-mXhCfPO?qI>CBAgbxg9C z2nCXr+kz?enb?rmBKX3>HZ%v!xx?`sXpV=#a6Af{vzE>s9&s}yt#Y3eFGT2gU^olg zJI#sXP*zqpgMV<;M*6*LxDfm2Qtg;3JXLY%mVYO?|MEMj6y>9oR$r=1SR*248Wo^# z+0@(~g1w zuye(jR3$V-FDD;=^}In&?_v!loF6($o?7r7b!r7ZdFSzKD$PYTLBHC~#3xC$y(}kJ z_x>w}RTHuV6T&b|11Tx&D*X%jAnN-dr68LPtr7J5Y7msHY5}f&dYe6zadxEb$1Q|h zjx%A|fNqM`n5iuZTM(@zrS(lw;umO!q*d;7;swKpQnQp*D=MdA%i$axRV?w zxg2gWrL6-Hgl9%ojr^#9(B5>A)rTByg^hq)2^tAJSRmKC56SG#yod`}!s?^)j#Qjh zB+cyPFA;QW@fHV3!HE6D^M8?)EsyP%Upmv0{)`yvbb7tybX`QA=OTnc!UFk3Gwuhs zz-M+5aG1#Nwan}TUB076*k~lPMUpT0H;k$gukT5W=64LcbI|A#Mr?X=19O??Yx_ZTBD#Z$MW#i(lA59*DV}hQP7sQ@! z8T)~;%as9|;RC`yYGFl!j80$gm%lduvL7D|fyZku3HRj3i7)Ae9h9%^pxl`{DB5Xh zD|26WP;O|Id31){{$?a1dM6HW5)s|h@*B0#?X94H8Lmw{Ly~v3iWsiW=(H?e;?`E- zC9?gLcou}}*AxC*|)yC+^yzoPow}3VK*8z%?d}fJ$F)PyO)&*nwxBKf{iy!lIHV?E^}C6{rOMK`o>OCPZ5=aP zE@wOh~OiVDq;w90)>ynt>83g7wm91R>gy*0D&3!>Zx=P5j@>hR^%PTu0@S*tVrRMs1w|uKh1aanCgP|XswsOn$_zt=pS=K=v zzbZo+=cf(LmG*qOa6yj?rF*U5{Hg@y`v}J*X&_LQs`gWIA&xySoLoh4(!lbQ@MS5U z+Ea4VOeeaT9_w}2qR_0 z0$*-o#?rf#w>l^(xjHB*x!Q-6TstT!+35=>=jx1gOzaGnnvLfuGUm6&36~}PEv5`h z`lGFR^*X$_p-3Z5^KEs(|p(-I3POV z0OQ~QLJRVHXM2m+AUAjwZcvmvBeD8Fcn-8)4HtM2wou)ghX-K`Hbc@X_Ziwrys*p> z5OZcZg+DrNwqf2mr$&5gzNTleq}BB#O3m)AJW|nU!2O^do*{tABvEYJFCWXv0 z;y6fnV|>SR^`PvAg*jW3kxTz#5Rh&HFY9yoU`AtPMbcii7aX!Ia^Ir zQ`?Gu<_M_Htg?t)riff+VTdn*tIm`n%L0g8rDc7&KIW&`_u*Np(!rmrAGz3<+$3oy zsmk~_DY?3urqrZMVM?xDO;fVd7f#NVxhYbHP9>EFObRIaMM|!1G$lKI;pALp2rQoO zvSY-&H?=J?j;UxzA?R6V=m!10N`EhFmk@hhz8ROqJU;5CX?VEq0lzy_8SJEXDGXMc ztWlc0B|r}~I*7j91cPPZQ{L*pr{wA&rsOIzQgSUmQ?k<+PR?~jqOX;N0a-g$6WH6# z*4t0nzP@`_jk&LFjI@#zoW09Us5V2=D)%|@!jpB@GZXVMjJ1UYy>?bwS!eoL!j8U> z5!f_B>sU%|9kLF6ipx4%+a}98lh2arzQqD+nE-3gWChfh>znTB zUMn~$AL+81lB;WCO0Hd2Q?k<+PR`Yhies*4B-)g*d`gc(!ckf1l28=yUP^A73B$O> zg`Sl13czl1U9cvd#ge}Eth#nDqMbqXnR%AZ%#XPKHn3TdC3=oh)BAxznxli{%T3Ho z#wg{jj!{akj!{ak_Ae#Zj!{Z>`ohV%Ix}TBBHYthrcv7KnH6^KtcE1TKdFjGWFW2u zCISe*>BPFWt_<{uExNvKTn2JWyu`8w2YpH~gj)$$3a6KWo@Wj?(6w;YEm~^2{{BLL z&pFE{0}Z|mH|p=;5^Zyf2~i&=giBVD=@>KZBJO_$5ke#mtQg7CoG(mfY-B|DzMSSk zLS=>CL6yymop#>M34_pOoypREbGz^`;h0gZ;bxL>r+x#SrZZ%%mZ8LXlyK{~!|+dFTxF0luE= z?2S2=h%JPg2@SXwU+j6j$wC#`9)5N28P)uV`BKpNg}j;0n=g1niW3X2s!3z9b#XW#{?DJv@VN&`{10ZF6sEDfL;oz5HE06A_05q?CaerX4N zrJmRho14#|ChC<2r2$bkXFtjvV$(4*5M!w^7fBa6t&ewF4RW#uI8Hf-1RrGY`D4=#=061@8P6OQSqN7CDV) z$=!`D)g57RMDH|PwI8rj1;&!QwPSQLdkVpP20B^gT%Nkb$zSfY!idtd4}qZv(9K#ao~QhCtLaI#id)Ch0LvvaM4;F{cx*`@FOaHM40HC8h#~pr(#Rn04c4gbbfh)LA;$JGG=wZc03sma zJW91TO;o$DRQtBAwnIOsup5;E$x$jFK67y7=z+yl>~!TX2wrlO+aEd!cBJ-29c22h ziFcF-7jMjs0emJ440qGyAMNA~6!xI-Egi;ntK}i{D&J`(fJhyJ3#S7HGX<;04od>8 zwMQ#h%MS9u!lVgU*glpYtwQYA9kM41Gbl7WnuE~k9*B(hw#1}Rx_s+EnH2OG55QU( zceiIr<4$;x0~y@}AqYVb9z+Qv@xt~r-*8M1HbQ3wsQT~)`U-0(lskL{m_+o0xw2I4 z)TuEWAA!@OCe~4x6kSt(I$h~_Lq}Ot9=ax0Ya^K1W#tE6LQ}VP1Z7)Kua+OalwQvi zv(QJpnaLYc2!XoIYo`P7V`RN{I?y~TS<6ok%Ma3O(imyPO{v>$AnGhGfV62 zec*d?nM=O;rfHZZU=523Z1Tm9xQv?j$f|1*>Skt+VCtCdO~aVR@gNJ&a{8AMiX;h{ zD2NrA;Adt>A?uF>Rk!NTtpM!4l@uB+&|X1&n{6e0GG9Ltyu{z*_}i@vO$?95Vv#yalekx9{G&>-X zhPZ#XC1C6E#9ARXLGyuf`>E4MgvuSKi8NW!DS~V^kTY(l)tDPP#YijNlAEuGk7~kx}Mwwb0j%KZdM)c9Lmk*=E-KhWkTBtEEB2h0!~14 zv|`((b{7C@m6hk0W^9*wJAM`ib#t=#ph$P5k%8*80q5*1;symfnji55=}->ot~gC+ z6AP5barcZNbubQ-U zIHh#n7SKnOb*eae-V^N)2Qz`>g6L>!=3&m zB($P4W3=*LK=Djxc3rN&?y`R=bNm9=A7eIN9m_sUe0j4UVcZGqh%HBg4RQAci2qlm zcvZdDnUW_!Y_HVIeo<#)FqU~QeEi$=qPqFlz*|i>wu$LZ&BcoiMn*7O>s7iz)Msdb zOmXp-0GVznG?nQ?m?z#xHR6!~a|qwb_Y#yn{+_V3yMQ7~g7Lcz&v5?gR&ZFN0!CLn z){uw3=u*ST5ze9)Z&~UcuAa;o9~i_p6Jd^eN@aC~Ir^%uFh^Uu$Uu)MciNd2+4I5W z(CBu47wT`~wGtbzo#Cj-1yOTB%;0l@3pyZP_fHi7=Il+#`dO*RLf+at!})KQv?>Cm zHDMo@v}#X*v~J#qlewpG0#{Q`=Ek3+UcQo6%_%}!x9$UJZ9N6jnz&Dbw7xw>No!%( z-ICUqrzmO7*oTtG?~1gJV^k&7C~SY%#N{jKl2o!sU)gPas}RwuA)L3X<4> zL>+YynXitz$n1Exl6q#_Ka|WCcCCiYh#?&(Gd4y+GF#sD-y)O8{-I=2+ciCzOxjm! zWy*i^_ZoBizA;j6YfnjGkm+B@2T|V#EELHFtK8>A4TP1IZ3WYdsQC2_p``J{oX_YbsC~3sO+sc? z{Ovec#P+7n5rdt)9!{?k0AW!E<^Bkl3obyqUffM+Vvrr9iVRS<^dv>ya$o^QzGL0N&u=s$eWK}Kq>Sa&dp1sED&x!MWdOH1Ol7Cpp9*g^R6UqaA=66GBaJ=LeS__1Dc9o5|;+fBEcU_HO@AuPfj?ndc=U+;?UOj3!Z z9pDIWbeDO~?q=ReqIH45=Yd6=Mt#rdKH~W@Gd6TbTtx9Ht8;FMYl(2ZCHA-J6R5vN z>t|xzcoMgwQ2mW3Rg!}38>!D`NLuASvqZQrLd9iXym-0Za_fo8etzz*oEt?H2cl2X z(>b^H5L??Nky+B+pH8e2)^}?UF>6H$>6RSF_|*f10qzIS;yQ+7Iid!Y9stgJI&F^U zFWx}?ofc*as(%dU=ul?8a!fTT(7%E@%4PuDjsu{+iesbvK)ZY_ zT4qgobGz!UzM=5#eEkhy+mu(c_0G4B$ZT!07-qg}c&=yfH z+iP~VEv{p>J+I(2WiKh=(s%S=;3`hkW#!c#p!V?-s|`PVDWx{_VC9_4n+?1nMfKeS zGQ8(RVEvS=d*}$M+&#(SBDq`0olLGx$#pA_xRpmqqclS68+t(Fb17>pC&#T^>Wq4I zb07rH)(HaS*6|aS(6;md5Zg%9Ys_ElR$J^a^JIg5~DD+5=PLcAYEr3{?d7cyogmIwg{~)8^Ku&7G9inm03T z?y91?t}S?_&Nu7peDiUgZ#LKYW_z7)eviKi2NtMFMCsE7a8n5j;MBexPATCmil!V^ z>C4wU`bvm7zRg|63 z(|YkkA8t8;akGJWHj{OBIdT7=%|z#a6^eMdiQ%y9NlUUHUNVD=-e#aQZb+H?uELzs zh809Un0=LU&qpPgy15e$&Q7us|Jxg^2h4Dq3`bKayhc2dFUo!qm7J6Pc&*cf^^q6m zv8$p4(>2vn*@N8gfC=uaO!k9v1-I^7TXM$Dpxt*2idKV}l!&%4UG8H={F|Ub+y`~* zchpFemw7Ou$!aj=vYG~?zI06J{tWTepCK?iDfiiO#>hsD ze^whaL>a^6U0gP0-i&&-X+kDAV^nf6_FDD+$xWyR|?EomF zeHJBOBLGtOCpVR(?m&&R}Ei*=>zL5*DEBq%=GEw$i37wHq2=>Tq`IJt#JC1*GJ6n zlAWlzh_?Mum>Yq-f!Qv%w9+;7EEWPOR}4={TMhfEWlbYo-&)VSb9Pvec70Z*(@3vd zH??C`y>Y7q_T4(RT8L{h>Q43+1p`!rQ_pNdi^bcA+r*qBL-;izG3114-roO6I0&lF z6U`5OAd0P1I1H$;IfRb-gBby`noktq0^Ahj$mc5qKAjbWz-4ctR#v$)n$k#J!IM<7EOx)%E@)igo@M44N(Obunw z`Y_me0ZNE)Nw5qMHarI%O{-9GowRV2&_cR$A@h$Y^jZ<8)vDCQbrTB^Ju}NNU($4qAApUL+*5YB-9zeC8x0UF?qZOzyI5$mTLD=HyF^ zrU%4P`OZsYnN5>86MX4L(KB_B~JZgoSyqREftgB5bqThcSBCh z*|)EADr%*AriLJ~r*gBR#4#SlSuvUCR56{a7VT9c0>E&m=|E;YldMp#Y-wsP2p9Ec zdP}TMa3TRU8K~!}iaD@?)_Gb<*x)Q4YG`ETB{IF`MPPcv(g>N%xUK_$0@Jn?7LBQqCp2hE1qHJ)utXf( zXV4&>&Fx};PPM%Z!S;M?g9r|`6BTS33k{BNDV-?sb>cWW(Fd?_Ol-;iD_^EUOEBuR z!VMw0LkH6#Q2?O6l%lPMIfa;l_;!EWrDRMM{aKAtX4wgZI=35zHbI7o=exCYmn8`*toLJv2tS*+#JB=Vo)L5^lA!O^lxYne6I2j#)I$ z9i}YlP#8TJbe1_e{aL{;M;|@`bASXQ{rPO7jI{}iA+gT~=#qJyB#-s@sg{E~Int14 zqO8fWbI?z=<{cZ^R*?XA{7wVXiF<9zk3)$^#uZUSojMjxXz zE?`6S&W13c5z2sI?IMtgQr$G=7I|^uYnpupyr@tKPI-~35MGIA3UwYGq0V_0^OIz_ zzq?2=zdjlBy7n^U#PX%mFFmX`JQ~DbDucqZWJMa{|G7L5Wf);$8O568`-lvjuvxyi- z7Fl#=x0O6gJcm9mB+31cR}+WD-d>X>X7L~_*8xlVNgA&v4$UsAsZ~)=D>Adu=Dv<=Cd)2x!;`#j5fqD*Og)ixKJn7cxFmdyFut9l9=udzT#b$ zxl<-lsFcegWn-`p*b)uQKF2tnN}SH+&b}+1VZC4r6cw4EFL#uhrZ}K*QJm6=N`L^l z{6d{|s|&&<+(sT`cApa3X0TlD*gr5IuOlGX;M`(Fq!A*Vn(<&pZf2GCL=*J`E?6v8 zHjw^7)?;-KP;rMzK;f)2TlLV?qEq?`rUAG$XT#IsF0SRG_;F zS-P(EE-tjgzd_mg!*H(s!Q4@TJTvt|W#`|>_?9^N63H*S3*>QwC68r=pkx&i4*cr} zArHIa4d^ZF+)naATLnv>vn$dl7Sez@2S`J9ZUO^C2WhM$Tr!P3S(uhI)@tl!IPwBQ zF0bS6+1?mg0oLQmU(vNL=2kybmiWu3ns)(?YRBNR`%h%G0vzPbSLnJ4dUlQMjHj_i z!9CX0r=N??S3dnEpXeq#=E~2qWoFY1TV*Mb73{x4rU^0@_T}>x1Leqpo$*MSD0$zW zk0+D4tv>4myP%Z5V;nL>Lv;RXU>-Sg9@2Do_8DL7>^mqvhlHBzoI}r1KRtS;zKf{j zrE7a#bErz^P;YcKb`Gry%%Lhfht`nY)HIPPGzzKRG>JLKFiJULGe<6!{<>)mDwXD; z;Uzjd#2?Ns6*@nv0y_8c9_a=r^lb_y6MA#0PUyRvB~R#&OLaoeCYyk0w9gq`)j1^p zj{4{GqGqgZ6;AV|z0-jvQ}-?Be|hR|Ajovr+~b|YWUEi8DF`bMNlb1nF)->Zw!)2ZL+zTQrR!6vhu z`mAcj0g2*aUN+<`6wWS3%OLlHXE0kra`Rv=eQi8Ux3y^f@O9Kt{I_#M64HW6V6HEB z2)C6>3kFWl3I$ZjOyFw*WOvP#)7rbGJQ;>2R#?ml^%eg0{<$@h`7r&EVRCa{JD1+U z?3bdxl_mE%0#oz&Dv_u~W1%Atr4_*)>H}3b3bho&;JkB{LwOXM`GvD zpOpSkRu(g-;Cda_<_wb5&)O%an#+c(2KbBS-aL^RQskI{OPmJWZaUb>2u_Rfh{4EY z_yb5#WYg2>JX3xjBvd+iuV`FFid;6e1p()D$H90fHM@FPRA%Cw7QtrM8}6xUpsV9x zIQMq*zs$LxCf0Cj@VOg^B@QcKkU(1w!U6y;OEnZ!?pd+NDOQjxOQ_7V#)=vF-A7oZ zd3toryud~R`N;pu+`H7Nk4JHk5xqxcZP}G|WijdP98lzBQ|AE~v`2@{Cv51@tjo;1 zYc#nbv#F7K-Ax@GaSq@?UaMRG?Yuq+<#i+O+nDV%l+%|Hb3LUXx!(ZBDo1im)iu!> z2!5lnK96f0+s~;FnImJ(aB_a&Ak+-uqe5H~q3!_o=iQygGo1qvrLp}lgSkXezxH)n z!VW;Ch^vh&NW$a}Oyr6pfE_y`QZ%pwU0}ruxDS&D@_9n2Hf7WBfDWO_%?PmU7YK}< zI<)K4=6;zr_s6ukS`3ac`pNwJ|ZxaJqm9iyDBl;9aCi$*a`$H7;RL?-)>Sv5@6 z*(l1l5|gC9X;Q5;CWln=peQI5j6mXFq11rwk8cZ@`$0p*e#w#OFd0Z%fpzkGPBN!K zY0gM!@!wvj1(MX29%Z<@dXvt+8pduuz^g@mN7ard`dWD9^@O!>wKKJ6YR;{~pSPZA z%}E?u#=;={!U@5Y<&0j~Ot|_#jCKytW?-W&4WREql#}gpe^M3=9PoBf!-bY?oddbiWFY5ib6HEH_J-Ywcu|tmiuK`1B zZtvsHJ-eQ-%n>DjJMM42j~seQ>Dfd1An}b995v>gq4kb9_+S1H(pLJn3(u}s@1l!G z_v;&#=7yg+YREZ5qXE;tW?y*jut4^I#Nsc_xEB9VJtwn|Sp4tG@T}c>ukzobY>Jz3 z#0QErYoKauY*mo8L@-`;HRfqd#yoPBO#Nj}V|MvZULDCiP}GT1qq^Kw;6sp++rl#G zcINilkBr1AL_{nWCP1SJJP_64>c z2JB{0OJ8{QIrP&FZ>)yH@FZ(N? zH58>L+kng@%CDk)gS2m+(>Ed>*l+3|_J5hrQfc3_|2H_8G~@GGT6#1bY?=D&^uv$i zN?BIS8Uw8^!eeI*9y^Qh*dfJdsdh=(`Z64syu*PH%8Q$*^qhR3Zne)#optJh@|SgBvY2YE|G4O z2qSJ@-Wvl!iu2Nzw2jQf#i2#+262KBSx z%WXJM4^UnPkZ4jL;5ba9L98hvTM{rrsE?nt6#ol8S&`Fpn3F$TPmIuV5x7c=y8u~Y z{PgIs)6d)kz#cJv%x8P!AaRfqBZzqKXkES^J&1WJb%OT|2V*TBF2u_FIhf3~&6s8V z@!9ya4=vAwmL(P~(>=6otphF7Ic=sW_#%Op>0VEFmFJ;lCk{*g3Jk3ah#LegbNLNg zmL$+(>jo_XkVQ+CqGh!YEsHH$*2dBDghk5+L5tK`2U>U^K+804$xh-FpWsjdME@qI z_-L?jijCAk53d);fFE&Q0GbDwkh|j)OW+jjs$mx980WxJ8P0J7lu8#LXjw)shxT^K z9Rzf|)`Wb8hgkNaEKT7dd^v2PcHgLvEi6LttdlLgpI{3D&R504CCsY+GWUPsxIz6v zD%+5kSG{Z*=YlV(hE14zD9{4EY%=d41d3!-nf1jwLXY+jZ*+1^g{((HB18idut(O# znzeHlSSc0nocLIn)j8pftg3jGAzkgn(B-iQX6Cx9W3y)cxJ-I5jjPQWj!ik4#7t== z`*>-x1TfZcft_W`EBtKPMGna>5l_u0h^@CfesK+`69lvrT{9-U{v4sXJY3WRc2yL0Cg-D>{)A%$Fy3mpS2eKcMnhTzQ3W@ZNKc`V+W0H&-a4Vrn!~Z$TqJW@0Nyz&V(vfK0wC1KMv5UvEd#1# z`Colh*eNnql#q=V#9*G|gdVHa@`F8&yTWqRmk!28U@+X^S}DpO#s>4HfTgvX^){T) ze3)@Zj~Ty4?aVtqb}4S$ zb+L*YU!l!O5;yQv?IjW|456nTU%xQ6CtdK^?Tz_RZ;pXwW|;k|sPN&Qb3= z@g_7laftl36(5Z}ISu0ShTD)Mip;l&9WHN>c`(M(1XReU)C)7Y6W2jy3Mx1R3YdrB z3v?494atPxIxJi@BLkx+MQZZH+jY>n!BfOpeGyQ5-ipIb!(76~*!|2tsCExUec2gl z80BO>%Sql6_*p*QpGX_mp-y6d@^55~5a9)S0lIYs0K5PYVTN}XC^O73MOCaR+{P#F z1X%##EO(l2D=Xu6rUb{qZ?I-dJBvGdj!O-v3@-t;d0TyoXYA;8Mu&c48ao{LpV(W zPoQZTzManohI-R3TDZ}+P>Ju)|Dc5jaS>5svc9qVKs|@D!|M$16jCSXqJaQL<)+6TLTE?|1h6p6@;iWOqDGkCL(DrmMzb*5HN<3oCS$riIj|dK_h2;7L&0E@lQL04e7;EG&Us zM-kBAbvxTksHm!94y4)PnnIFY4GPD>HJ*KDq4_(l(sii;^Aunr#|$rnF*mY`n^U>& zD)sK)`8cLL2C}nvU)`dEM>Vi`XY9n^&WmlHH@E4GVoLkIb{tFNg@6!{O+(9gGj|OV zl%Q$YLiMms(Y}Oj`3iCPe0m6curU&t5kd0|A&}O8B1E2{7}^a0tp?JsbjNRm2{Ev* zwMW~5Q1T0h?p6^`MvGvrB18`0KB~qJG{1uI&Ek$F`3Xg{z+6Y;04~%~TQ+(URKWad;5px2>D~cVw(BMKbak)WQTBkr z3Fh;>_M|TJ+v3$DY%3*do=VHV>a-hN zKg=>T2pEq|PJYp-B4WLYF8VSs zc|2UJU+c|uEd>A0Fdv*Ai3KoNbGT4BkC%h5B;w@*AXZZ_x6jE6Bk&6JKxNJZ=H~D= zYZ{_~P$%1O^8hKz%mBT6%V74l9xg6==kRs&u+RKy*sRxIB#aL>D~s{ht-&6um~U={jECC(Ab4FehQ4~vz{?1Dv*jUfw%1a~s?mwO%=xH%P=w(;XLQ2?-OpIIoL~ z1Mxe7^L#Ek!<;v}Ai;sU^O|NBCvkHcR3)=hU?;wf;Bmj%GsEKSnJU$@1D#>^++zoc zwABLMo4BMR^e(fSOk0bYn@U@2>Q%sxS(AE zDJ)JmLkO@aCq`znlL=E+QTgDTUA=ekydUo#0);pZov(?Z){#O;8GDShpUPKW2Kp{eYz zH7L59@HU&DbYeuXeDfIhqpxoUiwoQ$1>0vUrDFTF1l2(kfb9dMl0;#N2M4EQuu>)s zP(8x9XTj{?)?d)5mzxQV0$lprr>mQ%x=opf>RsLad6yfFZ$bCxNB5_WF7C5GUDA)qzE|70Lz+YK?X+HfO0V+6du&0!^wYhoBkwnv8T9SjpSW-8 zt|+rT<8UvErb6nRd8{WwrAGTm_aY=$H>OzhmZQ3$x3CT8rY_rKq)o)tQAgqY#9p2ts&XBqcFPzyBoXQH8@?JsVRxZ>Gn69aG z+!BoBI6=7+j+E@{Ww7z{dq|%sihM<<=M^s6y}!jzyY!;dv!)DBCe&Q#^njZRDRoP* zj_EnJ?&+y0bJO!Mm#u1CvCtXoj`ufOG8MOReI-ly(H4G|o@EZ0rC1akuXQBD6VEC# z0SGs=M2v&BEdUhEy;ud{*_5-qMQqmI(X1($S-aF_PMftoW8JLHYMDA~>mgOWMX(NH zQstTJl_)s;2{smOWjdF%EQBg(qY3SqI-xr-9(7z(?)lL90&a+&CS|QZTIbK5>`p-oG3X>pV{ubRE(;O)G6`F`7xx5wQv6pvb zRj;+8ILLd5c%%wu86E+2fTZ9ULfy0+%wJ9|vyDsD{&&%FMCWS}chn7}V~v9>`gcz& zx zFz${)3n6x)kJB;Sg`%nnFUEfcqx(fG&2$fR5&%yGXd8UV#f^~#S&qG%O!rpf>T{Fr zvdQL20RYLNm~Qpq!?DeJqqzzn?#BdK{KlGHV~WjO>0W&Q8O;G*Fw6-s!>G$kF%Bv{ zI|zEdag1YdJkYvO$2YXq!$=zF4A+!PLt#d14=wPIAZYPq>%tUN?-g{(O?U~+JX*4; zwFaa+0|G~%01e2N*3M0>cIf}afXt;CyXqW}2-%Ne0|NpV15Q-01kR&72CLAF;*Pqj z&_?eTJR0sJ^CYQacSP{;Yw%#{xEq^MS_c|(HCB}M=oFv+GL7N8YfNPL-ir+14Sx7O zmxj9mw$-afh`|;U&y7h~z-?+k-1pmP5**j^4}?(qEp1}3_K&zy&oPezOmP1ptJ^#_ zD{HH_w5W2NPitfhPkNR0r`m7_=&h7hluAifIvX_R>x)w`&4pVUn=b-1U$fo4mGt+2 zX1=!5j3wxz@9zQz)ODcqNL+FO1AxmX(QVH)Pf!E`TL-*Wa>XLY0as$WmCj-R00z2r zI5H{MxAklK{ZrhU{*-iXQYh>m3UgU&k~Yb0qy)VGxvl1Ba>@?)){W?G_@w4is2S}X z@V`K2BrseF(wJ6rY1IE9P@J+^@?P43} zPi&m}<{>st(yo!wM|9VGI$9kx*KpMn`{{{G5Sf_sw5wjqpkJntQ}^-FsRY?;?rI#Y z0`B5cpiS-ZU_QDG?HIGA{ciYNfLFnXh$zV*WPo254!sA=UO3tzWtVqw;vUZgLXD^v zE{n)3kya8Y%}Nm{UDH8;cLKW2-1>53heDpN`kOnXRDVN&W6`{e4t=x%+yC1&;L(np zpwDx=221<)4uw5YUa4ji6~mtM3N(#5RK(Pi^+iwgS-49MG@-9;f|5=`vK*4*gH9=B zj1^19e!BO+9VhlpF2510E1{QhIS}ZJdYQ;ncK#p^i2gl&BuNA*v9|#Igxvu}aeGHi zaEzApiKkTRs%D%5jvBskyJl}Pj}QB zVTrEbN||Rn7V>m!WPQh!HG;G=X^AdpI63aWg29AD^2aXGs!ow5`UUr?%<5EVzBt)c zKf6;(_32A==gF=Cw|8cVZv8K}M6c`gZ&{*iPIgQ5B{&T~eu<9M64eRhmS_by_CPTM{J@#J?jy~9#HV;p3FUacB6eY-4 zT><^01vF-D8zfczN^Ga0wp|I!O*RW9o*9cIW>!l6J>>6=8>i3+doW4C=WMXrH>Mqp z`3u5uR%}HVN&!l-K%34GA4sTlE-?HrzbP{dx}>T`UDi*94zoQ=bTxw9YRaHgvcWL6 z8WnaZZ|#Bxg+J|zox|O(xUL`l7BSTTi9Cs6S{EO)81FTm`@~`gau7s>0%&e zAx5VeF=#p?H4&o0-A6nl`YX1dZQ8@y(wTT(Dk!r@AocxnnDb?DUq3JxH4~Ld+n~SA z>8>ULDmPFlr$=>v{8{&r346g}+n~f*qA~d>ACTs)VZ{WP`TZH)os`GuU)!IV_;?rr z*YyYK01C8_tuy%p@UP4$5lpF#n`8@4kG3gw&2^Ezf4S|wvZzEZQJTysv4@E0EjCa7 zX1D0h4ZXo-3VPXgee_p$MG8C*Ghbet1<}pfaZ(w!o96beB&5+>Pm(R2S=P12{&Eq= z>*^2&dQx~P1d}Tt1PA*(X_e||p}xMh;S7i2Az!hrxOr?KTmm|jJ%ZjmaW1limA_$x zAY52>I$?lLP+xEKE|a$^?{cgofLF?zK(D63%iPi!1P)MWZXD&1g^zlpn$vt0m`x>K zTxf{7@+jhgs9oG$A9u2_>+>NTQ+HVYs+^?PSUio<%J#w2wcK-xY`=1M3`VBBS-Cuv z3A^ErS$4qf7b4a&+>@iAf?yx>Jo26hUV#52oAdcGYX7Vej=50Xr;uKbK;*UuH+yLI zo6BetsN<~O0{)`-9SQ&UQIv0H_ZDHUcRb(DBLxM0f?gF1<<+h@b~EeQR+^7|29db; zN6{5?lgsr!x%95JuW(L~C430)%P`xCbcKMZnB^yxQJhdBcyct}4Bv|9n}XG@J$)JD z&I{Rt!gu}Mx@f7|>}qT#U2`XZ(uv(6q#>XFqJo7E)!{5H^MKinGDTa*wD{x%M#aqQ zUI>VBsN%;bpm_rs(kJt1kAHt(fp$H*|-`|>Cx69%@V%U)@;EsG4t?htW-C;7+{+Uw#5Nv zrq~um$DR4|lPZ+MSgR2--sHE zZ7_kP#pYeY0Za?}qUAEqHpZQ+ZvFFHxSu&79 zl73<2ZXMTa3!NK?wWM^-$^1ni+Mo_N@IlEs$NUkEz1n)8GZKi!`d}in&2t$wPblYF zTEeNhu9rJGz2w(9_Y8gM&uAE;THt^EbI?9K>6El?PprxGStQuo`B6}a3=A^x3R z@&!VkQ z5SC+}?4fnVuOMrMRMp{<2k7*{g$nqe0EdsS2rE(*RHg6s*lDLBnI+qAc}m=vzEJy7_m1p0AD z9n^c33ZbyC$iiXsOy9y1d$8bJg?Ws<4%Ykv&;&ZTuWhl4`t1mO)Rn>u0LknNuv*|j z&bxifN=jrsM!IbC8n+YqX|U$O9;CXw6j<=jzNu*T9bEU8ZqN8wt)b7=8oIgG(2rcG z$w~DZ@=dL&|9}ZkdMj?KHT3RULs!-s`WB(J`v>{h#mJmE;nH8n+8WzsJ8te7P%a&g@Z#>u2%eheu4FvXnKGbqHHfSn2j{2zxg`_ zd)qk(N$TwaKJ5)T^JEw0r0iuPAj%|AiIxM=yw!FX7BQi_&KsXp%a)Ax8XE5Q!rOQc zFd2=0toMc#hYb7n;E>?%;a~LLFlI``_PJzi`NYxZ4m|nrQN#5+V%XuON1yzw^2sL` z7M@)09Y>se_SDnLCr|b69U{IV`W$%Pc?6hLXAvqlV(e_O`hDnNjGh0S5w-8d8>bOI z=BE5@ zJmiJ$WBUv3#g~`%J$L{%bb)@T{!c45ivy9B87t)RT8n;{&<1k9d!4g#G&`|yH1nr% zRboI)ja9a2h~xl*?k3nP`dZ)txDP|nY)FLNQ7_vPFC?ewJ#rkh4ASbkv>HTd53RUSY1t{K@M5^kP@4`vCR&UGK-~ggmYB(jU9V6PE10 z*LTW>sB?{{6&iJMvQO6~NsBn*;AG4xlf55+AG8IKBGw~GXHN~=|o%4~k{n;P$81d{d%X7!Y0zsxmSBSjB1tv9_asn{U{R^G60B2WQ zE_SH>(}<^y***|^fsF|WHA_hDWqhF&~OOykglYQ;KY zU7J(AdVG_3p-Idu#*5AiLlcmr&H_xQa>n0{4~Ex`1i|LBEHGIC5^3S*!#}NZUKFh` zJ7IOu#bTojw@nwBMhJP#IpF_`D5vVe;t6sw)}XJ4VX^wwhT>Y)(L((#>$Me1vzj55 z?_mSCQutXAABza8SLWeFtk6GXB>+Z+j_A#rT95ONuHoU}{S#nxoL^`*!YLnDS-Fy* zXDBX3N@*rNuk9-P9ANi?1~1=^05#u&>A_ z)aAJ6JVm~Sn>l%&0}G_1H6Gnmm##mEF3paQp4o+e0cfpx_!pp+-#TcyA~-Q z-iy0JJJD<1KPwGrFirRnKRn3%k!&oAS*I#JLsCZn2m#=J%ngy6~tWH{|(1M^#>VE<1o7 zwihb4Yv?xio?1gr)Iib)Bk3&KE z9Oq;58nihfwv;8q?4T^x!HrU9sJ`qd$JKiC948N46OIVYVjW!{R!57l3LqD)dWl?J zxl=1=g7l0KS^K~E>y!BAY`4&EW=}GNe?vtiw})2VymK6LhJg4i9@LlN`O1~Dv#*Yd1i}z!D z5&ihkl?{<~oiF>Zxn-I=*LUuCV6^`R*lI0~kLF;Avk&Y*QH?}E?q%49n9JeZ91$F4 zn+>(c_HcaKq0DYal9T8#1a1;59j1vL2|5kau+09NZJQ%j^KZ=*E&XCUl61d@l14{; z6ep3Se*F;`jG~kiLA&?wtA51~$dqBWVB`u-_+Y(4cYE_jjG~$Swe{%hsqTEhY%~(k z8nG_B(k;W;IAn0ayW=2dp$2mU=Cy8?AEaPr`BetS&oT{TH7#Vg7}3`W=Id^%BhlN5 zAo`)66!V=chB^6eiqwqE477Pv4A6pXUtm#5?bmV|`!)LM6xT`u;&bb8;Dy*rc9jSE zw|qIb#mf=A^e`@-=XYAyPmretMi9+mn-)O-V#l04oINy!CHD&Rg{v5;ojf>2gJCvO zVsx{l+tN zLZ4+INNCO^b7~DXflv)+>2@VEhdIxIx>SHu{<_))RQXlo=grDKyU-b31rIQ zSQwy7Q!`m%Y^LVs5xlLKZ_c39%cZ=qS8sFlwnuMQ>FqPUUDJ>zaiA=A91$2-lPQK% z(+;wM)hT$!Hmu+R;g<20;8xEZY`W4z|5|I>np)F-TWi|;YEApcT0_^?8oH;}(06JL zoq)u3M%nD2Ba0N4SS@Dt7u;69use@_5I#`u`s~RI81EiroqM6BAIU zoR;dK&3T?waDqd%^9}&aJ?dzvW*~J^c8jPYre6ZNV8OU?nVsv4RDy8IJhSoU1q&*< z=kZ)%0Vuqftf6_lgK^>TRM^pQ+l=!tbcjscY_p?ntA4gw5A>iat18QF7wp_g)dK{ZGYkdq5?$gmQie zI0Q&7Zcte1)}*fGYd%CeAFxGoL%+9eB#*AzEeC-z zaF3k$!W_TNMXso&#lfmdTC(!&8gP$Gq2E}HmzzSa5vtgOKe(&-@0=7b$JgRGFy>@1 z#_zty5l$LyBr66j4^BM@r-eALdmHCv>g4{(6h*k( zYOUr)LS@Zs`i(;rXzsee5+SZ_+smJPl`=(X(TZ1b@z%RHY^T#gVMP9kUcN-dmc z+%=NsGYi0;NoCnomUAnZkbFXtz2X8VrM#SFfXvUS03Zu%QjF41vDu7l=x63m7GnnQ zNRn_S5!?-H;QV4KRg6P4r0GO@>Ue>so^sYz+7{ct0Agy zHhdAw5_;a6UvcAn!2FyR8JPU46+Dgnk-w~$V%o^sU7U@RmF!ta3f;)z@4K<+Z9dH( zsezGMLlq%mwm&0Dh+EOKA&*CRhPCE5uq0)0UdYy1S0g1mZ?}0B3VS)1Sn`CQ!~Lnh z_k*OBc_#w`9`Y#_K*_Q^t~}3Se=|Z3r~H-+9N96O)kTe=TgGk-#o*K!{?HIqet|mi zFYFwUpc#g0j>z$7cqC<+#e__$)cc!Y3HHUWBlx-y0z8 zEj~MXt{yOfD<7!p1gUOO>&yvA&(V6(Mh#Q1f0npsF2tp-@@!5xno-%Ks%)<0Ns^p~ z&5$t+%1Ojrn?7 zRD$JJ~I2KG3~` zVk>rQJIvbpIhDniPjO`VkdQ%i+Tb=-&H75nrDNn;xqk{^T<9a9 zEG69zcsV9q3fF4tCi4jcGLM1b8QbpNIJ|bigJ6IEJ-4t&sXw_h%;gwhW}Ch6q@-Ad zYPJ~sY{mliLN0q3RP1Y5Av7N6af_^3n+_Tlva&_uh%5qKOZMZtGIiN+?*a~96>;Ze z`c+nzv+j4nQ($^Ng^^&)Etfc!@qaOg4OuzjtD7J@kvnE^F9g2R4#up`o>|PZUd=mX zhc>${&wF-9y$V))u*_^BoIPGT<^aOu^N1KB( zoq-Ru2S&=A`ZdAOIgjiAlR_smtPDBm4>fH7hk+=V?-f9I@|EpB%uYBOjLpLOm}&N; z?ahmW!~6ENhgT7*)r3NDDWmY~V(5WzlBUZ>8kj`+#!maUTuj`>`0w1!28Y!qH~bM| zzFI|rNc|EoG}yO%v2MBH529S@Q<9_)YBW{&SDS47w6VHKAx&<`IK@gMp3gC7Oc^_R z%%lN)IZ0tAJpA<~?66yqNt^JZ>gww9@`%E|;xdL2_YdL*0_s|_mj=SlK=%RX767?o z;WJBZ!_5FlqykP++~tBRWZrPH?`D2~$3oY*dP2Xc?6aUx3I7%KO{`7%K1j{COznFN zDqL#kVU{5qlEXxQ1*FHtYgjG^=ueX}?A*>r#3`}5U#v6cbz%UAHhTtcJ2*)IXbpSX z`ru&0bWNxMP+om;q4_kkFlZ*iGFy7_?#uyNy|J>tsIBa&zoI?WP_zXIak9ZMLS5K4 zj#3B&BU1TT2@6S=4?8tb8Sjwet}Q2`QEd?`h%n*QGJ@NmQpGp`==&kgiPGR~kX8=q`__3()8v1ayEf z32-3}MWRX!XH1zo_B_uQi-8lzE+dy>BCsS2cyZ)#R{R{d$A_UVJS}ucmXZ4F*Y!ZY zs=+6aet!eW_lrKZ{;I4j;KnsmBPf8fuM@ag?6OY?p&z+YU$cQ*602l~ZU)F^bIx75ld`bD&P9p^inm!<|ys>&P-Y&f2ZY zIqIV-JF0!QYM06mcc4)#GBPAwBf)4sJL;k;_V6a1T`aiQ6KNjoS$Gt)Rcuf#aYb6P16dALYefF1{GYebpNy! zXkz>^P^>Oxna|Hkm=f2Y=?*@Eg;d!*I3JOn80+qJM7I+A=L49JdFIAU;UR#{s*>1^ zlCiXR_@WSPUF_6|&Apkh4Y1CMz_D0DL3~G%J`+i}rjCRgd_r_tZgNU1P}moPz5X$? z*r~Umex47aR$v(a&ZYr&408KNjVJGf&lSmIjXcfd--+giLrEe|p8B`jW_`#GpR z7H&hGg|Px2aRrd;xr@qt%U|KJ9yH!H5__|8s+!LK^_+^ML!CTSk7a%~q4ql>wa;<2 z?@6nDTWz&(j@G_3T6+b9kY4-N+G^k7GS5ILc9B!jF+1@T1;RTYg&+p&?@@Xs*4(dM zhQ=vFSjlM;2z%V;{al?Swcf+^e+^sxVdq0CQaV~vnRLW7a-CP&`Qc?aiNPKhjhrQs zLkr|I!=Y1m9184`PG&)PyeteD{a3sS=A!}7uji+2GLHr-cowHVHADAgB7uDk&sD51 zk|}*!IwH8VEh)UN?`U}Hvm!Vy^!&=r{9C!e1{bjhHrsrduR->i4fd&AiEZ{Y>^o4w zd_gLh6R~4%StX1F20=NrP_cze*f2OILItxmj0Cbb(^HPiPXdzSA|hxu(Dt|#Rf76k^BI~RJtajVVWDozYi@91S7;__$2*$5nJ%FOhcz$(P+JkFBnNQ`TzWAj{*L(R z;qxFlNs`?cj{H9W-iL{urz^1~&Ypk{%DGMz{!S3$=Hh5m&g^WOWxf$}*;Mh~1{*{3 zC7(>xb}WkAB#2o!`x1z}&AJT;exD6pxH)u{MrF58!9i;7&!)?_o(r)4GAFcN1cv*-$w8St!2$~JoeQVf}U7+4#Wa^th;4nnrCMR_pDz>;T>>L1B!dHmwt z=DExYp2ew8rTYRkNHdG$A;uO z2aT#jFTkbv3+KlIWD=bK{|pP-j!v;{2|-QEF#cI9{0aC0c2$ zm3!dMV>!#%tjEVB0T1Xxsh9o5Pmci)V^rUt4rk+v`ZzdTO&eV!9-t8~Cp2QYZ^Ub{ zM${i=J9MW7OObhfZ&P45Y^N!#ktK-w8uH;)Bty8|La(oyM%H8N&+(1isYcHCjog#i z$UZ-(k(UCV50;A6w--7-Ms*eo$c+-X;g=VRS7hcB##p!LS!sLEKm!EfjF^nBs@B}o zM1VIDc4TNHe6mO;N-sKKq9cA7B%}u1NnSQw==Q~`ESB{;>O|*b7Uk2KFD`V8JQ5?s z)+{Basmr!G78xgf)~N&Q=s-PaT+QnW+MCaekP9(SU=7+rzJ~RL1kg8$=XJQ;JLD}0 zueKdWxZQ#}E(O%b)g{Swdmpf&tL|%Os?R9{EkvqAJHG_RFr>3sG4)LUGO~)lh!r;d z43eBZeBT9SGJ$xDF_0};AXtjRF=2G}Gc^um(Cn6Pu9^#+lFQyKt*pP|?YfXF`zjEC zfe2!b57=WAuBI49!QE)NA)4zTydp=6*S)AHlgbI0J(ycY(F;Y~>X-VL41k+Lw2=2T zh2;(_fs;_j6q=Wq1lRN3krtwuXfQVjAw0*LyUK>RH!At%X9lY_U_E^)gAr}6v=uPJ z+(PNCv9e7-E&bR@f=(Hj^=Tv{UtN;E3V~!)4bF;lrwg3I5R1nzoyc-wg0?Y>N3gn> zAeqHCD(0Ah1}YhK7uUlPxra#D>{rzq`JvBwOIl=WC%AqC!E)H#Ml5i= zfE%XV@?T3PzVCqSqk~%jfxVFAuu3{nEhkUB{sWxV?meUko7X6%O>j6yo-;5XEVMtT zQ0Wb_-EX5nXvsel+Js+I^-MRGaWZ0Op=%ZTFkl;5k<|ALr(GBxGYRWO+SGiJY!{oD zB^Z>D;w4&5`~F7z(C#E)4hTnr zzaW@=G54t$jJ$`_f6W8-C#fv7=bVTbB*Q%Dh0NbDTAj>s{(M9ih0RJ~aJ2uFjqUm} z-Z_rGBoXIIM~vWX`%>Gv6yGCk;p-_P78{554wh6Qhc#iGgqknBVDSlLo1M(?go<{< zG^e7gLdbwVBN0Wd0+PyA$dg_Iy^1{kvlvZKbB#o$e@#!>9*Ra$AErmK>~2xiyXjGo zM~f8o=kzG*x+~-+a?|gf!isN5N*A}$MSqKBDjoQw$)kpNJq+mDk2*A-2$L6>^ z^u8EA8>iLCEyMkR%uxaMEXxI8;Qk(fY6hZ`P^oP`!5y_fW3xM8+DbZ=;tL~s!;4uv z)H4sUZG_XbG8phR*BuSG!;_kDCy;183wUx7Pk*>jL+#PrC`nDt2@8WQOD#(!G&g9d zbn)psNAfk}iJF$LY`E>5Ij9L|odog=LEIafx54#)MjD;|5S{&9Hc9G>Z0i9IEpLhq zVy7YpbL3x0utzs>HyLch{Zx0i%&sa@Y82iT3dIa?#gxJCDUuKrORsvcshb3=ZL=A+ zULV_Jjcw-6zQ()^7aZdyFaZqls!J+1Yfv*w1DS`3MvtjAE_IBG%ZUU-zBjXwC%DP| znKJBu1;m>(?&VC_COWos0yIHC4QB>N3xW-2v^oNe-QOmhGtCw)V%UEzZGh->6_AIy z>VoAl9x!^_*4(Y&`sywYd>T?CY*uF$o2Nm(fsJc3EB4qXpI6#$Yi!TG4m!ghLu;rN z@J)4lxgLNep<-rg5m#ZG-_+R91XU$=PHV<3sV1E)z9t8SscAD8NG-74Ze@VRq5!q= zV!2(sKQpse0N9R4%zgA(gQGsLR-d7tBAqTkwiW3y{Gy@J9>e_`K$F5c#Nxf(w9+e7h&nKe2ZAGbd46~}Fx2r!_Z&$>6E2mh#x3$+o=hh;&SPL~ZPW7Qi1`*N?q8L&s zzzy>rGl(sUy>3xVu=PV7Io3I&1g=MU{L$@K$yaW4G{y{fEA%^H+mKOrfQuV*PT?Ng zb(GG*ZQfYQ2cxe+&^s47x{siEaqbAY-xW6j1CdVJl0RpW^hW`SBOw@JGsc>?fu#B2 zm11^glRAF}7-%6lDDHxF!CgaMg_h*8WQ3jvXu2a#RKRfpH9ILF7?$b=G`h|@+bf>J zwZ>a>`P;g;g#^!!{eKyrd%54g9d1t<6H$vzX8$X=mcxYL(M~Fm*e)k8h#x;0SutzW z^$z|=IA{uOatc!=>0!1U$t}c195}-VK-SiwUx1DPXtT`@WB`^8$9)xtva@71cQDh6 zqlaAKLXo2B1c+x1dhzD|DmuJfrlpIHxnGg<8I=5u5*n@cPzaq)U z`NSw~khtE2gtC!q0=uZ;jm%A|#hCSI1-FY>H%W;})-PrqfvrX&=BGJ2Tuv^=JAglD z&L}opz|}{f0to@6NK`dOu|dajkO1w+7F*1Mqp9bbhwNX>tlM5Tny;cHIQl;x0sh02QoYYR~|a8q4$W=5XUcaCxjvlHSU0J zE7a+@jcWP+YoLbw;)_x3=P6AcA8jhbw~67)8NPV|Y_!`i0z=&psRZXyv?sZegKBKf z7mPaPqgaDNg+-xa3#<|_X24T@ggnO6H3`E({p*=|JawaPnY-0C#lur-;f^5&bc+tV zdRxi$p-P+9Th6e1FQIp^yjA6@^eS_LPa$7M^Jg8>mbA)L_%neTsgK{IPD3VddC)ub&+Ds0dY7^wTL&k(HINf5wb>}l;b#fDd-Wchy$#+#A8iFqZ7lUj zms;xXtus3}x3-7P{=(W}nVlQkrlHQ*@;Q}awnINo<1$+$MI6@JO;`@v0Bk9<9NMb2 zU)0)2d1d5a64r_Za5t<0dNmUomm6MOxMK|{oU}F2=_vQ`L5A1i6Ikh8UNKEI3?x3lC*earbm-tMMxE#O4AEEy(m zdbVhh`3P%CPK_UmYnuQp_3Y2=fQa|fcPf+TD?@R4Y?bk@%CA?7A zpb1_zVy)uY#wdbg%NU@bhbZdO7dh=oDWn{ zro4VGWtZR*JE)HwGO5*lLB^%B-HxTqYpH(~st(MvlbqIBLPQLkiH+f{kdN)rsu{S* z9WR}bQPCvn0#f>cydosDU5f2NydJ|W^V*TuuB=~9iS+VTQC@a2q4$FM>m#LK3?S zLh!ZFM_73F`>4jXFS+Jgg3Q~LjR@--xM&&*4#qR&bMRV7@py+JPE$J^4~o@MSI|$~ z;kv3x?pa>l|}U=Hj?M2M9}WIVb_RdL$u)el%cvmL?< zKX<3FI!u8Aocru46Gmr_oDQ&h9z`2_#w=zo0Q`HX&faB1Awi!QMTbAm(24G z_j*@A0h^TIzJTlm{;1c7-0O>aeO%d|b7|MOv`UthUs$ai*xGwS#b>o88RD$u`1W(5p5>s%*2sh7Ld8)4%{iuR2Hs%)O0J!4W*R`kvw?;Go4-(F zLwGr0LoQ5mUGpx1P0a>|wG7`A<~1*wc>`SVCtLY9f?rb8M^N1P&^PdmJZz|Ib?)aH zp6%sw)3dlbItG>EWyYXVJZL{QDHtYAy#itdFS$QiQ$IwO26t)(oI%5M7X$~xD8usv z?q_fmK!^!W*PMJyms+!rOfiv?iWi8h0d3%91z$&FFI zg|jQ*Pq_;{v?v`yb0=7OQ<#x#Ih@m(k~q)g5bemVjuFC`{zOv+qjCZx1v%Kue9X!c z)r&XTpKQvsxtmShk1b>eVtxrX;fNC3ffKhAYAk}s+@+Y?&OB$#hqv-;bP*iK+LF`kvpNfxcPcS^MuYA$z#uL1tLt6?a| zl5|K)U|;BnLfHA~1&%{%ZnW51u%AAFEpPZr0K;qFU`!Sxl+0y4ckBsG3N^+FA!;ow zX=%2Z%vRRsCIGlo4810*$*e?R>3H$Q<{1Q|9ne;=WecpWM2J4slKEP>%N?b zamYs3hkHrGB({(?lE3Z=rjeE?Ge{34tIac#)n@SScvriiyNHsOSJ!$%n^1m4+nXP$YbB#~~4 zJ3l_7-O!*f$^r5qYJGrycQP-N02&mUk7`~8Q_RD9uLj8uQ^R2VLS%dmYpc-y!bv>j zmYwS3BdgLio}H)=Cxm`zU4_rPfqj(8?GhYts&YL?2-VbNC%C=Z^&t!JBgp3L@I>|_ zw$<&-Ih=mA4>Q-V`SFbm-uI2Kp8|M9jJ4y%9Wcx%S0e_+K~BNDwBQa}AO}~ux(+~m zT5Pribkwo&D{cL1n#JYpbJ+K>m$t)d~CRN0{J6&hPWzgRyJW87wbcLzeC8@NT8^WUP_bc>d zjW3i>M+?~5Mif_k5an1rR}%|bVmVhF3{YM+*p0F_Ht>~{i@09CR3F1~@;1k}khuld zy`vDwHgIeC4b_e8hWtI{+RMdxL3vMP=A@T)1GamRdL$HS4(TwN3B>r(XAkT#o!1F<> z;nk!X=w~}%T>W6BV6U0@IPgi--s98|(i!5-641 zSCY#iZ1bqA2Zgk(t*#@L>LyY(3m25Y5{6`TocDU1-2H~yZdl9=wSAynQhTwSJo%8! zfpPIM>?SVPb40Y%7;;g3+9+=qKj2MQ9TeI^OvRb9cd&P8iR1v*$jyX6l6@QomjUHz z-J^1)&0b~O;6y&KCS{l2gN1U#@Jt+k)GJ;Ils36S62v`mkn?`HOgZKiaG&Og&6^qo z-~f}wgt`TtO2)Dm6PasT&^{<>LDv>!QWi9)dz|8~ErY9R-^Io#?o_teztGeaqUWb- zYJ}q62{;#Mu))y1I)j>z*NSRBH1)4J8Zn|b>i<+6$?3Z2vn6D9PnSh6N+69JqXaEW zP!HpiiQ5AZ&%R82u53`DnFO+qDq+R9U0|Cm(3*i-&R=8A7wE{N&`#_(ln{w!rNj>= z2kK>N-k9Cm1r9850h+8aMPp-Wuy-~uoLy)hu2&O%##g$_yN0~^VT|z|;lcjvQUz9m zP*wZ6#C978S`z&lABRUS?^c)B=@a%m2A>gq+=VB%VE=Y7@(BFtu~u);7azrJ-#*Uo z0s6v*)!oHFvuLBrzl72xx#k_Nr{pAQAI9$96#0w&Ybnu@rs+ zpFpXad>nmCSNd{FY+&w{n3_VPlw1>d^=*6FLFj=UUF1lLTQT~gVb^2IrGeGQgmkh1S-Tii@}kX^Tl0_?>_GQ}uG z470}%)eR$Ze-Gm=8wp#lzHV*l*2GqTbN(K^!0{JgT4aOU9oWwv#6_|L?U9<211`1Q z`^h0g_nx*L7pP3sn3yNdT*2x!A5j&)$Fk9^Ls1W&SiJ$_kJamLF#&4hO_}ArxAQS@ zs?g|#C7=NTt)z^9;BK)!;!%7n750<}u)FWB{3mypP~M`#k27lOqg$2sfSC-F&Ji#F z%PE(V8>g+p}TjpmrqRdo#H z`)5E(iDpeArW7*=&&2G7B^cva^UCj&=-4Rzy5IDbqpZ3+Dl1CvI>yw4(skW(MuoS? zi|zNTaCm6Ka3!Nl4jFsOlEbK^Wirm>AlZF56lo3^ky1w*7+FnZJ~}o9MU3tW);?en z9AkhjVXQOEBg{;R*#KB;#i$0%p|EJoP;?5o^mmn8tBpJjaOW8!v^SHmeQ-vlZHR+w zow1#Q6WmlaLh~7hUH?Cz+MLDHQ3d(Q znwo-{{8VC#521??nLR0J`UKz;p4ij*fHh1_2V3aS|NAc^wyqb)jKao0Atwug6 z-dy&rGPQ55r}3vu9DU}P)BYv3r-*3~#Yk&=45JXOH*T39*ZWS?v&wKTA7;ws%d;py zH4V#4zg+3bZ)v9iVz4$CidF{_DI_VFfxeBTqw{n`?eMvUz=OpO(H(3*C=B#DmiO=h z?lA2pnrb+rR{W-Qqi_hU`Vo3qjvA(`g}Z2B4je55sS2JOVR$L}B1PYa8c58AdCa@R z+Jw-X8)}8@%Og;&GcWV5e??)g)>vbtQn*l2ADHeO$z#OQwGF4Kaa z@DH!ee>wDgL)>9Ih0S8~HyKZ1@=K^SEuozLL^43w)?W?htN6dfInCYYX>aUQ&-|96%LEWi@vZ=O)7f&2%5Q!q7Mj< zL*`47Y=y@m?41$FO6ljw7Xy5+17P(G2HuHLh$DBev9t<8H-DSa;}CIs_jXXaifwG;=$o6Lu{FM)zb`>zFD0yYRdUwA5u zZIL>rglslJ`&Et-;$!xh*jDS>a5|5jHds`)H;H^vy|5pK&vECtr6`32XJA8a}*wnuqYF z(y+hneU$#<iQ#(-wOm+}9G@d#L`>_ttRgY0a zS!I~NfHih?-=&3oxXF4z41haq=2d5cy`Pmhh&#}*A_d!XilZc~%hn$eBII?cW0 zC>jbRMrXh={#9_HEu~=b5|;o#8D%!=1NktBaqeEDJ7ZcG>u)dqI(?8l&Wzr+(>OXV zTjXJ+FE-21LD>hYz8b|COd8pX=1b&cgv^rv-(!~AY}jCH$Prcg$dRT37D%S!iXcOw&WImY`+RQC@u&rsjbNL!>X1-UtECGF@NG|v;>VweU816T7Pf$)}JArR2xmPB^& z7~gWqY=$@m^t8&Plyso0>=i0I(A=;5s3iFw&^`5_k9ic;LoUiAw5M50N3xNTMTV&* zhfQR#nsI2b09dAo#n_kST2~y!DpY4^CasYtqONoo9PHF8QBV!mHFq{6?y>x z{qt;haL-A*6Yx6MzSOIQ9<8<2uTygjZK(&UaTB67=$x(WfHbs)+m7)e?dTx+kWRyl zb|w~vg`KJNh3%5a4Wca#Q@Nar#Hj4+l)^3&LRE!S4TqF~t*;Oqft1a`{UH9MUGpx3 zB5VpS#BOH+?>)=4X%>NrZEAfC#at&Rl_(dnkKZFNoZQ9rwFt3I%N@umOIFU+CG`Q^ z+qvhL_!^4gPW4x1D=Pe3b(&y52Y9@sviK zSV|+-xkfmw=`r63?jVadf=kKNh*#B!<-QRcd?PU5qs^#wVOBoDcI_Fh>~3G#CRLW8 zjxt?6ewWJH%Hsr0Y=nYZUWskQjg!Lj8v?kwENqBvR4Qp%4)=pdm)MMtvob;|VmfQN z9Yk#*MVJ+F{P_@}kh6(w6DdD8csXJ=jxKCGuMx(^)kKlHa8=*%DBEbDs|es`f(f;( zQ!RH=&>-$|ki&MMAXD6q{22Z+6ta4D}*T zY=)PgcG|?TzdvQl*t3g{J&yl}_wP5_RXz6H@-bsa4=X=)$|+OMFFFEONf$nGMI2M4XjUIEx0VrCWi#OI{X*@eqvc+ z!O3utK1JNCGaIqUMCS(-;r(2$J(*Sg42+Tdu)LPJ71tVAEJXrHf|ucywFtc=a;w#N zXUSVRyl>B7S#WsI&ml!m_bVyp`R@Z)P*Jp?rhwo|U(lx+72B)4NtaSD5zL;6QC45p z-4R-{3I4$j(oVaM$m5CZPvr5$SNNk{nL8_fDe=b=-;elXiH|7bDSoO7e~5T3cT}w6 zjXX>-PZ84?KoX+2bTLdLm!tL!1@fA>50s~?Ka|gz!>Gi+E1xb*FJzR6fi!QlmF=kE zVjIpyC8WOhml>$?@K3oWD%ZE<>dir))Q(+ZM_mDD;K0-t?oiAv#0*M}X{}!0O-%pP zm=TJ3ytX`ZUm@l>V)C3xsDpL~fXtcyf_7YKThFjvK}W}z*j^JvwxE6sLWLL{XujEV8lE3#yN`If^J>sR`Me=P*esx;% zw_hUp-sI%hlYFO=Pftt!ttR+#OlA&ZQGmL0Q0%!7&la4H*I*RnZZ*+TJXx){g>>EH zt=OGWY_7h9VsY$|G9*JZKlhV7q0w)Ve5sN@o0j}~4fr$3rEehl3MGFaE%{6}dNav? zPNPvhjjyyBGEDj#G59`@1B>Yjm0eJP&{&t;JXE`7=H0d|0QQ=UJ%k4W-_+0JZ-5ZF z84E;?p8Y-)CZ2Nk*+oYjc|`PNNI0_&Kl4l-So>X6^nCeYUd&?0h`S*YsgOTZP8&12 zT*nGPKH&s#z+A4`*EV9Ht_R?la9^C>`f*jnDn$rlYFwQhN}-P_RB+OS&7pyK_)dja zvENO&&z^Dd@K9sIA9Ud@;-PLHZXk3Bcu^jzv;c?zRC?uZEoVbCHzP|!HGTtK7b_T;W^-?e*&i!zq2jKr zJ#M+;B-LRkLmh&0SCiR9fKnN^EAr;dK-jzsBiWdxnX-@GMv{VPl6o(YWEJ@vhs{eF zHE@>xj(sG&rYq2Y%Qg2S(aPpVP>!%&ST_>Bgm5u>VKI&q8vyeOV8V7BhvyI{FF4yt zNbEf_gM5v`V5}%pb6IfZV1DD%Z;GTL2#(ahJ+iUMQ46WcwN@=z0*je;!nq_ot$oge z$$gFsjl~eEtgc_^@+vG}-Owl~)c4$%rE-(H^RLw#9ok5>#$10%u?Jh4-Xk@=uWEYl zbJM%cP47~sw_bF5&r_0jmE>lZap>s-mRQITM3*k*C(0`a?DPzVKoyiR+r<^)*Y|*F_jy$&L@KM7@A2EEu;HWS+-bbaIbjp}1 z5$~EmzK7*g6FaxO3!T$_C^0#fmiLy230>|^50qwyIjAp@2X`w*FlVKDNO@m!shW8V zUZJZLD(7mrZHSoR2^t5ef1Sx4v#siC{nhOMcgkEw(YQ$xR1+Rsx%L+uEy1l!X%#QN4mp;x7b zE>tfTq=qh2=sl^SJ0Bo)Wol@9mHT{ZXfK8O>nal3aF9ZUwkEY~xyE6S3+=bXE%3|S ziQZO7Rvk#!kyFag9XkbdYWT53k1hJXTZ$4kc&)ky5i&i#-ha>nr->0#I06IMn#r{B zIcz>pK_`c&Umf8{X^$~DR7@G2wn1{nh^Ik^MTm2<{CQv+ewMPx9~o5NdGPA8-=T&EI=gq8<0cS z-Zr>EA;o-G@GOfyMJ-nc%0e4LS2?DDJ>9mvQL=h@_(C3wBQtct%Wa!#+X+*MoUd)~ z?ot})2;WukLCW)rMp9zJyD>nhsF6f>`rWM#eaM@Kp0wMJ?Rpb-RW^b+nyDda1f{y}Yp&>DQq*3}%>;7<74 z$e9)G54C86)WbSp$7$5E*<>$%P0F>Zf|JVl#5n*s7wfeRO!#f3uK7uxoV zc-Pg>3?=ISC@4I5F@oPMnH8a~w*6`a;`0Uh$4-(*0^+INR{U+Y(1lk25nFL;`J^AS z6P0a0_Th2MSo@tdL*i$*H0Ob$v>GQ@^d0xuMtil4*_A9!w=spXbi`h#h|AU^=!={b zfYIRY_c6a8_1Oeb-AG&Tu+3h~;)tZ&o&3_+mE!}uV-4~K#oDe;W~}Q@pVJJ_qlMCoT7z2f1$f#b)8R7_%KX!AWW`2h<4cnx~M!0?& zie>jO6nh=Ol3xt;sA97gpE6{<+L;>3{hcx-G>;`@OPPSF_fqRUU>~fNNUc*NYvtcq z>tXj%tN4xaTB9rUr>qr}JY{{R^!}jbv_qH^?SMRN6*@y#6);JOdn0>7WMc#-#ux5P z<$TKLjO?-Kxc!TJtTDPFBW#ODY<6|(Hrt;a_3GU;Y&Iwihbmoa7CP28zD$Q08gvK< zW6OuJ@w=RD-55CZB8AhikBn8MXP zt9n+A6BW5exs*-L(rU@54DUkOlJpjQv1)V7(KRl6*s?AkCqqIuC7;Q*B>9&Sc3>un!G>iv4p9U@^dElSN3yRQz>@vOMX*yU!E)?e`=C@YTTxvbbs8BdkcYCRm(;wAyCdhmI5?*-9c* z40u5#yMg7E0%0P!B)KIXh!iaG zSs=WZyVaOSxe4xh?DAN?Jz2f85h>C9R{|AZ&9Ln}a@fuzhsZI&3_lE14205t({W8M z1?e*xJ8NSz{Nx(n|86R5%H(miuFSEK%cT_`(d?EN+mO~xTaBY=q->b1sic%rEiWTg zf29IHDHcc?YQD6CjV~8@y^lXOD#RT2wbG@jL%N%$x zjuigS01xH;O8U$FO1e%- zx5psJ_ZEBeP||+o!G~njn%sY6#Hn9G_^u$PEc(=TtPDiO;jwL9iOx3wN9Xn*uoocF zbL{^29f6G0+}>(ij!6JH(8xuWd*aYcv?arBt1qk_Y+J4I6mbWUvE3k#Z;iv9zz7xW z5b&F*y=CYDr}&JLBWBu_i=rib5rtrFrHGyay8`CmhJDfz)S{rL8qo7Kq<-Wn z5VTe&=(C$n^FQOp+F(%vgJ<8| zpr4+D>n{v-+!!$-&%B*AaDX^miy|!BapM;x|L1seQ~ra1>zFCE@9QXVReS<)9ik!H zCvg4tU{X2Yx)AMPwvyA%N(HTl*9ux^B<27^J1PoIXE|i6@qYw2W6UX&Q=loI^iScn zfXf(TF&X$KauanxtzF8nw~K4bgQNRM+<6d*J#qyj>Lv#r z-%o&!gb2sNU&Tc93@+K^u1^dFA@Jvu7A>_;1U}|n;^aLr^27%C2rzbuqyGN@meVG5 zs10p~p1@j%^jGLk-QD&UC>jw)d+1C@h3AYg}&y~+%v7l zDYpEi4UJNPW z*}OE8?svf`cfVGYeFIUBE^Waraf&?3UQn^eY3;x4&-$OT+=8Bz`wxc~u=2lii|f)T zSDf`th`E%-_MJ!1FJq|&OiNM5fA)v})e+R+alPyo;rveDLXCC@ujFVBqeKCSb+(kk zwy|<~YUQ?OAFT0ZFH?wV#$%@Uz#+L z!+L)UDvzp4`YQ|0IJ+M!iYERb`3%EThTLhC{y3KxgmLE85TZ5}qwWp4-v5eHD*N1uf&p{AkM zHmlSt{i%#~5^!F{bfLQ;+Ld$7MV{pbe{&s!9~F0fp9CwK=EoyJb={;G7j6BZv1hd1 z#*G~P&K_A~)q}g}!uTodD|T%$yVQg$ppYv=Cxs4;{s$AQ{BzsnTS zcRYHZXqz9co1!s%@@zasQb& zk$*@#Rvg4kt0iL{Wqcn!1wL6Vy|eYm9R_uK7!VB*`UjJF+eBtIZnoP`<(HhEdVu(=l$W@X7t=s{?f&egDN5z_U*w^lUOBk@##y)}UZ zL-{{RFwcE#DlTkp&mw*<+96KyPwgpCKeo}HK)AUJJ(;a&GJ3fUnGuXB{^=X~71``L zXO2!B;zhR?K86d1@jQAzc$8^7Q2qhLLJ z>x36&T1kDVko*8sdU}UCP79{yG|~XF`F?_)IHMfeHOow}0h=em#tb zk4-8N4RkV$&|?L^qyqU)tnj?lcnz!q6Do}N;CPMyxh^&~#^d>%%+F-Zo$iiX-ZQ@A z-@2w5A-#wB(HcEQ36{iXEHPCxmujRQtzD|)^%%lW%^yjy`f)Mt1LZF^X~yYBYBeQU)VZr z2>#?ccbpzuBApwdmu)V5gdT52!ztDMQ}rrJLx?X5SG}GE{ym^)d;gxPr`E8#qUT}$ zJ*g`y>mb54&+3YvS}42+^!(PpXX^P28l$p!b^oGm`2}Ca{FvG4JZAgXr+B>VU$e;A zkRJ&MaQ~utk0kiNeYx&=fq&<3a=Kzdj^jrWWjxOGuc@h~5qt%|v<0YcRuFNukGwQ( zYOW<>SzS4ABw~48Ictc}tOYX~uKMVuooS<^QXle}r>9k`QXlh?$!&`EtOqajS&x4F z-2T;zmNMab92^bj>HcYK^`doA$gfq#$az_#=4Bl_FYDLyvQC(nb^N@nWVpDkKO#-R@cjsuFT^{@$kjRz)iGi+OnhgY5nT?8~+~A^Hl$yspka$ zZuES|zo&KcOu`fQ!gQZ5pl2jcCa>;awEjCHO=bm5pFVv~z0~+HIqLJHeOY=o^6vpX zoB8)lJ=IgCNz7l++z)+y0vUQeo+3fYAV*WRbg4$_ajJX$wH^hm$w0<$^mvH8X+TuD z1p^cr%;-BW!2f)@f9j*+r|@+vzd%MGJ(ju|ntOSsOT?dOy0>{hj7ZIeo*Vr;fBnB` zy2<2R$S-ZDsZYYJS-n^Riq(Y6aWL6e0m-%ptvA z)j!J6=iJ%+NzKxpG-dqMc0Jel_q4XF?!)-e_RBNX2qokr`M^;}6tRP!O4PGHb@HB8 zqQVdMaqf9)B%PkK{ClRJ5BPVZr+PzK{Pq7dvZ2T!qn*!c(c@b8dYm5D^K$@%r~4Pp z(u^;i>}sZ-0_bX{o+tYEOg*&-2se7Fu-d9WkMJ2j&OPV)_kf;}Jj{&$r}~>L@C&>x zK{Q#9_WaV?xoeS6r`<(5JyZ=FL62%5s>f`8F1KC^80wV0qJqLi`3g@^swMma87J`9 z{Zq4)sv}>%juV#i>dQ(?r2*^5PlGpzXEDD(MiQ2y!c@l{E-I~r6$Gz!Q6u#5^&~+# z74RNWyIiWi{B{4L4c)=lr~Fc?ZL-)8Swk1)R)Yr+C+X4Nhw8Dxy`Hp%$3sj`0>-Ku zR7@|TZgiyva9 z$yci;%3t>{u|(z73f5D(cn?H#D?HjDg}coBiRRZ<8_W-AqKC4vB=xw!hw9;b zle9Vs%~03d^HUvq9>$N%8iwQeDOgWmX3`EIG@}PUfgu*mfAc8wul#lY)V^U6NE;%A zRC)}^)a!8*d7SHCeRAKSXohBVlR4HyDINY0&yoZMltoZrsjDMK_(rQgh~N?Y)E8}y z2`*XENT`J0#iB+`;q@YyYQ#()SNm6iB433{bN`}MDEJ-M;Iyc9M6KrsN-%@tU$5Kv zffDGGO*k)0-#hr_Cxp!l&8;Fz!KD@`AOscMO<>XU$dQN_^tf6>S< zh|oBKo25o|BWk?Qm%KwYJi>|@LjIp;^lZp4D`Q?@UZ&n!^9#DKd6{}w4dKW)X_VLf zi?-q*LJs4Xa(JjBwO~F!2Q*Ui2?f-)Co&n_DCfOIsA7i_|7}^?xClbFC%)EkQK_-a z3$IPftm*aRmUI%TUPXP&ua?ee)O@a_y`x;;GZ7kJpDS%KYp{LP38`Zf9e1{GYLvE| z&!x@a{zYdZ9+k8nX4d#)yn@8+TRmp*b2yG(X8LeFW<|q!x_>HK`3v}(&M%O0va%>0 zul#lYqN&>QrITLUvykUtegU^pdGRnoh3Sa*Q6o!vJ&_;d{W~6hKabR=oz5?177mGY zq`r%Cw9Jvbx{m0@mpMX@;%GQe_fJh!{ziOtcP7`^Xhd_J7!W8yG9E zG|#W9pc#g#FtwzX5JK2mOb8)_y)IYNG{Z2pgb+dqx%YCbsAdoO$qn4=BEh49Ip^O=&U2}3R!C-a3aMb~S^spJ!#Jp9rYkBES1p}()R0+XnR zL&TSD)da4pIwpwg!3S<6zR)Gbx?E=$RJ+8wLhMmhX6{BI{nhQ7jxNaqIS$bTmr^d2 zTB1h?UeHJ@y+P` z!q5Vinrs6MiaHOBsJinIbgi-`aI{|RXDvFQqYFJoL_fw=8QyI|_Q%TbqQ(_JM4dw- zk6WvAN^m~Nivm)nd!G9OZi*{Uhq!rKq6nlk@e$pU=#J{VzUH6Jhj?Cf0VjIJ22DD( zia8bKk~;B`&S-HU?pABEPsLGMfX`KH7hNYp_V|!+WgbY^w@znFGfh~wg(E@g=z`Wu|5;3S7OAv=0^G)Mhu~d@12? zR4W~N{m=jLZh){~Cbu(o-RlMjE%sivA=0)%xWg8u+@Q8)R`mUDfMn*v%GC@4=Bs+H zSfB%m+L>Kb7V2Dj08MHd0pqGRf!L-h6@XxCuEcZsExNiahiVdFTDi$|ffGMXiLRlr zQkXuK3z0a!TCf1g{YK#))yf_(j&GAf^jo`xuXrrx*J8Km`_j!KYaKYFPsRy>F;hnY zCQM~@->7R1TB|gT&Sh;D#w8|O2iRqU@|_!Pb|3}2^ z!ZgE_mqy4dnMSl#?47C%2-pm|ADjw$0Gtkb9>^1;^yh<52K@u@OwbF!^FjX(croaO z;MJgi7rYzvBJj1K2f_P6|4ZOIK`#b>9`x^nJU%LhMIc=hJyh)Wbe4KHa1A3ctm@&0 zV5<-xV7k_(!RnFPbiu#%AlN`;4=`pu?N?c^1th)F{RZu9m9WbuB(6(g_UsfxGZEOW z>Q*6et!MxyU@aQ)T-NERRf!3DT^8t|*l7JtKeP0={;YrKJ*E*w?-dYXJsjeSR00>2 zAy{B+S_+L*3Zhe4Zt1r~z$ufRGlHW7a63ReLN@_EN~)|u+>Fa0lF|_6l3HMu98^^c zZ5dD6K`o9W(x7qf*JvHp>b)Bcy(`)0s#;?I)fX@Q8EJA!t(E2fptJ;w_SJb>lx4nq z+V*Pu=Za*m*vj&HY)RfNwj}EnTSZ>W%LfmMtt_v{mgL=HOR`?ERphnUzEy1BsrnY| zfr#DONV?3`BvLywGw=WXnxC@#&uinC;vA6K9t`Nlar4mAPv3xP?p#GkmTL^kYt(fS|2L%TK+zLNNit87F&|_imf8A#rEYxVk^t*u_bx8*pjSQY!!JewgsB0eAPwk2H+blUDwSP3AmQ3 zo&Wsu%hzh_uPnb_o4-k}J`7doXOd;Ud)oGDd;B4>mF4x=lDu1NN!Ba2ioBGU?SCuo zIq9(S3vh3$+ny1@SdaiuPEr77pJ57X z-1YAK-)awhN3BJ-UC2e!+9r-10BF%r>3%-xt+7z=c_7ftUi*l0Nj`V$tV?s5mOj&S zZvh5QQvnF)g>OgW?dJbldt%w4jYK9*0Uxkc?w^xEBut?~98uMR{(A!u*k^GkA6>eU z{4fp+cxCwyM@FErmaEGH*z#=zpFo^YFbm@~m~=Tit7vF2iVaw+z4y*N_;=>S9) zfB9=_DX6tlP*6W5DCjJxOAhLIw0da(Vm2u2az-3#rTmRA9Pf~$_f;LS&?Uu(a5jsX z%#S@q%PvE4Te_Lk^6db2&*#GObr#__5*CJfr?xlwCzBUdyEN6%7-Wg~sS|NBM(3vk z7+r{Nm+x_C=e)F@3e6d{5hZndxvbWOW%)!iSZE>HFZpEKCE=zP&!hm5_?}iX7f)7NBw1q$vcF)=C ziP$c5>`K-;t6F}6O{(?_fsy#Y*2EXO6zyqCnzIpBV4Q1OMvC5+ygHK7kEXre&xxmmszMe32`S*{&WBWFWHQQ3@=g? z?LyyD42)u$p3s@2OS6vhnVEbg^>7w%U>^LZ(Ir-@x&$!a96SVn7%o0=HSxRIGkLwx zAVyWQen9eFBguX`fWz=o=@d~g^t)80S>72C9+Ti$xGARtA@d*Cm5Gx?v&~D*g)}}? zcvh-MqQ!bRyh55&*fUlvdj`}~_<1&U3j4`Y#aEkR*Zx6ma~Mi`5KpUWG=b}hFLWU* z$$q&w$|jKXO7}JovUqr)lt18mwUg{0){gwTtkco63t~()n_ZBx8E8U5Y|dq(T<8~s z67Tn!_G5_-Nw`2Xn~|q!Rk%b9BCXBL8`mS8yD7vrZ}d$dF0z#yHSFJ% z-Y2TE$7DQAM7a>(r+N+tbyo4rImZxU={ZKHPZFufmk2*z=p&Zx}^MYg1wUm zu}!th#Zz1di&!ynN=a_m@ep+#1B47{Z45U3P9z|vyha*gm1>UwBQ*2YsLr9A zjqS_;1fA=mdu?UJFetJ8LTu@+o5Z!A;)tG-ZVAhKi+C=vnAB5 zG?}7pJJcch+$Ea$uu^K%;o6Ou z4hW?OJY}*2Tu`+M#LeIX&n3Rlg*+!$tHg1(ATZ444CIw0gTPCd`IP)@kT}gJXzcTQ zKhAKFG(@_jNN9YWYHi$bKPthtUP9I(-epFO+3+mj{4LDj4ikcX2D;z%wNO9Uj|2bEEkqzPhPmjX{G^JO?H55s-9^OF9jcXIq`)qgrDfy@rAgo zs)+t{00J*rP9SfDY-RugmtCfvxGuvwrbz|8OI3a^4M5;5pM#ub`_m<_a9rnNowyW3 z-Yky1{d53gHp-t4Kt^9H^8pXEOs^aU3`+9KM8R6Z^8SDlg{dat%mBo0)vWW7%_M{1 ziqs=98ze&Cp$lD71gxY?*nP;EFpdD?m}=GvQa!HL0=xmFs{Xk%>lk(gZ z&-aS6EyAEAH^iA)mgg=?)48zRkq@(nNrKSa1y-rnc2o2gWx~qWx5agNmR7FVq{6=V!pyrM}U~4l_!&>0`F5K!$4`2w~4g`&g4{S<&p-WmJoUBvT zV=}$om zH|Nr0KKObFfo7MhH$F++M%7Ao5HT;Xtcb*MDU9;47>*c%u~q*8(ovb~;<&I393Mn> zLwjieVp=r|7V?Cu6fX@x;IK(V=woHSPkM#)Ef%jf;7RXM{S_t<{q5;*nS>fqfTdRX9=bR#F^K*X zm(Z&Hoe^qv&xh}3yo;A0gPDdaUiydQDDs6CxERc$AFzCe+b0p zun}PL_V@h=IAU@W@TAEf1F;r20~gHw1K_I3Ex-+ve+b+*xfQr$@{fR5Opfd5lBN_V zbSIkxMBu@IV1A1a+)aF;OR{HVR;cO^&wvq=qrhsDPXKF8jsax8zwd`Y!{kOFa`hu% zlewFKEhc{qjGNpHY&ZD_09ows+XC!1`G-K$XI+QPC^9SoVnN ztmqY8eDsJ>RP>52rXDehieAyhsq&QRIl(J>MHkb5=g~%_qE~d0=wT6BX23Sp+H(B% zcl#C&O0ZOKKlMd4@n$&w`fCL zzEit1NT6-9`Hg^vr63EJqQ`Kv@0tYRW*=_Cb|1ex5Voazeqtt?u|m}}WrXw`f@C$n4j)w(UX8zk4-`$4`bct6Mw1krBmw%WYocKyxbSA%>_ z@J^8L3Vs>n$AW0RbS+vj_-JzqJ?7MM2jMxj#*RyUL2I)#etUB&dHk!)sj}_&n^V|6 zd`_WtP5ot*^|zQg31}P5ew%e?|x-liGt3_t{&mcW{Rwa&r)CcCLOu z1Bl4qJ0BMvTK@f?&}v$xpmk3)Z4UJP$^5DelXq1sTl0sD<9fU>M8F=C?HK_PRi6Hm zLC2yNa8lLDKO-VcN}DDo1;x`LR`P)lGgmTQHQq~deoE4SQfar)s#8gcK zGQ1(Hq+z>6;`$&_A=*pgUb8_dgk(VDnuEYuRi|M_M3|J)fJwozlw3#yBGN$Ql{6qC z4H0xLhMlt_LU2hAPw0%8s%gL@-jG$&Adbr-9VG&?*}&qvV{Rz~aa;;%U~M@Ktm7~# zr2+kdV@@eV4dUsjs*=hnC5d*4&K80B1rdFr;c8#e!vtBSuU{{WAzv0EV9ewsurav6 z7F9abg!s&SrmG8~B}Xg8QPe;;#J3*K) zbV*^*i3p?C3ZnI@y29kKbZo6daxgA>o2qiPLx5Z)-8~#6GxSuDrv;aT)X^omxvH~R z0scpIo-9=LC^`JUkCCiej!1Xo8F+$4HfghBw;nw$jI1s7F+RPyD+Ub%1*&n>xDC!RhSVTjAS(XT3o} zXW6nW#F>1y zAfB^IEkmrBF^l}yUk{x|XF^v;m(+J!rIpH4@%ws4MQ_L={{h-6k?tsb3N8-(e(mD2 zTq5g1jHoJsz^pyQj^G1Rs@8`%5Paa3#2300+gmD5Hpx)!h?r~WJ@enz zBAK>9DUzf$-=Y?PRxOfC@6@~p_q@x{#w}Fer|?2!w%uYc&i?@nSG6Ez+rB zYYP}KkxZ?_K{7Va26t@Drk3X!z4?uoj7<83k-n^&+#94oQy*fv~dv z-+L=YXs1O@fT?d65Ql;fkWBL-P6i)1o%li*n#3zT?S3HQDJ31hSOR`<7 zvoY1mqa$u{8NT-7;DohGPo&$kyv(;~_G>7Wu9vl1LsE_v<3CV}T$R=p255z-G!19o zjx^F`jRY`hvb=1hMH3<7=t7@yz(y9Ln(y@z?N+Vs8}(*c0hNxf&zcQUsaZrc8=_LP zh-fyO8KPVW_M=B?7A<<)rCCHhnnl#3*%eu{g6`F{-M-02Xa6ZP*jQ3hNcW zIwgh+0SvtxtuR9J24GP0mh@tWt5>JPq!hrdN9=Uco4eCx ztzMm8pN;gA=rpjjTc^LvVtbh0#~;MN6)uD^i#wxoJFcoNakn5ov*?WJMg58ab5{#a z>9<5GduH-j=xunM0PxBPwQ~0pxWA~XTTb9wQh~UoDn4*e)us^NsEQBpgKp+SM3@tV zxkpthz#&zuK*S%ZOaOe?V?M-Js?rC(O?-&x?gZVPcF!k(?^JCHvBPPY0CuaIzhA_O z-~(jJd`0ZSN+VZfeq2?13W>NJBtZWa5b$zv0eUYk5S?w%S^lm=9sv3%1>jO}0e(wI zT;Ny11?Zo+c{dw$^Ep*H1MZld0Nw~L@K$hvkAn+*7F^)h!3D^Vn#j}CNNEz6Y;~NZ z20+fl%~RJ%sS{Tnc1ejNFSk^?h)B-67Ihfe_ub2m7%s^{t~HTs)tbQ%)2vG~%jCB( z23y=rgJcdw|AED-x{F-^##C~SH-`qWEz=2k_HfKgT0;AXR%z_`hF z^e}E-nO%8^UK0^wVZ4jenufwnVFYUV$US;92#=k726a|vv1?z*J$4w=9=pZLo@p%P zYg%5F7(A|XR~yG?Jw9ITb#IT0!VSQH=%%MKF8f0Ph$dTwCadjiRphbUI?S<;RlDql zN5p>Fq6QEjHa7vLo#qt{osD*Z8Iw(bbteU&w)~!8`F&=E2JnT+W;I4yk9In=^R=}~ zYvF!&t%x1l-}PQ1FO{Br`M<=KA}*u8(R-%1Ry;uX`8Kpl^9Wz~*=Pq1V6(|dfJw|6 z5KIOaI2>HyXmEiUlMUb*lc>6|%4ug>XNOdEi-5uLAa!&>tNDxQ8TVPz0{y$mu3M5uS?@iYqdtCK?r)%PtA*z%!S5}XEy~g3tGTZ)!OAN>1BBc2eJ3O z_Fm-lSuqvl7lQ9H7p2&e-c#0V14)nZcOfM726PsB4IpkA9tWb8(dR_oQdNV`3tkNJ zp5WCW$->(~0>3ob20k&l_Y1+7CiMdux{L*>qe}{8fzGmyWfBhzF(MjL)%@)(s%2o0 zbf;`}plEgPe~cvJRDA;0sWJ{F7fEl#dMzO7m7eLucZu=x(>+mYp#x*8HP;uisZa=E zTbStRLQ;~}h&b9(fi0?@Fc4uHo8E?#AudM68b zkwvrLDXn!3y?n6Bp=JAF!39g8=Hfz0uZ4QjtN9y{F#MJJH1j{#Hr0&|yt7%bJ;=<0q1cy|ee=F&L-seA$<_amCk*Jcwq%~rZM{})6dxIDcKER|k zpLu&sRjmW36JO|3Y<*Z9JthOm@9b~Zh`&kv%Q#jI72fpx0R1O#0WA9x}0g)T+=LMD>E|I}%# zG?fWpzp6VAaWeS8`NW5KHuyTaq$cPte!KLMkRub!EElX^f4{clFr_OK1TB1Twx|Id zHCejIce1%XV3GgSaiPi5IIhpuYe8#;wMt89b>=IADgRiLv|WgQQ>M2}9POBy#B+Z| z*0q%(S}n*X3_vbObIpXc6ecZ9B4?%8wts)em^|F^;r}THqmUYAd@anQnO@8$e?UhH ztp}0y7#K->p$kbnlU=I|_FE*ZwS(TE1mmij-8#A?7lgT0wUT$N5M|zNqC?Rto1?&} zsvNKhhOY)N9$Xz=lI@Vrh_v!O8Cpb?wKyV@q3aUY!?k4R!gQAdfE3hnb7P>N$*t>` z^;QXDs+1;F(u!&98>=+&O6lzUpx+nA<@Qz+!Hz_gMALl{Lm}47cF+NSWpeMgf_P-v zdtNtzmwh8xdaZ>UTzqAN27r+sLx9aTXmG0;ZW;itq` zJ<$tn;7v0YL?=mb3ylVQGyjVKcve-(0|*f|7}k@bT&mW(zsZgLO&pBG&23AQ2PX?u zF_KnlP2^Q^qOsCq5!X+^VbIDAO8f7P|2?jc*=!q;5u;w&@x*aip`%2=N>xudh-ky# z%pOa8p-bvGCu>x76$X-CDH?Pr4ONXAko0PUwOGO->&@O;DKuPn>A*KxH^ac66Ku5Y z?El46xm~<316ml47DfcCf-JPKUYrfV)zO9CHhvvB%^F)SK{QtQEUvR%+?}eGcI`xm zY&?K)*#e`%1-1qkpaJOuyH!0_5PO2Jqe~i|5uGtvyTn6}qq*8((Iz9L zK^+%t3v!o$rqp~#5N?~ITvCf<4ozvHjHXB(U6R&josFwjZr+anUvZyVn0XAldkL|{ zCjQPVZI};nDfqy(#D};UeBhR<^@T2klG6g#$Xe6m4Sy`LQu( zO&iXt7*qJJE|pXg&f%sZxp;fH7Cq0NOAGrvwv-eN zH2qbJsoU-l)}&w4TSu3oNr+l$fH3JAX6AYhZ)hx4RRAe7B3FqM^USM*aS&HWmtrKi zmIz?#bR7+hGCfF2azXRhbsG(2g~28!O$i{n-!-1B#{il=*klv<&}0XQaBH0+4I!Eo<&vVI-Ds>aE%KzQCN6N^r2p5* zJ3+o6c+F(ga;UbN^>;9%Kmt3NatospmVyCDqE5NRAp7`7a;v;LQW#bnpSJ z%@?|)K<4W#n^HhMkU84MfVNrd;C|D8G6;qv|MtaEo&H|m&;y#J^uxfdrVl`TxBxGh z{*ys4dR!VOdd$3BtEv$I##MEpUkL6{l~WyEXe`lLAGwMyRh1S%q?MN);y593z3q(Y zluM;%AAoO-LPrp`P%f#lH9EscF&Q_DmNBs1WNlx^BK%H@a!Jkxbyf(sp;P%~%v_Qh zDkG|uzR&+nOf>ciiIxji1_{Lb1$yCvuVk=Lob1jnZ2cd??l!k`MQ}UFF9cr)xl#}E ztNk!v%1H7UZrX%EcXbs6!sFz5k$7c-`g!(7r~uK@Bny+)tdci7`77}rBz_*lB=1tj zRIM+$OX?!Q5Q&Cmy&$6Sw|9;O7dT(RfVWMy0K$}69&LkY z7dlCk0B@<3W`NM8oA;nW55~=%1h$)O0aGUT0rB={5{Tg}J@%4(I!J!?RDMwqU6~|) zQY!AJg0F+jTQ5z-->dCDe7NyRIn*Xx_%%?>9leY!5T|6)f~#}Og4ZG!3EgVwC4ihrW7@9SW~O4HG99w zZj~F?Ea*+_V8yp9ep!(@H1MpcFQ)h{-~ti1Z(q&^ z7nm{G1c*l-SV7TFDZ%1;I3mIRTr~ol%G1g+P8o+yNh0Wi_su%(>3u*#?fL*&>hVCBd1GRRR;@>9^bko>42P6B z9Ehc=**eE%mxVN6?5z1mGe9{@`xcSos%l}oU}uoK1<_co7m}pLa5JRZGjmx`m{3yk zAAMYUB_gJFZQAutL=S^PBE}UU8Biif0vQlV_p@~*$|dz;L}y{(?`ww^N0+3EL9Es@~=T7-@ngF)hpaC2*IRTssE)X6|BaKI{WUH*z z)X{}LAc9Te+1f17A<0lCrCQiU(R9|SA&dO}b6BLa2f>PwNkh;aYk2V?r_c9u+^#WXr91}zfzJxLl#MRLyxgnhBd<$h3aF-6@eT_x_kL++QUl_#v zDYY_ty?(h(j3-|Zwzb$SZaeNH;-XZYYvwq)@q?K9;A*g^cA=GVKlSk z;7??3P;zTa9bzQ>CD~z}c3lPeFx6ZP$p*U~yH)hk4`&;CdB+@KWig23BxNH{3RYXo zAA*NLEgXz85kTMFBZzIP$_K#SVLrs3-~)#fAL3Z>fvbrRaU=M^-NYBVFcgVqC2Ot$ zubG@olA>00uMLb_t3ym-&=KX54DdCss%!&j>VXZIGT8u#U0mRJZ~-D07kD;1>xPDJWorNq;bey|}=1aDl@n{pfcz zxIhF}o2uAu3N3&^n@A$#ESGpF28o+3F?Y{Ww{tc3n0vHgD-NSdfCDO8Yh;=rpO-sBjw#Z*a z>7j+j($HEih>rS`z%VFJs{bQyH!=eLBe=kGCMST~!3F41WuDRRJf`9(jZ2v{YG7zG z8w*h`DHr29ixtuU+Nx|@U`)~`kr4-M@Q$i{>ga-_Gy2jPCu6D-0UcG(0|+)m@qvSh z4{;>;z@@|&y43ypMmG6vL4>^@_mh2TQlz*ROIMQuNP2Y8rPvOM)DtDJ#-u+taKcDXA3joNu7!doHE$}@G35FA-F)aQ%g7Pj9JTHQ_C`3 zNUCHmDKPfw4XV0o0Gm}AQE*%}3x~!Z;j*Y&5#YG87Q}HWgtbHrHxI#d>|#=g zWDYHyKKk8=lqnIq@1K|JR5<~%zZXVoU?`M_oP*uBF z95cE9lpt<2_KR{!E#PLODz_0J4wNwf2e5NT&D>E_LYJbWL*ih8+L?^Dk`76aa|U0H z0Lx64Hgj=Y9iVFc#~+c#5Gs|E$N~UoDJ@I0quwjJRe-(<>1~EydEU*hRFsHy{t{-T@vjH zEg)L&s>P@)dCv-d7Nm|YsgoFIT7=X?>!d`dRngNfXr7VV?C#Sc#OdGl7m_8@`hOg4Z! z!3F4&vh<4Jwcr9D1{a9%Cq=oW@LA-M;btb8O$F>Ts$A*8m`wg7|I0d6hIDjE&Nx}3 zDiJWO>aASplJo|2mg!}Z*+!F{Tr8Drnd(33h89E&z#5aC^@5E->gbZX_GnrovI$@Q z9wh$M%Z4D_cFipL$kMV(q%#YVIRcn9Ju{x!OT{HcjEk7HwC|EcoX{b)3NW5p47&vc zC@#=e?b;?onT;Pi2WABmk;lb35nLTzQp+?I2LA6BLaUQ0%}y51hg9VYput)spJ#sp zx;XTJ<=yo9=JhWWKi%P=x1yWg%&LC>h5I!Lwcwr>ylC=q9bM=HT8DIYL{(Zqwv>iJ ztSVbn7mHKU(&8HeXKX>fT~Zr3eo|FxgCMGv&yVi>Kk?X=4F#QFsai`EdaET^V;80W z2nW%6vDfwE{g1~4I|fXO=|Vh7>l1OL^@X(Jmx5}(8q(OLs;C!&TW!%A7sR0Z70c=1 zve(=UQb(86+A})4rP`&(x!dNrG`3mGFViEui9Ed04oxSBA!ghJF~nv!@rKCnWBbRs z?H}j1bETy{+wQ*Hc3*D0FORu&&q&NOvw`{w{((+4?{suY37gSbbjKluR&984Eq6M! zYFWy)9AaqA5m$?jyro)s{Z91c^$Uyk4QblMJln@Sqsx4QQqyg_r(CUtWXolWzre*9 zI$1*}b7(c=l5(;-v(YAk$w5_-Hw64`tjOmCZwL9F;Qb&+XCrD>J?@r9e3i1@TT~kx ztg^;?Th)4hURD<)qN>%CVn1zB1E5FhO;u|S(d)8!D;!j?Fqp^<_9ms&SI*a{szbnfRfi6-CHTPB#D`#vr4JB5&#s2wR?%+@zZmuC zY?$~f=_!41;EG|s(4}tQ#!a$sL(rI}1CZ>yrX||nTeRPc{XyIB z1(JO&NAo4zXuZO_2EQYSp)35Noc|w_NJ9fSVzVZ2GCTmZq^#=bQtamfaU=qktM;5s znV#)+=;30GMA}1ub*lCT!5mgA!0c2O?NW4A*l37GlLSbvS`gTGnZ4TmiZ|X_AceLi zcPTcPbqZLbs>p%aJV3-;_1981=(KBoDs5-33f3}oNo}WAdTh6aux4Yay5Kz1tBPR9 zuJ!-Ji2qZXw?XAV*#(AGJ!}xMEd8SdYZ71Rl18U8oSCbFb=4rX^6=p-WNWFsI4p>@ zs#+gFn(ST2uCPAB)dY}SwIHy6`1;5KDYPv!my`ugLTmQ(>#ma@y_KqJ6G-8AeZ@Fp zy*7~a+M->G?Jg2WpBDimCJz7%Smn7z9JBG(V}lDTUtLF~BCbM6`?9u^Dq62$@WU?0`TB%(j*oqMM=rc1|B4EC1ZQSlY zhzH!5PQLrQXOo}k=t2h2Vjl@n>6r%+F>F)Svj$N<6QqtV$w96)u~UN3D%}_+Utzr*jH({ffD0x|>jYmIhp2S>h-eP0o3gr7cewChi+3E25CL4ooKc9~ z!3XvvKE$-DIs?!l>qDGU6(2aA_(B)DS#GaYY_COo7*%Fn*~Gt(l0t0fChce=uH0pl zy~S4c<|d_ChY6DbvEHy&y{!^sld2vUhrv*57S*Qy@7kn`A9>o}O>423>L~EJ$7!01qEdgB705ntR$ z_zAHVD#JkTG`&*_=k+xn>nE4n&3_!&sXDLk@yGfh$Z&t(D9|x~^s#=31Li*g95nxl z$NC{yLj8SXz)|zZ9`j!zKWY9Cfs^L{@Ueb~v*vFE&Y8dQv3`gP=Klz|X#S5L>xZ~% z{wCm>`I{c=hqz(>kAY{+|M6q}5Vy_W4BRn)^JD!GFPZ-bz{}?U!DIapubRIFc+LDR zkM%>`SMBfnL*Px-d3}HQSU<$Os{MUif%nYc`dB~22j>5gjxLP#_Uu;)7Ko!I3OqRg zNj_bY)()NRR@FcO$n}3}{JX%%Cbt2foBVfyuT5?TzBT#p z0S`>>0Qd{h{=R=7h)+^?0>kG12fzxGy8vDm_4oaUzH-laW z-U<5O244z#J$NtZe+PU$=nddoLH`}_y`UT5he1CMejM~D_<7JzfL{ka27Vj#55WgP zZv^LSIw~hW0yhV}Nu%My+tkvtKPFbthOC7X^ z705CN<8KPE`Bg3>XmJO*Dztz-CObeoxH`I|?y?7lmcIoxtyA^fDmtJwyfBh7KSaP% zlO5nQ)!OY5CJ1k-YWcq}K(DeBptV)({khhs-L;O0&2C$XZ2Wg3vOSOMpL- zI=YZ=w5D`+QB^m)c>s){OVXmD&}!vcwH8lF>#}O)g%Qoni2d+ja;?c*GKi2TMY*J4 zXd-+~+!7gDr3*PNzADju)yha-``hse*Gh~0_u@35%p4FrZL+imlfg)60qab5fcH!` zfY_BE2YzL4M@JU|$ITs`J+Im&q`P9jZBfbUwFNQn7KatEJ+y!)RcliO6Ndhn^-AN7 z2u9{Ylndb@8r9hm)yiT=ghhx-;f;I~_lZNc@~gm&COZHNUR?!tsX9`K8P&=H#nF7R z=X5lO?F!jO%l>K1Xn}Ecp@X!*n1|NBw#XS(JrU{XlC)Ukp*59ju}oZ&7Rd^&CJP!( z_4S0{WRT|s7lYK%1=~c^TNwa@ChIRiVv2TvwW_s|7SG=%%*PB{Gg3q<&j4mzjFw!S#MpMACYEg`P;MMtBF0On7d^< zSCGJRRYwLfqAEVH-lTsCXKRqacGa%^5Wo0lWVKE!n;04kRKsy&Ok@l+3(6%$NFQLT zi?sPgkUF{~Eyf^xHOEEHs48?FU6R%*ojtAEC8_8!d$Q45YSI_V`y#vc5}gRTw2H;` zm5~jw62n`+7uy0N{jKdk`X8S8FaLtrbcYj#lccm;tSt%lGqz$wF0i z1;C$X8^8n*7ig=xgAkFa(lt(8kN=#G9%9QZ)|C&4Ae@2y!37SR>;R{O3(T180M|`6 zfQYdp$|a>_L}#O_>LJlg1*xM;UCW=CgjOxRBeHq8ue>|^@;>-W2Q#wQj-SuH(&m4E zQTzz`B5V0CewllEVX$n4kTsx*@v`8R?MN#UF3H)9&Mv4*%X}RWz5f?+o3k=RYX$36YugWc z=&Z3`XQ$v`kf#LUxFgCXIW8D5N#-^fSs7E5-AD@;SY@&UTnR34FSxG?J`VCT!F=u8 zmAws*bS6Zl=SoC-B$~8?QbrIR5u3DDl7%RbVBhP~hzLq+4J{_|J9P(r5;5%u>!Lx4 z7KpvXqSC}fG&CzJ1uL!#mI@YFtm@$#7O^Is2wfN&2qHjJM(C{$Qb(7h#Yw^Si#o03 zIB9GXp_c-iIHx2JBst7#J3MN4J!(zh6;;O#@mlbKpCvx}l;nCq^cGc37Jw`>aP1@ZN!_GXde!EFjAgFGTQ z9^^T}Q$gn6(rMojhrTID;8l|ifG&!wHeFH&SLiGZSUE09#I)X`TIjo9(vk!+pcjED z5q?Q~SUl39m$WG>^ZN9Xc1ApM)8F?*O3}PNy`;S<9*NRR+LW((eR@et;>cQm-w#vr z=Jn|%Em{27{EYyaoY$w9v=HR8zwbxD1M~Hg7J}sV_iai!p4X?Bv?QBM_xJrcC463= zUec0z(%#>?K<0UV2=Y}wA_kt> zY?5nenqbQ7VmSz&RMq_uFs-h@29LR0rTtnOeIu$7Zv()wZt9YMjTP?66E`d1jH*5x z25<`-yl(e4a`-Yg{ZctT%Hw?KbK_nhR$NjwKK`=F3jf6G^|`IQN!xjstR_w zG)Apen^9lRYSpG_E;=A3mlP2b`;gOG3-*LW&$_J!5L&enzbH|x?9z<^jj#iRRV_z2 zd`Y#x?a(R2$rD61`*x z%y*YGC2r1I)kcA~?u8Zq+wB%NyZ@jdBB=R#S<3PM;*M^V7XRC>MzGpquJw4XRU5Wk ztCefjw!hbBTb$TA+hT3lD!wB6uD-r1!W2e^sK_RJ&|DUy1!|i)vlWMYS%nBcFG_8o)_! zvisP2FPLlqSA$#a9kyZc1O}n?L{;m=tX8czd5g6rct=);-E3`EUz>GUTPC?xEveth zYM~uAM+KXLtOlEFHFB+5KCxP%s!;$|s`?flf?HJa0qo2dx}+t$NM{Ijfek^vC33#R zB7gDgipdUeOV!>W?y9O4;1yN#A>J^*1H6;?5FZ6!N0$_ca?+)>TjFL76nxI%h9qoN z)k6{nuLt?tG$5VP!bIM}MBYMe$Jj7yFqs=n<_0_gyQEZ%>MUB=mmBQM4QjhJ%Fn3k znFF|GayIjo=fxGj8=v|twU+->aGOYv8wB%T;|ZKge4z^wCi{4H^%rxPI=aOGlB*U3 zJ=2X8aM+}Osw#OcZJKx`BFxkcOwbdlqf2TVt*pU<<4nmnMfh4KM&xiZ*P1*kZn%Z% zlHB4l8`fN_HkO#IQdNQgo~@lYh-p>vfkUe1L!43-AGn$LLKj+3G$AWnK=SL~(K#J_ zAla8vC%#Jzh<}7*ix?UZAh~Ko5RUHdfeR)lfaJ9;+9gG`N@tj96jJMz0YM$DtU*l~&G!$n?MQrxm=jH4f8s;1nzY3O=Mx_yrdJ2JocIv8RizKSnD`KPgAe>H@r5qM zE<`r`V~5e}34jQdaRBSeY@z$h#9k9xgncSVBDxx+jxMP&*w3iSE%Ch?q>e60i!??Y zvnf#TQm+dg6-nP-QPm~}M4%l}E_h6Ibkak`>LK5#XFEUEK@uT=1V4kbbEQ=wXxB z2v!lxCAlJ6gk2)uDiIzfN-qA&T03WbP2|2xo0}B;&8TQ`U#?Z!DA8hULhC2FR_z}D zp0r+9?Q(~li)y=z42omPD0Q7g2!>Rk~SNm|$&AN3YhHoc)tNIbSEvdR2E8 zVoRu;5nK*ZM;H2yPjywT7AdPpi zU|o)en!jYZ&1!!B4vVS7;=F3^6tTS>q>e7B<()bUgGMHqy=R#gCT|otf4LF74o&-2Ht?ig9KPIN+>|vvsdH~%KNpQlPx%LkLdyiWVA3yN-WBO<1q5+O8%Qy(DF&H7D5Y=e_|Oa4#y!g*;ZQlDZX`Oi7R`M%uwzTEj<+K8L~(yYbJ ze2K#Laco2DaZxTQfg~@qio=N84^*|v3nNq*6#LKtH#b+rReaC}UP$96{Z*-0pZ*Jy z=}-WekRE7=jWN)oT#7ymV>>RPhKSuVe0pn%neC6)zX%0jb__+k6nz#3Zd^i*R_=2W z*WuGI>+XjFx%fOt9bJkZ3!^nIp%!88abNCnZ{FF`XpulhD{LRfHd0a=t)iB$Ov{oQ zv@BdwP)l?+uB!3NBkAPLcdV^LGI&Mw&ulQofJa}a_#Vo756;vEK?GIW_@wKyP)DtK zpfEVo!3Ai0cEH~A{{EkSnz?3i4UaKU5~ zxTxyE6uQvAnanyCv_FQ}ETOh<;DjnBEnHz=8K-2;&ZEyHfN0yldK?C&E@H4qTG@3{ zluL?asm{VdX_LTejYOlWmAwhkh}cA0S@UI4M+z>ft%o?wvQV`e5hL0vjq35mF$l3i zd5e5fnw5yqqUXmgDn*2d)%N{FA7{-L#-3TCW`Qdvo4{37k3Ga~^Gg{{j+R^GA0`V& z9Uu%!6A}YD+uh(+xY5ytlw-i~hC!+Ch>l5=wHP+Bs^<_TwL;2c5|@0VHK6)%ttHax z5*!XF%v#MoV6m!`2{EE7KCnu)w!p-*ExMJt``vJDwRv7!b zwd5|000wlDQBWjYE{Is<1_4c0;yd*>B0h{H0ydlM0K0<=>``@m5FhzwsWb@5QH)Pv zlbOU3M%q_^b?Q)M15UP!t>rCdwMlPKVe5~VnL*mNE(@Mf)h*$|7lf~x-TF*0Uy;EE z7dgsSL$J-{zVyXkg>p+Az8j0O>|DrTie*q7T}^;Ui2q;7h-EKu!7e8N+>)EU5bp;c zpsVKFyAG)VTAVZEG|(f-*hU^2DGz#)ObY0z$h^Oe)XB=5X8K4*2v-+R($J%^Tx$}o zU)o?&ZMmfGpp~Tqtt_3a zaC6(z%`dheN+af9$?cu&!&6eLMF7P7>i}cH1vaXB5kTxTzqAOFqeT|^?miq%02pcJ z<+imTG+&Bqy&gnvTWfc@Y{Q^AE;6EPigID7-uqW#t;f{%1MDgZv)iX$-8>m8w*;>` z!JRh*?*=KROVNES7ykz0Rta^X;KEg9P4Dtu9h} z!YECv>J|Mh!Mz}XU)Z?x{FV&n>^jN)UcDuR$!M1@(VxmnquqnjIBu;LyAlbg++v}{ z1m=6aT|{q+O%^I5xpY~fqh>9@e((7Sk?r=tXyQXe#Qr_UXA>XdB~|$WUQT?7`>Nst zZ>rkA(1meNG}%yy0L^RM0a_Fnz`Am`B#sNI*UcpmTBYfY3Zh9>MN$a15FbjE6w(gS zXli=HrX{oT05ZRkYV7;pO5L-RrCjj<^T8yc+#rEsBqS2b)N#R+u z4v1Z)YosvVe7YRVY@fCEhP`z`LY|dtvBGXEoKPY zEGdONi0P6NJ+8B`Exx_t%~d3Bifi&NRs9B8QxI7w?TJK_yJ@bL77c2UayQM~O*41X zbSOHcXwHkiud2QH1HmUjelGaSAa!)98%$ylcWSj<;<%`*XJpjtg3eULZnlft4n`@il@AjH-G9LmV@I0w5mq zAzlkUO}>-(LYHD|o5a!72GHxWy$y&xXH11K3N6dZB{g<_FyAa9ZaDmrVNC?`f!ddqhhMmK11 zCPvu)B)9cXl!a~SOMtYyKrZWD!#3+pp#x&Nq?pg?EE=2onaHG{Y(3a(ErQspEyoF}oLNjlnnYU1z5H!cM(_8^2O?H5oCQX0~g2w}bnc3yC zCT@1;)FR8_Xab1KNh`N4?Yr2`SDiD6+_uztZ1<=}WBwveLCz;6{TBLv*BDMLn;MpK`bVUJSs3_fr#@gZIfK5$>P>tHXIV5zDeOMnrRj|1yWjsjyQp8&R+90PWm z{2{=#Nk5+p95eYNfWFHwKzB7B06o-S5d(BezqtX>5BoaiJ1hEyE@ z#E7c+0Mof=2QvGDiL_l(n2a^zN&xqM5Vs96i2iQWq_k+L1#!qG{>H_T#D{n?_`s>e zhd38}U`Ew`ATFuu?f|%=YCgpE-~%@jAL5p(^np97)`xgWRea!X;tO5qD*YMM8Qs^_3oD42N>ZJ>u4KBb4h^wOuT{*1ZbmfGDL;&+mw*~Zw z=~B5vNCpcm^4E65z<*a629uJx6kC`tj^0ZHVKDnAua)~eS{RVlBZqV+`#&w0xds1G z?h29K2!t*~f*xTb)aQ{Qh_@-@nTrD!wE$9HbAcW%Vpvdf!8@WMokbM>U%^LosxAX- zP3{H8O!@`=mLP#`COg2+-~usg_5#r)lg5Q6?`Qw%=L&H&c))7a+9E@bs1a&M)X@bO z5Ujn3+W%u(%$){sMzu0w#If>bi$;MRCQJDg$6D(wYH&(PEz%m3L>nxy-(;z4;@CkX z!0R`(O3}aY_dH9A*F-ww1VCK$!*2&?6q?`u--Jm_M_=y`cGtQni>s=YjNyQd`4x+r z?+ZQ&Qb(86OHN3;G6)Q+Ix>iL^)|(I>1DF2w+Ve!m_TUNp4#x-%khcsjt68?a2#5t zrHxa{a#hW9Ahf<$^S5kW8YFRC3K0*BQQ3+zrR=`6@E5O1@l_Q-qKqUw@n6AX;> zQ4ve?N|09tuLb!t0j{L*j(~S$B6-z`SCO4r=d}c#m%#0pCk`H>E%PW0Lg>MWG^yVi|lPXncGh0wv)MSZ9r1&x&-C6 z6S?g~Zd)7j4;9E?s%lm)Qf5{~c6cXyrhB52fqsB(JXt^|6X&zxa`W21VxW?!`rfU&{*3M`H~j z-0aKU6hdg^Zffg_zTQ*Sf`4_^%~bAYDz}}I+$Hq{+m}=|H*?zwY(Ea}=Yr_eMDC_G zTnD7ZE}?1qjbPAO=wL7&BezG;V-SdGfO$-x9nVCs};{By!l568e(Y8WrEooH_jJXGLyT zm!?K?7ouF!v>MUbsA`v6Q}mXF2w>0X86b`8t_i?f&$KMDUK>byZP6|%Bu>JgZz+d# z+T(78X{uI%&sBT28s7Yefrb04u&#~rj67XbRYoogV!iugo7=%+F!KGId;VCdj7* zmx8=5xEbX0f|rBT(IvUzWI$EX0Si>S_96)@z1aO<$HPLw#W}6knv0}||H@W|2y^VZ zcwZ$E*D3XLOt2-$9fCbUP6?)i)X{~`;g*qpT2;1W;!cocB1XD(U*tQ%)zKx{G68HbO*`{qSr6Uk=2h{`^Jh*`PDBL63%n}Q@=yMiSD2ZGemCH3OG z&MvBIom>;#2=cbz#USqqUJp`7mt^~%&SECEJ`wqas@!}d_%2A&6E}{fRV<;|Y!EV7 zCKw5FonSP`EdtUeg*}4FATgz+5TFa$J0PvD*;^*P5mk9xCtzuc+#=W>B-`d>kUF}g zHvTzCQA`})VyqsZ>$Me$#zNID(`%L3Bu#5zOhD2^?hwSa#@{HN4z7+aDR<{|c0pAJ zR|Tv}k+%eFZX#b1u(^rU(Iwe_rn9e9CHhwIAjkz8;+QzieB#t>nLXQ8Wt-2Q=CnBR zHlle_WL!FGwy@8K?IpprAfFZ74)P@dx9oEMhT!cW6`o59|0A(K4bfMEUkCX>FyBMa zTr5}`WYw1Q7!AK#r|m9dhSm~Q&18Tv)q^TW-@e+x8<``im z$3qw66<>P0An_sM zfAr`8M-w078P&?9ChA3Mdb_Ibn~36WkbDsIysEfjxR5Cf26c8=Rd>`(>eqrK(lBV} zjj^Y>B-_P0JE^KWW^C`eg~qUE=2}&8Hwxmv4Qb?V8up<>aXE?WzS&B0rBh1w|+HK)>oikcX&{NXN23eF#3jAZ8eXc6szY_c= zNS$WSY|X+HmdqvDGM%}1kuB4CN03bC!tLkr;8ty6$2GslCwAO^-VWQs?Pt}^d(!wY zv_27h5#%?5?}99RELXKCwVEFZJ`M6K!LNgSAecX|>*y>J zdvS=C2}XikCm0Qq|C?!Bkb4A^K~@7jD)y5h;(r}_D#$B>>p}9r3OyfW)%Gp1-w)9* z1z!aDjo?9$3p8z(sCJoL+r-`#qK@D|kVgdk?>;g(BbW)Y+U`ZMFNf&5;AW7|3tkTL zHNhJ}zAN}3$f}z!#r`Hle<2v~{B8~khJ#!wSQBK`_L$fw>Z0*C;}e}&T#eN-;~KA} z4s15r<_7lvR3Ow!7D+&E_f?Q9bMd5 z{nM*O64ovPiTO`rR*F6EziKMST4^l@Lf=sjq z2QA>A*%sDC9{~3ATB5~sS*oK(f4P9mXXU%7R?#6F4q$`o!@Moa^m=^$Qn-wBW$5WG z#-Vh5lDbQ{=ql0{#^?b!sCj?qe%wqHM){!j*RFc#Ae28*E=&|$tkBtNRb9hLNnF!f z<05wkm$kD$NF800?NOaQsVdvEf~SJKBDfypbAlIw)X^o`!hTUzw)u>1e7h&7gWU?4Gq&3f2VK5Nrx^n_yRvMccL71UN5bnbEFg4?T1cRn171k&K9lI3l))h%`Z@2~8s+jW{BWG}1IqkJBU4IF2~dIT%)4LxgQ1t@2)wOP~XWceKzRO)Ov3;IyI0S8_FBac3n^^a4dM5IK7a z%yxkkIeQ<97*a7&7Rxk;=_c1MoNCA?!i5V4O@h6SPGq0a2@X3tpprA6QBlUxWe5z4 z+zu`kNo1!)N(7wMMJLi{bOIJDI-pWmB<<-^BrQs&fFs6r3gAL_0c&LqVJ1-X0=d25 zA?b=5hGG7=vU0s2*v07l`_MWCFSO)|$jhLHgVW!KR)k9wRDT~@;g!FUp*85-e^Z0b z2K6tk{ofRtJ2Bd5JVIbxQHQ*YtSeFwg(0VOUPpDg2n{^*mbh{)xXE-A7*`#bk{k86 z;mooka z>jTS*jGKnu`=mQE4%E;Ba(0^JHX`WnziWg^Xiy-jy&!7=)yND&?Q(9AI0?i2o3my}wd4Wt@Qs6_V z{Dah%xtFm~YRe!fu`1;H2xnB%(FHf(ZzkS|Y&d}6F>z&{KXY6`_!(Em7;;g;2`MP@ za`$1Oxqc0ta#n?BJOPSQ;EA&!;F`ne{%VZpfi4=5+sqw&Q#kL^$$~PCD^up~`N(5w zXc76ns+_6JJFlAvZ+^r71l&}jnVGSGeC)fA%eET9lS0b`nsKf- z2=rI1j!r)8^qZBXmn4lVcbqk^>gx$+awbrym%g*CT$6*bg(c?3EqTnG+-?-8=omprG#)?7$%_i0m{v0k8Z-C(>thg8hz8x} zGrM$2^RzZ6Kkd$y)RADdE(sQ;K=Il-1}vnJ8vv{q=Eij}gqT3h3q(Qk9(4U&YBNEy z;f-kaSSPNG0>>4UXk3|ybzF1{mVpGf2+deeF3uC5C@W(OC`udfi&!DB86cy;cwDgQ zJ0v;tgyRZ)f2%5%t1GCOab>DcUDU%zF0gC&EWpc#x>8((eGc-Ul$Betz?knr6is{+ zm`_V!HM>keZ)%%Bu8BXCTD>uDT*Xckc^)`883vz+4R#MX*N$LLP6i<_5ZS>Jte0q$ z%>+ihKxWn_Gn1L5PeE_SDK6nGjH^hl=P@FowV1=?nrIJh zUi0R8mr3k4uqNYFW<2UQI>7-P8mEX1-~c}XhfdLnl#NcnAxCsTC1(o5;XWK)#-qTL z9&kwok?lB8B*6|Gq7&g53Od0qM<;T-(Ft}tI-pW$%3e^qm=XlcE5`K$fM2L}s#1g> zr;F#-{_312Q1b#&z)-t!70Cr7@W04Lf5A`^nOMT|B^$A<1T7}7&p6zEBpM3Ml5XR$ z69@(m6X-S$Q=rQ@eCkmvJaBZ*(C4@U@BV%0V_>i+{e9?Dx4HVEFNnRrb|+_>GF|sh zZff0hqb0`rbzO(Opr096G<1D|0m`ygoAB+yhG^2FLBRlGTv0LP3YzB;4U4M{yv7yj zqMqmCag{~f3RmoqJ65ZWtwyTc3$S%Yt}#KyOrYikBD;b=IfhxMEa- z9~hP3Q=|S8;5UX6n2mLBV-z*4y2%zPYXU_I*du;L0&@r#BTCN3FObCnv&&9xuIh8f0oPx10b~nc-88lR z2<@)*z~NnN4?@law7X^kQRq{X$mQB1UHU8=KWM{ti^da1@HQ(Gze+AD7_r-BLvNCkE-if)LsBW0 zih4Br-~N1s`#`py7nS9+Sk+8fJ}c^(zlB1(-G3kvN{#1v;J{nD2M;$o&}0O3upCHa z%;*H{Hlh=G$mj%@afnXjWgO5$@G*|uhS-RVcg08NDmj;ag0tV^zz1wC!>{pw1Hy}P zY19xtEApGqiem6PQ1+S>9_TEK=Yij-wM(Z90*}*JZhcn>JYKBz$%ZI|d{*QNpB1@c zFO&^SVI*}7__(F;UT;{~*sGl5Yr5OrZrYZGSDX8`uawcfKZi9$Ic z>jjElpy&l6le|F93)H+o6i?rS9rPy(cizmg!*lg}uBfYcuA1kHN@QRk&ToNzAP-v> zUm3Zu8dtyPij48PYMv`H1~C%$(@#`ll~krMDmUXCQAuE2k*;Tv^)qpeGVZGK>L@*7 zi{sHLpx;qLN0ISDDqHljMK4?QvQe8~i!4V`>m)_m+m_8m+RFm50;Ihk846Y<=auUt zTleMGeYtgCZZzz^2qSHt9{ms~uRd~~pyWVdTt&|n`Ob6od#?V@ntlQY*b7t9pz%9o z{n7k$8-i!20w^lRbMbas&p>ejf*WSTp49Hz(lbzs1$P(<7lk{;}4nP_( ziO`q0*-XIAYSD?jp(@n~Xo~1W_%;{#2_ANIB6iJJBcMUK1M)9n$5xfs%OYM=5xvw( z4LPHZ7btpxq8EtV>;>vxpzZ~tP~s)^DKm+8rnrEC9Yt71d7u-h3||z>vChjDy=>9T z7QJj_sF$sI*_xNFdD&=~;eDTb9%0R z&lOe7bJaXoRE0hiV}9K7 zw(4c8Ubbqb`f?AWI*;MN#6rgo>z(8%)I3+wb47M|E;W+riuwVgdBR-tJirePrH39j z*U&@O){z}vw%^P4d)a<38-=)+t$Nw2m#uo)$V*#bQqqQ<4ty{*{6J^c2{>~i-=Swg zw&0BF=(D0K_^fDR`4bdwRHuu~pjpU46Kno@M_!JqNUqJ|(nXMQMa8@e4(k)){KWuz zRY6qeI{FSZY1Huf^Vb;&JY=#|Ve9bvi!kz485*g17ACwcL&N#Yt0{UlMXx3bR<9zvL?&E|EN3Pfi%IJ-_=y&FnZLdYSKaH1{LcBy zbVVWiaoTVP%sYO3VXqsoF5a1S0A%hr!EQFSMO@@0&(-g_qGs@1qn<08zdlJz%-C6a zz#ff&5$q%c%*SOHx5)Ox(;Zh}6yPkgQCuVVRbosqi*w2r9Jv2Q1@{>`3(ztYze+BM zcw!r)+Ck(MKT5m|Ff7+qfhmOoECur@feF+u12uuD-y$dcOtJ~oDZo1om{sQizBKe{ zwB{C-Ti*d-8l!Nay{4u}H8v#{2`B_NdfBK=izs0L2PR!!I1&+BMY$7SuHn_0${@g=$F@x4+|A~-E{bOOKx zGImjbH{Tu>*Xc(99uqo3@Ptr(SKnl*Oo>jQ>{B>1H)s6wXIT4Xeguv1z&MV50w9w`#gPK*lP+@dql`ROqT zydlHNH0qqJDYM?oDz{8a-ZYeIII`zFli<~ic{O8R%^20NHa8T;sD`xx+TEHFuV%!n z8S!dHyqe5NMU~!~GhWRZujY(bbH=MV(`gMG%zRV#YU*B1ooa0DT_>>mRlLTirCvxi zR=mcF*I1#(H|3_vj{$hG2yauPIle+*&Wmn6F`|F1_Nx&vqH;EUxz6}ZS(RU=T+y3w z`%v&%6<#Btg*g{%$3W(Htx(KZ$`#r51+se7-Zg?8bE#}#_Zeq*M~A%fkWB(MylXl1Hsmp}y#w$wHCSfA zbOIdhVI9HSLTg?iGtgxP^c`mts8hhM-|NpH*mo+@>I}MPRBrvd0A@m_cTgkkH8n-5 zVPC+ymViPS$GmK29HZ9DEH}E#g6XA!e0UTEoJ2f)@GE2iV<8`PxMq+xWj{X*(iZ%pM{*prN*$9&n!5y zy0m9=vvg&efm}3(mqzgYdRV?k))#sCzFj7k4g;JKnrQ~g{v6E7+Vy3$**X)r3xGm7 z3)Bx&feHnFp@yyy{7Pt<;I~3Yyqc)T{W4Wkr<#u>Q0KLZnJ`M(A(>DoFl!|m({3`MnfHM1MgKu znD1ZxmaUzvYHA1*$hgUI1#YsTzeeyT4i!(tzAaoM;9j=qL{7ss=ne#zaEMOiJ);wR z?&w6O{~PfWJb@#s9!*k1h_Cn*z>7jlsH75|K(0$TdkhE0vm=RB9YY(rxJSgzAY?rZ zaLG_9!jIGS5^DGgjvNK_#H-4x5&R&ZYY!|Kz>%YXE*nx-jexf1aMj_PMI2qS&MB+h zY4<6REvrI6$9K%z^uaX9rn^RPL0pkPNq*3>9tJR75!buO`lWGo8pEtlloi?e(=@9> z4hBMwogaa0x@!c#5m#gZ$-lF#KLD7nh-(5t^H6@^FsrSs$j+%Wt3nP&XpWsNkWF`u z;1O{}7Lfc{oaMY0^vtJ0>)5VyT-IqdE*e)ffIR}%C!|1ohsKqun9~)M$SW?C_y>UP z8j3Q*f)fY|H-VZLi0q&cngeP}1h)&-ckH;0fo)}O8a$!iQ@;Xm0_K2v7U27a{uE%l zdPg+=LRqrT(p8-)ul9p#%BxgvvQbUEHAM;-SCJZ-+>q+`@U;rDsk}sBg;gl~oN7{G zVV`Osscb_{j;K-{4+)VO;!TIMjV{h zN<=n`Ugi3h7wKJkx!I?sGzBy%I+19G1cN%761r*(eknh(LQF2QhzBk9 zZ<-I@fLC;F$11I*z5^1e9syW3^dW%94Sf>ec|%_WxMC=S`VB+5Jhey3s=$;&zXn6P zl~eQO)OH8Z(+$eft&sPOi{O2u5`2I|J|j|w zGdmQ4s>B#cCZ3ytN`%O?=((N<%I0%CT@>P4fM0e)gA za+N~ITXFj9-d0?$+l)&erl9#b`)E5r-leP>8?cKm&s8GVVF~E(kDV1-KL=p4(Ok<) ze5Q(2H^DJooa4Dpd9G8?s^n_!x$2%PDv=^qbA^IE@|xRdo4}b|CbC{wKO6%vffdy1 z^DwtbpiE%0qm<=bjxC$Z0H!9|Oaqhqem)&*=1CMJwkg4Y&xqE zv_&lv*ix`Y@T#c21n&#g!`BwodcWp#qY~KE*Go{ufqM1>3 zJE~Gttwsg_SnHhS8@al;g?+UwsS=taE}*=Orq(*xcn$iy9}~7DN8H+{X#43ET;{f1$fX<{33lsCnC zB$f6c+(=~#6>r5kMhb#kaZsBsMqW2M!P|~bRVR2x=qLdNyxyva}wjQ*!$Q zc@mESQwmksB&U_i7G$FN2rl4|wnu?%>ekh$)&`0y1uo%$mz+qBFE@e1N+}VTY|RTq zuGkH(BT~B-u62ctQ%)Ii2r9YydTlEiNs+*@Tw!%}tgXVLsf{Yu<3QUG1U}laroc!X zL*QCsgosH;UP4Y%oC3zA>lAngN0-Xkyr z?gRynCHOSI+cN7NWfcjGt0YDE>7wi1?z$d^6fPh>0WhxKPF*bVb#WC5$O(^m0rnH6 zu<*^GBysdZpt-S6o;QsTze=HsV4AoU_UEd&5mMFzt4{zWUrzJW|3f&~Hjb@ZJCP46 z9NP-o-~`W=JNn!tU3!$F2WV~$Ku_l9)%n(g7fvNOCNzp6W^GbdkzlLPUV__%)(Ex> zEfTQpP!EDVLVF2Jd2W^HaF{^AxPW^IcHvO%h}acKmEbN%Cz8xV1iTu}^#(m=mX1(W zKMoA8l&%{(4e+j^_*HT-!x_PPc9~p{;mFzZrpP*FX$?c6TuaDfb4+gM3Yy}^ZYn?z zi=s$wQRLf(1AZmoqq{j_w>!;>8s-wRF5`gITL1(33N9h*G7d(*W6SFWjt_C+*nmP% z$$6V6v^Ft%BEQVr!C_gEg2$2dT`8#j44^IrUAbteW6LwzYpXi893P^beNgDm5WvWf)c#8l=5iXbRCKXXjkjRW=(SjqfVa$G#wfCF3v z9E7^|+dlCX3CM@y@v9VSqoFJNgdAPm#jLUv6bWqc+DmZOs07nOqr!KB%sz<135JE{ z25B%RZV^|sOF<6KBzPQ@V7t%~ewDgZ*K}3s?Ji-)>TSdUwVo?#IX1*5agC6RGs5bt zZmRCuazTZ!iSMn$3YKsZ-)4hh55OlVreh$Yz%O8#ah0xsYn`}CoRMs=G~-qZyaBGC zNNsNGb?e%*@>6aPv}n^q;oPq6FcNY~H{%zMCNQqt(ULsh|s{nlTB~rU1;O$RpoHmf2CGTD!j#aj{_I8fC%BT__NhTs(VS z_jp~A6FgVdb46~y0?n`CfJ4c}SIu*R*xOa3UB|?=n)SvNxz6h+E z>m8$=nK%5Eh2urMIL0oa6U3wqjoQqz`bVx|F*XY5E{qA(7eO_F+$gfarMw+n92D5q z%apti2f~rkEkg;O6&g8`N^Vn@9*5yZAS!eK;IN^?0A)kZ05I;r@DRWwhSI_h4aKjL ziyof*-4EuIV8HnhBW{kMRW&gX1fai+^3d(65hoW2VIUf%Gk3gCjFH0dslvbEPy_b#$D$7Jg?$7JhXw(e!4 z{@}~K$CrDLm%Yc!MjrLD>eE(k)yr1BY}9c%rrAaO2+Q50`bKL9*325J#+uc|75UC{ zss6?l)zotpy{>3Xb6hrxImY}k&G8~69b-;(egUI{Hhf<(9M!>dskMwNs)Oe$(znJH z)xmL@)s8X04vrUwJI0(kyodXl+_yz^-U_hS&^Exch9XzAgY-cD0+dS z7lI+6{)aWxpqk59d zMiOm+o31Dt$Q6ux6Kh&%*)Wz{VleI{gB?p?at%g27~!nM$gYlIZ7+oIsLTNX6F3D- zDO4L&q-RYPF|O4rVz;ECr3;G>Dq_06LPbmnw4;^bBtKhyA$MxrPNJXg(gMTL8= zQ=Tg-kxy1UY{fhe@RFfF0Qixi=ILw`{sKgVDZwvs=qiTDdWn<>HsBDQ$e7UyIDF?` z^=yXxuW?|_NfGkpEI+|e_>H*A1g?}aks}f*6Sz{iGExd7qA4wZ?y10wdo8_@klwAjgi>rCoVb7=9rjC)=e=D4D4^=j#Z_2^XcqIL+-cEZ%~4g|<+OT~R?RaCNrWAD|k|v5o#9Q!PW}A&Ha;Sn^t0%<)Anwgn2k|$P*76lLE6anj{qv3{yy(F#@6@P3fewAXiGXD3-?6SJC zDO!)*>=4)3E`VnZeGT9}L-DH=mmtI2$b{iuATpdPpBGn&DnBq3ze=InVAWuc8dmeT zZUzzYMDV`Q`bPkt8j4?~P;IahGPTiF4MjHKNUrrv?Wk89tvERDzAk|%n74pz#YBq$ z$y&OuBdfASIu)pb@(alXErY6_5+L=+F7FKI_0^d z5tCfDmnL|JXg_k6~U|2sS7T{E~{g-vrb-C*vhRs z#vIppuDa){ck1G~)wD#gt-G78Tk1JM}QPm$U0+>Lq^}%RqUafn9+=`e$ z@M)K*BAm}Din$TLN-j(}IhZlgKye4!pt$!l$ST-L;z^o?t^ z>Kj*Xoz3^!)itga>O9tI%w`ZwDynl4mE@8Y3&#%te!iwUKis|bgE~KtQgdEVqH#f! zzbvj%f&r<$hqnl=gxpar@We66*4WFewe|SmFI5M9nciOAs7*s-OUfg!ZH4R=sVNee z38%dY(U3`j+a#brAI`M{_SMe-d~WC$0A_yFkd&jbIX%Z^VZ40g(gE-&xuA8qIrrav z*3s@#ktJ_}_Y)j2{W-X6y_~ZGSB+eWV>^rSx{6*GyRee0g5$CY!7=7f4~`dpa*R1H zqk0P@Jz8ehX}N2;P2j{ZOkiA5H=r&Xtu(0`S8jI=27cp;yvE+ftaXL|v4?t@oEL}( zHe0x@W;1sL&``$!eq|`tFokLZ^G$7TB?I%hy@#cSR~yxrHKDG&ns5r?fQf;FM*Z4Q zS=C`!P~VruwOW0RE7$y>lExL;Obdca8dq)`F)OcTw?YH2xc{NB@zO0sdXkeHiP+Rx zCRk4Bw-9*|N0(i#zyU9*qpi&W^$(%4Xg%{mfF})Q1(~|Ey_JybyudBCqcFXvt4vn;u)j!+eFkQdS^jzz?`>mK%Oq> zGm%a%o?A%hfwv#xw97zY+jshEj&bD%j&bROrZ$o3{lvSZR%5)$M&U#|Og4BHKbmXE z6sB~a>RK2|r-fxXTJ_|4j2HNP3x3KjnM*2;A_@0wb94;1XP z7Fc^L??DUZwle4#CDh6UcLFo$l0~rarQeL;9{pp z_TL`_`jFH{J%rLW{^*kSbIDe}0NAE+u-XIgitX#X2JpT<4^#a)z$Od|sM!{Pc|%(O zztU%hs=om^19yR80$|zD#{tg$XHjPX-Z%6^fZrKPbC_IxXxc6u*aIS%7Fs7*HY$M` zU8B*gDb_C^0+{_Z+W)GmQYZL<&>E|f+_E1+EAb;Q5F>a`XpP`Aqq0`d;Q+&%0QNPp z`i-bc9}ZBT0oX1389++Tey#)A5V$&=2Kd}i+Vs2(snDiva&LwEJ5z>w^C~oNT830; zUh;XKo$&vYYKjW&`BYA?cu!a8Y1)N?Y1%U~FS^F zoV9RZ>xNwPGf?kiZJ}AX)VyQmO|!g4%g@R3nh%%S@6&Lp`AXD$xYT^O)O@%^Q`K(R z#Eyyn!@zjWP+Dr^{RkVuF1AN#yIqWo(Ehz@kC77qXANc3d}*lPdK+QWyrote;Wu}G zVdxGtjm6Ult6j$d8`xk!Hk9%7fuWxP{Mt}D;|@7vgg%)ylr8!`j+{~8`>0CNM}aB1 zrr{c!)kBYCY+1}#89ForRJ!|;)K+~QSA85;eH=$K-j-B(*()!5c0I+P)I!DKmXvc;gL56!br zO%w^#Q-QJ0Zhq7)lE1vkx|bTErU6QZ^wZtoWKNX6nI6{+N%Io zLKNtfy-i%PyFi{&*4VQEe>9Xs{eD?Hb{BxDjW#J?PX)>puxppH7l;Z2Q+UrC&Cz|0 zh`?YI5Uj|D9!5R_@^)Qw(#zl@_^r^W|A3mjZLF_In^*M8`NPPe;*rZhzUNNf0`ieN z0aS90%9G7FFofL-ka(ZKN{^N}$Vp;I*LB8~X~`e#)6JgJ~Ly;rK zMQ}{0K4UZtw5#iarf5mz41Sfu+MWgl!zaNx9P*c#@DuWF!#TV{KzEQ&UvRqJ=mbta z3Lr+pec~$;m^D#%ya`!UgRVl*FSL9NfNh>Lsel^B<%8nNt>lEVMhM)%5RH<^Oa2Uc zc?Zy)I8;d@eK=qMfs@azq}8lQVAe#H+>&b3yI%WEF_n!OieIJB_p5c5x9_wN+W<*) z7J?^)rh^%%Pl56@4#f+RDX8rTJSyU1;E1v^VGIE!wk5O?WWxB0=xiw^XZ{JCnOABL z1Emo;H$Ev6ge%*y!!mL(_732H0tUWuWsEHS7jwi$acQgSZJ??$k#}*xc!G_nqUgYt zXt9&u1PVF@!P`Qs1V0iwLhv3AN{&49t$p zs;ObhxK8Dj$S#QsMFQi>+zq2H#(`yJ+Jad>L)K?fQ2G+!W|^GpfSZhqz#6YQ26SH3 zj9O5XOhET{lh*bEnbzLhYpx4iybBuCDv2%)<&N)G5HZLSkgp>SokU=-ab?QPa>+>J zimF0A`&3NP359VH6w@cJNCBk+Ul>A zsAs3_DiYi-RA08T#>&L-5B`T}Y&s!drH{!5(&qOw}m;wb1xoGSZQr#WM%x1qQh9NWZI zB(UkI7nl+&y!_u=$D(zxpMV38iYM|N+erYX6p9R>AVes^u+S30EfOdaY!zA}Ff|+( zGip9SP$gSJlr@3e&KlUqpp<an{ZMhJ{6GKu=kRb>L> zs*}p(N@QtMIMCn((?UxR13Y3V!ELf5(`7+bvJwq~%V z^3_t8#l1$@2?^*b&_btl8I+erEwRzwH}oTbPYtE=KN*T&CFd0?@4*4D5bO}D=A1Gr z!F@($b6z&|T>uM^(g#3U7HW-OC8wM&xBAt6{i24sDdnnpt`!sA*P`)qJ+in^2N&BfX)Rz%U34+ba)(Y9 zl*FJZ@S)A~z#P`Rs|xc@)KpYKdsmKKax9ChNbsl$JO=QRq4-t$DwX^Azl)ZOFRFDj z-OzEF3-oZrPf!#tZWxOn8>+JL6BZwgGS7*t{vv>_Na|B4=rI+R8zknD5dxFd2jr90 zjF*iwYJ<-0#&rk4fqVg$w_RD)SEjSRllYNVplSq{gl2R(t{?)9D-$|dE=@?rl?f7Zv6#D5Op)N2(8#W<%VHRu zkis&4mFQ0vOTrkAj&&Ea&VhVMSy9EAHLI+Qg-<4)<3a|WBiM;UZA`@cuDIFb=zvNz zi1PGjBA?`B`fs3`F(=hT*p?`gfIf=C3N($EIjTRsFNz%+8mZ{uqedngZdm4}i5}1* z6^@Vn3Dy$O_$~{+ugvvm_i1pWl}K<(=qSMj99@kJBAa}8G6BCzVU>+bk!`-sM7EPK zuHZ?nOh}Q79g)PGZE1$?8D(Xn4HQMS85b#}lx0O0`K+i)><<$-a-P3uH!+2oUIeOA z5ScqckXwl`meAG&tYfab>7GO$m{RED9#Eiy;C38RL4;#1=mZCF>}P z`roG2LC;{1@8~~Q{>3`91)Ua%AL`Pr`YFKe5Y7=G^Y(SjDiRch>Iu$$Ld)DNI4iW$ z26#^B7{QB1C3snAiQo@H#|VC+(u)LU$QTW|MTU$Km`!X)B{mQ%!8zd;9B4a&!$NBW zHa+OiZQP-9YQCJB*O-ZXYPTg+3ZWG`4VbgATsGq znDmb7km*(|{1cFWt*ofy!v}8t%a+@O1C2Tiz|IYa5isI&J4F=(b8-Z3v~mB3^(z5rE;)xjW0V6uTgrg@CrO*(qPW}{@I zL2Wb0R$`{PsDOc#6vI;{M&AbqtqWO2v=7L#QQc<%E*pwprBGliD5yEXv`{@=MmYW|2Nau!vI_N6-?gjRup=#K1dA;gm-V6Kunw7$&ma=ma|)9Z-q&a(FPR zZ&LrsxX*EMctKkc7+1zej?0`}CfF~5`dNVQ8M+%iCD~zl5U5={XWRikedgcR^ZH94 zre^dkawc$~qV$Ss9Q7JUy~fP7A9!{D*wmCC!Kt~jOxdFPu0B68By{uy097G)37!;M z=0)X4LZh)|4>X>|fhMDJ^G&9mK-CSAvw(QR+jC|1gUR({95f5jPv?AYD07%xo4pI% zxJEr!ROt`E^$`v@jKBoyzfRR={Qj#rj^B<8C)aJzWm%aLnYBC3igcfavL8rcuRGqLc#w z1BP-=OUmY$Jz-SNCoMxC24FBk>`{Qn48^ZfXs3Bj)!l_mta=DoEM$G@MH+Fys02eo ziv%H7e02rU!*MCi!x0Qe^?;h9?jb_gwVmAc1J-nKYqXdPh8&2u0zS&aDd7O zv+pyMf0+3tL!F&4;eAln$;#SI06PqQ8Q^V0o$Wd1(w>`Dq(0oTSIRSE*se3?HS?`D z8?VTL)iz`=t3K720bVzhgX!Cbu7hG5K{Em7G;Wj{Jqu+TYhGi`Ypi*VHLo$#vefu7 z%4BxO{@InYc75NY!ioetgqC&zSTL3d&WTzixKC)N{hXR9<03Gw%mnJVI80$+BQUkO zx(*l@!6~6-{3?YVYy&9Cn0-uWZZ`}f|3*1K;~&%NMjc)AUY4%vcLDxrD1Mc~!uNoJ z!U^ue5zX*N{!a^zmK z2CECOjlc%AOhG^Wzt_TbAg<@E)MomuFRE zZmNo$Nq6JGNJo&=*6S=D29>sef#8f#z4&IzGo#hE|2L{LJ5Usm&wgxtMGbf*f;~8L z`EG`SVH^lX1Qq`Mr*HoQ&)KOrIhy70_a8{7mA7={k;Z`|Plog_(2kulq|vYqg>SF7 z(!r?2IAASk-DVsZZwR;?!$&{}%)xyGJ)+)8utR7+fd%c?2zHCQhk*XPq40HrexZ8_ z_6q$cg8f4G5gZWu&jdq4_Y)iu`Y#0Z(+!2Y2-weVDEun{KeqyV39RS!J`MCWqY}I$ zv=>rJVO^6J%gf^Q0ks75*$rxiRDqL#YGkR?Y!sU5b&hL;va|>$SJaF5CtdJ$@s$YP zO!!JferR-pA2~Xp6076n$3Vfw27!~$^cIuA@E0owQ)s80bEEr#Cqc+ zxE050d|*+csZ>FCP!8_33|oRf{h@Uu3m@HlIfZ;_C$cD!62bG14yZ)cPW~=X-~|FF zKSJb^(FvZ#LA@F8P@e6XlphocqLM4+Mx3>9EL@xk1sRtPz3%95RQ< zSsXB*U>S$#L@wa~9luJng$ONPy+B(0IF626WN-gp=JF?$RU&Y%DFIhvL5^<=D6oOR z@nsAmA6u81U3yGl>%*oEze=t~JTWe9bCN4+D+#20a&;GNthr^eTPU%h4?j(UP2If2 zeYs^EET}|;SM+E@g0~%=$cIKJ;7+9YKLxS_?Erp)J{+RwmA6y!BLuFz5h7fo!m|V{ zMinOVW1|ze@Uu)H$Mv#pCVfh(`f z^6Xo<%QIZwW$Ea>sDP@8SNhz6z z&WcoMn2id0cf^TgZqZSMu@Tn=L?yOVmP_UjAQPQ}=F)s}EKYut`1CrJlOG}S zgwY9{e5Q>k&$>M)z9PX3LQ4cUDyoVEHwi5f*kwbJfI2(+#HC~!zhr6%XuT|d2FUl^ z36US-=pw&cStA1gLpUg(vD}rjQ+#Ct$Cn8y@=;fx_)>jn?qi^^$&;3!7FxLkKzD&k zU=2_vp!J|$2Ka%YuLD>WBGc9*%c@X(5U6P^dX2r*_96}}feBs~+DGs`p?Bg}iDAM@ zF#Jr-8FE;;XNlu=gqXR0@7AMad z!W{&TFXIKrw^4khK($oi$7!Pq>i{F<+Jgg%@vB6xy@}2A0jfi=8;5KrvYO3Keyikl zGup|I5J`qIg50_|`I{xL)nig52ujXM*5wu)$(<*Qy0Y>3&0wB?ZheQ~3mmEokv|!o zfV)JZcgo)gf|XJvFz59W+=k}q(?b85U|#5cf(t_bh2WCVy9jKb>tBH>(Mv>b#F5lLsIpk_!=!MJdq69u{d!*b)`pFAp7GqR*YWHlPK!;DA8{EULqx z{-k<|txg~^sDlrRlvoh6SboqdNl#0d6cRhuSWpLFrwZr)jv?k;qCF{?AlI*s&-|s~ z&+%m<$noV=gjvo_-TgY07_GKeJe$9voQK z5Ku*jhsZ^+CENp3VHnu zrx0)okDNk2#_I|3WeVz00R|?bU5057-Pk$*r_ z+Kped3W1XkpMqyy4&aDd3pAyq{Gdpexp=omGP$z45YQGNw9HPb6VK9FNe+{CagiW0#P z4zb(^6mZ&5f)8-0=0tvFbb?s~jp#(|RnQW_!;TIfrO--N0`WuO_##iyO9`Lk@#9o5 zE4DH)EU=|hmghl(Zq=9Patr@4I5FH3Jc!D`C657^Kr~f7iL7VERe1q`JHD6$t^mAh z=<5JKH1r*SpBnl;z(n&<;0@!3IH>Gt-iiYidKlmlL;0A>ZwxKt z;hMT0u&KNS@V22l;pW?MKd?s`c!S98BouD9R>?OEG=syu` z6S|M!cA@`Fuvh4Qg2O`pg`g_*E`kZ6|4Q&vp+y3_;n_=YSx)XF;PXJ(tRUc@g}tHB zPw*CxYJz-A7=bHT-9ScjV;#1b4{E|3dJ*(7OoM zsYCoLfra`3I7G?yKAt4kPXz3vU5CVkk0MN=3U~oE)E)(gw~p!L@#NK2POIP|cos)g zkmI|}R1jQ9_(mQBLZKYha7vPui7aYkQ8w zK)22Lm@ZBFE#%DfBEfIfQq>I@c6u}d6$##j&u%Du^8*YIpJ}A%CAd|}YyAMjLVF3G z7CQP4z{f@<*rM?x^8_wS{~V?NNtTxgtn|7sy>u9*mt;tZU?U8{^UGTa=Ver;iK&vc z=)-YCL2Y3wPftLYe_p#ITqtk>%)?ggUjQT?fHg`Cy^sr~?{aL!JNei(-dFJ@&fvc> zlyfyVFcIn70rnWmIl-pm5>@`jsDFNq55p*~Hqd8j;}?d~Ml-B(0I0bnvnZw?E`izl zd)dpDDQo?`>?>97tO*wyFXPB*1ZGVst3*JqJnu4Z*4R3guaI>gB%Y8|)Su@;=Fr(O z8L*}de4CKJxe1Yz^nuP|9T%+aDT3`T1zC-N5+q+=kzLN1JpZ^y;5x2ES)CTDa{&iJ zu+yMDF!YG*9^uNuYFh2&T8A}7kCqq3O8~DJO7Mx$k!1|x&*RAP89_*3`6X z14f388Xcmnn?bgLgO?gg?2Zn%`9d!Z_J9_RxQ@?8T-^Y6e3_!icPkENb~p|cB}53a zv?|#KG`A@7++uwARSK`U;Ci;igG;?OTbo`7bHIwnuM(r+QsOr&NE^9B$czHX@!1+ft>E}F zb#Q$9p#(8Y;P^70b9@KHS0QkG8PAcAp+km_{<|SDor_HbFaaYqGTrg5Hx&eqFJtmSgFH_Vzi7Tv% z>dUNR$9(3vwkvCd;C38}93p0@9y4EdbU-D>3gw*;+Jfw-aC9`w%SjYtz-6-#0c+HEL)l~}mL*8xdJSym^C zh_A{QG}DUu7>+2Hpa)0Sa<_?ZguwA-!UJ@LHZ!4*r%bMjPJc(%+hf)rf`)t;QeCYG zYSo{|_i{4aTffmYGRLq;A0A_%Md7vNmOQ>4F(1Py($|is8S0Pt4#a#r!Pn7=$iR@jt}67{wjBW@D~g%YK(!T?Zb{<@?nd`L-pVTTLInzoC{`jqmCI-T26y z#48(F9`?Pg)C1bAqXR0rAmm99X*+NlwGesO7cGK{1RHU5#4RY|vU#CMKyBEmVh)ol zlM2?x)uk9J3yi)Mr@2Ox&jt}*j3m#xXUy5~e$?4=T|mCoUEsJ@t{k~mcY)(tn+tM{ zcGdrzXt&v)MZtPI42;^%@mam~_^IQ|baltK9!jv{AuzX(5twvl9(MxfjS7KrWmW~` zqAr^|iv%pbBZ?iDDJT-yz*GXJ#8@X6vsTyDMZx;_))t+P&#I(O&&aoW6g#e! zqnKPQZ*5$xV9t0!R|Or}8J+PWd6-tK9C=o+oa0*AY;vt$ImeY#xzGNOwY8k%Tdi{B zTfK6QYvsz3YxT-GuAIt!`oFEMa*l7c%8_sN$~mr;D@U%?E9ba!D)(hFsd5lN#1i!2 zh{h?$XZ?PJ!0~1J9Qmjur>LB9a$GsidOn#PR~ri*-)hdv@^yDsman_B z$hW$)9M{UuBG>B9a$GsidOYr-xy$lLllK_e`;wl_a-*L7#wHuiSV8a+P$c5}O~Pl@ zOE*3`u8Ff;BV^_UBDH14g$@7h+De7268Dr~9l=fHAIC+LjVsEc?h`oR5`uF=dkG#9 z+DGuB&^rlU7urwovCyv({6^>=0%*ejuM@CBH)s!x^wb&_xkA;8c3xhiHpjQJw&MS6 zQDbAJ_C46Hia{cuu48?xRvCYB%5!%AWW?Alv^op$yrBeaT`3~+GourH;OKx#bkdU# znjsrNfmVVoC_Cy5J&VQ{Oaf2A?Gc}8c2~9}I;1)5UO#w8Fk ze1i*fiwpD3`S!k^gXQBrJe`?swtDv5(YvRoy09?2uV=h9H#s{#e{at>zcw}9ocMaN z_+JZm-0_dKrDp3N+v7|3k4?5)vyFRa<|f8x@0ctM?i)KkJ~?(|VXiqgv@m&o4$7Ct z%45hKpPy_tX6C2I=i99Z#*Po&{a;XKVQQ|?e`jy8u{houpDRp`&lk?mFU{OL-<;~1 zJU8Ad3{*;u!Gk9ny(!k0Vkc_HQ~Xf5oZ{`m-1t(v*=o#8d2LJQ7FzAX`I-54@191R zB{6$$Ve0&BvvB-m^<=p*bi8ql#`x3Y$_9I@d7;@_Y8Dy;@QTkb(Q0H{{TmDC+l%Mh zh4w=0Tj!gF>Dh(xcHu&Ec42a+{XhXuL`nBA7Ve))6dXTVZJd+{R5(Y>EkL|r?lAmZ zb9}1VDlE*;&dfIpv#46b@J4%P4ul1?j($?lp^~cUo_;7EI#fS8c&KqiT5vwyY)(y# zPu^c>v82ZM#8Sgdv-71z4`!W(a{K^ zqcGmOSMgAoYR-;70OMgpWb&PT(4wsC7MzHqrKOprtBKA;v@toSP-%L56`X@d4pu5h zD~;nPhYmH$hlUTHDs+$rPu35Wv&7LOhlYn60|$o>o)|oomo%iBd(X8CgNf+i@gWeCnlOCsZ(JO|zj=Of z)ySD@CvkY+0wSuRXk1bsy~H+&exqzf`!tx3@95(43wI)|X;;rdWT9eJ#cIIIJ&~?Mr3*QrW&# zwl9_KbF#xD<;FK)!SV5SYi1ciN0XA_b$q#D&P_(_IS?$?6T$=I7Yp~}6FW0_qG6^n zJ2N-aE?|&Puqlj>?S<*-#&oOstwIZFAKvehFovrDqFm^fWjx@Mim5vprsz zYfhePJlJe4G+4~+!bO<1w3N{~Gtc7EuB>LF-c+=(2#Zik;oy;SrE%!|EC+yegjZdz zeVmt%3Nv%(3*(cMv-tkb1NalhD)1oAQQ*A~v=)r;4PYQNF{!pvvyUFHf#$}eU;=UT zC1!?ZJDG*rc9Kq;Hen|1k@lD43+4rWY34 z4UC@z4-|%rg{cO9tWBmG33SNe#)X+y`~3K9p_*dHdV34Udix5;`T+a-3hnXp4fdDm z7CLu&)@ow;a%!M(&p_eSVBwy@!l|LcJwt`rfuX{|Vqu_I7%bABVqtuC@!U9!(8*N8 zPBqPoA`Au!%G3liOApT%W|kWFwieFMBOYPE_+(pMa2PSyF3il&v}eX=XCB0)&W@@0 z$9F@93&Y28A9C(ufirvI=*7a(#lq3!g?nMYT4Sj_-fqIGWg2PL71)<5q(cpH=YRI_ z#+*7>Az3msOupG_VNNof#vxSQDydqiE=tSMc`TZs(MblKCq`%_xe)|F4?o* z>}g;2^v>*QfA;ii+0#AQ)2|1o1Go;qcw(V7hpF5f6Hr4l0&-|hKn~3c$f0=wIW#jM zhvo+4(Co-!BZS5pCA8Bhp@~Kbtusn!m{CHTj1ro2Z~|AFMh?6fP(#B4a%f#Z4owWm zp`8IaG&UfI76;_e>?61$4(#P=XeiG^3wa)z#`Dl7o`=TpJhX!6Ve#eWIOcuyJRf+D z6q?~^p(&0Qn&W7pNsbnpE3S@G^_$c%N%bmEsfvX968@S-;|of3{B31$z}>Sg1Df> z74HO0Z(?zhZ1dr?Fu8cXp{+6-BQJ9D!3wr@ziqXo^CpMO+Q9fyv--dy*V4Lv)Lefa zi!BC6b#p6FRV3rHB-k_t9Q?zXKB*H!dS}yTm`qV$WFb}v8qt^1DLcLv)~eV zps;kY(ee_S(A=gHvUrVZTHtAI_i}Zyh}c|0of!7iZd&=SmB@R9`@h6=oZgv)u1QgbSkViG}gj zR3UG}=fe0bwvT0&Tc^-O#Md0U*h0hg4|Kq0b_4M*y$5+=jk}KuXLk9&{1z~mJy#R> zGWjUiOsUb=qZewpx*B`Z?xA4k25f2cc%yps_}<3g5xYA=!tlWgHk@7dK<)JD;1t}w z;I=y`i8u*&rUD5^e<#5gzy)PEn-4x z4%+&mqD{5Q>wFi6_l0=tC%EwLc4x&_YM4s0H#9Yqr1kxa+@tvWJqT^h@RmckxrtlX z|1R!9BmwVkT>kx*#NTg83^x9LOJYs8B$6BW$+F|Ga%UnbJGevfw{pi}wmIESMoc}b z(wJIYDzvcS5>q=_V>a9)Ottapn(-E%u9(g61!Om-Rhn(gqqy`+AI`w+duV=q0{fi2 zw0Cq}J-8EF2e_M`DUXq{s7@)#?3ZXe>kBL2N!*K^ z02A)qV3TAPcLVWY6&{qDDm3RO;nY^cI7zm>l&RJXai@SR7ZzsQ*sAdhufx=iQfwWR z+@?s^GtTM8z?%VfTO?&@yT=#w>{UX(8|;(GlRy5co180N*TVLo&GbBO`1j(lhb4I9 z7B^zu?PNZDklgh)a`03DB=IPh-N>Du9Z&DX^0HxBj}qWsBV0VcG|pR;uK7{IP!s-W z;C3o*C_44YZR_OTWA);-?ja@DM3W2i(=+#8&81LlVFDE~c|J^#G{W_It+EAFUJ{tF4Uw`VUlJpEVfPS9pReUF2NV zE|!<3vcLUxT;A=JWKoC*c+M*(le>Hf)*Z^> zPcqVhg_j}eqZ}!<;B7n8?QQ^%CYFIE>0 z>(vhC+Pyk%+8LJe!A-|?IgyO~c!rpblIBZAbph%M9g+j*XJ)4kEw^!JG36edn@W6^ zOh9l*b6F41r#xOG?mXft#tUKR$1_b(d6>>Gw3qRyDiJ7gE<`5pHHsnZ5xRy=ix_HV z&&$nwXZWU#H`K0YJI@c|G3ZnY+=9y&tN{2ls3#{E&?(!{%#yCCQvxo#PvdE6FHz=H z?N3imPxE5EFyFjrPs{sIbXT;Dqa>n2Qmcu_MB$-i+Go3BUKf}uOwMv!z%DqGoa{c+&5^zzs0mH5VoyWW0%1K%b`T18aX}((x{$;0STgYAG+fKvW9$0O*agQXV z74`!sq+Qqhb4>=>Cm^~H_IEc1yA1YsH*yF2yBom(y~+?D&IV~%WoDzQJWgv~o9QWJJs;2Jf4ODi02v zgk=$!d<- zXl}gRoV;L^(eW7)C}#w$6qcGC$L!QC^*HQdEb|MN%*--<9`_gQwLCm;mn_h28GfCH zI=#7ZHG|!xu12$CnTu36aWmA~$*D!60B zH)k5l2Wo5>eKMdmxAiOoXIXrX3xqO#n?w-fL_ zTMO4Aj)XwwL(<75YubvL&d%+Dy!E&Xf{t|%)=5(wPVjs$Z%ig7X&g)NWWkr59mLyo zM&Xjru`ivpk1}u>_7xVwe#yJiUIy*McJyQuSMteaD<4Ouxo&x@W#2W9Ws~kBAY-_# zay4TaUn?!+v44E)Vs0|okPcoSw!Epr z=U@3#4SL6XVfKOfg*ik#R*;hg`-B8XlcW)b@w#$h_)fh^PLA`lXfD0OWPy+q?Qmi; zOyNEFE^oneM|b7tGLwy1tYZ-#*{=tn>*0xwzlHba!@`clb+3SaB*?= zfn@J?nBT)#O5WkeixPVE-Zg>$=7#9#cO4WPv8<6O3682hJ>W@hkC@rmu}L;pcxLkr z!=Sx@$B0}oSYsr+8`rJV*-K*M?Q>Vt^>n4km5TMUqw^Ok7+(tqCzb|hXBG?7KnlVt z`07WkYoBLFR0gwc|gn{)EueK&|U4`#;*lyc2W&?2O zBQP^dyvjA z#TSdmoUw+Vc;M}*}>STPh@CZ zEKFbDuWpz#J3h}*WFO>b<~pPD!~zyB_RS6(rm-^&O0u*WpP#xoGlkDNg=`qJJ3jTH z_U$BEbccds3kgXF2o_V*xD|X39}p-^Vb3}F$jt=5do*6e73qa*ZS0Aq#j*3)H@cce z)+R0j*fyl{7CveB*Wkh3(%K1p;p^^0L)s?|(4pf8aUHN8^W?dmFO%vLv%$4#I)=VTBCZZQz=;+<$N+Wq~n~h5`lWF1uw%zbbHQ4Q!v zFkfeOThqLbUD$x$T}JDUw4bCR_{c)5onMNws#q{AVQIJm3$}W>t&!nKL*!_A_PcJ!Sc^&g`@LW<>6bRK(OW<7(YK%<_dgtp*1yZAFQji7ZwM&GR3YjzfOYN(9Ob; zi-++6kiqtB;Uq3VD;%h1=I<>iCaK9ed9k`YaDIBa)W-YeXd!;4u)2I|8Y27*O4@=Q zJBY?Is9oK~a;l;1B@HzW)_##!v@Fy&Yk8UH&XDr*p$qstQzuJGbbRNgaK*ojm?@kX zs+J3-gXO~UB7b`Ea~Na|9&KEQ&ZUtwcy4@t9xpl!&0v2?m)0d*&@Y}lIzL&!H>_|vGapUtve2qDhHa9G9}=QiCh>T0#CN#+|HJ33p(`pM?XLd|s%e9sZ$&N+Zy;OB4RbDnvG;H+Ds#Nf1Nogl?cd*m$ zo3l7gnO%?d{VnOBg>#%^3z%#hLQ)CbX`aK5&%Fha+l=Eh&lQQTGwD31%~pLh2$jA* zR|s4Ia0B#eRsgz1nRe#Pa6EkS;83A{5O*-~Ztp;$^1xCRUv5y>Q58AO@oKbzt*+H> z1M)+*w*C^Po9_*F44y6p7@k=Y&2CaPcuIGsWz8-5bG+?=&*y^Dr9~xVOfV6AD$La5 z1)Z4%Jm3Ri-G95ri!?UD;>EeEX#u|Pe|&rqX3hB_ofBYwt8iMZ9Or0u6t}i8Wghwl z=F7q3oH6l>Idc&7L426CR2eMbBdUcmm^NNqlkOD88eR zOtG3%O6boBTueV2t}%eH$8!jS>#&hJdH>MNg_$M3gHvuUHrx7QV8UA9jRHKxfj63< zMlUu|KL?7;pyx*5w6^I&lk5ivt4Hg&e}ClQi4%v0@j?R!hn$SQZW(uW%joZxF*tna zU^!XdswB({n4pu1fwWL>DiU6LVpbH}v;oa4;s%*hy$DZ*L73TKxO7=^SjOoye8buK3*j@;Op z6s&-{%(bjKHm*61YJyJA5A%c2UIA{pxf3iL;u#{ywB`ue z-4N`UWDnPuDHE@EM8JJ3$CXH-h4@*V#^eLoMo#uC$FT`FIf;!p8p#C|KT5?lIM#E? zyq7E!7P;ClBv)0}VW}{8RVxKn={VMr3zMoHe9PN$;l&u&Z=|5Mi`Qji>E6Yeg{xWA ze4}*qBzH!;Z!C#}>z+ky#&_#wEFO=94q-);vSik%C;4f3EM6)lyqJP(zFG;tM{%6Q zF;KzkXL#`La^c|NazO>U4o_E_1qVxTR;nD`-mbNkS;Hr!_?({HEeanoY7AC9fsYzx z2$j;&z6{~WXwkDD8MTL*r0mFOpU;uzqgb}3rb%^%GI+dHX~Yzaj$X<=#i|4iquOE*`2qA=Q zcx1yP$g&XIe`c2jAuHYWXS#N~yK1YdX9luyQC(HtU7qTy+WON|vqA_V2caiq@hn0J zAr2wLvYwEI5YJj!2w9fn5JZSW2tk%*A%vbB@J5HRvLuCZ@5ezA8jKiVBZasVA;!LH#3LF1Z!8`mHK z*RL0^I+SaWpfmU8=5CEkJN}Bl-Ym4PKeg|CWmxgrb^(Qge&AM6Wi@=Rh0pcyxe-3E z=qJ{RHC)0c_wQmy5SK^=%itlTXF)CC%^&74{&gaS^ zz6Rbak!E3~-_df(V~bg9ZPlORUh@tO7Z6&Fzb-ieHS1Sfg{tgIcy>TrTx_4Y;sD9j z6ko1}_;NL?tQXc=CD)VcscRzetj8hnxDbqgmyyf_$x@_u4l3U+Px+3zYVEO>m7e2Z zbAU&8G{0)|YOCCcMg|J`gtY;lQLvgl(Q=It>heS@ZUk2|iEbk*>e9DsN@Z|Z`qe06 zA+yw7`=eqmdCDDJiu?@y^EfW9g(h~XBA@l8A!rcSJQ0qoRRnRlMi7^Isp)13Kf?6E z7+Q}9+d72RVX)EXauq~B*j!^vt)slc;I=Zm!5!hano7sIPz;rgc&NbRh6?l9#$ye& zwH9=(wUr}SWiJH^)p9smzQS%r(dv6{Z7J9G6(UPu4aum*GVe7CQkO`~tguu0#dk?+ zgl&f+P>-Ouv`~fsau>Byu%Dz2oJXLVOIQTomez9DWp%0Ob-pJw6q zD3Gy|dkBhd*Kgg`Tyk!Vl;!4Pn6Xa*wo_>|OM8{QtHSvOcw?tj0{c_iE1ngma+^%F zz=ARVZ{t#u*&H!oh*le&N?$}wdF37Z23aOiM~MK`f^NME}`6I zwYA&0YSreQ5-XAqFYn_;tL1>Tb0V&_vJtg~qm-_1K2^fjR<2_+M|Lbo6e=xiw_Mn` z?ve|q*aLfj!iHhFTHl3P)a6Uv3SYj}9q_Z)xX!WKXO)()yI2Z|Jv?m|S`gsYcV z`DYF60T_l7AX^ZBa%ZStD-~ChX>+mL?hm#`3&=qcg~HKhafg4lAwT7SH3Tmtor*Nh z#i}D#ow4eSRkv6XijQZxt|jGN98K+_PzG90%8kgok(A4uk^f4P@;;Whw@GZfO3IJ} zm+R|NU{!&zAfLO`#ff?O4Ng2c#%dI#&l%ybNFW=xhn*+qC*$j)JJAHU+~^&xCGKNg zKAKRkf^CmpS5LrTj~z@0cI5BDb&{I>}9{qr`gKr#oLON6c^W1rNto*be}EQ6s>Wy z1G;z!@C&g{QRKKvx`;v6Ny{i}=cBBjkFuIR7quP17i8_6@b&!g`hr7!b$5D1W*X=7 zOZ9LVWvC#Y5w>=2?6ut3jX|$BUP@D^Yk4v{sV|W5Qh55r*aoSrB<6wY2F=qMf#vBI zR~4V6;VXP?3GR$97@Cd6_+pDs+X7>=4oiV`h(KmNnXo?0mIKT%%V>W%ab_NDBw7e& zlQX^HkpYrvr-}}SSRTx$$2uJi6f%+-t>Pz6$T+)95U&OLAyzsWL$`w`(_F;i)>^9e zm*{#@>GBy4?}1L6`=%%;6{vuKz`bh|YqHaN(B!t-c)G%^R9sQ?v(dphq5IzCi5c!h zU@315+NV8C`N=Gb%*v_PmVwEl1gPn%C#s9 zj|T(RE(6EIfJ@r61(F&w410{BM1uhs%$XXQ_S_ahFp?to&82)3JwVor=a3}#pn?qx zDoJn99^<0PJ!tps_PbF1!KIPj^wCBW|93&u>^HVxbU>b$+M)f($?ZoAxRg76v`{QO z+L&~nnNJV!{9X4#7nqPZ^jV7q)hJ4{WTpeeU7&Yr<_kSeikTyV-L&Y)0Z9}`?9t%d zok*%VE!m0$x3yilx(#J76hr-_i(~&z^}6%&bzU1jy)hIi@lRv+UdyLncK=1f+XO49+$oQlQ#szfUao6ks8c@B7W?33`<+VD?HIL^-NjO@1<5g#N zhhH4fER0rJu1T=+P=9bp^tGM#48PH4LsdtL8*7Fsz_(_ofqse$a9p$O1zR3NRdCY@ zCmC{S@ZiL*4<6XZt!wg{#x12RZn?t@3>UofHN$f&JOt5}rx&qUPxN9kF5)yK!FpDd zaYr9iq#*4jYzHdwl_KP-X)wge^Fv%&f(g{gQebTYb10qJ61)M$0uqavwDgE=j@w6A zQIZJBfx?{BEbA%aR5PBEC=d4H9RY_n#j+Z{@~6Pfg4I0qeZG1 zC77Z3auZB-AhCw1Iwd~p3m4Q3AEb(V2+?2PerZl6hao|ait#AZQZsUgdVX$9vSTW< z!_Z6cSTA}N(yNfE7MeQ=e|f-kb#r^GP`;X6MN#AzXG{`~z(%u?5NWsZRC2X`16~}i z$#0FnWjxtT<)m8kMtQZhy~kgI!L2Cot`HWbo62`IN6E;%=meVgJA$*zI@FvE5b=mXHY{wK1VhI7X3* zVa`}Btez2wm5g~@qL`i~1lzrFGMt}qyP~)lWuPT#@lHno`6XmVHnhuah=!4Yg@gPB zHntY`H~r%NB%qGy?t+FHwnp79l=j-rQW_YN7IR~Ra<@`+5m2&N=y2CFR*wK-HG+@A zew3WNy-a9+SX`X|GWR$o3>+AE&bNT%eTKMIYV0IJ$zyRoz-$|!`>+x5g6>lHIXH7m z&otCP2q9_vFmv33?n8BD_uhD2_dvJ6r~F*$JwR9U?8>RDc@8vM&2vI?7F@Si`}{n= zL8?ebzYjuv{3;a#{Tk+hw$9X)obqtD4mt1`^HM9CZr;w}Q6I$0G00R>EJ^-0_SmpO7U(p|0-u$kd>xLsipUhApa7434rh0LulbIt z{L!Qr2z)#@+I#jQr#7DO6-@`J>A9P(b_6vn?wmfy{Q}TBVsR_4BPB`TaR2HL=a41F zxCnsGDA=oBeW9@<)Cj~_IzT*@8-OtsQweuI(spK2?1~Ii@HNKba5w1$w&kulnM>B> zk~JYYelgZWL}owFtV3Y9A~x)P^Io#Rq<0;z)Z8+#gDCy-pcn1VY;eI<+ijTX#oLyv z7jF?yZ@xbFjLbyx$8dLRuC1ogD(YjVmR%w|;I(xs)WoHD=jUC#bGe3s*Ms0r{$5yq zm9vJDS{E<~GU3UbZ!jstOgbMtl29-bS-%n9ob|#z+OiQSbzPh%ut~#}+QL<6<#akF3O{Q}OX>1f<5qhN!KY6R`~l2%K&UBXyB2l^-r=-v zHRCbu>@fD0YTj4lp{uZc0Ewj4iV5)}uhEjPvHfKXCYO(1wjr>E1a&^_i#2yFknlb5 z%?BLAOO#YXd1@rAuKU=5yApbt>Hy;9b``Ata9^y z3YMh!#{=?@VqIA>Q%q)Q?Bf#qnc+CY5rrg><~?nM?Lm0NM0I+MaW8u;3Skm1E1rDC zLJH&cRp>3jXkQ3_+$Zj1$QK@1Z{l=8)HXB-S2-x;cC$@jg~4PA26ZQy4M-K1aRdz@ zt~+3tBOr{*_R7#isFW4S{H0ndQU&t;I3Y>}U12pR5o7x(jX5NGLnnX+0?=WVEd)cD zZbixp)gyRXxNZSh5>R;_!{8h!0z%2NlZJ!z(GJ68hrHuOJ0QDrwlbV^O)m)^9iUjQ zIT?Rm&$BKGo)?MW(aoCF#<;@;QD_v$j^TWtCwnT8)Qz6oKev4>b$?MHbVtlq3P9&L=~u;=*b7^X>h=<#U%TCwpc&2|-buauu5 z_#$M$xFh=`ErXi^o^3AEaGEYcMcdBj9c+uZ|3m#9i<8U;+$-yqtM%%BO?TFO?r^>+ zKy@C+CxbogOeC$u#y|>rpSQ_5t)Z2HjYCfn@a;{_Md3{t8gQtmH8euK-JkZhHX9)B zDk#-n@0NMSlhYGR!Ko7vP224 zO1Z-Y9GDORVEpME_qsGL>=T`jsYN&Ot*ilh%ivnMhC7Lxz3S4ylnBdcNZm|&CCc`# z{Tvdi<00;bmdZ!0Tx#FJV3Hdu)&~L0%VIsT3h(=Iyl9Tb)kCf07~)kNda^`ir}T+l z7@uNf;_wJjF+>Jc_Z*T>LdJ*rTocYa~&Ee=7XfBOgS1vNCsM$FN<3MGIv+i;7NEig$ctP@ylY9&JKW`=r`H@(-AWbt| zeCgn+M8G@!;Z1hHq6FedF*kW_lt+=U2b3%%9q>t0C_A}Tvn3Q)(LMdaKES7_r$eBw+-)U$^vl0WG%^^G480wE02BEs+c}J}8^t!}J z<_lvdF$_V*OFOa!&!5^j^2WOw(o7gfBWAI~iyUKZr{+iz;ICldwyEZV%sH4bcirt< z`DRR=(I5cn@r96S4q&E5eYivq>x7hLszpaEK?B)_M!gOz#J#R`@)!&%`0F9cg`*L% zFD&t_-1y}Z#<9WP=k?$5LciQ7lN2{kp^?jNL2`jI6s9&AW@N@}s)swYJQ}rpCb)5e z#XL9M27vD~BpIsWzc4I0(xgt%r1N$y?ZMR2nVrldWs(&vc;h1LHH(^@~j2 z3Y7C&O5AI+enMf4FbiMmeZX>{<>{h_CIM+{ZfplpfAyLHwf5{qp3nFLw9;_0M)1R zzWGp=HS<%)0F0b@9p@N9bgQ>;Q%4CA(Do!V9@uS~(bV=dT-xp-U-Po{A}_UdLm+%> zY43X4yOH)@NqZkldmm4G-yV6lVAAK-9;0$4nnkFFP7|28xSe zu(&7&i;H8hxJU+zi)FC5Xa}d{4Nira;hA^+mTQh*cJ~xT~1jBPv zu5kektPib8BCG@TW2&+eCZzlI{_L3cByaJ)a~eFF&q4^QMK-5OyOr)+?TPg}mzFB@ z+B&Y&Us|dV+aQ;gDqtW*>`6IW64B7Ov{V7>G1Ll%S&)~#r3zz*^8{C3;+0Xm$Vgjk zzYqfjv*}F+;{b!&;mRlypu!y?V{JczXRK_!vM#iWc?F?s)tfM>`w|y zqV)RA7IZDb$wa`e406jAR%vO?7+D@dOl0U3836>wQ<3bxpA=K9{FVppBiy$DK)ieu z2V&I2l;0;UDBPzIEH~|d3DJgJM-#utY(V%iKE}zEhm0a44|8h;@IKlK>yER#;u~QX z7d4g`G_w5>lV)rX`M8LML+Ml=5}Wo;k`pkTw3o);>2t}D zO5wsh9t`Nm-ww!up;O{jG(>YLX=gbPQsjgc<^80B`}h9x`)X35@lv}BzlKoQ{x$h!YfYFs-K@|mYC|ofCXMYH z90Lnw{MqK8BLD2}mSH=3i+?uhufdL35pJ_6VX!3tyW~iGQxe;9dGXcH7c!pPY8}C9 zZl#61mmS}0^`73z{leohqPdZ7X& ztLCGGz!J>U3@bCeRP02Hyaf7`DpPti<0tV&tUKF_h6#ge0JJyel!YC+s(`K z67TU`iHD#fR(ma4X~-AUv_BLg%RI{F;|QR@XXn!(q?HEnJ~SX=>)C$yp;=DZgzQ3W zQr(Uqzm(TkT|m^nKI4so`DqF7^qzE(i;|VVRJx)#!CTKqD)FQ;$tv*Z;q1~7M0(2 zLo2=ck-M9N*umV6DGQh+We_e~DF9n5u8tuBE(@KnP81L-69Ge24Co4d%Exwi!%Qy5 zVw&5EzC9XY-Hbw!C*_8u0ksak)Fjl?hN*5OP+}?lyZb_0P~PRvXC#md)9NOlbRq- zwDtVbue0+752%B8Ks_uhLoy05d&fNd>)a#~ZV$>gWntIR&Xe8t1o<~X1jwb={e~RB zGAG=jLf^o~Er{j>8$5q*%Szr+&q$u!pgDZCZ7_p`Ch5pBJ6lcUraXl|$qeTCN!4{> z%iwl0BOT=yKPRzwKHtt?zu((+~fe2BbfT#!ZEiC6PEYwL4 zdkSpw`gP1=$eNc-PVn5v39Yg*(nuCOs6OHD&K#u{njbeU)fW-OmWW@%NZ=|Xz;s}F z!o}g2jJT6$Wenm+yy*qRk`u~00gg+93VKX|G#tQa7q_(O$d(PcKb@Q?mE*D$ipOON zBNG^?ur=W`wdwD&L~sk2v-txe3W&&AhF>zq>7|?QIDOetBL)#rhm`}*LH_H~Am9e) zGI0HhkV?TrGfAZ3lE#a!<06kzKb zX$b+4i74SrYkD0P>l(NC*fGvMq?UW&iK%a;DQWUuiGcj|7v?*}q#4juVMM@{p>`qD zg-(nW{Wb#=%)^rt2*A`67c-royTS@<9fA%$3P-Q{5A>t!<)C0?NV;BFw?rCPQb6zL z47OhOKs*!%b?RQ%h6a!#B`#Pn7#lg9E7>~GPw#~ z?P1yKcU)6Apl?aGLsf{G_CV`BUXVZv%41Ca`sgNY8^}y(j)cWR@2N7)B&&FgcN0)}yiVPb=X zJx;T5JoeN?If&v=TRSXWw}zzCc0e?pJV__BUFL8eYIq@%FpzDc(-o<= zrU*4pe8s(|c6)5lB@y9v*Cg5nNk!&eqPAy-8p_f^Lc*Ov1_~eMD=`Nt>7>t&4~^Me zp*-?PIZ-+_#b7K>g)Ji)V$L|r`7VT`>rJ;QaGYoPV2}l)8O>959W~q$|7~;uBo4lN zGV~flsXsory=ls?JYXR+3%!;JwH)$jdBQLP;AB3Dt^}veR7P{czY-t`!3G_I2*a2+ zGB_Ku;GBSttt2J5(iBr}MF5+ul=c!AUKPWqyT~L*Jww(ZWGx3&s<$Bpb?H*vID~~= zFL%(6s2&OuvN9cXlWgXmJ_a;jG%oWd_(l(paGMw!D}JS@<<$C^9Fw z=hMG|ieNQ$0Ahzk|3gWKqZB&}|4y(VL$pbPGuyUum%()%<^ge`J8c{)Qf-dhaB?G) z&2D5;p*<7=n*6A~`98Q!>I*N=h9MvuG-KSvT)dNmqI1rMP(oG$qzSuLulNaN4lk)Q zq1QdoJ|3Q+=~bup?K!hBE^%1cyabPrfb0-&7GjlNkk+i+e1C6;dFJ4{d5d1 z_|k~CJWo;gXGw#QV!&Wgm1{JzFlKDCyoCti91j`{-7czZ5Akk=3=(Z>w)=d#DUwkW zgi6b~1wSqQj3ldmLGnw+JqS9LA%w=6?gdf+j0L$rpff~fh0GNhxKaZdVW3ClfH1C3 zvH+B#d>Jb$d3OU+8QDybFv6hdphJ(rFM``ds)}T^NK&_%HC#N`!j93y4Rl%3rEt*C zlQFK-fCsX)p{`7VUaLiBC^XhOc)b6m|`;X}CsBo{l#k@JBSVagGKyVvAY9wyGF7&#qx+y}0(Wf>SwJpi$Ca1_DU#M_=&^rgHy@g^_;fD0H5)b+`Kw{PoNoZyjf zKIw5KGE~Txv5O#@4F@#cGQ?O6iDj5*6ivo06V4;dJf&V#W{?P)D>g1!5;A?08W`PBFyt)2bpQy&LNZ0>R3hX>7NHqC5>8f_9D} zMqxOWEmITHCyMiAa6LNkv|DIQejj(sCh5ZA$EA86&WONFP+9Td48qUI;!-XRka8}aUfv(kXLL?jW(y6=sDU9^$A+>J- z_OM%k1c}K7kVlj0ojOb*6-7++!E&JQ;b`OZOuCC?Z{P)biX zxrIwQ>Q`BbHj2n$6l{$Vfoyb3R*H2M!c7B5X-ezpNqC&K5cUej7Jnp{%EqTW`Ldf{ zb7!od!pn?eN@7WHS*4r7D}S~8e#Wxf;GP`HAfH+q5@-~*336wxZ?v) z_-&!dZ|;nsn$h9TUf_$3xDQA&M1>|97QwoqperFN5|$*~uqhi(NsYYAK$#m2gzJLXFN_5qD{H$AYu|FBtJ6<>%mA?{u$+3uFJlVPiwLX^ z2e+%ko}aS-S+_Mu=ytT0Y~*g|HmSU80xg$Zo|Aw=w8VUV*2nQ1akF>a{11D;!n zj`@JPlg*J}*r3V+8Dnf*x#}P22y>&)trK%6mF-c!2<{el3BbnRc0MFvvrXVmk-=De zQ!mpvI!n$L@1{!l;$I|u=2^bJb)l0-8P9sDSw_3~W!Kl!9NY87UQOyw1b9h4LFc-> zIZEb<%?{`vK-p>BAyLLfS2bU2BShitYstfWNCI}q-HA6=P9C7U;h857;o{)gcdlZc zIkZCXB03~1x`mu`G2gPHRhYzQOdm_aa=$#`(L$A#B?&}xB9Xfhdtg(P z*l0ERbxnsQR=jqWD&lZOR6KWXge?sm0=HHT9BZhXHg>qAoQnprJB-3eaX~Uo@*;9& z!sR7p^ZHsYh!;d!;8p6EbjUXh1@Z$yz4GFpYpV+X-JW23c|m0=jmS5Hych;eR2YqK zb27`0J;#o8%28rI+=a)Z3S9iznwo+h-NFwVHW0hEuce6IrR}kL7;TUg2i}2V^7-;6 zs{@x#H&RaBmU=4w@D`5-&#@ZGmlBro;D{h@XxNaP#Y=4-(38uOGzn;l;g{U>@RPMt zlOf@ri|UtKCGDdk%hC<`fX7G`Rx7cD!%kGyXl(|ogm3~Z&vFgY5L*^CVy)K$?<`5V zfHXG44dNDn<<(T8i=bxetsB^Kk-@gKv`?Ls!X=EcC@C55sL7^*Zq+eVS!A{N@yNDZ zQX!l*7NFUKub~j-2vW8{2Ow!71r&ut9W1}AMZ{xcSK+QLdx!hBl`-1d$DU>uY%Edw zs}iD%Nsf$~X3;1K9^?Lqo8YiEf|`)#1kasiVW83^EN~kaKdT*(5X#s1(WjJzpYCpw z+nT^_w2j=T*N1IWP3)-m1xUgiMhlD#DQGpIkr^EzpN!@t8RhHcIX9A5Dtu<~Qf$ME zf37*eIJpqL$<^4=)J8wt8_|>{&t91P^U7=#U4SpTmlH}6Nry9$B;yx)#ldLgg}Fsu z^gPR;5-3atk)`ktNE4J2&4eG23IvI7ALN>qKKVOC*yG!%mJ9EeB5h+``(~!Lu>Eti?aL=Y{&L;ei_YShtT2{is<`ZA*hJ`+S6F>cZ0u%v7Vs9 zYZ8LUama?m-N6gU8ry$u=$EB%MN)8~NFyEkSh7{*4KyguScJ!uMx%gQp^BCDhE%YQ zXX?4rKtnar?&S<{pT4K}X@9N=O)+M+HoIR$3pa+N|>lj>!c&cN_ib~aI>;vwiccwe}{_l4^l$<-#VWA5VyWYZ5&YR6DU;nT<* zc}rhOEAY6^hBX%083_Y@cW|pc@76h(ujA~&ku|)ECAKG^fXM4XqWZRdtBl)=utc5k z1WeS%c;F?q;~cT%$NH#E4GQ_q#SJ`rBy^L0IwC?}xFJS8VCbh}kUkYnLm~QnHR=oc zEu*@M7PBZKLX7c_@q`ktE@1BO6|rj7aEEkvm4DXorwp)+s2TXu6W_9sbHW6iPw{H;qYg%|LGqZe?fEj9DTxYTyFEBu0`9KmfO0X#*hwluIpFdT z4QD-JXb%k#bmJrO>xGzFE;CvJ*cv81H#Ll1h}N-EMvzR zWkFWFP&U^Z0bnSp8bod8llO>h6fMB+rUB)FJ`cpvfldOCr#5_iT9!VO@<4cMZM-U% zf`Cipt=t$%?y(x6w6G3_sY4ucd(3P=T)(BTxEu%s+nT%f$yD??w8U#IkO42XvmpC% zgAALC^vt%_t7qU=Q_U{5j--REBmubR3xf%| zy5KEZ&eWV7ByAknOeQc{>5H6R9u3U?)V<2DlNN+WO7n}*^n-Lc4&K*_mvx^O-mcHC z?hJ#aQdlz>cI7Bf%9@$CkR;%SBSaj!&m&3}0VhzY@MvXFo4MAxNJw&6LU2tOwG~FO zuIs-1fM|RAv8HPyYwM?Ks3ar^gPV!es)*y{&dgCSc7&~OsPFb>$0O*T`W0GCN3T6D z7hvW43Hjt+!^ak3OF&+lkat59Eb6>>qa%sMz#T%p*4de?iFGax0E280GCXM6v)cT` zc}$;nz&sF~FP^95U(j_Ie#q`FIfPjs&uU(X$Mv-3UGfN^fLoh|X60I`RoLF#+biv~ z)?{ep1gxJGuyIzvm9qj0JEhHfsVKoOIW~n=&vGd-%$Sq_^E^rb;Y;4f<+KUVz#kE2 zEuNQIHZ0CG9p*E~irU)R2Zz5@`sENyE*m0=1cNr`fY z!Y)}M{Kcf9)tUmH&8;;G$tJiY8kZ>ut0cS8~0{%2;)$baFYbd$VF`ygrsqb%r~CH zI##a<8C2FM)aA~3n0w`2w2F2s;gW%IEY008FnMA<>t5OXY&5!F4jZD(Vr4?}5cd=l z16x?ebi5SQa$tgKmPxWGEcRU9c+`~>WFZ`dDp`-B&1R_5&t7qq#39S}DZe>cTFep)lf_t=d z)`pn}wUVF)%u_VoYV!duJqm^7z)FLnUzajNHPaQTUEf_Us{^JA8xYgw^0>KRD{rWD zz)u$hN>^Hu<(7*=Qbo!{Nf#gv%yzCaxV+;!SKZC1otDDV$u0-88aklxrD;MxVKlT3 z!Prg*7=<2X3OijOn>Fpm?P2G5G8*=ulVl<+4R_S8yD%FX7Uv@Ev7)5nu#zbTLJO-U zwX)L_vpKfrVzYpf!s3J z8Dj4R4+l9?jm2ZfAZ`r)KYCxCK}Z&PQ0UQaBGe4 zxT7%UUpGG}_<>mGZBK6Vsd|bH19onx#f6M$deVX68OjV3$GtEca2yE3%MX(THweb) zLQNM|R^YK*AissLiHAOp(zVhzX_9F?uoCrXau!EnjR7=drPbLEaU|P2SeVIrGEI#> z>)1m+OETjvFzq?#uM~Gm0-(@xr*}$WD$aQ+A5)%9J6DqQJtjWaO{AJ2xb1he%tE~7 z6d)?&L6;I`&V}ocE}1PJ|AaFkwn-lUV=!Y>0-oo0 z0tjC}2h3IxhBLQzN=a!?elB^hOWuon8OaAwCvwo?Pt|^I4v$_AyqDXiQmhvjpK9R> zM7DMo^FXL5BRJe%FWwUzzOgvX3QXkt;t&Gcz(&ETw}DI2dQhr0xlo~3N$=tqpR*KTyoEFtVugc}ban{xMRRn0?6(H8)&NST(ts?9 z49Fp*+d%+PD;PptU5B#-%G5uw-Erju)Ym*JGer|@B40Hy!r{1-EkZ!HvV>)7>(Fwb z>G~2cmWN3Cf)ZEHu$Ey~XRCw9j4J_i-~K3=b$~xx1%NVTRitHLy8OUO6<_?BG3#*R z!h19p(~VbHg@qbvFYYV{TIwlFF|MSE64F)m&}@Z$K&FNso-12`VI0h(zJ zpMwmxXl|E=d)9z1Uu`VkTX{A@gY<$OPFU3N>%03%o z&n~GJvb$`xklh2Tg?J0KYOsc)wqeOx0Lz~r;zvtovnzF5gKfGJQkaYi03A_Zo^(UR8s5YN&q#?YN2wol%UTNc`?L}CMtDJ zCAnwBrh%G2Lxx%@ta}Ck-!cArpvMv7C~r2XbxkZ@l?HU}xSl|LLba&-GpbbZ1rnp< z@tBC`FaVCkx={`oDskefX~C?mrBlH&b#29zuI5NJ?GXX+20dq9 zM}Yg3RmFs_vXW>Ps!clGXemqNTgO%`rglq+&(r+AdJYif8>MR10`Exe$_FOSosRnt zQk?seQ(S4(Doe7|7-q860Q0icG{|)8Gf<~MpMeI=`VbKGTmnpGzIUu!0(}tZi`33wc)L4g5gGMC`+_TkDD@V0p7P_K-^W;PlD$SFF&+Fc_r#zU zRPaeYP}2m(#Ma)K5A;}&r5_D$4@W0`XcM!f@w#_kH1HR+Fx!;B_o6^gD&hcun$dp5Y}-(>cZa|ovI?KjeH@% z>517{`Xe^h1!o{uHlKnkr1u+w!I?}@=#Lu)0ftNpo`^DkT5FGQrTkCOYmE~%3S-nc zrds6D>>F3N0LP^Sn-Z&NV$LXuK8cbmiDeWkbC5Zj4)9D8T%rG@a}o3pZ3M%q&Ms|R|eLz$gSUd&CAB|NZ+)?e?u6eb$Btfh$-!)&4jn4f3? z6i>7O4Ln$Y1-+ZfI?iq~SFvN5WgK8W<21;4#SGN(iUCR^`z6(O4M3)e1mwBk{J{Dd zfq6BF+acr;+JUg$YO&PXtL~L#7J3LCj&0(;0tcywHFh?yWzkBzVwM1OBkqO2u!c@` z6L%r-XPwJf1K$m~6#;gwjt71dW|Ljm{6d(yA?_D1Sw67A^6}Ch_Qc|RcDr!9gBy!@ z*UHJnV8fx?#Xbo`sz=J>&f5bA5`RElPjp2Ya866u-iY^qVIEg}EMtmgrTr&f2=^Dp z!g<~UI}xEvQ<&NVdL%UH?R(Z(hUV*f$)NN zbDf2rCQ=?u>@W?bm~1b3R3IuLd2l8k3%&lF=hC@&HgEImt??A%}h5Dy&dVqvKh zQD!_#k-`&bj3yD|X0W(fm?Fjn^_VfRf+xLC`yD)p0D|0C*L78+_v{OGS1LG8G>UHR zvfMw6ZJ}{wZR%9oQRJLZMt1!vA`)MVfNS~WCS-weA@qhj?UeO~am&J(CM|j`2e>Lr z0T_V=g27jBDuDjdwOFb{hz#tRAql6*)d{( zq-GCMWG-3Jj?u?=B;#VtG{rr3Mt$|iDM?T%1NYcyVf?`j)AsN|iDWWYZKPv2amh9# z5Gh13KRP{3B^s5ztFrnB+{R9+RBOQwV)3jny#$ttrel~U74ir1E>C*l>g84bSp%U8 ziA4#JEf`P;!#eLq#k2`qvHii;h&Kh03{5UHi#zrz5 zI>_fPb#ay2)QBz5R(ds)R4&HOZ~{w0d|bb|%#5jWanh!{#+T!MiD31UUE5fU3iOo_tXhG-XxK?HV!^ZXriY;lDTlKx zXB)`CSUGicAB+~gDc>>Ei>?-qNA)Zzdv4K!Br3akI%{J=jKFn^k_NJqP-Q&J!>hE0 zFNH^!#7}zoK-{;*x&7%`!5INPTgcaDm1{GfJxs~u(y$Gv)?Og?+6%;%QMHt&4n7(sM+Z-jmcn&1#e_9mJH0n6 zKq*8U0d<~RD#$HrPR~#0N2SXbZxZwD;H`E22K{?86{vuKz!i8COUKbrOj~NKt@iMy zCBTWV&_)MW?A^B;kz8?vjgWa6MP{wkYZL}%0O%7em973bIg~s4!-EM9yT+rblcEp> zm*U6U;7qYvH)h>RH^J2|{H+vANu73nb_#w$yE+&hwB?Csw*zTB%doAgCw{QwVcJRJ z*2)>obqz3`q58yqO(r(^04Sew-gzhtirL)N@gz&NPG+s1kmG7BhIPg{xD?(Bfr<_^ zOMWTl|pr7*TEiqLEVxzHJfIa%R|+oa3QDz+mMW z4d(LN2q%4kpz@hJvZ)0s;w3XE~N& zF(|^sS|IOsl2#&^i$e-ff`FZNz!2z4;Wl#^_d|Qd6pxldrQjipI#)g<;OHE%Z+Bse z%e2gcwEObVNiJeh2%Fyd2ubhh8qVEDkCE1su;{S%9n&L3NcR;RM6nX^Qc*Rc zi+oH4l#jlnVVSVdxvFHuMj)&f+cdK%n|R50bacIVRfBzIDXPk4ro}<;i$#5GxkS zi)^$)wjS3h>FbX45T5j1FencCEqE$TS%wYW=`pdwsT3_66#Rk7WG*C+xkU|Qa;j%+ ztaCvCANFiO=bj!55a|!{8lLV{Bj#Mx7D{# z7B%uWu5r3*Sh067$MAqo8142kMe;fgIdlMFetXK&Yru8P4~KHCs2|PE-5Nz!_$zVi zO-Rk3+IPP4&SqoV1>m&|!6@BmR#wC3TKHTKpBv%xihg2gz@1mI6z^h35SK^Ni|j#Mda46qA*HN6RITo?UBg)t{nG z)^}*QfY56Eb;$_`HY-|%D$Q!_uDOH-ZjA|#t0}%*4e{k_h9itMcYFlll6dNxA3W=E z2s|zX`m`=1e7Usu`ILl%%6ANpx@zq)Oc>38<6skp+fLM5ZC-7a8_~!>A)l}|SaZn< z%r!!&%M-1*5nRm#)fyq{(zk1NWmtvPuST&_)h|SG?T?DN! zbEzU9T(Zs#L4&yFiEv!4B8ba1g1F2}O*c#U5vC8u(0V-B*71Bu7;N;pTm{h&HrLoP zM5DaI;I=Zm!5!hano1|TPz;rgc&NZr51qQ*Xq9Sfe8qkVM)Ut%PFNhEg=#r~maniY zO6xF&3;j+3m23O@k>TGqK}SDTdN<7T)|&E5Mn!z~7lK(?aBQ8uoA-!JJiIC|1KATr z*_Vm(hzM%&n&Tv0QuWfcirNN8aM62Q<@KN+9+BV)>BM+0 z)E)Pq6&xbtEZ_y==7dI3q3L~a`-Nhs5i};nJh0H)7Q>@Gyca5^R_%n`FjRiOQoOZl zy+Mx}XLlhycu-19-v5!-cO>x`8kh_enD)jk+{1`SV`e!Tf@pc?Bb)WzN9cuO+vJhQ z-?sMnBhArh@XklDg>(iuSbyZ-f2@1hJ9zu*>VJ^D?QM_VrIE!B^Z_nr)c%tEvVG)| z{Nio~asYO|0&Ngzmq4<(UHy{$N-oJSPcpvj$S*JH71q;e2CfFO_v8IXYzBdQPAj`m zihQk!hZHs|yf)u}qfoiAUCVu>ys<4}=Q3h#^G}g~c6ZBojA4s^HtDaG89=GEghBTJ ze2G8TUwV+T`R*F@mr3H(`F7+MaW|0+zgnAX;*nqRuRA|}#lPYF8_6!{QK5!>gJeYC zFGNAHRp2((@roF3T%gQ+lER41HNap$z`W};V-ma@No8{@c&{Xtnn!&sX;6t`?-~r5 zNa0#7`36yB=kr&gUOeWzdnrKL*MuAg<}q4&=I+wK&Yp_GG$e5~%VJ@?VF3*tkDD~+ z2WN%BKEX5&7yojR6WMFV_K<`_P|^iK7&=l8M_&df9EMV1W=F+y8-yr?xiOy47w z17B;67(~3ryD@?w=ZXZL9O*7K$&r4|Fyo~%3=UnGOcW;r)r2Epp;~X2Zs4|VuRRHp zX{l?}Resp|%0z*oAvn-O%cpR2z}YT|@uN=hZL;%J$`B6GEeyS{hXT&7fHkAZzisp$ zary~yJf$>MmJu|`Y%&_a@;KYi30c{K!a%vEcHq?6MgKV*Y0M8ao^=uDJr1wR{T`l& zg#I2hQE*mdN<0p$wCF)8Z`y!tvnQ_#SEhw_=h(hg;Z6cr4$UBS#s%{u&QQ?A< zdl8{8kGZ+99QO}#EFn^IzhtNOusklFU3|VUmRK**Gh`MGlAKm~e+Lrm`sQAv>@E`$ ziqP^h^afB`h1yQDRoH4dc9+-!XOy$T@C@h~v3A#9D4xi<^D^7q!s3t{fZAx`KtA~H zOc5J*{>~BYf^bosoc6l7@nkQ$a;nMD=j$3%Il3(z_rSPP+pRrmpUAS4mTkx>P3F-1 z`2M^ED@?uLr7mAna)-Hh^O};AK=7D~;~A$N9a&HDw4qxda6KLi;z?_WwHe2D#KM;1 zHbYo(Gu`~+bml*U{WhCya{NpR3eRwm^zdi3OwUWj=!pbel2-~7Ln|0rX0W7dN3#UD z1KlRoG;!=L1CsE}ZbT5*aCs)ib|fq8{_xBoY_S~Ps>aAf0MKJjF8b8&3(ABH7M}%i zAL1kE{^%1@92{<*;H0WW`xmOa&bdkNsuS~Mh zT&>~Mp#}lCs`z-Xy*GaTMxzml&&%Rxt$bDTI1qt1YNZmGqS}59e|gcM3b)n3gLgZH zr^r3kbGa@lmo>IAcvxodzuf%gCnMi2?bdf|No}`~@bC_;Vq98M*sYP3eRrc!4t7B* z&@)FAC>UaoDf3U`I(6g0&oO>VTrTbIR|oM$%Y*oNv98u1CgQfUPruR8U9o3gg`Xgv<%Ik-T|ByILmMgcPQyG5y086+kT>w)XX4IWLxHV$Zd0;Ax zVHwCAhS_ZOZIq&jUX(eUM>W6v=5_6Q-Ot6m6Ga>@qV?o&_BheEb!I&33Vj!Av5az? z73aM@&lwJrj@*&A!HfChEyAKzV|juTp(?76_DVY;Vz?vX`3d9he_QRprjp++R5O^$ zq84C?(u(ES%ov2^YAESiDlG?G&jOcA2+X`f?&(2s%zI0H8jb8SMKF@((u31_m|;%f zgAR2Y8ZK=0WV=z)Wn;%awi^|N-~-9^4<>R%rfOw77KnY3d!u6VL#^@RYnSjn{=t^9 zv-30_nuU7a&Q84iMa8ndA43VJqc(p7`8d8c!Ie_b5x7m-jZK3|bq6=2dPzG;mAD&u zMjf*f9zHWm6?h!muBE-}kvB@zN>$#$@;&U_PNuh~9ol(0q?#1UI_96#&WJxJVSRUv ze3!ccGsXa0NK@g%HKqfj@X6R0RR!MziIoEhg6c>9g57LS#oA;k3~p?|xI zcay!ZST8zHoy<8N<=V$bk!FMVu~%)@OS}*$o_B*%7_QqmsbW<8-YC}# z{6+bieD)d&It6H-6YzuFK=~rjQKil#X27S9ZB&T6ymV==|^oJGd3wU zx9gHV(ktz1lBLbUwxq_7IJGOQ$afDqDkakTnX70fwg-P% zpsQTckn&X^%P$mkBpiWEl1NPJYMnXM-EWP*W$P65$7*YP4}}nre8nBKv6@^hF!2JJ zQbS{RB8D%eyD;QfUY5Nun!pam6gs(_`RRQa;R|;$iKy7xgkI)1qzxEcN;E?~1xr1V zTU(nL;S3j3Fip9fmOw}mVD1tTag+^c2j$dcy=_)MQM9^ul_> zC}7f;R8R`GwPt-hp3GJSTpVEqKVlk8pmWT>aILYVFYkx> z6CjoJxKqi(Is@&20}ySD)fQ5f<`e*jpYLIQlp8yZT48V#FE_YiPC-OMX-9mb>~rk^ zTJ}th^q~%zGDNdFh_FTZ^tgqkIu3wT+i4Maw*w}9m?HazMG}t{AFsoXWcl?FwfD3CD6v`&_ZEhwl#*8 z*@*{?PwexcJwwOKtHF~a%u<7&qET8?XmmxeIfU6=n+RABU|Ir@p1bALVic)p;qb_o zTQ&kWrU(QBe91BB&}4sl(42IW6W*#J9%pGbUJN^d0KIow!pflw3~p8Tr!BDb_&b&P zLGN?~P{+v@lNqVFogL0meu1vLcMHQb8b@o6M(wa1UPad(6k#3GL0>2y56!i%qtegSEUF2LDe zcaA%_>;eSLT8nlEQ*D|Y&kr#EAcw}4TJcEJp&Q%|;5#T-UYv>0iJj}dc=H8v;{qCQ z@3x4L`8l5)I3w+Beh{aapTW*NVW2*iLD^mcG2;4-g*xuE&`n^U=EwoH#}LpFfbr3~ zHJWr$qmB%N;|}|DyHgr7zCHMi?Fu3*G!Z{k|KWkK8OJa)J??ZdAs-a0L9*nmL(5vB zxMXo8hMC2Y08E6|A=lX*7%Ak*@DG$Q|KHHXJMZFcP|;6hYOWflw?JD+Rm_ zjSLJml>iu#LiJjy{%&5%sO=#0vlO6Q`;_G2P*QQ_Q4V>S!XjPguuvJqWYc)rMnIMN z+u6=BhElK_@-rfv^CW|TlnyMwol@28OPlJlt*7@_lYO4K&rXG$emU*7tTAh9wdR_* z={6S}BViBa5~gcB{$eKqok{Nl*+-Q~*b&Xvvip2>*8C~eHj>;R%vi9snTn{8E*tS(33W>Ua& zMSmQFWG|NGeRq0V%%KT8ZeX5o9O9n8s$ziN&XYBzNdd;RwJ2u~z1%w=(BAnAwnr-e zjDa5{nG4Sa7e_sCr!#0FfpL{hQ^&UKgBhc43xVs)y;2{*`^Et zjxtT-M39tfV}Z{V&Xp1j3zQjPp7<6bvx-hp=}q58Bn0$@Gr^%g_e?N78Qlp1HL6%N zaEsAR*DML&qUfM9M50G&n`tg`W$y*zVuixh#ib-0dc$!E&IK*~u9VcET3*6*vd1NO z5JD~m*^S=#NS4X7ek$(Esi5?Ae%&E9G6|@46+oc?zBiGE5yytefrOil9tD0Jj^fe8 z2*FuwjzN$m!mzM^f{vv}OwqDCagXFU81h7^-Hk~HD-0$}FcI7PEOI4=R-`ioiWZEr zA$6yd#~e|FCS*|}Chy~9C@?r5kL6t}0aDQvrmRfH7%(>ndlf#8TH(32J z^6YZYen5NnS)}BB-^_y*IpDA#F1e_Q$C)L}~I+mxn1+;YRo+NA={vr8ENO*JvPz_nAX(hM*4AW5K1@ zxE|z4^cipBpr}x|Xx&ncivrrD(p{he&(3)Oe{fQ_FZ;Nq>bbY{V%V)6tuZ(fXhh)f z9SJ_`CIr2R#X6yZxLQ)ns+l7K zr|7m0H3m5M5X!Y#5v_$}xQ9TJ@LBm*jzEhO0_o()XV{`=3U3&AmgEX!YDq$LhWP1h zVO5@Nt8$(^4G8f_UMdAf1s9(sc#tglAQ=$2aV+ve^SG&HUbLI)rQytvy#Z;U1yKZ5 zs(G(Spd!D>h9W;w8Vn+TP#KJXxVxW0gB%DMngq=9_ChNIz^KKzP1RI+%)=K733QuD9xy&hzY4~RW;$|uXSO0;@t`;jo#HIFuh6!S&oVg6FIhU zYFF3>D6u@xl!ssRBR9LNImKBn&Ctwc74J(XJu?gXY4k=Rw9-2ATvR?J!NHmDgY%I`n zvs?HIv|u_r)ZTR-TSK^#))$Zwf(k%^^Mr3iX$BOj>bZnv7o#jGoOG*LnECX}N!RVs zmKh#N&|H)H!UZ+M2gW@}iTXl+B}*1OeJC$gK?}2``K_&LKG(SBwKw}5Zrn_UVletU zCrTXgsDZ>3%9@~<7^2k1fS?rycA;bjQ{eYSr0R!Y7n|8d1|Te~%I=3LzC_vhfsz_t z(x`XIPsko`L&qnZ8J{S^%Z-qdwvZ;|%a+oRxif)egw{=Pv?7J`}EujP{3p+A(rUi?SYKfF^xV%gc3egslbSb&7?Z zP2w6xE}d(ETAv)E6>Unwtbddr=2y&gu$yzr>)g-z1s;pdeUS-v3}tAYSy&ywy!p|e znp8;NZuNPD)bdP(yJqz6j_FTL(mUk~gUYopcV=3XEVxt7F>msqB$wPICjZ$}4S~6{ z4Dh@O2C&Yp`^!xV&Eg0YkekqC|Ak~MNhag)^ggnevRIx=IPKmLmeA?1NoQPq1>{A7 zM{y18865v^tRG%kKzAM-<;iq>ktHxDWG~NNF3(;r?cu6X;3vFM;OOw|@;L%${~shE zG^OxNS2!;U2a9&{^AdlK0FpaT7Ny8J*m=OUVHmiTKe+nLV+?&kV0%kn5CCLDAZA49 z7vY%!3M)+(=`0A{*IleXyT}G6_Ey+`GzdpF7NQv6uNiWeHb=a6TYJ(i%h`-U@NBz2 zyW?@T?A0AZi5}iDkiEC#Bf<1a6Sm{LpEjA~Fx6rZAm^kpK#oZb5G^@!=$ZqUqgR8w zr)pBUI9Mt^b9T?xSX5c>PIqL9ixf~QI!!Bfp5ub{XW zQY<#Uu2{o&k+$Orib9#hP-Qh z)&fRjaj@=Tk4+Zp8_Crs43|lD(puzO?RmFOvD|gsu!Jm(Vlj%q#h^26W%g&cRT{i~ ztBecHh1npf;*Cao!7Sl3JE@yaV-*3`pu*^9VTzk>E_mf$gw-A)Gffpm)i}p0TV#6m z5K})DgF?VDk0LqwTfs|@efeGn9ogeC{3s=FJf;$=&~ArG7=4F%^U%JJ7-{cNGc3= zjZaiOB9#lq8)wTQafe08haOX4+&w0~Z|M}$71a7p(9`Dr7`Ft)CLL z6!@zBE~stXy@etbY%5dlQrJZV{$0mkzzewBTWb`OO)xcleF!fPFvwpl2BD}qqD^SJXl62?_k)*n=v+K zDW8MdV8-kOnCEo@2w!4%D4k&7Py{n(P~6xKTo*BH%30QNak61?vC?6w;>G!7rvIL1 zj+JO@K7nCI&j6Cy-P(uX*tdZdWI4o&kqt=|B9(=ef)&m%VOWpBgW>NL`TLmseY^a9 zLjJDli=dYbmD2GPlsYEJOKXQ>_@7WL+TX;ZPI_V@ArZg9z;d52sR-L3 z!K&tEd-imgElbk)LM^j${Af>$k6x&vHN;%N|2f`>U()gZ6WWDA-yH(`ib>^^Ib2~4O-?D~AD z2|7Ow)(e2w;Pu@pi*YQuUYs7XljM>BWG{HFZI0JEa6~7C8Vzm_M<>vYmI81lTF?Cq z4i6W6L$E1-$qirh?2lrEF)Vj?5@-?dM*(cX%>itGobXHwL21C{i67sY`*}O@-7 zm1Q<#m~nRj=J~ob$d36kPfrdlA5D-}901L;j0*l$_mJ~hBJ`yPnImU9duIF`J znEdgac<%Uc?*3C$d7_AyAC+~_R1`YQQBfe0-~m%+^bY$nCUuZ zXs<-Ppe2LN&r_`_*)!IC?2>hukGAcH^hrSWqT9O@FfzgH%#UF<^8?J!`~bq{>7`x) z8m6+q;%OT!`_$XR?&!o>$0c5R=5ld5U&?biGtW3Yf))ju)Xye*;@RZXgES*#HL;e?VP_J%V9x(jHKqN5b|-xJK5Sb&kcytWyLdubZB& zYj&=tnP?e_xj=qZMU8BlfSNt+kLJ9n4PNM8$ihHNUyMMMN?%fmKd)3GhjVtXh+(!@ z1eo6|(jcP}Gf+n*2Ix+u(JbwW;3EK;CK70!9aujjFwl`9wRr0a(6Dt0EZ(}fBN0fd z2e07aIlL5PcN0a%^J6hqV`uYP77ZqlJPsI7+tYEqlV%2JL=)^+`csrpMFmtfNm+{Y zZh4Gl6Lc>A;`oHRYxH}~HG)a{GT+NRwNa{HD-|EZNj#6}L0#G1h{qGW>4|fF5EUkW zxUUKs=(a%Z!sDo2kiPKX6v9Yfc5l2{JOBM6eK8vD-!_l2c9CuVQr+=V-H}r9HK)_b z&&$)f%I@WDK4^ctF(FrI8hEExrb@Uxb9tN3?^wSGxB0L=Qnf^O$NP7iuQRzAdy05L zWCN}LqtAf2aiT;;H}}35+aexVdk)sT>(7Z;^+t=$=jlOuVtUZ|)504J%=<^x zb=t#=P<6+M7YT2uFPlFTb>WaQYsCHQl7-qY+NkH zX}NszMcVzbQ!t)Q+QaEdf9kZ5#nN9H52bL8f@RmH2G0ocQXy7{)i91%bK$bUkfkLm zg83!N!&C%-Cl!UK4e=X0CA_0iEA8Per~EM0ZO%lC7BXfLFJwVr&0Nw;8ppfpK$A~I zIB3|Nr&?;ySaq4tXSXj|p-Wcik`=z2lt!&V5tQivC$o_jiDVNPfhyd_I@I)u&+?P`1 zq5AKaxDb2X{Ua>f-HWkZh!+u-pc8$Ar;f_al0;*-#?wIjT~D5@lGNf~{oasoTtor| zxC7UCny61B6n_wizsZwDMkz8zk+32zZh@uSgq>HTUZgKF`jap_JsQkKf6VJoB@Hwn z6c0~@04r4sjov^l(&Kv9aMmBrae(K;eYNg{K-)W*R1X=oHxW8a?Mi2p6f6csn56|s z&|!N(>X6_h3n+Dudc2{AK$o5~em|8)h{-rD#e70*2qBAldw7!xIEo33Y_dn1yM{|| zyQ}=OhCgM1iNvGR_K9!X!m-{?yF8V|o8a6Qy^e)6mOQ%@NY(%g$6VT|KabWbI0rLS zI2H%JaCknkeK-4!aeBW9LN>qdWcIIn-nYFKadBWu=(MNcs1+k`) z9N$2iV`ews(*kvhuSyqi=%5&O^LT=*Gn-szV63pS-D{7-S|e+aF*tdW_hW-m5m)s|c{IU&91&td{5DOFdNb#DrVaGbC9$IDcPlPhr+B_#(C^5#4M^@f zH);3n5G%#@Xmpd8ugdjOsotzMRG(M2{2-yG5-vH{|m`4;JyX5zi{#3jEpqKvV9 z`GDo6+Qp@;k>aFFwF_GGxiq3|eAK;hett{J@{>1OoB)^3`r@*Xv#|7^ux|f7(76^jiJNvx$(qPAD`<*qI3lL)f>T z_3#WMNICZoP=d!9!H%~Mp+5j>n1{C2X(t+i@bw3{0X&*;8YJ6|639gyh40wMcB7&Y zeBkOw|3Kf;RN8dM0@0OJB34X(jOG*ALB`iE|LpNkjenk>@{#7gZo4T{|dgp2KRNiZ@_&M?%Qw{ z?+u?#R-T9Z8r)a@s{sEl{6Bzu6JWm@!Qb;=CMyHD3ET(ZJ_PqMxKF~x@h$!P_4~X3 zIrc{p!%IL8s*5Z~{I z`vBbMBlwqp2Ym|nO}OvC{d2ea}ox6^%dQGVH^s%WLrcF8qEdr(PD<(zD-BeG+Q~+?)T?WaXW31}E$baPI=_ z-;3a%{m+t>--G)c+*_i2-U9#QaPNZKhTDUC58Qj^qD1IS2a^@+(K_ZsYs6B0u92*W%glAHF$RdBwkr`op~%?#*y} za2EcCe}sC&9Rs$A;QanL+$Z3EAMSk)=e_uS4$k8L?IZa9chC-SuY`Lo-0R^UfqOID zufc7>89s4;8IHKGh9mA9;E4MxaKtUc89s5DHgTCYahW!8-wH?EC*cggi|+y47;Xl) zfO{X@C*ghv&hX-}-vs=_a36vDUATV=XLxZK)A$11A4K7QgYTch{nDGTw!ys$?lo`^ z!@Uu%2)7Mq=@I7@aKw2X9C6+R_p5MkgWG|t!5Kbrm=>J`VRgaG!zu9Ng#O44=3kgd^^6!4db9aK!yx zIO2X0&hUxLw28~KiOaN!%e0C6Je=Xb8RKZevE=^E@XfJV{I@YSBDjTr_8l&ujpU6KY;r~xG%$f3+~V1 zUhxC;0i4DE$p3~s;XV!b1vrEM0lvQs_f@!W!2LPgU&4JK?uT%ON1Q)~i*ddS|BvB* z3TJrRsMF`8dVLD@si7Q%z3zt?>wlH35cV~|h->ja0{>Uxi2IM>3~s*%zn!cc!u%(?yGPHx8EoJF3JRF{C;4JtW*5_Y`8^irRoWalg{V39S7x39e z_RY2aym;S4JO2dE@IHd?--r7=+&AF<#eayk=tCjg@a*@I*I-S6dnMc(-S-FaYvI}7 z=l@mgug)=!g})jwhME8QSEKLYUJu7_gA+zv^WW+3Yh7Be#xK7u-eu4|2{^`m9?sxf`0m2} z1{~978qdLf0Pd4;pMiTG?#pmrfwOpj@eS<9NS}527TjO`&uFJ_D~#U*gntn3`LAKT z{C6SVhvEMS+{fTP1!w7f5jcMt;r%A!{wdtI;h2}<+3#0e82j+!a3A;|uy4bC@9U_~ ze~+{QW7~cLj^Dom_;=yH^k>-PfY*e32JWp$XB&>NC!Ay08-Q1IZh&8=dF{r>VlcnE9DLo1KG>YF>QmtH+g8~{V2x{!eh9FKj`02{2v%YaM^r+2-xb6H0%fNdjY@UeE_hJI`?t> z8r*&d|2Nj>zYg$Y_zAP{i~cgrtteef=Y9Vd*598jr%%`+^8FQ*aoahT-QvC2zhC?@ z+7V@YFMjR&IruM}@BfK$=iIxHrt}H?=cPwnmf<|Si-vy>WBR9X3FgTg;4Ga#!(98| zPr-Zqe;7+}2LB=8uL1mFxVOO_z~$k+5%5Rg-VA4Wr}(yXEY2Sz?Z1lBe=WWrhI=F2 zBXDnmdmPTHH$AlS)_?TS%4bo&@81FbS?Szw_~)?}aqY5nU-xf4wDK0X-++4` zoWVc;@Ix!#fcpvDPvHz+UwLR{2=_g>AHx}(u=m4#8tyX@{0o2gp_MPg{Sn-s!+i(t zM{pMJtlukGPxs(H1ou(6&%u2j&hQ_>cMYxy_uFtEgX0=(;V;(jw_bsI!2Jc>>;L{k zE6>1v49@cV9^gNK`(OtCr+~dF2mc3ugYo$PV2^@p!dW_m{{-&!fSnbd2eOo8%v%CNQ(>yijyx;fL zRWk8_APV zVsH6(?OlF?ynbH0KXbge0{_IbgKN5o^Kry|FV6L6cny6cc?U5pdGROQ8p`GyG30KbVu(*PEyIHu|xD#>L<7CWa9&Wvy z)5giWpz(j@9gL&k4FBJLtY62tCGKL}MVJ5e*Oj`6_g!4`7x;er#UPx`$f_>peHZx* zoXM}*$j-zKV7uP3-@tj*Wr1DeKci+>>#VhL1Y@|KGy9I?4Be6yK~?GH%Yf zx&G1cfjGmXIN#4=Bj0`8oddgbV0RAe&Vk)Iusa8K=fLh9*qsCaD|6uQm@|Q^!qwv% zaf@*6xL({@xD@WgrhN*1<_Vd=ehcsFBkm0N!-n%w+l?d*``q={r(<9Zd2v2-4sa=) zo4!13;d`DN@Bb~_Hpu(@+03!xxCnRsIlM39GUQtp_dI#_BJL&JD^~uE zqRgJxZqwb&_rYEHPv!Z)fv}{E{?_@iag~1!f9rU5hd*=ZYE&Zr- zpqla=z-8rzc9N5&%xNghtc4ue#^Z$zcw&PhZhWn_mXY+Kvsm

lVD`0O<1wIjcl<1cZyeUkMn_%(X*b1!K# z{6BqMcnp1g+!ox~#|G&dIGXhzr2T(7eY=YP*-7+INb9cbwk}{j3eH=|yl~vk>~F&6 zC%BEYKhg&6%r0NgItSd&^#9%RVXe%2##Q1b3 zeh2O=oy-gA3grE#5gzVR+&Y}Ge@EoY0yc7UyzLD76F9?b+NgJyeg|IbVhwz^%iX^i*(Ci8~5cg{#KR#+l!?TY1*t-npDQhI@(gS8x{` z$b3RvFKzc(xQ&x2f85izQ;xXXIKLaW33oqk3+_SO(-R0oyX_n=CX6ezyO!fa*gTHA ziSIgh;;!F9*f_D>ffJd0^O5tBhx_hej^ZkC62?v1NtwKUtG_3P=%#2lo1-|{qea4g z5NED;<1P5nt`@&Da2Z_nW&WH&V`q*_GpuvN_25#t3~m5t^ark@O~6&)CgYC9)#8l4 z^Cr@Jv;Xa4{W<=5{)gNfxD)?@`vy0Aqwg-}C{EJ&=nwdYhTjU}`k@t`3AY;k`M3*k zVtYb@??z_@@fy34=&EoVdni|&k(=Y4CsUtr58TpnlSCw!lF4Yvk& zKW+-IL!;k(BlkRdabhd) z%(5qe(VL^}Io64-IPr7nC;fL@qc_KK+bJ)ctSPw-Cu>6|;7-^;JBE`r*iYe%z1%aB z=2^HCar1EVapreFCy(GB#XW6=93||d-t_MknREOEb^e#QLy?cgS*9hYA)mB97TAmaPK!k!8(ylOevw#< zy@W4)DuwV>oCN(PzkW+!%jhM4q`zfY!hhCcDPQS_8NJj$>600j^pE?OfF=JYTP)!Z zdm_+F_@gbB@ZYgm!uOsG?4|v<^3{MPeA#zR%uN2wcq3q`AF}tFQgi*1KlA=QV9B3g zzqXKf4Sds%Kz{=)YyUa$^Yj0aKL;%7f7;?7z>o5L6>G7-g}<_Qi9+}ePGo(iVYxn8 z3u<_i=vk9!_h94}kZk|7Pqb!R9CVT>~Gwcc`L* zqm+tCj?e3`=%|4Wwt>m2><@VpcGzo~C2^yVk!vDV>B9sZ`n>mB|+ z{QLKL=hyMw<>-Ir@MG|4|HZqzzMfa$rg!+}L^>tC@57J%iLoRd-p5Ap{GA@ESWdpl z{VnygdU&Yf9Q4BDMGs513Lgv4w)iCY1dGpv=UJSA8!f&No^SCwn7z)5;jf3=EZzin zTKo%msm1>WFSGb9c)7*H_LBGOApHH|UW*ThlNR%C>}BAC_4T&G7g)?bhu)PIXW=y? zLKTy>{e_y1|G$T?KyUbau=z>-xD~$PJ=Xc^^7%1*3;nsiUj_V2tQ--ci`*2 zP=zEjL=2nZ<#2;$xBvGT`ZE~sqPnT{ybAwuZ^j1o{TCYLdE-X~EcI(N`8lA%+rv8y zy|Bse3Ya|{i}`&le5l2<;Bgk$!R+f;(W}E-1e>3fkK4cPM8ARiXC6jUp52c93WxjP zjr8xAEBlb=_D>6r{W%VQ4&F|Dl{&u59X5hi`HCM-Kn9!;d=r6g(;v zs@Sa3Gt7I<(QkM7U5D8V*t=q4P+sg$T>MG;_lFac_|||_>Zg?V#gvaUQJld@HXt>kBNDt1_yGNtT5qmr zvlG6{k2!kD5BVPP1s%VucUkQJjJ@1XlE1FrWwGCHPrhMm`eit(4DEPG);jUn#>$NsAh-vIBxe!1me*!aKIv46nfryc&C!|%h(^!S_P#{p7s z`X~8!By7gtL_gipH^FB7P4r!kz85y*Z=xS`^k0N4kMXZZ^xt&!x57)Q-;yNJKkn#V ze%aAW{pz;rk9$9ge&7T2uD#3RpLe2S`rP~TEz-l7i5g##^bb}4m*799uW#G|I`cV5 z{!evyp2KYpN8wKD$JIJKsh`4rs3C8aV}Aj>9lbm@C4FKqZ0x_{*x%qV|EELoC+Yn; z+^@$MCA?=G{qG!p-{AueEC#2p|5(_J4@-C_I{J3ljNghr0pF;{V};kkH(7iYY{qj% z|BtZwN%|jf_-WXT?~48JU>QHHz?1OX7R&pWTYu#PqFsM0;4`iIJWsPcuO+^ltdqqL=W^^TE9zcEwVEdB-lcpKkr$O!(#}`SX~=FF5?J!yl6uMg0^15}$m( zHrI1FdcH?gEXPL1mxr>K@7X6SeaNdEBD_QN_iM?YnU3D&W=Fp(4m8y$Ys;q4BO zKE#RN;Wmde4zF`~qr;Cnyxrl^A9v!{Y|5(*Ha}AzCtLN$)w}oG3j8On{J%)EDW4nQ z40>}vy5;Ng7AHL}Kk4Xy3ooPn8LP`*+G}C|nwY=f*t2Re)uLo=fLJC`PBi-{3O$V4LkbP@H+G}@FeZq`HudZa0Tffr}Y~w{pewDzMrIG z%C|lF34c~9DqTpqKMr7!{X$=_>Z|Zq;Y)P?{XqB|@a3?065gPBisri={lCK3SoW{M z55T8u`~TEz!rSu`o;OjaU&0>;&(-B2JjLNzaD%0v2e%j|e>&k-i@V{)h6%3#cUXL> z!`C@{r^Amp{G!9}IXs4fvE!TKaGk@;94X(>LDX=?*V~ zyG;I(-^<}s4U@kE4qxH$%?|&>;TIhKFNgWRmc7%g_$E0#+u>$7Y}t1@+zUr7{eZ)l z!YhrQ>-{?1XPE2#j>EUZt1SH%co3Ew=m_i|hrg=z!Y?@dM~9i?TVg-X;b{(k+Tl|j zPCNX0hp%z?M-KnO;omy^w!`~Wl&1f1hpQc~bGY5%h{G9&FL3zp9sa(<_c;8h!@qI( zZHM=rSbBX&IXutdc83!V^Z%Zfl=tTyzS`l94sUk&QHP&*c)P~`J-Ar&c8}*H zd^!9*#w*)}xxc>!zX$hfz8Nm)`NU$sNwbXS32%jeW$AwjzpuydME{y*%$5D0;QjS@ ziRkyKEakBdPlgY|Uf$otz7{?M9wtnBPlm&W(MREk#pl3LcpvTm61WeR@d^p=Yw#d^ ztL6>xCwX7wwMd1}|7+}h8kS)pvHvN&SigS?KLwu(qgMJ?9DZAKOzVeFqQ7C;Pk`^S z!mH72!fSFk0zaVbk0Ab4n#ErD5{JJ7Ka9P}Kh}77AE!Ugu!BnPkKtorxd6GIpTRSA ze_itTIn5@&--eH~^kW#9oC8y>Rep_!Bk&!XtKq{&`tvg+yt(l2;TN^O4StO8XU2a5 zZrYDEFIs;Q{3Lv_=I_8~?61p<@a}~fb5#993IC_?7>gf=4}-7O{$GUef=z#LJIt70 zk>7(4IDmDb+J66|v4@9iJ{-OWZqq!);S=C}nIEO{m-H-#C&DLa`zU+{Of)LL&V?_8 zP5yofz64hF6aVYsuUUKte4WJ)!Z%y|Yj|JgW8F!Bk{@rt4~*gd4*C3F@L?b4dk7aK z`u!#|e`_3TXLWkU!`H#vwfzkE@(Dru=fMxd>VCq17yJxt(%T2WZ1IKgn-+fye$V3D z;k^$J{67qjvG`?pqQ&pQQ!O5I4E4|Asc;kgyuO}#cv6M`eL${v5nO;b==@m*k3W*N zr`o;;j=*&LRsQ7QbK%!@ew+^vPGZf8)?Wc%1v8AG>~DZ?flYbd0pAXf(E6Xk_gMTi z{D8%;!Vg=#1AfxteUA0yo*a3#PEQ3qcr^c4=N^9iQ{lr{D|5AuZ!Ua0EZ;}u`cH@V zoI-n`{ioqmrqaIY{I~#)O!Ma-i2XO<>)_+H|J&i`;APtXgYcXh)=FvpYvLbfj8et- z9(><)#-}y!^GV8sH9s@7|FQ6Ctp7Pt`=140W${w@8H@AqVY37KuZw?+Zxa8od4Ibb z{-dS;B|LLZ;Qu|iVDWewhTAQk2mjIHy9q|u0>+9JFzX#W9-VE2U zF6t|qAAui$D>eTc{3^Uz=g)t@-@p_euPPmO5b>REj&`| zYv4=ZD>OI3;}-?`GvGU+k*T!4qglQ?(N?{C&RCv7Nq|y_)Uwy2)_%j)8%s| zeBUzG^y%<7z;$O(e>C3<_rWH=o`ee)zY3oVo9ELG_y%}C?f>J|)Nk0-|4Hy4;Tc*# z7e3}p>a$MIDRArZpnZ?Sr@UxP0@oBF8J|7ZAy za{~JbG$h}HAJy&sY_#i#oo`;nOY%u5Ug3!i9nV&G5?> zKMlWX@gLyd!$;`y-)B1ccM)s5DK9CX3Gny67=%9suDOiov%bE$V!zIxPb>EA@MV_= z;hhEFV(~@rlNNs)eitS<72ihqJ@{%J{#N*^D`=1P^*#Z=@U`Ii{URLtdeEQz9eg{? zZL7ljBm6RK+K0WU==f{`CKRjBe|62IEZwB|%KfpJ`)mnc){M^;dr_=m6Jono{`}HDx32fqf3!Zt6 zKOb50f7ndwCw#rmzr)}+uS2iH`y{;gcY^qjhsVHAX#11lS8oWe|5Ui^#(-n+eXwZ{ zSHXLJH{kQ&7TB~8Uw~J^59$2*Iy`rSzurUA`(5~4*gP+96aDvt_Vhk@t;LVP4_N#w zc<&zs@%;8c??wT9mIU9rbi8lBWc(M-f4EUB?g8ug^`1i2sUt9>!yfx5Y1+Rj$I{cg9mtl%W z)#rQRS1o=J{yjWO>z{?+h4VW8m*KwKg8Kai9AZ7;6m9IvDbl)Zxejlrr`bO=kS~G#ajOqJa|t~|F*#`_XhRvUHB6CPHi8WO?$m1 zNbf=LE$~>ap9GKpi5^cNJqzH_*5LWs4bOxR)%NGYt+4U`6*vJ;(E9Jf7yc~BuYZEC zf`@DU&*5)b{44l6c(m5P0pDWrUURrV;X|~34Ezji;yW6C*V5004|vf3o+J6Y2%ZWX z{}H$eK2(QyE}Vc(f8y)#prxnp?OkW-AA@hP^nZY#vv~CJJimWV`=ZNx3Ox8wP(Gi6 z?}GoN<3Aa`{o$ZL)Cs=;oBEo7_k1MaLHHQ>Ztedv_+@yF=Jjy=7eRji2u{EiTK^09 z64>;&UWPA+lUn~D@Ozg1@J~@c9u3~7#=%V%&xHHnW3~TA_$t_>|1D6v*woKY!Oy^^J~zY9!Fk>P>4Hyriu+fWe-wW8U+I77@UrmQ zr-SzIbMS@mK3e~E_;UD4%|C#Tc_t{od*Bwhp9WOw_k-|#zY5yJ7vQdEgZpDUT(Ef9 zT*hzUSvtM@!4LmiQ2&pFpMy`=@y~$gJRdv{n&3+;?u4I#Pt@s&!H4~Z`(Iyw4xai_ z5dP=kx$ylu{J)1oF9+?(cj57{DgS?jC&A|a`~^JI;@9CO*wl|bPo%!Xro0Y^2VoOl zExZ=KSI1um*S!+d|4#U3_z11W4uWrid$hh1K5Tmse=R&- zv%Igg!4u(i+Wt)O4@>f8Bn3rw@D()VR}Eo}1ldiZj9gx22) zUj%Pk)35;fu9?FAPI}2X zJHh+jkKhRZujK@NKWu^5^8Z7c=go`oRj|pQci{WrV*Rb7J%h)3e)${;hge@TPIEmx z9wvBI9?Rj0uxYF7Gj~^Z?me&@z6@EhN zAAu+Ge`eB6SM}$&a2I^0){m$szu}FV$HH;`KTXqrode$moBVEs>-ayKP57Pg82<0# z7q$Q8@Vl_-ubm6;%l~6++Ji5_<6%?2*TYxA=WG94M86OJSEuG}@O|*>ns>mrvmbz| z&!ZaXzrowJ{&4vAQT(6BAwR#S!*llw^5-PD56)=&)8OY|6W=O$?f&@J`U~N`NArLB zYQ6@36~0vSt#E<=L-p8UetcWt>ki`o-PQ3w2fuqT|L?H2e;c05|C#!ItsmYJHK zFKPW@@WcH7sZVMBRQLw|Ki2tL-wgjAzFYHW;P3JOMK9O90^Xbb5c)L_!fWBNI=oBa zZ?PZ3EX_B!+3)%^&|hBV)` z_z?JJSUvyIvzLx{kHwAf!>}5ULEi;W)bsfz{BF%tq`ttt@RNFf1>t_pr|a~c3s2MY zp+)}%%|~hdynn!5+E$|+C{+@*YsAd!YFX1!LkJa|S zfeV)XpBz5yq+tH_Xxghv_)6^MewF!FweSXbq~>|>Xx6(|YF-S_u=sR%sl`e79E;C| zueJE|@D_`|3~#siMtJy4f4-um?{2u#;$Oi0Dya3OcbNB-;!p)OLGcUX-}BcuiT-tX zBrNT-@LO=Dr610XI~kVevFP`OH^OrN2v@*c;Da?E2R{uD*L)KEEG+pi_NT$`z{Wlf zKNJd8>>z=n&%$Ot^8w7D`y5<7JXC>qPk6m%Km0wse}H9ul^@<7-o5Zfc&XSA+r#^3 zSk_bd<+F$Pg!qTswEkD{p?ifYJnFO9Z-Zxl3?Aw8e+nNI@Q4=HBYcAO$|HRJesE@D z5dK*BO4y`t3Vb#EtPXz;JWv^uY*X=l8s2Pi6FhPf;cNW@xZ2`V;H5ChQ~sC0%i-mk zqwr>nGjPRGf&N^0jm2MppSSobc;3;0{Ra42i+==rlLP%v;N=!S32%lwb$WgUAAC%} zFTlMP{}$c^zeI*f{{JU@ZB?kkzu)%ocEB59Q=Y?4CV!>{EFUJ8!}E1~`@tJ59s{!; zqp1G`Ji9vJiSQbWkA}BeJQe2tF8ZGib3YgPc$oXQ$aOILUle&hTwNQ~&r{(mj`P>A z%Js(J9k8h{E8(pthAQUi>+vdMRoQqX8H?m2US%HSZ&i(mYvrt3&SuKlEIB(){>)J( zX!64Os@Wo(E@w03Oc~ZHb*&1BKY0lapXl;cb5tlbN{8RP@7L!V73&P&pNhOj`KeX@ zYg9^zKUP(vVx6hdGD{iGQeJ0G_j372HebkubNRmMwLLScj~f`M%6T1~bqx!=j(jA# zGTa*P^TOdoDv?h_lHpv&o8MH|=FN{sGD_9n)X~)GRpsLYWJrIt*B42os-oVCOd`#p zCmWAv^XVL?kywK4_68x}4IH!Z5GU)a>>MYCcQ>x=L=Q7h-! z)C&IQG70|X6Mg(GY>E(YOyWC?}y7a^10TG!_jf zdZ32JhHwiP7;f%R=Z$fj8q%qJHk~xe_INa&=#Lxh%tlhVzC^wulT`lwkkcs%x2vPR zk(`a>6VY&AB$-S{tNO^zAmNhIOf-gRnJgS1C=n-|>abL^ z(yQ_7ZJErCm+~3P(y#BOzWqvGD)TFQnaqtv6}f*$6l=f8{QINSyMMQIwzP&9H`IhX z;(01^Phy4VOQu_rGJiuwTk!9?uDbS4%d0}lv?-fSXFWyc25IT^8EsuRC9*hW86nhm za^n;Y+Xv=Hl08b48_eb7eWqceS)%dCrVIH*N^a(Oe>{~BuRxHI#wD4^NgJ@L5HE-} zlkM+Hal5TNMFbQm&30e7yU^1Umr9h6S;vxb-)KO|L}zg@l-4x^9DK-(UlG9LW%@QERjJ!7C(st zi~Hl*o@9Ept08&mj7oD`Hj&OI@`K($i@uuqkrZd%z#{6uq@^p>EqT|O=tFo~BA$%3 z5x1mhKu(B{B;>F!^eyf&5t0K*@!YXGk(Uc;N%{Wm9O#T^`w}Ud!*q(vHJ2n7D)lOK zq6xCxyOYJb;YC-vhAK^Ru{uD-LxniBp&w?i^f+da@PT@%optg!CGGMA z;ZA5uaceZw+o&JR$8+s*>4vBp+sd)8(AUI$F_hZegB^uvG@i@#6p}h%>Zo7Ext|yJ z1ZoKc1!>9>FU^|Yj>y$D4J7h@6Bm?bLp`l-E??{Qw_)3qigYLAOPbrH?ukGJ)11gs zhN_AdYk~GBjRiL=MUz|<&q*ud6{4+?fsVl(57A`tUM?gNwzapM)V{c@jmk`;r#m9q zV%H~{PiEt*NUrLZ6rTrG(Vi8F*nn?O)1XXD|HxRI9+K}@$nPTsOn8M%fK6@H;dZ}~ z41|qzoLf?*ytqK?Fa0D5l)5*+qoHR-BfYc|Y4ecM#rfWNwj&dd$IARPs$SnI1@7yf zL_Av>ps}v+Xp=4|*U}RyB&qgok!+6U+sNAoniDPbebUwIE}VU~3MbYV<{m;4RnMJRwq_R4*j_V>GM0yRF-7^_EYHhugr`{E>r2xF zVyKSc7qdAdKO1@L;?BkG;f1G%i)9d1ofTB{(;}&8JRI$fK+H27!X zg{QRZzIoL^Z-nd}LLQE#^I=hTCle`2fs_>o^`4<}CeMwBAd=4~!g7mo9?fTyR(uLq zB>G4RN?v1fURBk!Xfn|~EtyWO5NC-p*+eQYy?B6~>2#UPh@@7;lhbnk z`y!STCr*?`R`fkQJi4dFYJ2_Ns|tu zCz-c&J+(1AwjQ*}WYO412}vrxq%IOo=X9wQMY)7}O|z}?k(4|fU6J@qRE4QY*;r2| zOgomU?Xj(N=$4I0YzrNkWg(Ihi&a@wacmP2*)~M%q(vlRq3WYwNGsK&U9zX7rtwlF znQv-XbxI_n%xsm^-D&Sgs`)^dYmM{FZS+8E}`!bT@NC$Sgz1*7gj93sI|;AkbJg&a=-l@HsH(DTYu?NKesEQN;b8O7~=n@o1J{igkkQEG_?7fiAB! zW0qAahkA(y6^mynoAt%**_YP~9&-&|e|bmdp4({!FP38yZ&wFyrpb;Z@s*@fP1 z$6WsnyYSz*3;hhq3|%FoeT*lmx~>I%1!+5mEYH$B%cPTozQnrUcvThO-MQfQA@gW; zEX!PCMM^zCh{W>Rou)+*%fKt79#Tk3GE~d$+qXndhS34tsoM2kvy0%#uae+h|89A? zdbhk>ebWbr&k*Ma#$Wb)bi!x&^Mn1#yBK`PA;Be5UjC_@Mlo?zRWc^-m}LC3gZhQ6wXSwxz*3wb~8UQM;Mqs8t)_ z-+kFWxoe5dGzvW#eb@QVARmiq)VJ>t_hhcOkdLKTr|cU~UzqAdC6f&Mx>rSJl=*Wn zZ77=|ZpyN7hN#$OHbdOJWi~@pkTRPgDzR%*<90J*QQj)j*<>wk-o%MTDrU9rX!3F| zZ!xN)ne)Lh=~d%ayaI`hhVa=5ufC8-#_IC)a=Up0%T-o(&TkF3bkz0FsBEfit8A=X zP+4EuQF&ZbYbCGZiRqP1OFJ8DW(jogr?sxKt*Nr^_=UB#T?=Q_bSvb3_P zzHWA9*V0P9u`Ft=Yj0fGQeWBLbjs|?Ha?}yu57BSZ|Se)i^~$;4$|3NxFd0PJiy>A zEJGgBeV`8>4(l9BrXwP>D4b>Rp-d9a_cBr$PN$NCjxtq9CK1Kr(R5!X%aBM3)Hv2s zl5*R4PS3E&h2mMXc&6WkcomSeX7jupcdHLfr9|&3Eb&wM|CDQC$V+x@`0LV%@&zBwN-}%eTCy_Hxk@M^syGg~+vq88*0w|W0(P(e7AfqvW;mTXE;3D=4dioqK8GV zLr-SIt38QFT3OEIn!=2rgtPG#bR7d78rJ*fE5kxj3zto8M_Vj#mq*jC8EdOVv= zrLmIW^|>BCmg}a=M(?1Q713Oogz?Lw+8+icFh6_!Oewv#%%F8`nL&MRQO=5aN0*F| z4ZePua8$CG3lSqGKaG{7O+cP& zhU`&unoJc^kG?Q3eEvf)9B!#3gvwmJFVV{rRX(fvMMbJCVK}#1p3t_0n6lFOlG!lo zJ9b@nt|6Jo6u%Ae39FS}vwZnApNm?ggKVIkionE%Y)fnik@Nk@%q?mf$jhg*W@h08 zp&DgJK31-jDF>Yct&v2sJ3Y|Um*I22BtSl1s*_gL3sa}^p{YYAhxGXup;&$06dyjN zeH9H(6CcZ%b3naTo|S}4X1-Mkmw+)=vqR()pL%aoCQ4*At`en^nQSV4S*kDOn&l&1 zvG1ZfEA2~5T2w77X?~H_hRf|lR%)le9_dd?#ji=K^vXXi74>|;%zmboe?dk4xp2Cjwc~-BeBsrG6q#?EB$Jvi1{hGXPz zI7VL5EL-7}H0hRnXT2*YJ>iztu5eu;pZ2q)j`zw&-op{9EY;_}(*Ky~%jL5oGr;&> z7x%^Lu8=zJqxxpv*cV~`P`@vc+Kxa?8)}Sq7gn^=)S6DMbjwOAi3mzASp+4|GZD-Q zmt4Lo!D5&)e^L6*eu+}_DW+1WS&gbkE%&=IY0YKSWeHOi!)i_jHDpmb&zEU`%7rpk z%2uf05H-6FqIMTS)b2EhQzI+mU76-=y03kJJSk0OJ3T^E1sednl(>z< zDppmKiWFwDo@9~;oI+P36P$p`(xQhrPXpyu&18@}Cz#G4AqHY6T%{Wc|U>Uwk9GDX%|B9o>g#Ry+X$>BdN?OaQWJYG>+ z_l%Cm%}$hwTy!U4HZjd5na;&cf_Q5~kR=@2WPLp%Q*DGlx6qO|Zu3X~{M>*#E0SfC$vDuL4N8wl4k*JowP1^RMY zEv7yVsgMqk^47@PjLi14f@|e(6 zfv7C$NEeuQW1{hMNl+qilPzHeM(@ahc~v?sr357(rIMHu!8yE zWvLB!I)3<&UiyZ>{4i;sqXijbKZ)-ot^VvbCHEI~cyi9|r#taNs)Xc3H6O}=o8Iv* z?RkWS1k&s=e^$)>j;!YN>NaMB_zgYM0!luYVq1yn1Rc^;>n2$K~DV2 zDE;-0B}LC2OB#Z6dFJWqvuXx2Pa^4d1qNyrhiZw<0|XNmcBnX1{^`-mId%h#qU3E7 z_S=5yvfsF>Wh@O11N!Bwp)aNvw(wRP*f6)#zZyv#)AsZnPfwwm66&AYGd?YeKk3sK zWMxJ&tt15=d@)gylJ{YIF7ptRkh6)5+|5NR-5RzrQpJiVORPtUQaloSWZbN%;_BK5 z>eW(~5@BblFqv(T328dBeBVs&=BW~EYSSJyw=`?cC*_V#qzdu&fih7CwLrau`(fpi z{-B1Twrrfq&$dT>Y0@GxT4e0Xf)Rmj!?y-M(R{LzY1?*=q4V=}2t|v@s-gWYWLiN> zTDrH z11t{mJLINxl#oul#n!ul9|SfcGw%d}Fy2od%KHTavnC31uCe%zV97~V`+x+aW*Qjl zlGL^2D4}H1N=i#EZTH-ZksvSWu@@Ec7Ge1})x}>-S+w#S9Fqo!u6j{P7d<#9FJ
I%M)>`gn9466ViCz~ z#vfZ!O$^4-qGk&jKdpg|6z@cdueKq5iI*WXMO)SAspx~|T|J!q<$tYdoj@`}(x=}v zB}b5SGFKtOm_y2cO%ka;Jffcz@`a(fWI%igACqOkh&fLuGuyp8!AxS2vAk_HedCUF zvOlf_WY)=2OFGk8sl-OMB*9AX2*ZXeC=NQc;#WpJQZacdP+1xo5A#2Ih)Pug|Agtm zxws!bj~teMgnRh%z|9#|Bi=NtYGD@%VQHhBN(4DiEu~bAqC~fXX2{p75s0{~$zvIl zngNl{saGyfAG>%+B>{g48zD%S!ymVBgzAOZ$Rx$G)|2^EMzoNZ<|3$CSR{V|DX0fc z)xtgEawIGibtG+k4Jh^Hw`#~_K~P%)jjHr~gJo=U=eR(Sfkml=>nX(pd2 zQ?;6}Fd*v@SyRV6aCd26=~6*gtBPGBZ1ul;+UpEe*k<+U{B)XCgAz>;xyvo|8jVaU znSD+ZW>(nA7=m6hr$x+rDV0zwxDd7ePM!}cmBqW(SEvP{RLi2cI5^m^Dgt+_tPPf4 z8sBq$nUoB5T-O&0ork@80;@dtYjAMtS7O85TAnT%E`XWh(gbj)_zkI1wkEi}VrogQ zZ{3!pZ^*)Gd1+URMpYQD)J=-H7PUJKbAq!qd|TS}#VJ6Ktl>E#jI$>6*;lv6i6xgX5B zV_n3o4Hluw68qd-nP^Xnt87r;jaa;0CMqVz*W~pgb0I(Hjh}q6R3&&)syzgaXqluW z>|)~~9(><^qEySI{FYZR-_FQe{95M={f0%N2&%CPg)*f3C$-IAF74-!x?3g5e3@qg zddV6acY#)s)ncq7sfAYosWnzbRO_jRT$VGGQ0CT}wKM(-9)C$rsWe!S6Ug;S8#8S} zt&j`*fAx%vSZyJ3wik}6MRCTikf>#@MNBP*3v=Zk5Ou

WQ;h&6P;U!wUq^We=>c>pHG2h-TZpG z_PJ=M^b5VZHk)|;&RXx_3jKF*bz1Tc9!T^%xDu!|sx#ik^}V1;y?)fk3!Hq}yP|D@!7 z)EB7-hP<(dd(xSl>=L8A_^+SAyP*Ff=)XC7Q9bp5g}h!?rUvMYCS%Ra7THFIM_xG0 zLoma}0!%?c!axhdzLmy^b@1k{XSF_|p*8DRJz2F|jEUvEOlzS%^q2PfX(Ua40(rWc zAqGi5Xa*NRomg{}mBDsV=(eV}E7wh@mYsL-(#y^$HR|tlua_mjob$JqzZ7GyY!}1! zC$-`HKoO>gvl`ghq^1;%nc4>^&}l5u2Ei!ptYSbK#h9o`k0e0-C57zB!?;_0*dHbH zdf9@=>y>ng2l&-?q7JG>`5j2@bQ~RtLLBTztZVvQg|wVdE!Vh%$Ah(&lR7U8S9BhBGuJrcy-yng(8|d)$gZp66K9-1=HGlIhU0LYK9ig zn=}qRX@s1L{a{~rI+^2aARF)D5KBZ>gmZ-qbB=SlxpU@BuR$2i6y|c@&^4IaI-^Qf zU5Z~>2S1mJ(NN`wMSp`Ambq2SM5g{!MFu2Hy@a7elZ)ojNLuFdWa#52$kCb4P4WNc z)4WmUrW8_4?TSsIN5s}sxqZBbaSaRW7M--LK9O2hRke(JXPL^K z?q$*N>Z;^lVBd3gn5FuEiI3h78w06|4h%@*m;ygFKEM<>Y6ov&$-gRuzsi%$x%|sA zr0*}y51uVjZKx$=V@ryfAhlO6G3|;>;Yh-Y@yW0j$vY2+%Zgn-Z4y{>m9=k@pfAl zjBMxS1}zN=`%&3qy`7gWQhPf^#Qr{Bu5oc6ub~xYA1_y{_VIFs(l9&8 zmWUCTrBOELa=q)#xm>Z{oXZiH`Br;zIYw%Sts!J?D)nAmt|iZ$vS|G3Q<~wj7nkc7 znH!5L8}?CfO=T}GS4P`Dlx(OV)lMJyS6@l2?XRS&(^|^*SLxF2uhRbZS82WdmBh`P zL~*|>?gE}LIef_zhUIdERNMzB?Wt+VGZ3oVuvoR(H^!X%`^ISUcZe}6Hp5UiVz`E* z>}cZOt_s=Agg|K_Nl=D0D;y;O9P}ls?Moyva>wZHOXOPo?Mv{>_9YUL*}f!gZ(o8T z+n1!(RwZe(Rf#kNYO4}XWRsG#-h)IRWe<|#>Diq6-CR!GO-7K&^Ae48IXS3SMkPfu z69GL=y0ZlQ|Y&m-~65fXkE|TlhPy6W- z7>_uS@T`{kk#gMSGaDoN|8rRt**_!9yj+$@B8p_9xw+H)eK0C2rnaztR(i+Ncq^R3 zx%8X-?~v2@=&;V%lwEDTksIfPyy`24 zd3&+-sqC}*VSf^iIJUl(-^h9VVeer%S3eWhK9ETF@WmCq*jy}~N&S;V$WQF#TqA~+s@#tMvZf@wHvaR+qmI_8wR8>E zxrEYx+@4 + +

+

Vision Build Log

+

Tool Versions:

+IDE-Version: Vision V5.34.0.0 +Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: 1 1, 1, LIC=EXJT4-FZ5X3-303NC-7EQ0N-KTD5T-80336 + +Tool Versions: +Toolchain: MDK-ARM Plus Version: 5.34.0.0 +Toolchain Path: C:\Keil_v5\ARM\ARMCLANG\Bin +C Compiler: ArmClang.exe V6.16 +Assembler: Armasm.exe V6.16 +Linker/Locator: ArmLink.exe V6.16 +Library Manager: ArmAr.exe V6.16 +Hex Converter: FromElf.exe V6.16 +CPU DLL: SARMCM3.DLL V5.34.0.0 +Dialog DLL: DCM.DLL V1.17.3.0 +Target DLL: CMSIS_AGDI.dll V1.32.13.0 +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 + +

Output:

+*** Using Compiler 'V6.16', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' +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). + +

Software Packages used:

+ +Package Vendor: ARM + https://www.keil.com/pack/ARM.CMSIS.6.1.0.pack + ARM.CMSIS.6.1.0 + CMSIS (Common Microcontroller Software Interface Standard) + * Component: CORE Version: 6.1.0 + +Package Vendor: Keil + https://www.keil.com/pack/Keil.STM32F4xx_DFP.3.0.0.pack + Keil.STM32F4xx_DFP.3.0.0 + STMicroelectronics STM32F4 Series Device Support + +

Collection of Component include folders:

+ .\RTE\_DevC + C:\Users\lvzucheng\AppData\Local\Arm\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include + +

Collection of Component Files used:

+ + * Component: ARM::CMSIS:CORE:6.1.0 + Include file: CMSIS\Core\Include\tz_context.h +Build Time Elapsed: 00:00:04 +
+ + diff --git a/MDK-ARM/DevC/DevC.htm b/MDK-ARM/DevC/DevC.htm new file mode 100644 index 0000000..2f63671 --- /dev/null +++ b/MDK-ARM/DevC/DevC.htm @@ -0,0 +1,4786 @@ + + +Static Call Graph - [.\DevC\DevC.axf] +
+

Static Call Graph for image .\DevC\DevC.axf


+

#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Mon Sep 29 09:29:15 2025 +

+

Maximum Stack Usage = 304 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

+Call chain for Maximum Stack Depth:

+Task_atti_esti ⇒ DM_IMU_AutoUpdateAll ⇒ DM_IMU_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +

+

+Functions with no stack information +

+ +

+

+Mutually Recursive functions +

  • ADC_IRQHandler   ⇒   ADC_IRQHandler
    +
  • BusFault_Handler   ⇒   BusFault_Handler
    +
  • HardFault_Handler   ⇒   HardFault_Handler
    +
  • MemManage_Handler   ⇒   MemManage_Handler
    +
  • NMI_Handler   ⇒   NMI_Handler
    +
  • UsageFault_Handler   ⇒   UsageFault_Handler
    + +

    +

    +Function Pointers +

      +
    • ADC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • BSP_CAN_DefaultIdParser from can_1.o(.text.BSP_CAN_DefaultIdParser) referenced 2 times from can_1.o(.text.BSP_CAN_Init) +
    • BSP_CAN_RxFifo0Callback from can_1.o(.text.BSP_CAN_RxFifo0Callback) referenced 2 times from can_1.o(.text.BSP_CAN_Init) +
    • BSP_CAN_RxFifo1Callback from can_1.o(.text.BSP_CAN_RxFifo1Callback) referenced 2 times from can_1.o(.text.BSP_CAN_Init) +
    • BusFault_Handler from stm32f4xx_it.o(.text.BusFault_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • CAN1_RX0_IRQHandler from stm32f4xx_it.o(.text.CAN1_RX0_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • CAN1_RX1_IRQHandler from stm32f4xx_it.o(.text.CAN1_RX1_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • CAN1_SCE_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • CAN1_TX_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • CAN2_RX0_IRQHandler from stm32f4xx_it.o(.text.CAN2_RX0_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • CAN2_RX1_IRQHandler from stm32f4xx_it.o(.text.CAN2_RX1_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • CAN2_SCE_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • CAN2_TX_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • CDC_Control_FS from usbd_cdc_if.o(.text.CDC_Control_FS) referenced 2 times from usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    • CDC_DeInit_FS from usbd_cdc_if.o(.text.CDC_DeInit_FS) referenced 2 times from usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    • CDC_Init_FS from usbd_cdc_if.o(.text.CDC_Init_FS) referenced 2 times from usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    • CDC_Receive_FS from usbd_cdc_if.o(.text.CDC_Receive_FS) referenced 2 times from usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    • CDC_TransmitCplt_FS from usbd_cdc_if.o(.text.CDC_TransmitCplt_FS) referenced 2 times from usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    • DCMI_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream1_IRQHandler from stm32f4xx_it.o(.text.DMA1_Stream1_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream2_IRQHandler from stm32f4xx_it.o(.text.DMA1_Stream2_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream6_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA1_Stream7_IRQHandler from stm32f4xx_it.o(.text.DMA1_Stream7_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream1_IRQHandler from stm32f4xx_it.o(.text.DMA2_Stream1_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream2_IRQHandler from stm32f4xx_it.o(.text.DMA2_Stream2_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream3_IRQHandler from stm32f4xx_it.o(.text.DMA2_Stream3_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream5_IRQHandler from stm32f4xx_it.o(.text.DMA2_Stream5_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream6_IRQHandler from stm32f4xx_it.o(.text.DMA2_Stream6_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DMA2_Stream7_IRQHandler from stm32f4xx_it.o(.text.DMA2_Stream7_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • DR16_RxCpltCallback from dr16.o(.text.DR16_RxCpltCallback) referenced 2 times from dr16.o(.text.DR16_Init) +
    • DebugMon_Handler from stm32f4xx_it.o(.text.DebugMon_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • ETH_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • ETH_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI0_IRQHandler from stm32f4xx_it.o(.text.EXTI0_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI15_10_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI3_IRQHandler from stm32f4xx_it.o(.text.EXTI3_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI4_IRQHandler from stm32f4xx_it.o(.text.EXTI4_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • EXTI9_5_IRQHandler from stm32f4xx_it.o(.text.EXTI9_5_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • FLASH_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • FMC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • FPU_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • HASH_RNG_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • HardFault_Handler from stm32f4xx_it.o(.text.HardFault_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • I2C1_ER_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • I2C1_EV_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • I2C2_ER_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • I2C2_EV_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • I2C3_ER_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • I2C3_EV_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • MOTOR_LZ_IdParser from motor_lz.o(.text.MOTOR_LZ_IdParser) referenced 2 times from motor_lz.o(.text.MOTOR_LZ_Init) +
    • MemManage_Handler from stm32f4xx_it.o(.text.MemManage_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • NMI_Handler from stm32f4xx_it.o(.text.NMI_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • OTG_FS_IRQHandler from stm32f4xx_it.o(.text.OTG_FS_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • OTG_FS_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • OTG_HS_EP1_IN_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • OTG_HS_EP1_OUT_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • OTG_HS_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • OTG_HS_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • PVD_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • PendSV_Handler from port.o(.text.PendSV_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • RCC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • RTC_Alarm_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • RTC_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • Reset_Handler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • SDIO_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • SPI1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • SPI2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • SPI3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • SVC_Handler from port.o(.text.SVC_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • StartDefaultTask from freertos.o(.text.StartDefaultTask) referenced 2 times from freertos.o(.text.MX_FREERTOS_Init) +
    • SysTick_Handler from stm32f4xx_it.o(.text.SysTick_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • SystemInit from system_stm32f4xx.o(.text.SystemInit) referenced from startup_stm32f407xx.o(.text) +
    • TAMP_STAMP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM1_BRK_TIM9_IRQHandler from stm32f4xx_it.o(.text.TIM1_BRK_TIM9_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • TIM1_CC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM1_TRG_COM_TIM11_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM1_UP_TIM10_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM6_DAC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM7_IRQHandler from stm32f4xx_it.o(.text.TIM7_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • TIM8_BRK_TIM12_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM8_CC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM8_TRG_COM_TIM14_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • TIM8_UP_TIM13_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • Task_Init from init.o(.text.Task_Init) referenced 2 times from freertos.o(.text.MX_FREERTOS_Init) +
    • Task_atti_esti from atti_esti.o(.text.Task_atti_esti) referenced 2 times from init.o(.text.Task_Init) +
    • Task_blink from blink.o(.text.Task_blink) referenced 2 times from init.o(.text.Task_Init) +
    • Task_ctrl_chassis from ctrl_chassis.o(.text.Task_ctrl_chassis) referenced 2 times from init.o(.text.Task_Init) +
    • Task_ctrl_gimbal from ctrl_gimbal.o(.text.Task_ctrl_gimbal) referenced 2 times from init.o(.text.Task_Init) +
    • Task_rc from rc.o(.text.Task_rc) referenced 2 times from init.o(.text.Task_Init) +
    • UART4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • UART5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • UART_DMAAbortOnError from stm32f4xx_hal_uart.o(.text.UART_DMAAbortOnError) referenced 2 times from stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) +
    • UART_DMAError from stm32f4xx_hal_uart.o(.text.UART_DMAError) referenced 2 times from stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA) +
    • UART_DMAReceiveCplt from stm32f4xx_hal_uart.o(.text.UART_DMAReceiveCplt) referenced 2 times from stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA) +
    • UART_DMARxHalfCplt from stm32f4xx_hal_uart.o(.text.UART_DMARxHalfCplt) referenced 2 times from stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA) +
    • USART1_IRQHandler from stm32f4xx_it.o(.text.USART1_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • USART2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • USART3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • USART6_IRQHandler from stm32f4xx_it.o(.text.USART6_IRQHandler) referenced from startup_stm32f407xx.o(RESET) +
    • USBD_CDC_DataIn from usbd_cdc.o(.text.USBD_CDC_DataIn) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_DataOut from usbd_cdc.o(.text.USBD_CDC_DataOut) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_DeInit from usbd_cdc.o(.text.USBD_CDC_DeInit) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_EP0_RxReady from usbd_cdc.o(.text.USBD_CDC_EP0_RxReady) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_GetDeviceQualifierDescriptor from usbd_cdc.o(.text.USBD_CDC_GetDeviceQualifierDescriptor) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_GetFSCfgDesc from usbd_cdc.o(.text.USBD_CDC_GetFSCfgDesc) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_GetHSCfgDesc from usbd_cdc.o(.text.USBD_CDC_GetHSCfgDesc) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_GetOtherSpeedCfgDesc from usbd_cdc.o(.text.USBD_CDC_GetOtherSpeedCfgDesc) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_Init from usbd_cdc.o(.text.USBD_CDC_Init) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_CDC_Setup from usbd_cdc.o(.text.USBD_CDC_Setup) referenced 2 times from usbd_cdc.o(.data.USBD_CDC) +
    • USBD_FS_ConfigStrDescriptor from usbd_desc.o(.text.USBD_FS_ConfigStrDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • USBD_FS_DeviceDescriptor from usbd_desc.o(.text.USBD_FS_DeviceDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • USBD_FS_InterfaceStrDescriptor from usbd_desc.o(.text.USBD_FS_InterfaceStrDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • USBD_FS_LangIDStrDescriptor from usbd_desc.o(.text.USBD_FS_LangIDStrDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • USBD_FS_ManufacturerStrDescriptor from usbd_desc.o(.text.USBD_FS_ManufacturerStrDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • USBD_FS_ProductStrDescriptor from usbd_desc.o(.text.USBD_FS_ProductStrDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • USBD_FS_SerialStrDescriptor from usbd_desc.o(.text.USBD_FS_SerialStrDescriptor) referenced 2 times from usbd_desc.o(.data.FS_Desc) +
    • UsageFault_Handler from stm32f4xx_it.o(.text.UsageFault_Handler) referenced from startup_stm32f407xx.o(RESET) +
    • WWDG_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) +
    • __main from __main.o(!!!main) referenced from startup_stm32f407xx.o(.text) +
    • prvIdleTask from tasks.o(.text.prvIdleTask) referenced 2 times from tasks.o(.text.vTaskStartScheduler) +
    • prvTaskExitError from port.o(.text.prvTaskExitError) referenced 2 times from port.o(.text.pxPortInitialiseStack) +
    • prvTimerTask from timers.o(.text.prvTimerTask) referenced 2 times from timers.o(.text.xTimerCreateTimerTask) +
    +

    +

    +Global Symbols +

    +

    __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main)) +

    [Calls]

    • >>   __rt_entry +
    • >>   __scatterload +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(.text) +
    +

    __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter)) +

    [Called By]

    • >>   __main +
    + +

    __scatterload_rt2 (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

    [Calls]

    • >>   __rt_entry +
    + +

    __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) + +

    __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) + +

    __decompress (Thumb, 90 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) + +

    __decompress1 (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) + +

    __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) + +

    _printf_percent (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000)) + +

    _printf_u (Thumb, 0 bytes, Stack size unknown bytes, _printf_u.o(.ARM.Collect$$_printf_percent$$0000000A)) +

    [Stack]

    • Max Depth = 56 + Unknown Stack Size +
    • Call Chain = _printf_u ⇒ _printf_int_dec ⇒ _printf_int_common +
    +
    [Calls]
    • >>   _printf_int_dec +
    + +

    _printf_c (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013)) +

    [Stack]

    • Max Depth = 24 + Unknown Stack Size +
    • Call Chain = _printf_c ⇒ _printf_char ⇒ _printf_cs_common ⇒ _printf_str +
    +
    [Calls]
    • >>   _printf_char +
    + +

    _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017)) + +

    __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000)) +

    [Called By]

    • >>   __rt_entry_li +
    + +

    __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000001)) +

    [Calls]

    • >>   _fp_init +
    + +

    __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) + +

    __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C)) + +

    __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) + +

    __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) + +

    __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) + +

    __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) + +

    __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) + +

    __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) + +

    __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A)) + +

    __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011)) + +

    __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) + +

    __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) + +

    __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) + +

    __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) + +

    __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) + +

    __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) + +

    __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033)) + +

    __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) + +

    __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) + +

    __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) + +

    __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000)) +

    [Called By]

    • >>   __rt_exit_ls +
    + +

    __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) + +

    __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)) + +

    __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)) + +

    __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)) + +

    __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)) + +

    __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) + +

    __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) + +

    __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000)) +

    [Called By]

    • >>   __main +
    • >>   __scatterload_rt2 +
    + +

    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) + +

    __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap +
    +
    [Calls]
    • >>   __user_setup_stackheap +
    + +

    __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)) +

    [Calls]

    • >>   __rt_lib_init +
    + +

    __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) + +

    __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) +

    [Stack]

    • Max Depth = 192 + Unknown Stack Size +
    • Call Chain = __rt_entry_main ⇒ main ⇒ MX_TIM8_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   main +
    • >>   exit +
    + +

    __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) + +

    __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000)) +

    [Called By]

    • >>   exit +
    + +

    __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003)) +

    [Calls]

    • >>   __rt_lib_shutdown +
    + +

    __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) + +

    __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004)) +

    [Calls]

    • >>   _sys_exit +
    + +

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +

    [Calls]

    • >>   ADC_IRQHandler +
    +
    [Called By]
    • >>   ADC_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    CAN2_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    CAN2_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DCMI_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    ETH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    ETH_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    FMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    FPU_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    HASH_RNG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    I2C3_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    I2C3_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    OTG_FS_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    OTG_HS_EP1_IN_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    OTG_HS_EP1_OUT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    OTG_HS_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    OTG_HS_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    RTC_Alarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    RTC_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    SDIO_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    SPI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TAMP_STAMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM1_TRG_COM_TIM11_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM1_UP_TIM10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM6_DAC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM8_BRK_TIM12_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM8_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM8_TRG_COM_TIM14_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    TIM8_UP_TIM13_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    UART4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    UART5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f407xx.o(.text)) +

    [Called By]

    • >>   __user_setup_stackheap +
    + +

    __aeabi_uldivmod (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = __aeabi_uldivmod +
    +
    [Called By]
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   UART_SetConfig +
    + +

    _ll_udiv (Thumb, 240 bytes, Stack size 48 bytes, lludivv7m.o(.text), UNUSED) + +

    _printf_str (Thumb, 82 bytes, Stack size 16 bytes, _printf_str.o(.text)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = _printf_str +
    +
    [Called By]
    • >>   _printf_cs_common +
    + +

    _printf_int_dec (Thumb, 104 bytes, Stack size 24 bytes, _printf_dec.o(.text)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = _printf_int_dec ⇒ _printf_int_common +
    +
    [Calls]
    • >>   _printf_int_common +
    +
    [Called By]
    • >>   _printf_u +
    + +

    __aeabi_memcpy (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text)) +

    [Called By]

    • >>   BSP_CAN_RxFifo1Callback +
    • >>   BSP_CAN_RxFifo0Callback +
    • >>   xQueueReceiveFromISR +
    • >>   xQueueReceive +
    • >>   xQueueGenericSendFromISR +
    • >>   xQueueGenericSend +
    + +

    __rt_memcpy (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED) +

    [Calls]

    • >>   __aeabi_memcpy4 +
    + +

    _memcpy_lastbytes (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED) + +

    __aeabi_memset4 (Thumb, 16 bytes, Stack size 0 bytes, aeabi_memset4.o(.text)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = __aeabi_memset4 ⇒ _memset_w +
    +
    [Calls]
    • >>   _memset_w +
    +
    [Called By]
    • >>   prvInitialiseNewTask +
    + +

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, aeabi_memset4.o(.text), UNUSED) + +

    __aeabi_memclr4 (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text)) +

    [Called By]

    • >>   BSP_CAN_Init +
    • >>   USBD_CDC_Init +
    • >>   MOTOR_LZ_Register +
    • >>   MOTOR_LK_Register +
    • >>   DR16_Offline +
    • >>   VMC_Init +
    • >>   LQR_Reset +
    • >>   LQR_Init +
    + +

    __aeabi_memclr8 (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text)) +

    [Called By]

    • >>   MOTOR_LZ_Register +
    • >>   MOTOR_LK_Register +
    • >>   DM_IMU_Init +
    + +

    __rt_memclr_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) + +

    _memset_w (Thumb, 74 bytes, Stack size 4 bytes, rt_memclr_w.o(.text)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = _memset_w +
    +
    [Called By]
    • >>   __aeabi_memset4 +
    + +

    __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) + +

    __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) + +

    __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) + +

    __read_errno (Thumb, 10 bytes, Stack size 8 bytes, _rserrno.o(.text), UNUSED) +

    [Calls]

    • >>   __aeabi_errno_addr +
    + +

    __set_errno (Thumb, 12 bytes, Stack size 8 bytes, _rserrno.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __set_errno +
    +
    [Calls]
    • >>   __aeabi_errno_addr +
    +
    [Called By]
    • >>   __hardfp_tanf +
    • >>   __hardfp_sqrtf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    • >>   __hardfp_atan2f +
    + +

    _printf_int_common (Thumb, 178 bytes, Stack size 32 bytes, _printf_intcommon.o(.text)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = _printf_int_common +
    +
    [Called By]
    • >>   _printf_int_dec +
    + +

    _printf_cs_common (Thumb, 20 bytes, Stack size 8 bytes, _printf_char.o(.text)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = _printf_cs_common ⇒ _printf_str +
    +
    [Calls]
    • >>   _printf_str +
    +
    [Called By]
    • >>   _printf_string +
    • >>   _printf_char +
    + +

    _printf_char (Thumb, 16 bytes, Stack size 0 bytes, _printf_char.o(.text)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = _printf_char ⇒ _printf_cs_common ⇒ _printf_str +
    +
    [Calls]
    • >>   _printf_cs_common +
    +
    [Called By]
    • >>   _printf_c +
    + +

    _printf_string (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text), UNUSED) +

    [Calls]

    • >>   _printf_cs_common +
    + +

    __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) +

    [Called By]

    • >>   __rt_memcpy +
    + +

    __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) + +

    __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) + +

    _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED) + +

    __aeabi_errno_addr (Thumb, 8 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text)) +

    [Called By]

    • >>   __set_errno +
    • >>   __read_errno +
    + +

    __errno$intlibspace (Thumb, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED) + +

    __rt_errno_addr$intlibspace (Thumb, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED) + +

    __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) + +

    __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text)) +

    [Called By]

    • >>   __user_setup_stackheap +
    + +

    __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) + +

    __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = __user_setup_stackheap +
    +
    [Calls]
    • >>   __user_initial_stackheap +
    • >>   __user_perproc_libspace +
    +
    [Called By]
    • >>   __rt_entry_sh +
    + +

    exit (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = exit +
    +
    [Calls]
    • >>   __rt_exit +
    +
    [Called By]
    • >>   __rt_entry_main +
    + +

    _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text)) +

    [Called By]

    • >>   __rt_exit_exit +
    + +

    __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) + +

    __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) + +

    __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED) + +

    AbsClip (Thumb, 34 bytes, Stack size 0 bytes, user_math.o(.text.AbsClip)) +

    [Called By]

    • >>   PID_Calc +
    + +

    BSP_CAN_GetMessage (Thumb, 182 bytes, Stack size 24 bytes, can_1.o(.text.BSP_CAN_GetMessage)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   osMutexRelease +
    • >>   osMutexAcquire +
    • >>   osMessageQueueGet +
    +
    [Called By]
    • >>   MOTOR_LZ_Update +
    • >>   MOTOR_LK_Update +
    • >>   DM_IMU_Update +
    + +

    BSP_CAN_Init (Thumb, 212 bytes, Stack size 64 bytes, can_1.o(.text.BSP_CAN_Init)) +

    [Stack]

    • Max Depth = 208 + Unknown Stack Size +
    • Call Chain = BSP_CAN_Init ⇒ osMutexNew ⇒ xQueueCreateMutexStatic ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   HAL_CAN_Start +
    • >>   HAL_CAN_ConfigFilter +
    • >>   HAL_CAN_ActivateNotification +
    • >>   osMutexNew +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   Task_ctrl_gimbal +
    • >>   Task_atti_esti +
    • >>   Chassis_Init +
    + +

    BSP_CAN_RegisterId (Thumb, 226 bytes, Stack size 24 bytes, can_1.o(.text.BSP_CAN_RegisterId)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = BSP_CAN_RegisterId ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_Malloc +
    • >>   BSP_Free +
    • >>   osMutexRelease +
    • >>   osMutexAcquire +
    • >>   osMessageQueueNew +
    +
    [Called By]
    • >>   MOTOR_LZ_Register +
    • >>   MOTOR_LK_Register +
    • >>   DM_IMU_Init +
    + +

    BSP_CAN_RegisterIdParser (Thumb, 34 bytes, Stack size 0 bytes, can_1.o(.text.BSP_CAN_RegisterIdParser)) +

    [Called By]

    • >>   MOTOR_LZ_Init +
    + +

    BSP_CAN_TransmitExtDataFrame (Thumb, 144 bytes, Stack size 40 bytes, can_1.o(.text.BSP_CAN_TransmitExtDataFrame)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = BSP_CAN_TransmitExtDataFrame ⇒ HAL_CAN_AddTxMessage +
    +
    [Calls]
    • >>   HAL_CAN_AddTxMessage +
    +
    [Called By]
    • >>   MOTOR_LZ_MotionControl +
    • >>   MOTOR_LZ_Enable +
    + +

    BSP_CAN_TransmitStdDataFrame (Thumb, 136 bytes, Stack size 40 bytes, can_1.o(.text.BSP_CAN_TransmitStdDataFrame)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = BSP_CAN_TransmitStdDataFrame ⇒ HAL_CAN_AddTxMessage +
    +
    [Calls]
    • >>   HAL_CAN_AddTxMessage +
    +
    [Called By]
    • >>   MOTOR_LK_SetOutput +
    • >>   MOTOR_LK_MotorOn +
    • >>   DM_IMU_AutoUpdateAll +
    + +

    BSP_CAN_WaitTxMailboxEmpty (Thumb, 178 bytes, Stack size 16 bytes, can_1.o(.text.BSP_CAN_WaitTxMailboxEmpty)) +

    [Stack]

    • Max Depth = 96
    • Call Chain = BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   HAL_CAN_GetTxMailboxesFreeLevel +
    • >>   osDelay +
    +
    [Called By]
    • >>   MOTOR_LZ_MotionControl +
    • >>   MOTOR_LZ_Enable +
    • >>   MOTOR_LK_SetOutput +
    • >>   MOTOR_LK_MotorOn +
    • >>   DM_IMU_AutoUpdateAll +
    + +

    BSP_Free (Thumb, 4 bytes, Stack size 0 bytes, mm.o(.text.BSP_Free)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = BSP_Free ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vPortFree +
    +
    [Called By]
    • >>   BSP_CAN_RegisterId +
    • >>   MOTOR_LZ_Register +
    • >>   MOTOR_LK_Register +
    + +

    BSP_Malloc (Thumb, 4 bytes, Stack size 0 bytes, mm.o(.text.BSP_Malloc)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = BSP_Malloc ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   pvPortMalloc +
    +
    [Called By]
    • >>   BSP_CAN_RegisterId +
    • >>   MOTOR_LZ_Register +
    • >>   MOTOR_LK_Register +
    + +

    BSP_PWM_SetComp (Thumb, 160 bytes, Stack size 0 bytes, pwm.o(.text.BSP_PWM_SetComp)) +

    [Called By]

    • >>   Task_blink +
    + +

    BSP_PWM_Start (Thumb, 44 bytes, Stack size 8 bytes, pwm.o(.text.BSP_PWM_Start)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = BSP_PWM_Start ⇒ HAL_TIM_PWM_Start ⇒ TIM_CCxChannelCmd +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Start +
    +
    [Called By]
    • >>   Task_blink +
    + +

    BSP_PWM_Stop (Thumb, 44 bytes, Stack size 8 bytes, pwm.o(.text.BSP_PWM_Stop)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = BSP_PWM_Stop ⇒ HAL_TIM_PWM_Stop ⇒ TIM_CCxChannelCmd +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Stop +
    +
    [Called By]
    • >>   Task_blink +
    + +

    BSP_TIME_Delay_us (Thumb, 168 bytes, Stack size 40 bytes, time.o(.text.BSP_TIME_Delay_us)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = BSP_TIME_Delay_us +
    +
    [Calls]
    • >>   osKernelGetTickFreq +
    • >>   xTaskGetTickCount +
    +
    [Called By]
    • >>   Chassis_Output +
    • >>   Chassis_Control +
    + +

    BSP_TIME_Get_ms (Thumb, 4 bytes, Stack size 0 bytes, time.o(.text.BSP_TIME_Get_ms)) +

    [Calls]

    • >>   xTaskGetTickCount +
    +
    [Called By]
    • >>   DM_IMU_Update +
    + +

    BSP_TIME_Get (Thumb, 80 bytes, Stack size 24 bytes, time.o(.text.BSP_TIME_Get_us)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = BSP_TIME_Get +
    +
    [Calls]
    • >>   osKernelGetTickFreq +
    • >>   xTaskGetTickCount +
    +
    [Called By]
    • >>   MOTOR_LZ_Update +
    • >>   MOTOR_LK_Update +
    + +

    BSP_TIME_Get_us (Thumb, 80 bytes, Stack size 24 bytes, time.o(.text.BSP_TIME_Get_us)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = BSP_TIME_Get_us +
    +
    [Called By]
    • >>   Chassis_Control +
    • >>   DR16_ParseData +
    + +

    BSP_UART_GetHandle (Thumb, 18 bytes, Stack size 0 bytes, uart.o(.text.BSP_UART_GetHandle)) +

    [Called By]

    • >>   DR16_StartDmaRecv +
    + +

    BSP_UART_IRQHandler (Thumb, 60 bytes, Stack size 4 bytes, uart.o(.text.BSP_UART_IRQHandler)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = BSP_UART_IRQHandler +
    +
    [Called By]
    • >>   USART6_IRQHandler +
    + +

    BSP_UART_RegisterCallback (Thumb, 38 bytes, Stack size 0 bytes, uart.o(.text.BSP_UART_RegisterCallback)) +

    [Called By]

    • >>   DR16_Init +
    + +

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.BusFault_Handler)) +

    [Calls]

    • >>   BusFault_Handler +
    +
    [Called By]
    • >>   BusFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    CAN1_RX0_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.CAN1_RX0_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = CAN1_RX0_IRQHandler ⇒ HAL_CAN_IRQHandler +
    +
    [Calls]
    • >>   HAL_CAN_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    CAN1_RX1_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.CAN1_RX1_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = CAN1_RX1_IRQHandler ⇒ HAL_CAN_IRQHandler +
    +
    [Calls]
    • >>   HAL_CAN_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    CAN2_RX0_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.CAN2_RX0_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = CAN2_RX0_IRQHandler ⇒ HAL_CAN_IRQHandler +
    +
    [Calls]
    • >>   HAL_CAN_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    CAN2_RX1_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.CAN2_RX1_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = CAN2_RX1_IRQHandler ⇒ HAL_CAN_IRQHandler +
    +
    [Calls]
    • >>   HAL_CAN_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    Chassis_Control (Thumb, 696 bytes, Stack size 40 bytes, balance_chassis.o(.text.Chassis_Control)) +

    [Stack]

    • Max Depth = 292 + Unknown Stack Size +
    • Call Chain = Chassis_Control ⇒ Chassis_LQRControl ⇒ VMC_InverseSolve ⇒ VMC_ComputeJacobian ⇒ __hardfp_sinf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __aeabi_ul2f +
    • >>   Chassis_Output +
    • >>   Chassis_LQRControl +
    • >>   MOTOR_LZ_Relax +
    • >>   MOTOR_LZ_Enable +
    • >>   MOTOR_LK_Relax +
    • >>   MOTOR_LK_MotorOn +
    • >>   VMC_InverseSolve +
    • >>   VMC_GetJointTorques +
    • >>   VMC_ForwardSolve +
    • >>   LQR_Reset +
    • >>   PID_Reset +
    • >>   BSP_TIME_Get_us +
    • >>   BSP_TIME_Delay_us +
    +
    [Called By]
    • >>   Task_ctrl_chassis +
    + +

    Chassis_Init (Thumb, 338 bytes, Stack size 32 bytes, balance_chassis.o(.text.Chassis_Init)) +

    [Stack]

    • Max Depth = 240 + Unknown Stack Size +
    • Call Chain = Chassis_Init ⇒ BSP_CAN_Init ⇒ osMutexNew ⇒ xQueueCreateMutexStatic ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_Init +
    • >>   MOTOR_LZ_Register +
    • >>   MOTOR_LZ_Init +
    • >>   MOTOR_LK_Register +
    • >>   VMC_Init +
    • >>   LQR_SetGainMatrix +
    • >>   LQR_Init +
    • >>   PID_Init +
    +
    [Called By]
    • >>   Task_ctrl_chassis +
    + +

    Chassis_LQRControl (Thumb, 1264 bytes, Stack size 184 bytes, balance_chassis.o(.text.Chassis_LQRControl)) +

    [Stack]

    • Max Depth = 252
    • Call Chain = Chassis_LQRControl ⇒ VMC_InverseSolve ⇒ VMC_ComputeJacobian ⇒ __hardfp_sinf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __hardfp_sinf +
    • >>   VMC_InverseSolve +
    • >>   VMC_GroundContactDetection +
    • >>   VMC_GetVirtualLegState +
    • >>   VMC_GetJointTorques +
    • >>   LQR_UpdateState +
    • >>   LQR_SetTargetState +
    • >>   LQR_GetOutput +
    • >>   LQR_Control +
    • >>   LQR_CalculateGainMatrix +
    • >>   PID_Calc +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    Chassis_Output (Thumb, 152 bytes, Stack size 40 bytes, balance_chassis.o(.text.Chassis_Output)) +

    [Stack]

    • Max Depth = 184
    • Call Chain = Chassis_Output ⇒ MOTOR_LZ_MotionControl ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   MOTOR_LZ_MotionControl +
    • >>   MOTOR_LK_SetOutput +
    • >>   BSP_TIME_Delay_us +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    Chassis_UpdateFeedback (Thumb, 496 bytes, Stack size 16 bytes, balance_chassis.o(.text.Chassis_UpdateFeedback)) +

    [Stack]

    • Max Depth = 296
    • Call Chain = Chassis_UpdateFeedback ⇒ MOTOR_LZ_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   MOTOR_LZ_Update +
    • >>   MOTOR_LZ_GetMotor +
    • >>   MOTOR_LK_Update +
    • >>   MOTOR_LK_GetMotor +
    +
    [Called By]
    • >>   Task_ctrl_chassis +
    + +

    CircleError (Thumb, 60 bytes, Stack size 0 bytes, user_math.o(.text.CircleError)) +

    [Called By]

    • >>   PID_Calc +
    + +

    Config_GetRobotParam (Thumb, 10 bytes, Stack size 0 bytes, config.o(.text.Config_GetRobotParam)) +

    [Called By]

    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    + +

    DMA1_Stream1_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA1_Stream1_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA1_Stream1_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream2_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA1_Stream2_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA1_Stream2_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA1_Stream7_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA1_Stream7_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA1_Stream7_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream1_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA2_Stream1_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA2_Stream1_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream2_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA2_Stream2_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA2_Stream2_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream3_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA2_Stream3_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA2_Stream3_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream5_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA2_Stream5_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA2_Stream5_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream6_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA2_Stream6_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA2_Stream6_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DMA2_Stream7_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DMA2_Stream7_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = DMA2_Stream7_IRQHandler ⇒ HAL_DMA_IRQHandler +
    +
    [Calls]
    • >>   HAL_DMA_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    DM_IMU_AutoUpdateAll (Thumb, 224 bytes, Stack size 32 bytes, dm_imu.o(.text.DM_IMU_AutoUpdateAll)) +

    [Stack]

    • Max Depth = 304
    • Call Chain = DM_IMU_AutoUpdateAll ⇒ DM_IMU_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   BSP_CAN_TransmitStdDataFrame +
    • >>   DM_IMU_Update +
    +
    [Called By]
    • >>   Task_atti_esti +
    + +

    DM_IMU_Init (Thumb, 78 bytes, Stack size 16 bytes, dm_imu.o(.text.DM_IMU_Init)) +

    [Stack]

    • Max Depth = 168 + Unknown Stack Size +
    • Call Chain = DM_IMU_Init ⇒ BSP_CAN_RegisterId ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_RegisterId +
    • >>   __aeabi_memclr8 +
    +
    [Called By]
    • >>   Task_atti_esti +
    + +

    DM_IMU_Update (Thumb, 680 bytes, Stack size 120 bytes, dm_imu.o(.text.DM_IMU_Update)) +

    [Stack]

    • Max Depth = 272
    • Call Chain = DM_IMU_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_GetMessage +
    • >>   BSP_TIME_Get_ms +
    +
    [Called By]
    • >>   DM_IMU_AutoUpdateAll +
    + +

    DR16_Init (Thumb, 66 bytes, Stack size 16 bytes, dr16.o(.text.DR16_Init)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = DR16_Init +
    +
    [Calls]
    • >>   osThreadGetId +
    • >>   BSP_UART_RegisterCallback +
    +
    [Called By]
    • >>   Task_rc +
    + +

    DR16_Offline (Thumb, 26 bytes, Stack size 8 bytes, dr16.o(.text.DR16_Offline)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = DR16_Offline +
    +
    [Calls]
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   Task_rc +
    + +

    DR16_ParseData (Thumb, 492 bytes, Stack size 16 bytes, dr16.o(.text.DR16_ParseData)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = DR16_ParseData ⇒ BSP_TIME_Get_us +
    +
    [Calls]
    • >>   BSP_TIME_Get_us +
    +
    [Called By]
    • >>   Task_rc +
    + +

    DR16_StartDmaRecv (Thumb, 30 bytes, Stack size 8 bytes, dr16.o(.text.DR16_StartDmaRecv)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = DR16_StartDmaRecv ⇒ HAL_UART_Receive_DMA ⇒ HAL_DMA_Start_IT +
    +
    [Calls]
    • >>   HAL_UART_Receive_DMA +
    • >>   BSP_UART_GetHandle +
    +
    [Called By]
    • >>   Task_rc +
    + +

    DR16_WaitDmaCplt (Thumb, 22 bytes, Stack size 8 bytes, dr16.o(.text.DR16_WaitDmaCplt)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = DR16_WaitDmaCplt ⇒ osThreadFlagsWait ⇒ xTaskNotifyWait ⇒ vListInsert +
    +
    [Calls]
    • >>   osThreadFlagsWait +
    +
    [Called By]
    • >>   Task_rc +
    + +

    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.DebugMon_Handler)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    EXTI0_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.EXTI0_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = EXTI0_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback +
    +
    [Calls]
    • >>   HAL_GPIO_EXTI_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    EXTI3_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.EXTI3_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = EXTI3_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback +
    +
    [Calls]
    • >>   HAL_GPIO_EXTI_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    EXTI4_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.EXTI4_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = EXTI4_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback +
    +
    [Calls]
    • >>   HAL_GPIO_EXTI_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    EXTI9_5_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.EXTI9_5_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = EXTI9_5_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback +
    +
    [Calls]
    • >>   HAL_GPIO_EXTI_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    Error_Handler (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text.Error_Handler)) +

    [Called By]

    • >>   USBD_LL_Init +
    • >>   HAL_PCD_ResetCallback +
    • >>   HAL_UART_MspInit +
    • >>   HAL_SPI_MspInit +
    • >>   HAL_I2C_MspInit +
    • >>   MX_USB_DEVICE_Init +
    • >>   MX_USART6_UART_Init +
    • >>   MX_USART3_UART_Init +
    • >>   MX_USART1_UART_Init +
    • >>   MX_TIM8_Init +
    • >>   MX_TIM7_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    • >>   MX_TIM10_Init +
    • >>   MX_SPI2_Init +
    • >>   MX_SPI1_Init +
    • >>   MX_RNG_Init +
    • >>   MX_I2C3_Init +
    • >>   MX_I2C2_Init +
    • >>   MX_I2C1_Init +
    • >>   MX_CRC_Init +
    • >>   MX_CAN2_Init +
    • >>   MX_CAN1_Init +
    • >>   MX_ADC3_Init +
    • >>   MX_ADC1_Init +
    + +

    HAL_ADC_ConfigChannel (Thumb, 412 bytes, Stack size 24 bytes, stm32f4xx_hal_adc.o(.text.HAL_ADC_ConfigChannel)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_ADC_ConfigChannel +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_ADC3_Init +
    • >>   MX_ADC1_Init +
    + +

    HAL_ADC_Init (Thumb, 926 bytes, Stack size 24 bytes, stm32f4xx_hal_adc.o(.text.HAL_ADC_Init)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = HAL_ADC_Init ⇒ HAL_ADC_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_ADC_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_ADC3_Init +
    • >>   MX_ADC1_Init +
    + +

    HAL_ADC_MspInit (Thumb, 156 bytes, Stack size 32 bytes, adc.o(.text.HAL_ADC_MspInit)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = HAL_ADC_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_GPIO_Init +
    +
    [Called By]
    • >>   HAL_ADC_Init +
    + +

    HAL_CAN_ActivateNotification (Thumb, 78 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_CAN_ActivateNotification +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   BSP_CAN_Init +
    + +

    HAL_CAN_AddTxMessage (Thumb, 330 bytes, Stack size 32 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = HAL_CAN_AddTxMessage +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   BSP_CAN_TransmitStdDataFrame +
    • >>   BSP_CAN_TransmitExtDataFrame +
    + +

    HAL_CAN_ConfigFilter (Thumb, 528 bytes, Stack size 24 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_CAN_ConfigFilter +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   BSP_CAN_Init +
    + +

    HAL_CAN_ErrorCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_ErrorCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_GetRxFifoFillLevel (Thumb, 58 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_CAN_GetRxFifoFillLevel +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   BSP_CAN_RxFifo1Callback +
    • >>   BSP_CAN_RxFifo0Callback +
    + +

    HAL_CAN_GetRxMessage (Thumb, 348 bytes, Stack size 24 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_CAN_GetRxMessage +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   BSP_CAN_RxFifo1Callback +
    • >>   BSP_CAN_RxFifo0Callback +
    + +

    HAL_CAN_GetTxMailboxesFreeLevel (Thumb, 40 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel)) +

    [Called By]

    • >>   BSP_CAN_WaitTxMailboxEmpty +
    + +

    HAL_CAN_IRQHandler (Thumb, 606 bytes, Stack size 40 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = HAL_CAN_IRQHandler +
    +
    [Calls]
    • >>   HAL_CAN_WakeUpFromRxMsgCallback +
    • >>   HAL_CAN_TxMailbox2CompleteCallback +
    • >>   HAL_CAN_TxMailbox2AbortCallback +
    • >>   HAL_CAN_TxMailbox1CompleteCallback +
    • >>   HAL_CAN_TxMailbox1AbortCallback +
    • >>   HAL_CAN_TxMailbox0CompleteCallback +
    • >>   HAL_CAN_TxMailbox0AbortCallback +
    • >>   HAL_CAN_SleepCallback +
    • >>   HAL_CAN_RxFifo1MsgPendingCallback +
    • >>   HAL_CAN_RxFifo1FullCallback +
    • >>   HAL_CAN_RxFifo0MsgPendingCallback +
    • >>   HAL_CAN_RxFifo0FullCallback +
    • >>   HAL_CAN_ErrorCallback +
    +
    [Called By]
    • >>   CAN2_RX1_IRQHandler +
    • >>   CAN2_RX0_IRQHandler +
    • >>   CAN1_RX1_IRQHandler +
    • >>   CAN1_RX0_IRQHandler +
    + +

    HAL_CAN_Init (Thumb, 612 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_Init)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = HAL_CAN_Init ⇒ HAL_CAN_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   HAL_CAN_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_CAN2_Init +
    • >>   MX_CAN1_Init +
    + +

    HAL_CAN_MspInit (Thumb, 308 bytes, Stack size 40 bytes, can.o(.text.HAL_CAN_MspInit)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = HAL_CAN_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    • >>   HAL_GPIO_Init +
    +
    [Called By]
    • >>   HAL_CAN_Init +
    + +

    HAL_CAN_RxFifo0FullCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_RxFifo0FullCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_RxFifo0MsgPendingCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_RxFifo1FullCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_RxFifo1FullCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_RxFifo1MsgPendingCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_SleepCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_SleepCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_Start (Thumb, 90 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(.text.HAL_CAN_Start)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_CAN_Start +
    +
    [Calls]
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   BSP_CAN_Init +
    + +

    HAL_CAN_TxMailbox0AbortCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_TxMailbox0CompleteCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_TxMailbox1AbortCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_TxMailbox1CompleteCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_TxMailbox2AbortCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_TxMailbox2CompleteCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CAN_WakeUpFromRxMsgCallback (Thumb, 62 bytes, Stack size 0 bytes, can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback)) +

    [Called By]

    • >>   HAL_CAN_IRQHandler +
    + +

    HAL_CRC_Init (Thumb, 70 bytes, Stack size 8 bytes, stm32f4xx_hal_crc.o(.text.HAL_CRC_Init)) +

    [Stack]

    • Max Depth = 12
    • Call Chain = HAL_CRC_Init ⇒ HAL_CRC_MspInit +
    +
    [Calls]
    • >>   HAL_CRC_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_CRC_Init +
    + +

    HAL_CRC_MspInit (Thumb, 50 bytes, Stack size 4 bytes, crc.o(.text.HAL_CRC_MspInit)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = HAL_CRC_MspInit +
    +
    [Called By]
    • >>   HAL_CRC_Init +
    + +

    HAL_DMA_Abort (Thumb, 146 bytes, Stack size 16 bytes, stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_DMA_Abort +
    +
    [Calls]
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   HAL_UART_IRQHandler +
    + +

    HAL_DMA_Abort_IT (Thumb, 36 bytes, Stack size 0 bytes, stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    + +

    HAL_DMA_IRQHandler (Thumb, 448 bytes, Stack size 24 bytes, stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_DMA_IRQHandler +
    +
    [Called By]
    • >>   DMA2_Stream7_IRQHandler +
    • >>   DMA2_Stream6_IRQHandler +
    • >>   DMA2_Stream5_IRQHandler +
    • >>   DMA2_Stream3_IRQHandler +
    • >>   DMA2_Stream2_IRQHandler +
    • >>   DMA2_Stream1_IRQHandler +
    • >>   DMA1_Stream7_IRQHandler +
    • >>   DMA1_Stream2_IRQHandler +
    • >>   DMA1_Stream1_IRQHandler +
    + +

    HAL_DMA_Init (Thumb, 1066 bytes, Stack size 24 bytes, stm32f4xx_hal_dma.o(.text.HAL_DMA_Init)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_DMA_Init +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_UART_MspInit +
    • >>   HAL_SPI_MspInit +
    • >>   HAL_I2C_MspInit +
    + +

    HAL_DMA_Start_IT (Thumb, 160 bytes, Stack size 24 bytes, stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_DMA_Start_IT +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_UART_Receive_DMA +
    + +

    HAL_Delay (Thumb, 40 bytes, Stack size 16 bytes, stm32f4xx_hal.o(.text.HAL_Delay)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_Delay +
    +
    [Calls]
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   USB_SetCurrentMode +
    + +

    HAL_GPIO_EXTI_Callback (Thumb, 182 bytes, Stack size 16 bytes, gpio_1.o(.text.HAL_GPIO_EXTI_Callback)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_GPIO_EXTI_Callback +
    +
    [Called By]
    • >>   HAL_GPIO_EXTI_IRQHandler +
    + +

    HAL_GPIO_EXTI_IRQHandler (Thumb, 22 bytes, Stack size 0 bytes, stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_GPIO_EXTI_IRQHandler ⇒ HAL_GPIO_EXTI_Callback +
    +
    [Calls]
    • >>   HAL_GPIO_EXTI_Callback +
    +
    [Called By]
    • >>   EXTI9_5_IRQHandler +
    • >>   EXTI4_IRQHandler +
    • >>   EXTI3_IRQHandler +
    • >>   EXTI0_IRQHandler +
    + +

    HAL_GPIO_Init (Thumb, 704 bytes, Stack size 48 bytes, stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = HAL_GPIO_Init +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_PCD_MspInit +
    • >>   HAL_UART_MspInit +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_SPI_MspInit +
    • >>   HAL_I2C_MspInit +
    • >>   HAL_CAN_MspInit +
    • >>   HAL_ADC_MspInit +
    • >>   MX_GPIO_Init +
    + +

    HAL_GPIO_WritePin (Thumb, 68 bytes, Stack size 16 bytes, stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_GPIO_WritePin +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_GPIO_Init +
    + +

    HAL_GetTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_hal.o(.text.HAL_GetTick)) +

    [Called By]

    • >>   HAL_DMA_Abort +
    • >>   HAL_Delay +
    • >>   HAL_DMA_Init +
    • >>   HAL_CAN_Init +
    • >>   HAL_RCC_OscConfig +
    • >>   HAL_RCC_ClockConfig +
    • >>   HAL_CAN_Start +
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   BSP_CAN_RxFifo1Callback +
    • >>   BSP_CAN_RxFifo0Callback +
    + +

    HAL_I2C_Init (Thumb, 734 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_RCC_GetPCLK1Freq +
    • >>   HAL_I2C_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_I2C3_Init +
    • >>   MX_I2C2_Init +
    • >>   MX_I2C1_Init +
    + +

    HAL_I2C_MspInit (Thumb, 528 bytes, Stack size 64 bytes, i2c.o(.text.HAL_I2C_MspInit)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_DMA_Init +
    • >>   HAL_GPIO_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   HAL_I2C_Init +
    + +

    HAL_IncTick (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_hal.o(.text.HAL_IncTick)) +

    [Called By]

    • >>   SysTick_Handler +
    + +

    HAL_Init (Thumb, 54 bytes, Stack size 8 bytes, stm32f4xx_hal.o(.text.HAL_Init)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_InitTick +
    • >>   HAL_MspInit +
    • >>   HAL_NVIC_SetPriorityGrouping +
    +
    [Called By]
    • >>   main +
    + +

    HAL_InitTick (Thumb, 72 bytes, Stack size 16 bytes, stm32f4xx_hal.o(.text.HAL_InitTick)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_SYSTICK_Config +
    +
    [Called By]
    • >>   HAL_RCC_ClockConfig +
    • >>   HAL_Init +
    + +

    HAL_MspInit (Thumb, 66 bytes, Stack size 8 bytes, stm32f4xx_hal_msp.o(.text.HAL_MspInit)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_MspInit ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    +
    [Called By]
    • >>   HAL_Init +
    + +

    HAL_NVIC_EnableIRQ (Thumb, 54 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ)) +

    [Calls]

    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_PCD_MspInit +
    • >>   HAL_UART_MspInit +
    • >>   HAL_TIM_Base_MspInit +
    • >>   HAL_CAN_MspInit +
    • >>   MX_GPIO_Init +
    • >>   MX_DMA_Init +
    + +

    HAL_NVIC_SetPriority (Thumb, 128 bytes, Stack size 16 bytes, stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_InitTick +
    • >>   HAL_PCD_MspInit +
    • >>   HAL_MspInit +
    • >>   HAL_UART_MspInit +
    • >>   HAL_TIM_Base_MspInit +
    • >>   HAL_CAN_MspInit +
    • >>   MX_GPIO_Init +
    • >>   MX_DMA_Init +
    + +

    HAL_NVIC_SetPriorityGrouping (Thumb, 56 bytes, Stack size 8 bytes, stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_NVIC_SetPriorityGrouping +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_Init +
    + +

    HAL_PCDEx_LPM_Callback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_pcd_ex.o(.text.HAL_PCDEx_LPM_Callback)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCDEx_SetRxFiFo (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_hal_pcd_ex.o(.text.HAL_PCDEx_SetRxFiFo)) +

    [Called By]

    • >>   USBD_LL_Init +
    + +

    HAL_PCDEx_SetTxFiFo (Thumb, 148 bytes, Stack size 8 bytes, stm32f4xx_hal_pcd_ex.o(.text.HAL_PCDEx_SetTxFiFo)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCDEx_SetTxFiFo +
    +
    [Called By]
    • >>   USBD_LL_Init +
    + +

    HAL_PCD_ConnectCallback (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_ConnectCallback)) +

    [Calls]

    • >>   USBD_LL_DevConnected +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_DataInStageCallback (Thumb, 20 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_DataInStageCallback)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = HAL_PCD_DataInStageCallback ⇒ USBD_LL_DataInStage ⇒ USBD_CtlReceiveStatus ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_DataInStage +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_DataOutStageCallback (Thumb, 22 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_DataOutStageCallback)) +

    [Stack]

    • Max Depth = 52
    • Call Chain = HAL_PCD_DataOutStageCallback ⇒ USBD_LL_DataOutStage ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_DataOutStage +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_DisconnectCallback (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_DisconnectCallback)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_DisconnectCallback ⇒ USBD_LL_DevDisconnected +
    +
    [Calls]
    • >>   USBD_LL_DevDisconnected +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_EP_Close (Thumb, 74 bytes, Stack size 8 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_Close)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_PCD_EP_Close ⇒ USB_DeactivateEndpoint +
    +
    [Calls]
    • >>   USB_DeactivateEndpoint +
    +
    [Called By]
    • >>   USBD_LL_CloseEP +
    + +

    HAL_PCD_EP_ClrStall (Thumb, 98 bytes, Stack size 16 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_ClrStall)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_PCD_EP_ClrStall +
    +
    [Calls]
    • >>   USB_EPClearStall +
    +
    [Called By]
    • >>   USBD_LL_ClearStallEP +
    + +

    HAL_PCD_EP_GetRxCount (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_GetRxCount)) +

    [Called By]

    • >>   USBD_LL_GetRxDataSize +
    + +

    HAL_PCD_EP_Open (Thumb, 100 bytes, Stack size 16 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_Open)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint +
    +
    [Calls]
    • >>   USB_ActivateEndpoint +
    +
    [Called By]
    • >>   USBD_LL_OpenEP +
    + +

    HAL_PCD_EP_Receive (Thumb, 68 bytes, Stack size 8 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_Receive)) +

    [Stack]

    • Max Depth = 28
    • Call Chain = HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USB_EPStartXfer +
    +
    [Called By]
    • >>   USBD_LL_PrepareReceive +
    + +

    HAL_PCD_EP_SetStall (Thumb, 120 bytes, Stack size 16 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_SetStall)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_PCD_EP_SetStall +
    +
    [Calls]
    • >>   USB_EPSetStall +
    • >>   USB_EP0_OutStart +
    +
    [Called By]
    • >>   USBD_LL_StallEP +
    + +

    HAL_PCD_EP_Transmit (Thumb, 66 bytes, Stack size 8 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_EP_Transmit)) +

    [Stack]

    • Max Depth = 28
    • Call Chain = HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USB_EPStartXfer +
    +
    [Called By]
    • >>   USBD_LL_Transmit +
    + +

    HAL_PCD_IRQHandler (Thumb, 2408 bytes, Stack size 80 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_IRQHandler)) +

    [Stack]

    • Max Depth = 164
    • Call Chain = HAL_PCD_IRQHandler ⇒ HAL_PCD_SetupStageCallback ⇒ USBD_LL_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USB_WritePacket +
    • >>   USB_SetTurnaroundTime +
    • >>   USB_ReadPacket +
    • >>   USB_ReadInterrupts +
    • >>   USB_ReadDevOutEPInterrupt +
    • >>   USB_ReadDevInEPInterrupt +
    • >>   USB_ReadDevAllOutEpInterrupt +
    • >>   USB_ReadDevAllInEpInterrupt +
    • >>   USB_GetMode +
    • >>   USB_GetDevSpeed +
    • >>   USB_FlushTxFifo +
    • >>   USB_EPStopXfer +
    • >>   USB_EP0_OutStart +
    • >>   USB_ActivateSetup +
    • >>   HAL_RCC_GetHCLKFreq +
    • >>   HAL_PCDEx_LPM_Callback +
    • >>   HAL_PCD_SuspendCallback +
    • >>   HAL_PCD_SetupStageCallback +
    • >>   HAL_PCD_SOFCallback +
    • >>   HAL_PCD_ResumeCallback +
    • >>   HAL_PCD_ResetCallback +
    • >>   HAL_PCD_ISOOUTIncompleteCallback +
    • >>   HAL_PCD_ISOINIncompleteCallback +
    • >>   HAL_PCD_DisconnectCallback +
    • >>   HAL_PCD_DataOutStageCallback +
    • >>   HAL_PCD_DataInStageCallback +
    • >>   HAL_PCD_ConnectCallback +
    +
    [Called By]
    • >>   OTG_FS_IRQHandler +
    + +

    HAL_PCD_ISOINIncompleteCallback (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_ISOINIncompleteCallback)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_ISOINIncompleteCallback ⇒ USBD_LL_IsoINIncomplete +
    +
    [Calls]
    • >>   USBD_LL_IsoINIncomplete +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_ISOOUTIncompleteCallback (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_ISOOUTIncompleteCallback)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_ISOOUTIncompleteCallback ⇒ USBD_LL_IsoOUTIncomplete +
    +
    [Calls]
    • >>   USBD_LL_IsoOUTIncomplete +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_Init (Thumb, 656 bytes, Stack size 24 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_Init)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   USB_SetCurrentMode +
    • >>   USB_DisableGlobalInt +
    • >>   USB_DevInit +
    • >>   USB_DevDisconnect +
    • >>   USB_CoreInit +
    • >>   HAL_PCD_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   USBD_LL_Init +
    + +

    HAL_PCD_MspInit (Thumb, 126 bytes, Stack size 40 bytes, usbd_conf.o(.text.HAL_PCD_MspInit)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = HAL_PCD_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    • >>   HAL_GPIO_Init +
    +
    [Called By]
    • >>   HAL_PCD_Init +
    + +

    HAL_PCD_ResetCallback (Thumb, 42 bytes, Stack size 8 bytes, usbd_conf.o(.text.HAL_PCD_ResetCallback)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = HAL_PCD_ResetCallback ⇒ USBD_LL_Reset ⇒ USBD_LL_OpenEP ⇒ HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint +
    +
    [Calls]
    • >>   USBD_LL_SetSpeed +
    • >>   USBD_LL_Reset +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_ResumeCallback (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_ResumeCallback)) +

    [Calls]

    • >>   USBD_LL_Resume +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_SOFCallback (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_SOFCallback)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_SOFCallback ⇒ USBD_LL_SOF +
    +
    [Calls]
    • >>   USBD_LL_SOF +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_SetAddress (Thumb, 38 bytes, Stack size 8 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_SetAddress)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_SetAddress +
    +
    [Calls]
    • >>   USB_SetDevAddress +
    +
    [Called By]
    • >>   USBD_LL_SetUSBAddress +
    + +

    HAL_PCD_SetupStageCallback (Thumb, 14 bytes, Stack size 0 bytes, usbd_conf.o(.text.HAL_PCD_SetupStageCallback)) +

    [Stack]

    • Max Depth = 84
    • Call Chain = HAL_PCD_SetupStageCallback ⇒ USBD_LL_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_SetupStage +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_PCD_Start (Thumb, 62 bytes, Stack size 8 bytes, stm32f4xx_hal_pcd.o(.text.HAL_PCD_Start)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_Start +
    +
    [Calls]
    • >>   USB_EnableGlobalInt +
    • >>   USB_DevConnect +
    +
    [Called By]
    • >>   USBD_LL_Start +
    + +

    HAL_PCD_SuspendCallback (Thumb, 52 bytes, Stack size 8 bytes, usbd_conf.o(.text.HAL_PCD_SuspendCallback)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_PCD_SuspendCallback +
    +
    [Calls]
    • >>   USBD_LL_Suspend +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_RCC_ClockConfig (Thumb, 548 bytes, Stack size 24 bytes, stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod +
    +
    [Calls]
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   HAL_InitTick +
    • >>   HAL_GetTick +
    • >>   assert_failed +
    +
    [Called By]
    • >>   SystemClock_Config +
    + +

    HAL_RCC_GetHCLKFreq (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    HAL_RCC_GetPCLK1Freq (Thumb, 38 bytes, Stack size 0 bytes, stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq)) +

    [Called By]

    • >>   HAL_I2C_Init +
    • >>   UART_SetConfig +
    + +

    HAL_RCC_GetPCLK2Freq (Thumb, 38 bytes, Stack size 0 bytes, stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq)) +

    [Called By]

    • >>   UART_SetConfig +
    + +

    HAL_RCC_GetSysClockFreq (Thumb, 106 bytes, Stack size 8 bytes, stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod +
    +
    [Calls]
    • >>   __aeabi_uldivmod +
    +
    [Called By]
    • >>   HAL_RCC_ClockConfig +
    + +

    HAL_RCC_OscConfig (Thumb, 1306 bytes, Stack size 32 bytes, stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = HAL_RCC_OscConfig +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   assert_failed +
    +
    [Called By]
    • >>   SystemClock_Config +
    + +

    HAL_RNG_Init (Thumb, 72 bytes, Stack size 8 bytes, stm32f4xx_hal_rng.o(.text.HAL_RNG_Init)) +

    [Stack]

    • Max Depth = 12
    • Call Chain = HAL_RNG_Init ⇒ HAL_RNG_MspInit +
    +
    [Calls]
    • >>   HAL_RNG_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_RNG_Init +
    + +

    HAL_RNG_MspInit (Thumb, 54 bytes, Stack size 4 bytes, rng.o(.text.HAL_RNG_MspInit)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = HAL_RNG_MspInit +
    +
    [Called By]
    • >>   HAL_RNG_Init +
    + +

    HAL_SPI_Init (Thumb, 594 bytes, Stack size 16 bytes, stm32f4xx_hal_spi.o(.text.HAL_SPI_Init)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_SPI_MspInit +
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_SPI2_Init +
    • >>   MX_SPI1_Init +
    + +

    HAL_SPI_MspInit (Thumb, 418 bytes, Stack size 64 bytes, spi.o(.text.HAL_SPI_MspInit)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = HAL_SPI_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_DMA_Init +
    • >>   HAL_GPIO_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   HAL_SPI_Init +
    + +

    HAL_SYSTICK_Config (Thumb, 44 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config)) +

    [Called By]

    • >>   HAL_InitTick +
    + +

    HAL_TIMEx_BreakCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_TIMEx_CommutCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_TIMEx_ConfigBreakDeadTime (Thumb, 390 bytes, Stack size 24 bytes, stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigBreakDeadTime)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_TIMEx_ConfigBreakDeadTime +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM1_Init +
    + +

    HAL_TIMEx_MasterConfigSynchronization (Thumb, 398 bytes, Stack size 16 bytes, stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_TIMEx_MasterConfigSynchronization +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM7_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    + +

    HAL_TIM_Base_Init (Thumb, 498 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_TIM_Base_MspInit +
    • >>   assert_failed +
    • >>   TIM_Base_SetConfig +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM7_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    • >>   MX_TIM10_Init +
    + +

    HAL_TIM_Base_MspInit (Thumb, 398 bytes, Stack size 16 bytes, tim.o(.text.HAL_TIM_Base_MspInit)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    +
    [Called By]
    • >>   HAL_TIM_Base_Init +
    + +

    HAL_TIM_ConfigClockSource (Thumb, 1948 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_TIM_ConfigClockSource +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    + +

    HAL_TIM_IC_CaptureCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_TIM_IRQHandler (Thumb, 316 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_TIM_IRQHandler +
    +
    [Calls]
    • >>   HAL_TIM_TriggerCallback +
    • >>   HAL_TIM_PeriodElapsedCallback +
    • >>   HAL_TIM_PWM_PulseFinishedCallback +
    • >>   HAL_TIM_OC_DelayElapsedCallback +
    • >>   HAL_TIM_IC_CaptureCallback +
    • >>   HAL_TIMEx_CommutCallback +
    • >>   HAL_TIMEx_BreakCallback +
    +
    [Called By]
    • >>   TIM7_IRQHandler +
    • >>   TIM1_BRK_TIM9_IRQHandler +
    + +

    HAL_TIM_MspPostInit (Thumb, 534 bytes, Stack size 48 bytes, tim.o(.text.HAL_TIM_MspPostInit)) +

    [Stack]

    • Max Depth = 96
    • Call Chain = HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_GPIO_Init +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    • >>   MX_TIM10_Init +
    + +

    HAL_TIM_OC_DelayElapsedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_TIM_PWM_ConfigChannel (Thumb, 976 bytes, Stack size 40 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = HAL_TIM_PWM_ConfigChannel ⇒ TIM_OC2_SetConfig +
    +
    [Calls]
    • >>   assert_failed +
    • >>   TIM_OC2_SetConfig +
    • >>   TIM_OC3_SetConfig +
    • >>   TIM_OC1_SetConfig +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    • >>   MX_TIM10_Init +
    + +

    HAL_TIM_PWM_Init (Thumb, 498 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = HAL_TIM_PWM_Init ⇒ TIM_Base_SetConfig +
    +
    [Calls]
    • >>   assert_failed +
    • >>   TIM_Base_SetConfig +
    • >>   HAL_TIM_PWM_MspInit +
    +
    [Called By]
    • >>   MX_TIM8_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    • >>   MX_TIM10_Init +
    + +

    HAL_TIM_PWM_MspInit (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit)) +

    [Called By]

    • >>   HAL_TIM_PWM_Init +
    + +

    HAL_TIM_PWM_PulseFinishedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_TIM_PWM_Start (Thumb, 482 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = HAL_TIM_PWM_Start ⇒ TIM_CCxChannelCmd +
    +
    [Calls]
    • >>   assert_failed +
    • >>   TIM_CCxChannelCmd +
    +
    [Called By]
    • >>   BSP_PWM_Start +
    + +

    HAL_TIM_PWM_Stop (Thumb, 390 bytes, Stack size 24 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Stop)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = HAL_TIM_PWM_Stop ⇒ TIM_CCxChannelCmd +
    +
    [Calls]
    • >>   assert_failed +
    • >>   TIM_CCxChannelCmd +
    +
    [Called By]
    • >>   BSP_PWM_Stop +
    + +

    HAL_TIM_PeriodElapsedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_TIM_TriggerCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback)) +

    [Called By]

    • >>   HAL_TIM_IRQHandler +
    + +

    HAL_UARTEx_RxEventCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    • >>   UART_Receive_IT +
    • >>   UART_DMARxHalfCplt +
    • >>   UART_DMAReceiveCplt +
    + +

    HAL_UART_ErrorCallback (Thumb, 34 bytes, Stack size 0 bytes, uart.o(.text.HAL_UART_ErrorCallback)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    • >>   UART_DMAError +
    • >>   UART_DMAAbortOnError +
    + +

    HAL_UART_IRQHandler (Thumb, 1430 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = HAL_UART_IRQHandler ⇒ HAL_DMA_Abort +
    +
    [Calls]
    • >>   HAL_DMA_Abort_IT +
    • >>   HAL_DMA_Abort +
    • >>   UART_Receive_IT +
    • >>   HAL_UARTEx_RxEventCallback +
    • >>   HAL_UART_TxCpltCallback +
    • >>   HAL_UART_ErrorCallback +
    +
    [Called By]
    • >>   USART6_IRQHandler +
    • >>   USART1_IRQHandler +
    + +

    HAL_UART_Init (Thumb, 390 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(.text.HAL_UART_Init)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_UART_MspInit +
    • >>   assert_failed +
    • >>   UART_SetConfig +
    +
    [Called By]
    • >>   MX_USART6_UART_Init +
    • >>   MX_USART3_UART_Init +
    • >>   MX_USART1_UART_Init +
    + +

    HAL_UART_MspInit (Thumb, 736 bytes, Stack size 64 bytes, usart.o(.text.HAL_UART_MspInit)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_DMA_Init +
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    • >>   HAL_GPIO_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   HAL_UART_Init +
    + +

    HAL_UART_Receive_DMA (Thumb, 380 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = HAL_UART_Receive_DMA ⇒ HAL_DMA_Start_IT +
    +
    [Calls]
    • >>   HAL_DMA_Start_IT +
    +
    [Called By]
    • >>   DR16_StartDmaRecv +
    + +

    HAL_UART_RxCpltCallback (Thumb, 34 bytes, Stack size 0 bytes, uart.o(.text.HAL_UART_RxCpltCallback)) +

    [Called By]

    • >>   UART_Receive_IT +
    • >>   UART_DMAReceiveCplt +
    + +

    HAL_UART_RxHalfCpltCallback (Thumb, 34 bytes, Stack size 0 bytes, uart.o(.text.HAL_UART_RxHalfCpltCallback)) +

    [Called By]

    • >>   UART_DMARxHalfCplt +
    + +

    HAL_UART_TxCpltCallback (Thumb, 34 bytes, Stack size 0 bytes, uart.o(.text.HAL_UART_TxCpltCallback)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    + +

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.HardFault_Handler)) +

    [Calls]

    • >>   HardFault_Handler +
    +
    [Called By]
    • >>   HardFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    LQR_CalculateGainMatrix (Thumb, 668 bytes, Stack size 0 bytes, lqr.o(.text.LQR_CalculateGainMatrix)) +

    [Called By]

    • >>   Chassis_LQRControl +
    • >>   LQR_SetGainMatrix +
    • >>   LQR_Init +
    + +

    LQR_Control (Thumb, 326 bytes, Stack size 0 bytes, lqr.o(.text.LQR_Control)) +

    [Called By]

    • >>   Chassis_LQRControl +
    + +

    LQR_GetOutput (Thumb, 30 bytes, Stack size 0 bytes, lqr.o(.text.LQR_GetOutput)) +

    [Called By]

    • >>   Chassis_LQRControl +
    + +

    LQR_Init (Thumb, 178 bytes, Stack size 32 bytes, lqr.o(.text.LQR_Init)) +

    [Stack]

    • Max Depth = 32 + Unknown Stack Size +
    • Call Chain = LQR_Init +
    +
    [Calls]
    • >>   __aeabi_memclr4 +
    • >>   LQR_CalculateGainMatrix +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    LQR_Reset (Thumb, 46 bytes, Stack size 8 bytes, lqr.o(.text.LQR_Reset)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = LQR_Reset +
    +
    [Calls]
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    LQR_SetGainMatrix (Thumb, 22 bytes, Stack size 0 bytes, lqr.o(.text.LQR_SetGainMatrix)) +

    [Calls]

    • >>   LQR_CalculateGainMatrix +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    LQR_SetTargetState (Thumb, 148 bytes, Stack size 8 bytes, lqr.o(.text.LQR_SetTargetState)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = LQR_SetTargetState +
    +
    [Called By]
    • >>   Chassis_LQRControl +
    + +

    LQR_UpdateState (Thumb, 148 bytes, Stack size 8 bytes, lqr.o(.text.LQR_UpdateState)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = LQR_UpdateState +
    +
    [Called By]
    • >>   Chassis_LQRControl +
    + +

    LowPassFilter2p_Apply (Thumb, 108 bytes, Stack size 0 bytes, filter.o(.text.LowPassFilter2p_Apply)) +

    [Called By]

    • >>   PID_Calc +
    + +

    LowPassFilter2p_Init (Thumb, 172 bytes, Stack size 8 bytes, filter.o(.text.LowPassFilter2p_Init)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = LowPassFilter2p_Init ⇒ __hardfp_tanf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __hardfp_tanf +
    +
    [Called By]
    • >>   PID_Init +
    + +

    LowPassFilter2p_Reset (Thumb, 128 bytes, Stack size 0 bytes, filter.o(.text.LowPassFilter2p_Reset)) +

    [Called By]

    • >>   PID_Reset +
    • >>   PID_Init +
    + +

    MOTOR_LK_GetMotor (Thumb, 138 bytes, Stack size 16 bytes, motor_lk.o(.text.MOTOR_LK_GetMotor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = MOTOR_LK_GetMotor +
    +
    [Called By]
    • >>   Chassis_UpdateFeedback +
    + +

    MOTOR_LK_MotorOn (Thumb, 70 bytes, Stack size 24 bytes, motor_lk.o(.text.MOTOR_LK_MotorOn)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = MOTOR_LK_MotorOn ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   BSP_CAN_TransmitStdDataFrame +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    MOTOR_LK_Register (Thumb, 272 bytes, Stack size 24 bytes, motor_lk.o(.text.MOTOR_LK_Register)) +

    [Stack]

    • Max Depth = 176 + Unknown Stack Size +
    • Call Chain = MOTOR_LK_Register ⇒ BSP_CAN_RegisterId ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_Malloc +
    • >>   BSP_Free +
    • >>   BSP_CAN_RegisterId +
    • >>   __aeabi_memclr8 +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    MOTOR_LK_Relax (Thumb, 12 bytes, Stack size 0 bytes, motor_lk.o(.text.MOTOR_LK_Relax)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MOTOR_LK_Relax ⇒ MOTOR_LK_SetOutput ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   MOTOR_LK_SetOutput +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    MOTOR_LK_SetOutput (Thumb, 304 bytes, Stack size 40 bytes, motor_lk.o(.text.MOTOR_LK_SetOutput)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MOTOR_LK_SetOutput ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   BSP_CAN_TransmitStdDataFrame +
    +
    [Called By]
    • >>   Chassis_Output +
    • >>   MOTOR_LK_Relax +
    + +

    MOTOR_LK_Update (Thumb, 352 bytes, Stack size 48 bytes, motor_lk.o(.text.MOTOR_LK_Update)) +

    [Stack]

    • Max Depth = 200
    • Call Chain = MOTOR_LK_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_GetMessage +
    • >>   BSP_TIME_Get +
    +
    [Called By]
    • >>   Chassis_UpdateFeedback +
    + +

    MOTOR_LZ_Enable (Thumb, 74 bytes, Stack size 24 bytes, motor_lz.o(.text.MOTOR_LZ_Enable)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = MOTOR_LZ_Enable ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   BSP_CAN_TransmitExtDataFrame +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    MOTOR_LZ_GetMotor (Thumb, 138 bytes, Stack size 16 bytes, motor_lz.o(.text.MOTOR_LZ_GetMotor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = MOTOR_LZ_GetMotor +
    +
    [Called By]
    • >>   Chassis_UpdateFeedback +
    + +

    MOTOR_LZ_Init (Thumb, 24 bytes, Stack size 8 bytes, motor_lz.o(.text.MOTOR_LZ_Init)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = MOTOR_LZ_Init +
    +
    [Calls]
    • >>   BSP_CAN_RegisterIdParser +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    MOTOR_LZ_MotionControl (Thumb, 676 bytes, Stack size 48 bytes, motor_lz.o(.text.MOTOR_LZ_MotionControl)) +

    [Stack]

    • Max Depth = 144
    • Call Chain = MOTOR_LZ_MotionControl ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   BSP_CAN_TransmitExtDataFrame +
    +
    [Called By]
    • >>   Chassis_Output +
    • >>   MOTOR_LZ_Relax +
    + +

    MOTOR_LZ_Register (Thumb, 280 bytes, Stack size 24 bytes, motor_lz.o(.text.MOTOR_LZ_Register)) +

    [Stack]

    • Max Depth = 176 + Unknown Stack Size +
    • Call Chain = MOTOR_LZ_Register ⇒ BSP_CAN_RegisterId ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_Malloc +
    • >>   BSP_Free +
    • >>   BSP_CAN_RegisterId +
    • >>   __aeabi_memclr8 +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    MOTOR_LZ_Relax (Thumb, 12 bytes, Stack size 0 bytes, motor_lz.o(.text.MOTOR_LZ_Relax)) +

    [Stack]

    • Max Depth = 144
    • Call Chain = MOTOR_LZ_Relax ⇒ MOTOR_LZ_MotionControl ⇒ BSP_CAN_WaitTxMailboxEmpty ⇒ osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   MOTOR_LZ_MotionControl +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    MOTOR_LZ_Update (Thumb, 724 bytes, Stack size 128 bytes, motor_lz.o(.text.MOTOR_LZ_Update)) +

    [Stack]

    • Max Depth = 280
    • Call Chain = MOTOR_LZ_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_GetMessage +
    • >>   BSP_TIME_Get +
    +
    [Called By]
    • >>   Chassis_UpdateFeedback +
    + +

    MX_ADC1_Init (Thumb, 108 bytes, Stack size 32 bytes, adc.o(.text.MX_ADC1_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_ADC1_Init ⇒ HAL_ADC_Init ⇒ HAL_ADC_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_ADC_Init +
    • >>   HAL_ADC_ConfigChannel +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_ADC3_Init (Thumb, 108 bytes, Stack size 32 bytes, adc.o(.text.MX_ADC3_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_ADC3_Init ⇒ HAL_ADC_Init ⇒ HAL_ADC_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_ADC_Init +
    • >>   HAL_ADC_ConfigChannel +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_CAN1_Init (Thumb, 68 bytes, Stack size 8 bytes, can.o(.text.MX_CAN1_Init)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = MX_CAN1_Init ⇒ HAL_CAN_Init ⇒ HAL_CAN_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_CAN_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_CAN2_Init (Thumb, 68 bytes, Stack size 8 bytes, can.o(.text.MX_CAN2_Init)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = MX_CAN2_Init ⇒ HAL_CAN_Init ⇒ HAL_CAN_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_CAN_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_CRC_Init (Thumb, 38 bytes, Stack size 8 bytes, crc.o(.text.MX_CRC_Init)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = MX_CRC_Init ⇒ HAL_CRC_Init ⇒ HAL_CRC_MspInit +
    +
    [Calls]
    • >>   HAL_CRC_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_DMA_Init (Thumb, 204 bytes, Stack size 16 bytes, dma.o(.text.MX_DMA_Init)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = MX_DMA_Init ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    +
    [Called By]
    • >>   main +
    + +

    MX_FREERTOS_Init (Thumb, 64 bytes, Stack size 8 bytes, freertos.o(.text.MX_FREERTOS_Init)) +

    [Stack]

    • Max Depth = 168
    • Call Chain = MX_FREERTOS_Init ⇒ osThreadNew ⇒ xTaskCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   osThreadNew +
    +
    [Called By]
    • >>   main +
    + +

    MX_GPIO_Init (Thumb, 448 bytes, Stack size 64 bytes, gpio.o(.text.MX_GPIO_Init)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    • >>   HAL_GPIO_WritePin +
    • >>   HAL_GPIO_Init +
    +
    [Called By]
    • >>   main +
    + +

    MX_I2C1_Init (Thumb, 66 bytes, Stack size 8 bytes, i2c.o(.text.MX_I2C1_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_I2C1_Init ⇒ HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_I2C_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_I2C2_Init (Thumb, 66 bytes, Stack size 8 bytes, i2c.o(.text.MX_I2C2_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_I2C2_Init ⇒ HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_I2C_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_I2C3_Init (Thumb, 66 bytes, Stack size 8 bytes, i2c.o(.text.MX_I2C3_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_I2C3_Init ⇒ HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_I2C_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_RNG_Init (Thumb, 38 bytes, Stack size 8 bytes, rng.o(.text.MX_RNG_Init)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = MX_RNG_Init ⇒ HAL_RNG_Init ⇒ HAL_RNG_MspInit +
    +
    [Calls]
    • >>   HAL_RNG_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_SPI1_Init (Thumb, 82 bytes, Stack size 16 bytes, spi.o(.text.MX_SPI1_Init)) +

    [Stack]

    • Max Depth = 144
    • Call Chain = MX_SPI1_Init ⇒ HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_SPI_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_SPI2_Init (Thumb, 76 bytes, Stack size 8 bytes, spi.o(.text.MX_SPI2_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_SPI2_Init ⇒ HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_SPI_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM10_Init (Thumb, 130 bytes, Stack size 40 bytes, tim.o(.text.MX_TIM10_Init)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = MX_TIM10_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_TIM_Base_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM1_Init (Thumb, 344 bytes, Stack size 96 bytes, tim.o(.text.MX_TIM1_Init)) +

    [Stack]

    • Max Depth = 192
    • Call Chain = MX_TIM1_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_TIM_ConfigClockSource +
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   HAL_TIMEx_ConfigBreakDeadTime +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM3_Init (Thumb, 200 bytes, Stack size 64 bytes, tim.o(.text.MX_TIM3_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = MX_TIM3_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_TIM_ConfigClockSource +
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM4_Init (Thumb, 202 bytes, Stack size 64 bytes, tim.o(.text.MX_TIM4_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = MX_TIM4_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_TIM_ConfigClockSource +
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM5_Init (Thumb, 248 bytes, Stack size 64 bytes, tim.o(.text.MX_TIM5_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = MX_TIM5_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_TIM_ConfigClockSource +
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM7_Init (Thumb, 80 bytes, Stack size 16 bytes, tim.o(.text.MX_TIM7_Init)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = MX_TIM7_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_TIM8_Init (Thumb, 296 bytes, Stack size 96 bytes, tim.o(.text.MX_TIM8_Init)) +

    [Stack]

    • Max Depth = 192
    • Call Chain = MX_TIM8_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_MspPostInit +
    • >>   HAL_TIM_ConfigClockSource +
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   HAL_TIMEx_ConfigBreakDeadTime +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_USART1_UART_Init (Thumb, 60 bytes, Stack size 8 bytes, usart.o(.text.MX_USART1_UART_Init)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_UART_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_USART3_UART_Init (Thumb, 70 bytes, Stack size 8 bytes, usart.o(.text.MX_USART3_UART_Init)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = MX_USART3_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_UART_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_USART6_UART_Init (Thumb, 60 bytes, Stack size 8 bytes, usart.o(.text.MX_USART6_UART_Init)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = MX_USART6_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_UART_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   main +
    + +

    MX_USB_DEVICE_Init (Thumb, 114 bytes, Stack size 8 bytes, usb_device.o(.text.MX_USB_DEVICE_Init)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = MX_USB_DEVICE_Init ⇒ USBD_Init ⇒ USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   USBD_Start +
    • >>   USBD_RegisterClass +
    • >>   USBD_Init +
    • >>   USBD_CDC_RegisterInterface +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   StartDefaultTask +
    + +

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.MemManage_Handler)) +

    [Calls]

    • >>   MemManage_Handler +
    +
    [Called By]
    • >>   MemManage_Handler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.NMI_Handler)) +

    [Calls]

    • >>   NMI_Handler +
    +
    [Called By]
    • >>   NMI_Handler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    OTG_FS_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.OTG_FS_IRQHandler)) +

    [Stack]

    • Max Depth = 164
    • Call Chain = OTG_FS_IRQHandler ⇒ HAL_PCD_IRQHandler ⇒ HAL_PCD_SetupStageCallback ⇒ USBD_LL_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   HAL_PCD_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    PID_Calc (Thumb, 372 bytes, Stack size 48 bytes, pid.o(.text.PID_Calc)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = PID_Calc +
    +
    [Calls]
    • >>   CircleError +
    • >>   AbsClip +
    • >>   LowPassFilter2p_Apply +
    +
    [Called By]
    • >>   Chassis_LQRControl +
    + +

    PID_Init (Thumb, 148 bytes, Stack size 16 bytes, pid.o(.text.PID_Init)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = PID_Init ⇒ LowPassFilter2p_Init ⇒ __hardfp_tanf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   LowPassFilter2p_Reset +
    • >>   LowPassFilter2p_Init +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    PID_Reset (Thumb, 44 bytes, Stack size 8 bytes, pid.o(.text.PID_Reset)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = PID_Reset +
    +
    [Calls]
    • >>   LowPassFilter2p_Reset +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    PendSV_Handler (Thumb, 100 bytes, Stack size 0 bytes, port.o(.text.PendSV_Handler)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = PendSV_Handler ⇒ vTaskSwitchContext +
    +
    [Calls]
    • >>   vTaskSwitchContext +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    SVC_Handler (Thumb, 36 bytes, Stack size 0 bytes, port.o(.text.SVC_Handler)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(RESET) +
    +

    StartDefaultTask (Thumb, 18 bytes, Stack size 8 bytes, freertos.o(.text.StartDefaultTask)) +

    [Stack]

    • Max Depth = 136
    • Call Chain = StartDefaultTask ⇒ MX_USB_DEVICE_Init ⇒ USBD_Init ⇒ USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   osThreadTerminate +
    • >>   osThreadGetId +
    • >>   MX_USB_DEVICE_Init +
    +
    [Address Reference Count : 1]
    • freertos.o(.text.MX_FREERTOS_Init) +
    +

    SysTick_Handler (Thumb, 24 bytes, Stack size 8 bytes, stm32f4xx_it.o(.text.SysTick_Handler)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = SysTick_Handler ⇒ xPortSysTickHandler ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   xPortSysTickHandler +
    • >>   HAL_IncTick +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    SystemClock_Config (Thumb, 168 bytes, Stack size 88 bytes, main.o(.text.SystemClock_Config)) +

    [Stack]

    • Max Depth = 168
    • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod +
    +
    [Calls]
    • >>   HAL_RCC_OscConfig +
    • >>   HAL_RCC_ClockConfig +
    +
    [Called By]
    • >>   main +
    + +

    SystemInit (Thumb, 18 bytes, Stack size 0 bytes, system_stm32f4xx.o(.text.SystemInit)) +
    [Address Reference Count : 1]

    • startup_stm32f407xx.o(.text) +
    +

    TIM1_BRK_TIM9_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.TIM1_BRK_TIM9_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM1_BRK_TIM9_IRQHandler ⇒ HAL_TIM_IRQHandler +
    +
    [Calls]
    • >>   HAL_TIM_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    TIM7_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.TIM7_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM7_IRQHandler ⇒ HAL_TIM_IRQHandler +
    +
    [Calls]
    • >>   HAL_TIM_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    TIM_Base_SetConfig (Thumb, 322 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.TIM_Base_SetConfig)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM_Base_SetConfig +
    +
    [Called By]
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_Base_Init +
    + +

    TIM_CCxChannelCmd (Thumb, 258 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(.text.TIM_CCxChannelCmd)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM_CCxChannelCmd +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_TIM_PWM_Stop +
    • >>   HAL_TIM_PWM_Start +
    + +

    TIM_OC2_SetConfig (Thumb, 220 bytes, Stack size 40 bytes, stm32f4xx_hal_tim.o(.text.TIM_OC2_SetConfig)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = TIM_OC2_SetConfig +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_TIM_PWM_ConfigChannel +
    + +

    Task_Init (Thumb, 186 bytes, Stack size 8 bytes, init.o(.text.Task_Init)) +

    [Stack]

    • Max Depth = 168
    • Call Chain = Task_Init ⇒ osThreadNew ⇒ xTaskCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   osThreadTerminate +
    • >>   osThreadNew +
    • >>   osThreadGetId +
    • >>   osMessageQueueNew +
    • >>   osKernelUnlock +
    • >>   osKernelLock +
    +
    [Address Reference Count : 1]
    • freertos.o(.text.MX_FREERTOS_Init) +
    +

    Task_atti_esti (Thumb, 152 bytes, Stack size 0 bytes, atti_esti.o(.text.Task_atti_esti)) +

    [Stack]

    • Max Depth = 304 + Unknown Stack Size +
    • Call Chain = Task_atti_esti ⇒ DM_IMU_AutoUpdateAll ⇒ DM_IMU_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_Init +
    • >>   osMessageQueueReset +
    • >>   osMessageQueuePut +
    • >>   osKernelGetTickFreq +
    • >>   osKernelGetTickCount +
    • >>   osDelayUntil +
    • >>   osDelay +
    • >>   __aeabi_ui2d +
    • >>   __aeabi_d2uiz +
    • >>   __aeabi_ddiv +
    • >>   Config_GetRobotParam +
    • >>   DM_IMU_Init +
    • >>   DM_IMU_AutoUpdateAll +
    +
    [Address Reference Count : 1]
    • init.o(.text.Task_Init) +
    +

    Task_blink (Thumb, 136 bytes, Stack size 0 bytes, blink.o(.text.Task_blink)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = Task_blink ⇒ osDelayUntil ⇒ vTaskDelayUntil ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_PWM_Start +
    • >>   BSP_PWM_SetComp +
    • >>   osKernelGetTickFreq +
    • >>   osKernelGetTickCount +
    • >>   osDelayUntil +
    • >>   osDelay +
    • >>   __hardfp_sinf +
    • >>   __aeabi_ui2d +
    • >>   __aeabi_d2uiz +
    • >>   __aeabi_ddiv +
    • >>   BSP_PWM_Stop +
    +
    [Address Reference Count : 1]
    • init.o(.text.Task_Init) +
    +

    Task_ctrl_chassis (Thumb, 204 bytes, Stack size 0 bytes, ctrl_chassis.o(.text.Task_ctrl_chassis)) +

    [Stack]

    • Max Depth = 296 + Unknown Stack Size +
    • Call Chain = Task_ctrl_chassis ⇒ Chassis_UpdateFeedback ⇒ MOTOR_LZ_Update ⇒ BSP_CAN_GetMessage ⇒ osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   osMessageQueueGet +
    • >>   osKernelGetTickFreq +
    • >>   osKernelGetTickCount +
    • >>   osDelayUntil +
    • >>   osDelay +
    • >>   __aeabi_ui2d +
    • >>   __aeabi_d2uiz +
    • >>   __aeabi_ddiv +
    • >>   Chassis_UpdateFeedback +
    • >>   Chassis_Init +
    • >>   Chassis_Control +
    • >>   Config_GetRobotParam +
    +
    [Address Reference Count : 1]
    • init.o(.text.Task_Init) +
    +

    Task_ctrl_gimbal (Thumb, 64 bytes, Stack size 0 bytes, ctrl_gimbal.o(.text.Task_ctrl_gimbal)) +

    [Stack]

    • Max Depth = 208 + Unknown Stack Size +
    • Call Chain = Task_ctrl_gimbal ⇒ BSP_CAN_Init ⇒ osMutexNew ⇒ xQueueCreateMutexStatic ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   BSP_CAN_Init +
    • >>   osKernelGetTickFreq +
    • >>   osKernelGetTickCount +
    • >>   osDelayUntil +
    • >>   osDelay +
    • >>   __aeabi_ui2d +
    • >>   __aeabi_d2uiz +
    • >>   __aeabi_ddiv +
    +
    [Address Reference Count : 1]
    • init.o(.text.Task_Init) +
    +

    Task_rc (Thumb, 184 bytes, Stack size 0 bytes, rc.o(.text.Task_rc)) +

    [Stack]

    • Max Depth = 128 + Unknown Stack Size +
    • Call Chain = Task_rc ⇒ osMessageQueuePut ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   osMessageQueuePut +
    • >>   osKernelGetTickFreq +
    • >>   osKernelGetTickCount +
    • >>   osDelayUntil +
    • >>   osDelay +
    • >>   __aeabi_ui2d +
    • >>   __aeabi_d2uiz +
    • >>   __aeabi_ddiv +
    • >>   DR16_WaitDmaCplt +
    • >>   DR16_StartDmaRecv +
    • >>   DR16_ParseData +
    • >>   DR16_Offline +
    • >>   DR16_Init +
    +
    [Address Reference Count : 1]
    • init.o(.text.Task_Init) +
    +

    USART1_IRQHandler (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.USART1_IRQHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = USART1_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ HAL_DMA_Abort +
    +
    [Calls]
    • >>   HAL_UART_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    USART6_IRQHandler (Thumb, 26 bytes, Stack size 8 bytes, stm32f4xx_it.o(.text.USART6_IRQHandler)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = USART6_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ HAL_DMA_Abort +
    +
    [Calls]
    • >>   HAL_UART_IRQHandler +
    • >>   BSP_UART_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    USBD_CDC_GetDeviceQualifierDescriptor (Thumb, 16 bytes, Stack size 0 bytes, usbd_cdc.o(.text.USBD_CDC_GetDeviceQualifierDescriptor)) +
    [Address Reference Count : 1]

    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_ReceivePacket (Thumb, 52 bytes, Stack size 8 bytes, usbd_cdc.o(.text.USBD_CDC_ReceivePacket)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CDC_ReceivePacket ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_PrepareReceive +
    +
    [Called By]
    • >>   CDC_Receive_FS +
    + +

    USBD_CDC_RegisterInterface (Thumb, 24 bytes, Stack size 0 bytes, usbd_cdc.o(.text.USBD_CDC_RegisterInterface)) +

    [Called By]

    • >>   MX_USB_DEVICE_Init +
    + +

    USBD_CDC_SetRxBuffer (Thumb, 26 bytes, Stack size 0 bytes, usbd_cdc.o(.text.USBD_CDC_SetRxBuffer)) +

    [Called By]

    • >>   CDC_Receive_FS +
    • >>   CDC_Init_FS +
    + +

    USBD_CDC_SetTxBuffer (Thumb, 30 bytes, Stack size 0 bytes, usbd_cdc.o(.text.USBD_CDC_SetTxBuffer)) +

    [Called By]

    • >>   CDC_Init_FS +
    + +

    USBD_ClrClassConfig (Thumb, 18 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_ClrClassConfig)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_ClrClassConfig +
    +
    [Called By]
    • >>   USBD_StdDevReq +
    + +

    USBD_CoreFindEP (Thumb, 4 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_CoreFindEP)) +

    [Called By]

    • >>   USBD_StdEPReq +
    + +

    USBD_CoreFindIF (Thumb, 4 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_CoreFindIF)) +

    [Called By]

    • >>   USBD_StdItfReq +
    + +

    USBD_CtlContinueRx (Thumb, 16 bytes, Stack size 8 bytes, usbd_ioreq.o(.text.USBD_CtlContinueRx)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CtlContinueRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_PrepareReceive +
    +
    [Called By]
    • >>   USBD_LL_DataOutStage +
    + +

    USBD_CtlContinueSendData (Thumb, 16 bytes, Stack size 8 bytes, usbd_ioreq.o(.text.USBD_CtlContinueSendData)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_Transmit +
    +
    [Called By]
    • >>   USBD_LL_DataInStage +
    + +

    USBD_CtlError (Thumb, 22 bytes, Stack size 8 bytes, usbd_ctlreq.o(.text.USBD_CtlError)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = USBD_CtlError ⇒ USBD_LL_StallEP ⇒ HAL_PCD_EP_SetStall +
    +
    [Calls]
    • >>   USBD_LL_StallEP +
    +
    [Called By]
    • >>   USBD_CDC_Setup +
    + +

    USBD_CtlPrepareRx (Thumb, 30 bytes, Stack size 8 bytes, usbd_ioreq.o(.text.USBD_CtlPrepareRx)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CtlPrepareRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_PrepareReceive +
    +
    [Called By]
    • >>   USBD_CDC_Setup +
    + +

    USBD_CtlReceiveStatus (Thumb, 22 bytes, Stack size 8 bytes, usbd_ioreq.o(.text.USBD_CtlReceiveStatus)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CtlReceiveStatus ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_PrepareReceive +
    +
    [Called By]
    • >>   USBD_LL_DataInStage +
    + +

    USBD_CtlSendData (Thumb, 28 bytes, Stack size 8 bytes, usbd_ioreq.o(.text.USBD_CtlSendData)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_Transmit +
    +
    [Called By]
    • >>   USBD_CDC_Setup +
    • >>   USBD_StdEPReq +
    • >>   USBD_StdDevReq +
    + +

    USBD_CtlSendStatus (Thumb, 22 bytes, Stack size 8 bytes, usbd_ioreq.o(.text.USBD_CtlSendStatus)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_Transmit +
    +
    [Called By]
    • >>   USBD_LL_DataOutStage +
    • >>   USBD_StdItfReq +
    • >>   USBD_StdEPReq +
    • >>   USBD_StdDevReq +
    + +

    USBD_FS_ConfigStrDescriptor (Thumb, 24 bytes, Stack size 8 bytes, usbd_desc.o(.text.USBD_FS_ConfigStrDescriptor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_FS_ConfigStrDescriptor ⇒ USBD_GetString +
    +
    [Calls]
    • >>   USBD_GetString +
    +
    [Address Reference Count : 1]
    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_FS_DeviceDescriptor (Thumb, 14 bytes, Stack size 0 bytes, usbd_desc.o(.text.USBD_FS_DeviceDescriptor)) +
    [Address Reference Count : 1]

    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_FS_InterfaceStrDescriptor (Thumb, 24 bytes, Stack size 8 bytes, usbd_desc.o(.text.USBD_FS_InterfaceStrDescriptor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_FS_InterfaceStrDescriptor ⇒ USBD_GetString +
    +
    [Calls]
    • >>   USBD_GetString +
    +
    [Address Reference Count : 1]
    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_FS_LangIDStrDescriptor (Thumb, 14 bytes, Stack size 0 bytes, usbd_desc.o(.text.USBD_FS_LangIDStrDescriptor)) +
    [Address Reference Count : 1]

    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_FS_ManufacturerStrDescriptor (Thumb, 24 bytes, Stack size 8 bytes, usbd_desc.o(.text.USBD_FS_ManufacturerStrDescriptor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_FS_ManufacturerStrDescriptor ⇒ USBD_GetString +
    +
    [Calls]
    • >>   USBD_GetString +
    +
    [Address Reference Count : 1]
    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_FS_ProductStrDescriptor (Thumb, 24 bytes, Stack size 8 bytes, usbd_desc.o(.text.USBD_FS_ProductStrDescriptor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_FS_ProductStrDescriptor ⇒ USBD_GetString +
    +
    [Calls]
    • >>   USBD_GetString +
    +
    [Address Reference Count : 1]
    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_FS_SerialStrDescriptor (Thumb, 364 bytes, Stack size 16 bytes, usbd_desc.o(.text.USBD_FS_SerialStrDescriptor)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_FS_SerialStrDescriptor +
    +
    [Address Reference Count : 1]
    • usbd_desc.o(.data.FS_Desc) +
    +

    USBD_GetEpDesc (Thumb, 64 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_GetEpDesc)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_GetEpDesc +
    +
    [Called By]
    • >>   USBD_CDC_GetOtherSpeedCfgDesc +
    • >>   USBD_CDC_GetHSCfgDesc +
    • >>   USBD_CDC_GetFSCfgDesc +
    + +

    USBD_GetString (Thumb, 250 bytes, Stack size 8 bytes, usbd_ctlreq.o(.text.USBD_GetString)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_GetString +
    +
    [Called By]
    • >>   USBD_FS_ProductStrDescriptor +
    • >>   USBD_FS_ManufacturerStrDescriptor +
    • >>   USBD_FS_InterfaceStrDescriptor +
    • >>   USBD_FS_ConfigStrDescriptor +
    + +

    USBD_Init (Thumb, 42 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_Init)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = USBD_Init ⇒ USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   USBD_LL_Init +
    +
    [Called By]
    • >>   MX_USB_DEVICE_Init +
    + +

    USBD_LL_ClearStallEP (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_ClearStallEP)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = USBD_LL_ClearStallEP ⇒ HAL_PCD_EP_ClrStall +
    +
    [Calls]
    • >>   HAL_PCD_EP_ClrStall +
    +
    [Called By]
    • >>   USBD_StdEPReq +
    + +

    USBD_LL_CloseEP (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_CloseEP)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = USBD_LL_CloseEP ⇒ HAL_PCD_EP_Close ⇒ USB_DeactivateEndpoint +
    +
    [Calls]
    • >>   HAL_PCD_EP_Close +
    +
    [Called By]
    • >>   USBD_CDC_DeInit +
    + +

    USBD_LL_DataInStage (Thumb, 186 bytes, Stack size 16 bytes, usbd_core.o(.text.USBD_LL_DataInStage)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = USBD_LL_DataInStage ⇒ USBD_CtlReceiveStatus ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_StallEP +
    • >>   USBD_LL_PrepareReceive +
    • >>   USBD_CtlReceiveStatus +
    • >>   USBD_CtlContinueSendData +
    +
    [Called By]
    • >>   HAL_PCD_DataInStageCallback +
    + +

    USBD_LL_DataOutStage (Thumb, 128 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_LL_DataOutStage)) +

    [Stack]

    • Max Depth = 52
    • Call Chain = USBD_LL_DataOutStage ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_CtlSendStatus +
    • >>   USBD_CtlContinueRx +
    +
    [Called By]
    • >>   HAL_PCD_DataOutStageCallback +
    + +

    USBD_LL_DevConnected (Thumb, 4 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_LL_DevConnected)) +

    [Called By]

    • >>   HAL_PCD_ConnectCallback +
    + +

    USBD_LL_DevDisconnected (Thumb, 32 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_LL_DevDisconnected)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_LL_DevDisconnected +
    +
    [Called By]
    • >>   HAL_PCD_DisconnectCallback +
    + +

    USBD_LL_GetRxDataSize (Thumb, 8 bytes, Stack size 0 bytes, usbd_conf.o(.text.USBD_LL_GetRxDataSize)) +

    [Calls]

    • >>   HAL_PCD_EP_GetRxCount +
    +
    [Called By]
    • >>   USBD_CDC_DataOut +
    + +

    USBD_LL_Init (Thumb, 108 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_Init)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_PCD_Init +
    • >>   HAL_PCDEx_SetTxFiFo +
    • >>   HAL_PCDEx_SetRxFiFo +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   USBD_Init +
    + +

    USBD_LL_IsStallEP (Thumb, 32 bytes, Stack size 0 bytes, usbd_conf.o(.text.USBD_LL_IsStallEP)) +

    [Called By]

    • >>   USBD_StdEPReq +
    + +

    USBD_LL_IsoINIncomplete (Thumb, 40 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_LL_IsoINIncomplete)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_LL_IsoINIncomplete +
    +
    [Called By]
    • >>   HAL_PCD_ISOINIncompleteCallback +
    + +

    USBD_LL_IsoOUTIncomplete (Thumb, 40 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_LL_IsoOUTIncomplete)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_LL_IsoOUTIncomplete +
    +
    [Called By]
    • >>   HAL_PCD_ISOOUTIncompleteCallback +
    + +

    USBD_LL_OpenEP (Thumb, 42 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_OpenEP)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = USBD_LL_OpenEP ⇒ HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint +
    +
    [Calls]
    • >>   HAL_PCD_EP_Open +
    +
    [Called By]
    • >>   USBD_LL_Reset +
    • >>   USBD_CDC_Init +
    + +

    USBD_LL_PrepareReceive (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_PrepareReceive)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   HAL_PCD_EP_Receive +
    +
    [Called By]
    • >>   USBD_LL_DataInStage +
    • >>   USBD_CDC_ReceivePacket +
    • >>   USBD_CDC_Init +
    • >>   USBD_CtlPrepareRx +
    • >>   USBD_CtlReceiveStatus +
    • >>   USBD_CtlContinueRx +
    + +

    USBD_LL_Reset (Thumb, 104 bytes, Stack size 24 bytes, usbd_core.o(.text.USBD_LL_Reset)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = USBD_LL_Reset ⇒ USBD_LL_OpenEP ⇒ HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint +
    +
    [Calls]
    • >>   USBD_LL_OpenEP +
    +
    [Called By]
    • >>   HAL_PCD_ResetCallback +
    + +

    USBD_LL_Resume (Thumb, 20 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_LL_Resume)) +

    [Called By]

    • >>   HAL_PCD_ResumeCallback +
    + +

    USBD_LL_SOF (Thumb, 28 bytes, Stack size 8 bytes, usbd_core.o(.text.USBD_LL_SOF)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_LL_SOF +
    +
    [Called By]
    • >>   HAL_PCD_SOFCallback +
    + +

    USBD_LL_SetSpeed (Thumb, 8 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_LL_SetSpeed)) +

    [Called By]

    • >>   HAL_PCD_ResetCallback +
    + +

    USBD_LL_SetUSBAddress (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_SetUSBAddress)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_LL_SetUSBAddress ⇒ HAL_PCD_SetAddress +
    +
    [Calls]
    • >>   HAL_PCD_SetAddress +
    +
    [Called By]
    • >>   USBD_StdDevReq +
    + +

    USBD_LL_SetupStage (Thumb, 98 bytes, Stack size 16 bytes, usbd_core.o(.text.USBD_LL_SetupStage)) +

    [Stack]

    • Max Depth = 84
    • Call Chain = USBD_LL_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_StallEP +
    • >>   USBD_StdItfReq +
    • >>   USBD_StdEPReq +
    • >>   USBD_StdDevReq +
    • >>   USBD_ParseSetupRequest +
    +
    [Called By]
    • >>   HAL_PCD_SetupStageCallback +
    + +

    USBD_LL_StallEP (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_StallEP)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = USBD_LL_StallEP ⇒ HAL_PCD_EP_SetStall +
    +
    [Calls]
    • >>   HAL_PCD_EP_SetStall +
    +
    [Called By]
    • >>   USBD_LL_SetupStage +
    • >>   USBD_LL_DataInStage +
    • >>   USBD_CtlError +
    • >>   USBD_StdItfReq +
    • >>   USBD_StdEPReq +
    • >>   USBD_StdDevReq +
    + +

    USBD_LL_Start (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_Start)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_LL_Start ⇒ HAL_PCD_Start +
    +
    [Calls]
    • >>   HAL_PCD_Start +
    +
    [Called By]
    • >>   USBD_Start +
    + +

    USBD_LL_Suspend (Thumb, 28 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_LL_Suspend)) +

    [Called By]

    • >>   HAL_PCD_SuspendCallback +
    + +

    USBD_LL_Transmit (Thumb, 36 bytes, Stack size 8 bytes, usbd_conf.o(.text.USBD_LL_Transmit)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   HAL_PCD_EP_Transmit +
    +
    [Called By]
    • >>   USBD_CDC_DataIn +
    • >>   USBD_CtlSendData +
    • >>   USBD_CtlSendStatus +
    • >>   USBD_CtlContinueSendData +
    + +

    USBD_ParseSetupRequest (Thumb, 22 bytes, Stack size 0 bytes, usbd_ctlreq.o(.text.USBD_ParseSetupRequest)) +

    [Called By]

    • >>   USBD_LL_SetupStage +
    + +

    USBD_RegisterClass (Thumb, 66 bytes, Stack size 16 bytes, usbd_core.o(.text.USBD_RegisterClass)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_RegisterClass +
    +
    [Called By]
    • >>   MX_USB_DEVICE_Init +
    + +

    USBD_SetClassConfig (Thumb, 16 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_SetClassConfig)) +

    [Called By]

    • >>   USBD_StdDevReq +
    + +

    USBD_Start (Thumb, 4 bytes, Stack size 0 bytes, usbd_core.o(.text.USBD_Start)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_Start ⇒ USBD_LL_Start ⇒ HAL_PCD_Start +
    +
    [Calls]
    • >>   USBD_LL_Start +
    +
    [Called By]
    • >>   MX_USB_DEVICE_Init +
    + +

    USBD_StdDevReq (Thumb, 884 bytes, Stack size 24 bytes, usbd_ctlreq.o(.text.USBD_StdDevReq)) +

    [Stack]

    • Max Depth = 68
    • Call Chain = USBD_StdDevReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_StallEP +
    • >>   USBD_LL_SetUSBAddress +
    • >>   USBD_CtlSendData +
    • >>   USBD_SetClassConfig +
    • >>   USBD_CtlSendStatus +
    • >>   USBD_ClrClassConfig +
    +
    [Called By]
    • >>   USBD_LL_SetupStage +
    + +

    USBD_StdEPReq (Thumb, 408 bytes, Stack size 16 bytes, usbd_ctlreq.o(.text.USBD_StdEPReq)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = USBD_StdEPReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_StallEP +
    • >>   USBD_LL_IsStallEP +
    • >>   USBD_LL_ClearStallEP +
    • >>   USBD_CtlSendData +
    • >>   USBD_CtlSendStatus +
    • >>   USBD_CoreFindEP +
    +
    [Called By]
    • >>   USBD_LL_SetupStage +
    + +

    USBD_StdItfReq (Thumb, 150 bytes, Stack size 16 bytes, usbd_ctlreq.o(.text.USBD_StdItfReq)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = USBD_StdItfReq ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_StallEP +
    • >>   USBD_CtlSendStatus +
    • >>   USBD_CoreFindIF +
    +
    [Called By]
    • >>   USBD_LL_SetupStage +
    + +

    USBD_static_free (Thumb, 2 bytes, Stack size 0 bytes, usbd_conf.o(.text.USBD_static_free)) +

    [Called By]

    • >>   USBD_CDC_DeInit +
    + +

    USBD_static_malloc (Thumb, 10 bytes, Stack size 0 bytes, usbd_conf.o(.text.USBD_static_malloc)) +

    [Called By]

    • >>   USBD_CDC_Init +
    + +

    USB_ActivateEndpoint (Thumb, 152 bytes, Stack size 8 bytes, stm32f4xx_ll_usb.o(.text.USB_ActivateEndpoint)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USB_ActivateEndpoint +
    +
    [Called By]
    • >>   HAL_PCD_EP_Open +
    + +

    USB_ActivateSetup (Thumb, 32 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_ActivateSetup)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_CoreInit (Thumb, 630 bytes, Stack size 8 bytes, stm32f4xx_ll_usb.o(.text.USB_CoreInit)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USB_CoreInit +
    +
    [Called By]
    • >>   HAL_PCD_Init +
    + +

    USB_DeactivateEndpoint (Thumb, 148 bytes, Stack size 8 bytes, stm32f4xx_ll_usb.o(.text.USB_DeactivateEndpoint)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USB_DeactivateEndpoint +
    +
    [Called By]
    • >>   HAL_PCD_EP_Close +
    + +

    USB_DevConnect (Thumb, 30 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_DevConnect)) +

    [Called By]

    • >>   HAL_PCD_Start +
    + +

    USB_DevDisconnect (Thumb, 30 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_DevDisconnect)) +

    [Called By]

    • >>   HAL_PCD_Init +
    + +

    USB_DevInit (Thumb, 822 bytes, Stack size 44 bytes, stm32f4xx_ll_usb.o(.text.USB_DevInit)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = USB_DevInit +
    +
    [Called By]
    • >>   HAL_PCD_Init +
    + +

    USB_DisableGlobalInt (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_DisableGlobalInt)) +

    [Called By]

    • >>   HAL_PCD_Init +
    + +

    USB_EP0_OutStart (Thumb, 90 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_EP0_OutStart)) +

    [Called By]

    • >>   HAL_PCD_EP_SetStall +
    • >>   HAL_PCD_IRQHandler +
    + +

    USB_EPClearStall (Thumb, 80 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_EPClearStall)) +

    [Called By]

    • >>   HAL_PCD_EP_ClrStall +
    + +

    USB_EPSetStall (Thumb, 80 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_EPSetStall)) +

    [Called By]

    • >>   HAL_PCD_EP_SetStall +
    + +

    USB_EPStartXfer (Thumb, 574 bytes, Stack size 20 bytes, stm32f4xx_ll_usb.o(.text.USB_EPStartXfer)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = USB_EPStartXfer +
    +
    [Called By]
    • >>   HAL_PCD_EP_Transmit +
    • >>   HAL_PCD_EP_Receive +
    + +

    USB_EPStopXfer (Thumb, 274 bytes, Stack size 4 bytes, stm32f4xx_ll_usb.o(.text.USB_EPStopXfer)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = USB_EPStopXfer +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    USB_EnableGlobalInt (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_EnableGlobalInt)) +

    [Called By]

    • >>   HAL_PCD_Start +
    + +

    USB_FlushTxFifo (Thumb, 194 bytes, Stack size 4 bytes, stm32f4xx_ll_usb.o(.text.USB_FlushTxFifo)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = USB_FlushTxFifo +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    USB_GetDevSpeed (Thumb, 26 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_GetDevSpeed)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_GetMode (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_GetMode)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_ReadDevAllInEpInterrupt (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_ReadDevAllInEpInterrupt)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_ReadDevAllOutEpInterrupt (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_ReadDevAllOutEpInterrupt)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_ReadDevInEPInterrupt (Thumb, 36 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_ReadDevInEPInterrupt)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_ReadDevOutEPInterrupt (Thumb, 16 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_ReadDevOutEPInterrupt)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_ReadInterrupts (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_ReadInterrupts)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_ReadPacket (Thumb, 190 bytes, Stack size 8 bytes, stm32f4xx_ll_usb.o(.text.USB_ReadPacket)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USB_ReadPacket +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    USB_SetCurrentMode (Thumb, 108 bytes, Stack size 16 bytes, stm32f4xx_ll_usb.o(.text.USB_SetCurrentMode)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = USB_SetCurrentMode ⇒ HAL_Delay +
    +
    [Calls]
    • >>   HAL_Delay +
    +
    [Called By]
    • >>   HAL_PCD_Init +
    + +

    USB_SetDevAddress (Thumb, 34 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_SetDevAddress)) +

    [Called By]

    • >>   HAL_PCD_SetAddress +
    + +

    USB_SetTurnaroundTime (Thumb, 288 bytes, Stack size 0 bytes, stm32f4xx_ll_usb.o(.text.USB_SetTurnaroundTime)) +

    [Called By]

    • >>   HAL_PCD_IRQHandler +
    + +

    USB_WritePacket (Thumb, 118 bytes, Stack size 8 bytes, stm32f4xx_ll_usb.o(.text.USB_WritePacket)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USB_WritePacket +
    +
    [Called By]
    • >>   HAL_PCD_IRQHandler +
    + +

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(.text.UsageFault_Handler)) +

    [Calls]

    • >>   UsageFault_Handler +
    +
    [Called By]
    • >>   UsageFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_stm32f407xx.o(RESET) +
    +

    VMC_ComputeJacobian (Thumb, 304 bytes, Stack size 24 bytes, vmc.o(.text.VMC_ComputeJacobian)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = VMC_ComputeJacobian ⇒ __hardfp_sinf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    +
    [Called By]
    • >>   VMC_InverseSolve +
    + +

    VMC_ForwardSolve (Thumb, 1204 bytes, Stack size 56 bytes, vmc.o(.text.VMC_ForwardSolve)) +

    [Stack]

    • Max Depth = 96
    • Call Chain = VMC_ForwardSolve ⇒ __hardfp_atan2f ⇒ __set_errno +
    +
    [Calls]
    • >>   __hardfp_sqrtf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    • >>   __hardfp_atan2f +
    +
    [Called By]
    • >>   Chassis_Control +
    + +

    VMC_GetJointTorques (Thumb, 58 bytes, Stack size 0 bytes, vmc.o(.text.VMC_GetJointTorques)) +

    [Called By]

    • >>   Chassis_LQRControl +
    • >>   Chassis_Control +
    + +

    VMC_GetVirtualLegState (Thumb, 62 bytes, Stack size 0 bytes, vmc.o(.text.VMC_GetVirtualLegState)) +

    [Called By]

    • >>   Chassis_LQRControl +
    + +

    VMC_GroundContactDetection (Thumb, 124 bytes, Stack size 24 bytes, vmc.o(.text.VMC_GroundContactDetection)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = VMC_GroundContactDetection ⇒ __hardfp_sinf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    +
    [Called By]
    • >>   Chassis_LQRControl +
    + +

    VMC_Init (Thumb, 104 bytes, Stack size 16 bytes, vmc.o(.text.VMC_Init)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = VMC_Init +
    +
    [Calls]
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   Chassis_Init +
    + +

    VMC_InverseSolve (Thumb, 102 bytes, Stack size 8 bytes, vmc.o(.text.VMC_InverseSolve)) +

    [Stack]

    • Max Depth = 68
    • Call Chain = VMC_InverseSolve ⇒ VMC_ComputeJacobian ⇒ __hardfp_sinf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   VMC_ComputeJacobian +
    +
    [Called By]
    • >>   Chassis_LQRControl +
    • >>   Chassis_Control +
    + +

    assert_failed (Thumb, 2 bytes, Stack size 0 bytes, main.o(.text.assert_failed)) +

    [Called By]

    • >>   HAL_DMA_Start_IT +
    • >>   HAL_PCD_Init +
    • >>   HAL_UART_Init +
    • >>   HAL_TIM_PWM_Init +
    • >>   HAL_TIM_PWM_ConfigChannel +
    • >>   HAL_TIM_ConfigClockSource +
    • >>   HAL_TIM_Base_Init +
    • >>   HAL_TIMEx_MasterConfigSynchronization +
    • >>   HAL_TIMEx_ConfigBreakDeadTime +
    • >>   HAL_SPI_Init +
    • >>   HAL_RNG_Init +
    • >>   HAL_I2C_Init +
    • >>   HAL_DMA_Init +
    • >>   HAL_CRC_Init +
    • >>   HAL_CAN_Init +
    • >>   HAL_ADC_Init +
    • >>   HAL_ADC_ConfigChannel +
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    • >>   HAL_GPIO_WritePin +
    • >>   HAL_GPIO_Init +
    • >>   HAL_RCC_OscConfig +
    • >>   HAL_RCC_ClockConfig +
    • >>   UART_SetConfig +
    • >>   TIM_OC2_SetConfig +
    • >>   TIM_CCxChannelCmd +
    • >>   HAL_TIM_PWM_Stop +
    • >>   HAL_TIM_PWM_Start +
    • >>   TIM_OC3_SetConfig +
    • >>   TIM_OC1_SetConfig +
    • >>   HAL_CAN_GetRxMessage +
    • >>   HAL_CAN_GetRxFifoFillLevel +
    • >>   HAL_CAN_ConfigFilter +
    • >>   HAL_CAN_AddTxMessage +
    • >>   HAL_CAN_ActivateNotification +
    • >>   HAL_NVIC_SetPriorityGrouping +
    + +

    configureTimerForRunTimeStats (Thumb, 2 bytes, Stack size 0 bytes, freertos.o(.text.configureTimerForRunTimeStats)) +

    [Called By]

    • >>   vTaskStartScheduler +
    + +

    eTaskGetState (Thumb, 144 bytes, Stack size 24 bytes, tasks.o(.text.eTaskGetState)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = eTaskGetState +
    +
    [Calls]
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   osThreadTerminate +
    + +

    getRunTimeCounterValue (Thumb, 4 bytes, Stack size 0 bytes, freertos.o(.text.getRunTimeCounterValue)) +

    [Called By]

    • >>   vTaskSwitchContext +
    + +

    main (Thumb, 114 bytes, Stack size 0 bytes, main.o(.text.main)) +

    [Stack]

    • Max Depth = 192
    • Call Chain = main ⇒ MX_TIM8_Init ⇒ HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   osKernelStart +
    • >>   osKernelInitialize +
    • >>   SystemClock_Config +
    • >>   MX_USART6_UART_Init +
    • >>   MX_USART3_UART_Init +
    • >>   MX_USART1_UART_Init +
    • >>   MX_TIM8_Init +
    • >>   MX_TIM7_Init +
    • >>   MX_TIM5_Init +
    • >>   MX_TIM4_Init +
    • >>   MX_TIM3_Init +
    • >>   MX_TIM1_Init +
    • >>   MX_TIM10_Init +
    • >>   MX_SPI2_Init +
    • >>   MX_SPI1_Init +
    • >>   MX_RNG_Init +
    • >>   MX_I2C3_Init +
    • >>   MX_I2C2_Init +
    • >>   MX_I2C1_Init +
    • >>   MX_GPIO_Init +
    • >>   MX_FREERTOS_Init +
    • >>   MX_DMA_Init +
    • >>   MX_CRC_Init +
    • >>   MX_CAN2_Init +
    • >>   MX_CAN1_Init +
    • >>   MX_ADC3_Init +
    • >>   MX_ADC1_Init +
    • >>   HAL_Init +
    +
    [Called By]
    • >>   __rt_entry_main +
    + +

    osDelay (Thumb, 32 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osDelay)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = osDelay ⇒ vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vTaskDelay +
    +
    [Called By]
    • >>   BSP_CAN_WaitTxMailboxEmpty +
    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    + +

    osDelayUntil (Thumb, 56 bytes, Stack size 16 bytes, cmsis_os2.o(.text.osDelayUntil)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = osDelayUntil ⇒ vTaskDelayUntil ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetTickCount +
    • >>   vTaskDelayUntil +
    +
    [Called By]
    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    + +

    osKernelGetTickCount (Thumb, 16 bytes, Stack size 0 bytes, cmsis_os2.o(.text.osKernelGetTickCount)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = osKernelGetTickCount ⇒ xTaskGetTickCountFromISR +
    +
    [Calls]
    • >>   xTaskGetTickCountFromISR +
    • >>   xTaskGetTickCount +
    +
    [Called By]
    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    + +

    osKernelGetTickFreq (Thumb, 6 bytes, Stack size 0 bytes, cmsis_os2.o(.text.osKernelGetTickFreq)) +

    [Called By]

    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    • >>   BSP_TIME_Get +
    • >>   BSP_TIME_Delay_us +
    + +

    osKernelInitialize (Thumb, 40 bytes, Stack size 0 bytes, cmsis_os2.o(.text.osKernelInitialize)) +

    [Called By]

    • >>   main +
    + +

    osKernelLock (Thumb, 46 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osKernelLock)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = osKernelLock +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   vTaskSuspendAll +
    +
    [Called By]
    • >>   Task_Init +
    + +

    osKernelStart (Thumb, 64 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osKernelStart)) +

    [Stack]

    • Max Depth = 164
    • Call Chain = osKernelStart ⇒ vTaskStartScheduler ⇒ xTimerCreateTimerTask ⇒ xTaskCreateStatic ⇒ prvInitialiseNewTask ⇒ __aeabi_memset4 ⇒ _memset_w +
    +
    [Calls]
    • >>   vTaskStartScheduler +
    +
    [Called By]
    • >>   main +
    + +

    osKernelUnlock (Thumb, 72 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osKernelUnlock)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = osKernelUnlock ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   xTaskResumeAll +
    +
    [Called By]
    • >>   Task_Init +
    + +

    osMessageQueueGet (Thumb, 136 bytes, Stack size 16 bytes, cmsis_os2.o(.text.osMessageQueueGet)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = osMessageQueueGet ⇒ xQueueReceive ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueReceiveFromISR +
    • >>   xQueueReceive +
    +
    [Called By]
    • >>   BSP_CAN_GetMessage +
    • >>   Task_ctrl_chassis +
    + +

    osMessageQueueNew (Thumb, 148 bytes, Stack size 24 bytes, cmsis_os2.o(.text.osMessageQueueNew)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = osMessageQueueNew ⇒ xQueueGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueGenericCreateStatic +
    • >>   xQueueGenericCreate +
    • >>   vQueueAddToRegistry +
    +
    [Called By]
    • >>   Task_Init +
    • >>   BSP_CAN_RegisterId +
    + +

    osMessageQueuePut (Thumb, 168 bytes, Stack size 24 bytes, cmsis_os2.o(.text.osMessageQueuePut)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = osMessageQueuePut ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueGenericSendFromISR +
    • >>   xQueueGenericSend +
    +
    [Called By]
    • >>   BSP_CAN_RxFifo1Callback +
    • >>   BSP_CAN_RxFifo0Callback +
    • >>   Task_rc +
    • >>   Task_atti_esti +
    + +

    osMessageQueueReset (Thumb, 36 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osMessageQueueReset)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = osMessageQueueReset ⇒ xQueueGenericReset ⇒ xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   xQueueGenericReset +
    +
    [Called By]
    • >>   Task_atti_esti +
    + +

    osMutexAcquire (Thumb, 84 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osMutexAcquire)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = osMutexAcquire ⇒ xQueueTakeMutexRecursive ⇒ xQueueSemaphoreTake ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueTakeMutexRecursive +
    • >>   xQueueSemaphoreTake +
    +
    [Called By]
    • >>   BSP_CAN_RegisterId +
    • >>   BSP_CAN_GetMessage +
    + +

    osMutexNew (Thumb, 124 bytes, Stack size 16 bytes, cmsis_os2.o(.text.osMutexNew)) +

    [Stack]

    • Max Depth = 144
    • Call Chain = osMutexNew ⇒ xQueueCreateMutexStatic ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueCreateMutexStatic +
    • >>   xQueueCreateMutex +
    • >>   vQueueAddToRegistry +
    +
    [Called By]
    • >>   BSP_CAN_Init +
    + +

    osMutexRelease (Thumb, 74 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osMutexRelease)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = osMutexRelease ⇒ xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueGiveMutexRecursive +
    • >>   xQueueGenericSend +
    +
    [Called By]
    • >>   BSP_CAN_RegisterId +
    • >>   BSP_CAN_GetMessage +
    + +

    osThreadFlagsSet (Thumb, 136 bytes, Stack size 32 bytes, cmsis_os2.o(.text.osThreadFlagsSet)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = osThreadFlagsSet ⇒ xTaskGenericNotifyFromISR +
    +
    [Calls]
    • >>   xTaskGenericNotifyFromISR +
    • >>   xTaskGenericNotify +
    +
    [Called By]
    • >>   DR16_RxCpltCallback +
    + +

    osThreadFlagsWait (Thumb, 354 bytes, Stack size 40 bytes, cmsis_os2.o(.text.osThreadFlagsWait)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = osThreadFlagsWait ⇒ xTaskNotifyWait ⇒ vListInsert +
    +
    [Calls]
    • >>   xTaskGetTickCount +
    • >>   xTaskNotifyWait +
    +
    [Called By]
    • >>   DR16_WaitDmaCplt +
    + +

    osThreadGetId (Thumb, 4 bytes, Stack size 0 bytes, cmsis_os2.o(.text.osThreadGetId)) +

    [Calls]

    • >>   xTaskGetCurrentTaskHandle +
    +
    [Called By]
    • >>   Task_Init +
    • >>   StartDefaultTask +
    • >>   DR16_Init +
    + +

    osThreadNew (Thumb, 160 bytes, Stack size 40 bytes, cmsis_os2.o(.text.osThreadNew)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = osThreadNew ⇒ xTaskCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskCreateStatic +
    • >>   xTaskCreate +
    +
    [Called By]
    • >>   Task_Init +
    • >>   MX_FREERTOS_Init +
    + +

    osThreadTerminate (Thumb, 54 bytes, Stack size 8 bytes, cmsis_os2.o(.text.osThreadTerminate)) +

    [Stack]

    • Max Depth = 96
    • Call Chain = osThreadTerminate ⇒ vTaskDelete ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vTaskDelete +
    • >>   eTaskGetState +
    +
    [Called By]
    • >>   Task_Init +
    • >>   StartDefaultTask +
    + +

    pvPortMalloc (Thumb, 542 bytes, Stack size 24 bytes, heap_4.o(.text.pvPortMalloc)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskResumeAll +
    • >>   vTaskSuspendAll +
    +
    [Called By]
    • >>   BSP_Malloc +
    • >>   xTaskCreate +
    • >>   xQueueGenericCreate +
    • >>   xQueueCreateMutex +
    + +

    pvTaskIncrementMutexHeldCount (Thumb, 24 bytes, Stack size 0 bytes, tasks.o(.text.pvTaskIncrementMutexHeldCount)) +

    [Called By]

    • >>   xQueueSemaphoreTake +
    + +

    pxPortInitialiseStack (Thumb, 40 bytes, Stack size 0 bytes, port.o(.text.pxPortInitialiseStack)) +

    [Called By]

    • >>   prvInitialiseNewTask +
    + +

    uxListRemove (Thumb, 36 bytes, Stack size 0 bytes, list.o(.text.uxListRemove)) +

    [Called By]

    • >>   prvTimerTask +
    • >>   prvSampleTimeNow +
    • >>   xTaskIncrementTick +
    • >>   vTaskDelete +
    • >>   vTaskDelayUntil +
    • >>   vTaskDelay +
    • >>   prvIdleTask +
    • >>   xTaskNotifyWait +
    • >>   xTaskGenericNotifyFromISR +
    • >>   xTaskGenericNotify +
    • >>   xTaskRemoveFromEventList +
    • >>   xTaskPriorityInherit +
    • >>   xTaskPriorityDisinherit +
    • >>   vTaskPriorityDisinheritAfterTimeout +
    • >>   vTaskPlaceOnEventListRestricted +
    • >>   vTaskPlaceOnEventList +
    • >>   xTaskResumeAll +
    + +

    vApplicationGetIdleTaskMemory (Thumb, 26 bytes, Stack size 0 bytes, cmsis_os2.o(.text.vApplicationGetIdleTaskMemory)) +

    [Called By]

    • >>   vTaskStartScheduler +
    + +

    vApplicationGetTimerTaskMemory (Thumb, 28 bytes, Stack size 0 bytes, cmsis_os2.o(.text.vApplicationGetTimerTaskMemory)) +

    [Called By]

    • >>   xTimerCreateTimerTask +
    + +

    vApplicationStackOverflowHook (Thumb, 2 bytes, Stack size 0 bytes, freertos.o(.text.vApplicationStackOverflowHook)) +

    [Called By]

    • >>   vTaskSwitchContext +
    + +

    vListInitialise (Thumb, 22 bytes, Stack size 0 bytes, list.o(.text.vListInitialise)) +

    [Called By]

    • >>   xTimerCreateTimerTask +
    • >>   prvAddNewTaskToReadyList +
    • >>   xQueueGenericReset +
    • >>   xQueueGenericCreateStatic +
    • >>   xQueueGenericCreate +
    • >>   xQueueCreateMutexStatic +
    • >>   xQueueCreateMutex +
    + +

    vListInitialiseItem (Thumb, 6 bytes, Stack size 0 bytes, list.o(.text.vListInitialiseItem)) +

    [Called By]

    • >>   prvInitialiseNewTask +
    + +

    vListInsert (Thumb, 98 bytes, Stack size 8 bytes, list.o(.text.vListInsert)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = vListInsert +
    +
    [Called By]
    • >>   prvTimerTask +
    • >>   prvSampleTimeNow +
    • >>   vTaskDelayUntil +
    • >>   vTaskDelay +
    • >>   xTaskNotifyWait +
    • >>   vTaskPlaceOnEventListRestricted +
    • >>   vTaskPlaceOnEventList +
    + +

    vListInsertEnd (Thumb, 28 bytes, Stack size 0 bytes, list.o(.text.vListInsertEnd)) +

    [Called By]

    • >>   xTaskIncrementTick +
    • >>   vTaskDelete +
    • >>   prvAddNewTaskToReadyList +
    • >>   xTaskNotifyWait +
    • >>   xTaskGenericNotifyFromISR +
    • >>   xTaskGenericNotify +
    • >>   xTaskRemoveFromEventList +
    • >>   xTaskPriorityInherit +
    • >>   xTaskPriorityDisinherit +
    • >>   vTaskPriorityDisinheritAfterTimeout +
    • >>   vTaskPlaceOnEventListRestricted +
    • >>   vTaskPlaceOnEventList +
    • >>   xTaskResumeAll +
    + +

    vPortEnterCritical (Thumb, 70 bytes, Stack size 0 bytes, port.o(.text.vPortEnterCritical)) +

    [Called By]

    • >>   xTimerCreateTimerTask +
    • >>   vTaskDelete +
    • >>   eTaskGetState +
    • >>   prvIdleTask +
    • >>   prvAddNewTaskToReadyList +
    • >>   xTaskNotifyWait +
    • >>   xTaskGenericNotify +
    • >>   xTaskCheckForTimeOut +
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    • >>   xQueueGenericReset +
    • >>   xQueueGenericCreateStatic +
    • >>   xQueueGenericCreate +
    • >>   xQueueCreateMutexStatic +
    • >>   xQueueCreateMutex +
    • >>   vQueueWaitForMessageRestricted +
    • >>   prvUnlockQueue +
    • >>   xTaskResumeAll +
    + +

    vPortExitCritical (Thumb, 46 bytes, Stack size 0 bytes, port.o(.text.vPortExitCritical)) +

    [Called By]

    • >>   xTimerCreateTimerTask +
    • >>   vTaskDelete +
    • >>   eTaskGetState +
    • >>   prvIdleTask +
    • >>   prvAddNewTaskToReadyList +
    • >>   xTaskNotifyWait +
    • >>   xTaskGenericNotify +
    • >>   xTaskCheckForTimeOut +
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    • >>   xQueueGenericReset +
    • >>   xQueueGenericCreateStatic +
    • >>   xQueueGenericCreate +
    • >>   xQueueCreateMutexStatic +
    • >>   xQueueCreateMutex +
    • >>   vQueueWaitForMessageRestricted +
    • >>   prvUnlockQueue +
    • >>   xTaskResumeAll +
    + +

    vPortFree (Thumb, 212 bytes, Stack size 16 bytes, heap_4.o(.text.vPortFree)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskResumeAll +
    • >>   vTaskSuspendAll +
    +
    [Called By]
    • >>   BSP_Free +
    • >>   prvTimerTask +
    • >>   xTaskCreate +
    • >>   vTaskDelete +
    • >>   prvIdleTask +
    + +

    vPortSetupTimerInterrupt (Thumb, 52 bytes, Stack size 0 bytes, port.o(.text.vPortSetupTimerInterrupt)) +

    [Called By]

    • >>   xPortStartScheduler +
    + +

    vPortValidateInterruptPriority (Thumb, 94 bytes, Stack size 0 bytes, port.o(.text.vPortValidateInterruptPriority)) +

    [Called By]

    • >>   xTaskGetTickCountFromISR +
    • >>   xTaskGenericNotifyFromISR +
    • >>   xQueueReceiveFromISR +
    • >>   xQueueGenericSendFromISR +
    + +

    vQueueAddToRegistry (Thumb, 176 bytes, Stack size 0 bytes, queue.o(.text.vQueueAddToRegistry)) +

    [Called By]

    • >>   osMutexNew +
    • >>   osMessageQueueNew +
    • >>   xTimerCreateTimerTask +
    + +

    vQueueWaitForMessageRestricted (Thumb, 82 bytes, Stack size 16 bytes, queue.o(.text.vQueueWaitForMessageRestricted)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = vQueueWaitForMessageRestricted ⇒ prvUnlockQueue ⇒ xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   vTaskPlaceOnEventListRestricted +
    • >>   prvUnlockQueue +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   prvTimerTask +
    + +

    vTaskDelay (Thumb, 136 bytes, Stack size 16 bytes, tasks.o(.text.vTaskDelay)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = vTaskDelay ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vListInsert +
    • >>   uxListRemove +
    • >>   xTaskResumeAll +
    +
    [Called By]
    • >>   osDelay +
    + +

    vTaskDelayUntil (Thumb, 212 bytes, Stack size 16 bytes, tasks.o(.text.vTaskDelayUntil)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = vTaskDelayUntil ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vListInsert +
    • >>   uxListRemove +
    • >>   xTaskResumeAll +
    +
    [Called By]
    • >>   osDelayUntil +
    + +

    vTaskDelete (Thumb, 226 bytes, Stack size 16 bytes, tasks.o(.text.vTaskDelete)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = vTaskDelete ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    • >>   vPortFree +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   osThreadTerminate +
    + +

    vTaskInternalSetTimeOutState (Thumb, 18 bytes, Stack size 0 bytes, tasks.o(.text.vTaskInternalSetTimeOutState)) +

    [Called By]

    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    + +

    vTaskMissedYield (Thumb, 14 bytes, Stack size 0 bytes, tasks.o(.text.vTaskMissedYield)) +

    [Called By]

    • >>   prvUnlockQueue +
    + +

    vTaskPlaceOnEventList (Thumb, 124 bytes, Stack size 16 bytes, tasks.o(.text.vTaskPlaceOnEventList)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = vTaskPlaceOnEventList ⇒ vListInsert +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   vListInsert +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    + +

    vTaskPlaceOnEventListRestricted (Thumb, 130 bytes, Stack size 24 bytes, tasks.o(.text.vTaskPlaceOnEventListRestricted)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = vTaskPlaceOnEventListRestricted ⇒ vListInsert +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   vListInsert +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   vQueueWaitForMessageRestricted +
    + +

    vTaskPriorityDisinheritAfterTimeout (Thumb, 162 bytes, Stack size 24 bytes, tasks.o(.text.vTaskPriorityDisinheritAfterTimeout)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = vTaskPriorityDisinheritAfterTimeout +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   xQueueSemaphoreTake +
    + +

    vTaskStartScheduler (Thumb, 236 bytes, Stack size 40 bytes, tasks.o(.text.vTaskStartScheduler)) +

    [Stack]

    • Max Depth = 156
    • Call Chain = vTaskStartScheduler ⇒ xTimerCreateTimerTask ⇒ xTaskCreateStatic ⇒ prvInitialiseNewTask ⇒ __aeabi_memset4 ⇒ _memset_w +
    +
    [Calls]
    • >>   configureTimerForRunTimeStats +
    • >>   xTimerCreateTimerTask +
    • >>   xPortStartScheduler +
    • >>   vApplicationGetIdleTaskMemory +
    • >>   prvInitialiseNewTask +
    • >>   prvAddNewTaskToReadyList +
    +
    [Called By]
    • >>   osKernelStart +
    + +

    vTaskSuspendAll (Thumb, 16 bytes, Stack size 0 bytes, tasks.o(.text.vTaskSuspendAll)) +

    [Called By]

    • >>   osKernelLock +
    • >>   prvTimerTask +
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    • >>   vPortFree +
    • >>   pvPortMalloc +
    + +

    vTaskSwitchContext (Thumb, 240 bytes, Stack size 8 bytes, tasks.o(.text.vTaskSwitchContext)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = vTaskSwitchContext +
    +
    [Calls]
    • >>   vApplicationStackOverflowHook +
    • >>   getRunTimeCounterValue +
    +
    [Called By]
    • >>   PendSV_Handler +
    • >>   xPortStartScheduler +
    + +

    xPortStartScheduler (Thumb, 390 bytes, Stack size 32 bytes, port.o(.text.xPortStartScheduler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = xPortStartScheduler ⇒ vTaskSwitchContext +
    +
    [Calls]
    • >>   vPortSetupTimerInterrupt +
    • >>   vPortEnableVFP +
    • >>   prvPortStartFirstTask +
    • >>   vTaskSwitchContext +
    +
    [Called By]
    • >>   vTaskStartScheduler +
    + +

    xPortSysTickHandler (Thumb, 46 bytes, Stack size 8 bytes, port.o(.text.xPortSysTickHandler)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = xPortSysTickHandler ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskIncrementTick +
    +
    [Called By]
    • >>   SysTick_Handler +
    + +

    xQueueCreateMutex (Thumb, 112 bytes, Stack size 16 bytes, queue.o(.text.xQueueCreateMutex)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = xQueueCreateMutex ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueGenericSend +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    • >>   pvPortMalloc +
    +
    [Called By]
    • >>   osMutexNew +
    + +

    xQueueCreateMutexStatic (Thumb, 162 bytes, Stack size 24 bytes, queue.o(.text.xQueueCreateMutexStatic)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = xQueueCreateMutexStatic ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xQueueGenericSend +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    +
    [Called By]
    • >>   osMutexNew +
    + +

    xQueueGenericCreate (Thumb, 134 bytes, Stack size 24 bytes, queue.o(.text.xQueueGenericCreate)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = xQueueGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    • >>   pvPortMalloc +
    +
    [Called By]
    • >>   osMessageQueueNew +
    + +

    xQueueGenericCreateStatic (Thumb, 222 bytes, Stack size 24 bytes, queue.o(.text.xQueueGenericCreateStatic)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = xQueueGenericCreateStatic +
    +
    [Calls]
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    +
    [Called By]
    • >>   osMessageQueueNew +
    • >>   xTimerCreateTimerTask +
    + +

    xQueueGenericReset (Thumb, 140 bytes, Stack size 16 bytes, queue.o(.text.xQueueGenericReset)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = xQueueGenericReset ⇒ xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   xTaskRemoveFromEventList +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    +
    [Called By]
    • >>   osMessageQueueReset +
    + +

    xQueueGenericSend (Thumb, 554 bytes, Stack size 48 bytes, queue.o(.text.xQueueGenericSend)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   xTaskRemoveFromEventList +
    • >>   xTaskPriorityDisinherit +
    • >>   xTaskCheckForTimeOut +
    • >>   vTaskPlaceOnEventList +
    • >>   vTaskInternalSetTimeOutState +
    • >>   prvUnlockQueue +
    • >>   xTaskResumeAll +
    • >>   vTaskSuspendAll +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   __aeabi_memcpy +
    +
    [Called By]
    • >>   osMutexRelease +
    • >>   osMessageQueuePut +
    • >>   prvTimerTask +
    • >>   prvSampleTimeNow +
    • >>   xQueueGiveMutexRecursive +
    • >>   xQueueCreateMutexStatic +
    • >>   xQueueCreateMutex +
    + +

    xQueueGenericSendFromISR (Thumb, 344 bytes, Stack size 32 bytes, queue.o(.text.xQueueGenericSendFromISR)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = xQueueGenericSendFromISR ⇒ xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   xTaskRemoveFromEventList +
    • >>   xTaskPriorityDisinherit +
    • >>   vPortValidateInterruptPriority +
    • >>   __aeabi_memcpy +
    +
    [Called By]
    • >>   osMessageQueuePut +
    + +

    xQueueGiveMutexRecursive (Thumb, 66 bytes, Stack size 16 bytes, queue.o(.text.xQueueGiveMutexRecursive)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = xQueueGiveMutexRecursive ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetCurrentTaskHandle +
    • >>   xQueueGenericSend +
    +
    [Called By]
    • >>   osMutexRelease +
    + +

    xQueueReceive (Thumb, 426 bytes, Stack size 48 bytes, queue.o(.text.xQueueReceive)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = xQueueReceive ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   xTaskRemoveFromEventList +
    • >>   xTaskCheckForTimeOut +
    • >>   vTaskPlaceOnEventList +
    • >>   vTaskInternalSetTimeOutState +
    • >>   prvUnlockQueue +
    • >>   xTaskResumeAll +
    • >>   vTaskSuspendAll +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   __aeabi_memcpy +
    +
    [Called By]
    • >>   osMessageQueueGet +
    • >>   prvTimerTask +
    + +

    xQueueReceiveFromISR (Thumb, 228 bytes, Stack size 32 bytes, queue.o(.text.xQueueReceiveFromISR)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = xQueueReceiveFromISR ⇒ xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   xTaskRemoveFromEventList +
    • >>   vPortValidateInterruptPriority +
    • >>   __aeabi_memcpy +
    +
    [Called By]
    • >>   osMessageQueueGet +
    + +

    xQueueSemaphoreTake (Thumb, 470 bytes, Stack size 48 bytes, queue.o(.text.xQueueSemaphoreTake)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = xQueueSemaphoreTake ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   xTaskRemoveFromEventList +
    • >>   xTaskPriorityInherit +
    • >>   xTaskCheckForTimeOut +
    • >>   vTaskPriorityDisinheritAfterTimeout +
    • >>   vTaskPlaceOnEventList +
    • >>   vTaskInternalSetTimeOutState +
    • >>   pvTaskIncrementMutexHeldCount +
    • >>   prvUnlockQueue +
    • >>   xTaskResumeAll +
    • >>   vTaskSuspendAll +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   osMutexAcquire +
    • >>   xQueueTakeMutexRecursive +
    + +

    xQueueTakeMutexRecursive (Thumb, 72 bytes, Stack size 16 bytes, queue.o(.text.xQueueTakeMutexRecursive)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = xQueueTakeMutexRecursive ⇒ xQueueSemaphoreTake ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetCurrentTaskHandle +
    • >>   xQueueSemaphoreTake +
    +
    [Called By]
    • >>   osMutexAcquire +
    + +

    xTaskCheckForTimeOut (Thumb, 186 bytes, Stack size 16 bytes, tasks.o(.text.xTaskCheckForTimeOut)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = xTaskCheckForTimeOut +
    +
    [Calls]
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    + +

    xTaskCreate (Thumb, 96 bytes, Stack size 40 bytes, tasks.o(.text.xTaskCreate)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = xTaskCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   prvInitialiseNewTask +
    • >>   prvAddNewTaskToReadyList +
    • >>   vPortFree +
    • >>   pvPortMalloc +
    +
    [Called By]
    • >>   osThreadNew +
    + +

    xTaskCreateStatic (Thumb, 118 bytes, Stack size 40 bytes, tasks.o(.text.xTaskCreateStatic)) +

    [Stack]

    • Max Depth = 76
    • Call Chain = xTaskCreateStatic ⇒ prvInitialiseNewTask ⇒ __aeabi_memset4 ⇒ _memset_w +
    +
    [Calls]
    • >>   prvInitialiseNewTask +
    • >>   prvAddNewTaskToReadyList +
    +
    [Called By]
    • >>   osThreadNew +
    • >>   xTimerCreateTimerTask +
    + +

    xTaskGenericNotify (Thumb, 282 bytes, Stack size 24 bytes, tasks.o(.text.xTaskGenericNotify)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = xTaskGenericNotify +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   osThreadFlagsSet +
    + +

    xTaskGenericNotifyFromISR (Thumb, 310 bytes, Stack size 24 bytes, tasks.o(.text.xTaskGenericNotifyFromISR)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = xTaskGenericNotifyFromISR +
    +
    [Calls]
    • >>   vPortValidateInterruptPriority +
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   osThreadFlagsSet +
    + +

    xTaskGetCurrentTaskHandle (Thumb, 12 bytes, Stack size 0 bytes, tasks.o(.text.xTaskGetCurrentTaskHandle)) +

    [Called By]

    • >>   osThreadGetId +
    • >>   xQueueTakeMutexRecursive +
    • >>   xQueueGiveMutexRecursive +
    + +

    xTaskGetSchedulerState (Thumb, 30 bytes, Stack size 0 bytes, tasks.o(.text.xTaskGetSchedulerState)) +

    [Called By]

    • >>   SysTick_Handler +
    • >>   osKernelUnlock +
    • >>   osKernelLock +
    • >>   prvTimerTask +
    • >>   prvSampleTimeNow +
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    + +

    xTaskGetTickCount (Thumb, 12 bytes, Stack size 0 bytes, tasks.o(.text.xTaskGetTickCount)) +

    [Called By]

    • >>   osThreadFlagsWait +
    • >>   osKernelGetTickCount +
    • >>   osDelayUntil +
    • >>   prvSampleTimeNow +
    • >>   BSP_TIME_Get_ms +
    • >>   BSP_TIME_Get +
    • >>   BSP_TIME_Delay_us +
    + +

    xTaskGetTickCountFromISR (Thumb, 18 bytes, Stack size 8 bytes, tasks.o(.text.xTaskGetTickCountFromISR)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = xTaskGetTickCountFromISR +
    +
    [Calls]
    • >>   vPortValidateInterruptPriority +
    +
    [Called By]
    • >>   osKernelGetTickCount +
    + +

    xTaskIncrementTick (Thumb, 260 bytes, Stack size 32 bytes, tasks.o(.text.xTaskIncrementTick)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = xTaskIncrementTick +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   xPortSysTickHandler +
    • >>   xTaskResumeAll +
    + +

    xTaskNotifyWait (Thumb, 214 bytes, Stack size 24 bytes, tasks.o(.text.xTaskNotifyWait)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = xTaskNotifyWait ⇒ vListInsert +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   vListInsert +
    • >>   uxListRemove +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   osThreadFlagsWait +
    + +

    xTaskPriorityDisinherit (Thumb, 138 bytes, Stack size 16 bytes, tasks.o(.text.xTaskPriorityDisinherit)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = xTaskPriorityDisinherit +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   xQueueGenericSendFromISR +
    • >>   xQueueGenericSend +
    + +

    xTaskPriorityInherit (Thumb, 146 bytes, Stack size 24 bytes, tasks.o(.text.xTaskPriorityInherit)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = xTaskPriorityInherit +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   xQueueSemaphoreTake +
    + +

    xTaskRemoveFromEventList (Thumb, 114 bytes, Stack size 16 bytes, tasks.o(.text.xTaskRemoveFromEventList)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceiveFromISR +
    • >>   xQueueReceive +
    • >>   xQueueGenericSendFromISR +
    • >>   xQueueGenericSend +
    • >>   xQueueGenericReset +
    • >>   prvUnlockQueue +
    + +

    xTaskResumeAll (Thumb, 238 bytes, Stack size 24 bytes, tasks.o(.text.xTaskResumeAll)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskIncrementTick +
    • >>   vListInsertEnd +
    • >>   uxListRemove +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   osKernelUnlock +
    • >>   prvTimerTask +
    • >>   vTaskDelayUntil +
    • >>   vTaskDelay +
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    • >>   vPortFree +
    • >>   pvPortMalloc +
    + +

    xTimerCreateTimerTask (Thumb, 172 bytes, Stack size 40 bytes, timers.o(.text.xTimerCreateTimerTask)) +

    [Stack]

    • Max Depth = 116
    • Call Chain = xTimerCreateTimerTask ⇒ xTaskCreateStatic ⇒ prvInitialiseNewTask ⇒ __aeabi_memset4 ⇒ _memset_w +
    +
    [Calls]
    • >>   vApplicationGetTimerTaskMemory +
    • >>   xTaskCreateStatic +
    • >>   xQueueGenericCreateStatic +
    • >>   vQueueAddToRegistry +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    +
    [Called By]
    • >>   vTaskStartScheduler +
    + +

    __ARM_fpclassifyf (Thumb, 38 bytes, Stack size 0 bytes, fpclassifyf.o(i.__ARM_fpclassifyf)) +

    [Called By]

    • >>   __hardfp_tanf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_atan2f +
    + +

    __hardfp_atan2f (Thumb, 594 bytes, Stack size 32 bytes, atan2f.o(i.__hardfp_atan2f)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = __hardfp_atan2f ⇒ __set_errno +
    +
    [Calls]
    • >>   __ARM_fpclassifyf +
    • >>   __set_errno +
    • >>   __mathlib_flt_underflow +
    • >>   __mathlib_flt_infnan2 +
    +
    [Called By]
    • >>   VMC_ForwardSolve +
    + +

    __hardfp_cosf (Thumb, 280 bytes, Stack size 8 bytes, cosf.o(i.__hardfp_cosf)) +

    [Stack]

    • Max Depth = 28
    • Call Chain = __hardfp_cosf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __set_errno +
    • >>   __mathlib_rredf2 +
    • >>   __mathlib_flt_invalid +
    • >>   __mathlib_flt_infnan +
    +
    [Called By]
    • >>   VMC_GroundContactDetection +
    • >>   VMC_ForwardSolve +
    • >>   VMC_ComputeJacobian +
    + +

    __hardfp_sinf (Thumb, 344 bytes, Stack size 16 bytes, sinf.o(i.__hardfp_sinf)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = __hardfp_sinf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __ARM_fpclassifyf +
    • >>   __set_errno +
    • >>   __mathlib_rredf2 +
    • >>   __mathlib_flt_underflow +
    • >>   __mathlib_flt_invalid +
    • >>   __mathlib_flt_infnan +
    +
    [Called By]
    • >>   Task_blink +
    • >>   Chassis_LQRControl +
    • >>   VMC_GroundContactDetection +
    • >>   VMC_ForwardSolve +
    • >>   VMC_ComputeJacobian +
    + +

    __hardfp_sqrtf (Thumb, 58 bytes, Stack size 16 bytes, sqrtf.o(i.__hardfp_sqrtf)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = __hardfp_sqrtf ⇒ __set_errno +
    +
    [Calls]
    • >>   __set_errno +
    +
    [Called By]
    • >>   VMC_ForwardSolve +
    + +

    __hardfp_tanf (Thumb, 322 bytes, Stack size 16 bytes, tanf.o(i.__hardfp_tanf)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = __hardfp_tanf ⇒ __mathlib_rredf2 +
    +
    [Calls]
    • >>   __ARM_fpclassifyf +
    • >>   __set_errno +
    • >>   __mathlib_rredf2 +
    • >>   __mathlib_flt_underflow +
    • >>   __mathlib_flt_invalid +
    • >>   __mathlib_flt_infnan +
    +
    [Called By]
    • >>   LowPassFilter2p_Init +
    + +

    __mathlib_flt_infnan (Thumb, 6 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_infnan)) +

    [Called By]

    • >>   __hardfp_tanf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    + +

    __mathlib_flt_infnan2 (Thumb, 6 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_infnan2)) +

    [Called By]

    • >>   __hardfp_atan2f +
    + +

    __mathlib_flt_invalid (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_invalid)) +

    [Called By]

    • >>   __hardfp_tanf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    + +

    __mathlib_flt_underflow (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_underflow)) +

    [Called By]

    • >>   __hardfp_tanf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_atan2f +
    + +

    __mathlib_rredf2 (Thumb, 316 bytes, Stack size 20 bytes, rredf.o(i.__mathlib_rredf2)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = __mathlib_rredf2 +
    +
    [Called By]
    • >>   __hardfp_tanf +
    • >>   __hardfp_sinf +
    • >>   __hardfp_cosf +
    + +

    __aeabi_ddiv (Thumb, 0 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = __aeabi_ddiv +
    +
    [Called By]
    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    + +

    _ddiv (Thumb, 556 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv), UNUSED) +

    [Calls]

    • >>   __fpl_dretinf +
    • >>   __fpl_dnaninf +
    + +

    __aeabi_d2uiz (Thumb, 0 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = __aeabi_d2uiz +
    +
    [Called By]
    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    + +

    _dfixu (Thumb, 90 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu), UNUSED) +

    [Calls]

    • >>   __fpl_dnaninf +
    + +

    __aeabi_ui2d (Thumb, 0 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dfltu)) +

    [Called By]

    • >>   Task_rc +
    • >>   Task_ctrl_gimbal +
    • >>   Task_ctrl_chassis +
    • >>   Task_atti_esti +
    • >>   Task_blink +
    + +

    _dfltu (Thumb, 38 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dfltu), UNUSED) + +

    __fpl_dnaninf (Thumb, 156 bytes, Stack size 16 bytes, dnaninf.o(x$fpl$dnaninf), UNUSED) +

    [Called By]

    • >>   _dfixu +
    • >>   _ddiv +
    + +

    __fpl_dretinf (Thumb, 12 bytes, Stack size 0 bytes, dretinf.o(x$fpl$dretinf), UNUSED) +

    [Called By]

    • >>   _ddiv +
    + +

    __aeabi_ul2f (Thumb, 0 bytes, Stack size 0 bytes, ffltll_clz.o(x$fpl$ffltll)) +

    [Called By]

    • >>   Chassis_Control +
    + +

    _ll_uto_f (Thumb, 6 bytes, Stack size 0 bytes, ffltll_clz.o(x$fpl$ffltll), UNUSED) + +

    __aeabi_l2f (Thumb, 0 bytes, Stack size 0 bytes, ffltll_clz.o(x$fpl$ffltll), UNUSED) + +

    _ll_sto_f (Thumb, 90 bytes, Stack size 0 bytes, ffltll_clz.o(x$fpl$ffltll), UNUSED) + +

    _fp_init (Thumb, 26 bytes, Stack size 0 bytes, fpinit.o(x$fpl$fpinit)) +

    [Called By]

    • >>   __rt_lib_init_fp_1 +
    + +

    __fplib_config_fpu_vfp (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) + +

    __fplib_config_pureend_doubles (Thumb, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED) +

    +

    +Local Symbols +

    +

    CDC_Control_FS (Thumb, 4 bytes, Stack size 0 bytes, usbd_cdc_if.o(.text.CDC_Control_FS)) +
    [Address Reference Count : 1]

    • usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    +

    CDC_DeInit_FS (Thumb, 4 bytes, Stack size 0 bytes, usbd_cdc_if.o(.text.CDC_DeInit_FS)) +
    [Address Reference Count : 1]

    • usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    +

    CDC_Init_FS (Thumb, 44 bytes, Stack size 8 bytes, usbd_cdc_if.o(.text.CDC_Init_FS)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = CDC_Init_FS +
    +
    [Calls]
    • >>   USBD_CDC_SetTxBuffer +
    • >>   USBD_CDC_SetRxBuffer +
    +
    [Address Reference Count : 1]
    • usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    +

    CDC_Receive_FS (Thumb, 28 bytes, Stack size 8 bytes, usbd_cdc_if.o(.text.CDC_Receive_FS)) +

    [Stack]

    • Max Depth = 52
    • Call Chain = CDC_Receive_FS ⇒ USBD_CDC_ReceivePacket ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_CDC_SetRxBuffer +
    • >>   USBD_CDC_ReceivePacket +
    +
    [Address Reference Count : 1]
    • usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    +

    CDC_TransmitCplt_FS (Thumb, 4 bytes, Stack size 0 bytes, usbd_cdc_if.o(.text.CDC_TransmitCplt_FS)) +
    [Address Reference Count : 1]

    • usbd_cdc_if.o(.data.USBD_Interface_fops_FS) +
    +

    TIM_OC1_SetConfig (Thumb, 212 bytes, Stack size 40 bytes, stm32f4xx_hal_tim.o(.text.TIM_OC1_SetConfig)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = TIM_OC1_SetConfig +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_TIM_PWM_ConfigChannel +
    + +

    TIM_OC3_SetConfig (Thumb, 220 bytes, Stack size 40 bytes, stm32f4xx_hal_tim.o(.text.TIM_OC3_SetConfig)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = TIM_OC3_SetConfig +
    +
    [Calls]
    • >>   assert_failed +
    +
    [Called By]
    • >>   HAL_TIM_PWM_ConfigChannel +
    + +

    UART_DMAAbortOnError (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(.text.UART_DMAAbortOnError)) +

    [Calls]

    • >>   HAL_UART_ErrorCallback +
    +
    [Address Reference Count : 1]
    • stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) +
    +

    UART_DMAError (Thumb, 380 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(.text.UART_DMAError)) +

    [Calls]

    • >>   HAL_UART_ErrorCallback +
    +
    [Address Reference Count : 1]
    • stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA) +
    +

    UART_DMAReceiveCplt (Thumb, 350 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(.text.UART_DMAReceiveCplt)) +

    [Calls]

    • >>   HAL_UARTEx_RxEventCallback +
    • >>   HAL_UART_RxCpltCallback +
    +
    [Address Reference Count : 1]
    • stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA) +
    +

    UART_DMARxHalfCplt (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(.text.UART_DMARxHalfCplt)) +

    [Calls]

    • >>   HAL_UARTEx_RxEventCallback +
    • >>   HAL_UART_RxHalfCpltCallback +
    +
    [Address Reference Count : 1]
    • stm32f4xx_hal_uart.o(.text.HAL_UART_Receive_DMA) +
    +

    UART_Receive_IT (Thumb, 258 bytes, Stack size 4 bytes, stm32f4xx_hal_uart.o(.text.UART_Receive_IT)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = UART_Receive_IT +
    +
    [Calls]
    • >>   HAL_UARTEx_RxEventCallback +
    • >>   HAL_UART_RxCpltCallback +
    +
    [Called By]
    • >>   HAL_UART_IRQHandler +
    + +

    UART_SetConfig (Thumb, 350 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(.text.UART_SetConfig)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = UART_SetConfig ⇒ __aeabi_uldivmod +
    +
    [Calls]
    • >>   HAL_RCC_GetPCLK2Freq +
    • >>   HAL_RCC_GetPCLK1Freq +
    • >>   assert_failed +
    • >>   __aeabi_uldivmod +
    +
    [Called By]
    • >>   HAL_UART_Init +
    + +

    prvUnlockQueue (Thumb, 116 bytes, Stack size 24 bytes, queue.o(.text.prvUnlockQueue)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = prvUnlockQueue ⇒ xTaskRemoveFromEventList +
    +
    [Calls]
    • >>   xTaskRemoveFromEventList +
    • >>   vTaskMissedYield +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Called By]
    • >>   xQueueSemaphoreTake +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    • >>   vQueueWaitForMessageRestricted +
    + +

    prvAddNewTaskToReadyList (Thumb, 650 bytes, Stack size 24 bytes, tasks.o(.text.prvAddNewTaskToReadyList)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = prvAddNewTaskToReadyList +
    +
    [Calls]
    • >>   vListInsertEnd +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    • >>   vListInitialise +
    +
    [Called By]
    • >>   xTaskCreateStatic +
    • >>   xTaskCreate +
    • >>   vTaskStartScheduler +
    + +

    prvIdleTask (Thumb, 134 bytes, Stack size 0 bytes, tasks.o(.text.prvIdleTask)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = prvIdleTask ⇒ vPortFree ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   uxListRemove +
    • >>   vPortFree +
    • >>   vPortExitCritical +
    • >>   vPortEnterCritical +
    +
    [Address Reference Count : 1]
    • tasks.o(.text.vTaskStartScheduler) +
    +

    prvInitialiseNewTask (Thumb, 302 bytes, Stack size 32 bytes, tasks.o(.text.prvInitialiseNewTask)) +

    [Stack]

    • Max Depth = 36
    • Call Chain = prvInitialiseNewTask ⇒ __aeabi_memset4 ⇒ _memset_w +
    +
    [Calls]
    • >>   pxPortInitialiseStack +
    • >>   vListInitialiseItem +
    • >>   __aeabi_memset4 +
    +
    [Called By]
    • >>   xTaskCreateStatic +
    • >>   xTaskCreate +
    • >>   vTaskStartScheduler +
    + +

    prvSampleTimeNow (Thumb, 180 bytes, Stack size 56 bytes, timers.o(.text.prvSampleTimeNow)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = prvSampleTimeNow ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   xTaskGetTickCount +
    • >>   xQueueGenericSend +
    • >>   vListInsert +
    • >>   uxListRemove +
    +
    [Called By]
    • >>   prvTimerTask +
    + +

    prvTimerTask (Thumb, 582 bytes, Stack size 40 bytes, timers.o(.text.prvTimerTask)) +

    [Stack]

    • Max Depth = 200
    • Call Chain = prvTimerTask ⇒ prvSampleTimeNow ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   xTaskGetSchedulerState +
    • >>   prvSampleTimeNow +
    • >>   xQueueReceive +
    • >>   xQueueGenericSend +
    • >>   vQueueWaitForMessageRestricted +
    • >>   vListInsert +
    • >>   uxListRemove +
    • >>   xTaskResumeAll +
    • >>   vTaskSuspendAll +
    • >>   vPortFree +
    +
    [Address Reference Count : 1]
    • timers.o(.text.xTimerCreateTimerTask) +
    +

    prvPortStartFirstTask (Thumb, 34 bytes, Stack size 0 bytes, port.o(.text.prvPortStartFirstTask)) +

    [Called By]

    • >>   xPortStartScheduler +
    + +

    prvTaskExitError (Thumb, 62 bytes, Stack size 4 bytes, port.o(.text.prvTaskExitError)) +

    [Stack]

    • Max Depth = 4
    • Call Chain = prvTaskExitError +
    +
    [Address Reference Count : 1]
    • port.o(.text.pxPortInitialiseStack) +
    +

    vPortEnableVFP (Thumb, 14 bytes, Stack size 0 bytes, port.o(.text.vPortEnableVFP)) +

    [Called By]

    • >>   xPortStartScheduler +
    + +

    USBD_CDC_DataIn (Thumb, 118 bytes, Stack size 16 bytes, usbd_cdc.o(.text.USBD_CDC_DataIn)) +

    [Stack]

    • Max Depth = 52
    • Call Chain = USBD_CDC_DataIn ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_LL_Transmit +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_DataOut (Thumb, 60 bytes, Stack size 16 bytes, usbd_cdc.o(.text.USBD_CDC_DataOut)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = USBD_CDC_DataOut +
    +
    [Calls]
    • >>   USBD_LL_GetRxDataSize +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_DeInit (Thumb, 96 bytes, Stack size 16 bytes, usbd_cdc.o(.text.USBD_CDC_DeInit)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = USBD_CDC_DeInit ⇒ USBD_LL_CloseEP ⇒ HAL_PCD_EP_Close ⇒ USB_DeactivateEndpoint +
    +
    [Calls]
    • >>   USBD_static_free +
    • >>   USBD_LL_CloseEP +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_EP0_RxReady (Thumb, 60 bytes, Stack size 8 bytes, usbd_cdc.o(.text.USBD_CDC_EP0_RxReady)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = USBD_CDC_EP0_RxReady +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_GetFSCfgDesc (Thumb, 82 bytes, Stack size 24 bytes, usbd_cdc.o(.text.USBD_CDC_GetFSCfgDesc)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = USBD_CDC_GetFSCfgDesc ⇒ USBD_GetEpDesc +
    +
    [Calls]
    • >>   USBD_GetEpDesc +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_GetHSCfgDesc (Thumb, 86 bytes, Stack size 24 bytes, usbd_cdc.o(.text.USBD_CDC_GetHSCfgDesc)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = USBD_CDC_GetHSCfgDesc ⇒ USBD_GetEpDesc +
    +
    [Calls]
    • >>   USBD_GetEpDesc +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_GetOtherSpeedCfgDesc (Thumb, 82 bytes, Stack size 24 bytes, usbd_cdc.o(.text.USBD_CDC_GetOtherSpeedCfgDesc)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = USBD_CDC_GetOtherSpeedCfgDesc ⇒ USBD_GetEpDesc +
    +
    [Calls]
    • >>   USBD_GetEpDesc +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_Init (Thumb, 210 bytes, Stack size 24 bytes, usbd_cdc.o(.text.USBD_CDC_Init)) +

    [Stack]

    • Max Depth = 60 + Unknown Stack Size +
    • Call Chain = USBD_CDC_Init ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_static_malloc +
    • >>   USBD_LL_PrepareReceive +
    • >>   USBD_LL_OpenEP +
    • >>   __aeabi_memclr4 +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    USBD_CDC_Setup (Thumb, 252 bytes, Stack size 24 bytes, usbd_cdc.o(.text.USBD_CDC_Setup)) +

    [Stack]

    • Max Depth = 68
    • Call Chain = USBD_CDC_Setup ⇒ USBD_CtlPrepareRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer +
    +
    [Calls]
    • >>   USBD_CtlPrepareRx +
    • >>   USBD_CtlSendData +
    • >>   USBD_CtlError +
    +
    [Address Reference Count : 1]
    • usbd_cdc.o(.data.USBD_CDC) +
    +

    BSP_CAN_DefaultIdParser (Thumb, 2 bytes, Stack size 0 bytes, can_1.o(.text.BSP_CAN_DefaultIdParser)) +
    [Address Reference Count : 1]

    • can_1.o(.text.BSP_CAN_Init) +
    +

    BSP_CAN_RxFifo0Callback (Thumb, 550 bytes, Stack size 104 bytes, can_1.o(.text.BSP_CAN_RxFifo0Callback)) +

    [Stack]

    • Max Depth = 232
    • Call Chain = BSP_CAN_RxFifo0Callback ⇒ osMessageQueuePut ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   HAL_CAN_GetRxMessage +
    • >>   HAL_CAN_GetRxFifoFillLevel +
    • >>   osMessageQueuePut +
    • >>   __aeabi_memcpy +
    +
    [Address Reference Count : 1]
    • can_1.o(.text.BSP_CAN_Init) +
    +

    BSP_CAN_RxFifo1Callback (Thumb, 550 bytes, Stack size 104 bytes, can_1.o(.text.BSP_CAN_RxFifo1Callback)) +

    [Stack]

    • Max Depth = 232
    • Call Chain = BSP_CAN_RxFifo1Callback ⇒ osMessageQueuePut ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ xTaskIncrementTick +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   HAL_CAN_GetRxMessage +
    • >>   HAL_CAN_GetRxFifoFillLevel +
    • >>   osMessageQueuePut +
    • >>   __aeabi_memcpy +
    +
    [Address Reference Count : 1]
    • can_1.o(.text.BSP_CAN_Init) +
    +

    DR16_RxCpltCallback (Thumb, 16 bytes, Stack size 0 bytes, dr16.o(.text.DR16_RxCpltCallback)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = DR16_RxCpltCallback ⇒ osThreadFlagsSet ⇒ xTaskGenericNotifyFromISR +
    +
    [Calls]
    • >>   osThreadFlagsSet +
    +
    [Address Reference Count : 1]
    • dr16.o(.text.DR16_Init) +
    +

    MOTOR_LZ_IdParser (Thumb, 32 bytes, Stack size 0 bytes, motor_lz.o(.text.MOTOR_LZ_IdParser)) +
    [Address Reference Count : 1]

    • motor_lz.o(.text.MOTOR_LZ_Init) +

    +

    +Undefined Global Symbols +


    diff --git a/MDK-ARM/DevC/ExtDll.iex b/MDK-ARM/DevC/ExtDll.iex new file mode 100644 index 0000000..b661f48 --- /dev/null +++ b/MDK-ARM/DevC/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/MDK-ARM/DevC/adc.d b/MDK-ARM/DevC/adc.d new file mode 100644 index 0000000..49ac396 --- /dev/null +++ b/MDK-ARM/DevC/adc.d @@ -0,0 +1,43 @@ +./devc/adc.o: ..\Core\Src\adc.c ..\Core\Inc\adc.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 \ + ..\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 diff --git a/MDK-ARM/DevC/ahrs.d b/MDK-ARM/DevC/ahrs.d new file mode 100644 index 0000000..af164b5 --- /dev/null +++ b/MDK-ARM/DevC/ahrs.d @@ -0,0 +1,8 @@ +./devc/ahrs.o: ..\User\component\ahrs.c ..\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 \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/atti_esti.d b/MDK-ARM/DevC/atti_esti.d new file mode 100644 index 0000000..06ba6c0 --- /dev/null +++ b/MDK-ARM/DevC/atti_esti.d @@ -0,0 +1,67 @@ +./devc/atti_esti.o: ..\User\task\atti_esti.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\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 diff --git a/MDK-ARM/DevC/balance_chassis.d b/MDK-ARM/DevC/balance_chassis.d new file mode 100644 index 0000000..da91357 --- /dev/null +++ b/MDK-ARM/DevC/balance_chassis.d @@ -0,0 +1,67 @@ +./devc/balance_chassis.o: ..\User\module\balance_chassis.c \ + ..\User\module\balance_chassis.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\component\vmc.h C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\component\kinematics.h ..\User\component\lqr.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\stddef.h \ + ..\User\component\filter.h ..\User\component\pid.h \ + ..\User\device\motor.h ..\User\device\device.h \ + ..\User\device\motor_lk.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 \ + ..\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 \ + ..\User\device\motor_lz.h ..\User\bsp\time.h \ + ..\User\component\limiter.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/blink.d b/MDK-ARM/DevC/blink.d new file mode 100644 index 0000000..cc0dd68 --- /dev/null +++ b/MDK-ARM/DevC/blink.d @@ -0,0 +1,55 @@ +./devc/blink.o: ..\User\task\blink.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\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 \ + ..\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 C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h diff --git a/MDK-ARM/DevC/buzzer.d b/MDK-ARM/DevC/buzzer.d new file mode 100644 index 0000000..595c9b0 --- /dev/null +++ b/MDK-ARM/DevC/buzzer.d @@ -0,0 +1,47 @@ +./devc/buzzer.o: ..\User\device\buzzer.c ..\User\device\buzzer.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\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 \ + ..\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 diff --git a/MDK-ARM/DevC/can.d b/MDK-ARM/DevC/can.d new file mode 100644 index 0000000..e81389b --- /dev/null +++ b/MDK-ARM/DevC/can.d @@ -0,0 +1,43 @@ +./devc/can.o: ..\Core\Src\can.c ..\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 \ + 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 \ + ..\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 diff --git a/MDK-ARM/DevC/can_1.d b/MDK-ARM/DevC/can_1.d new file mode 100644 index 0000000..dc6c56b --- /dev/null +++ b/MDK-ARM/DevC/can_1.d @@ -0,0 +1,58 @@ +./devc/can_1.o: ..\User\bsp\can.c ..\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 \ + 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 \ + ..\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 \ + 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\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 \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/cmd.d b/MDK-ARM/DevC/cmd.d new file mode 100644 index 0000000..0e0dcb2 --- /dev/null +++ b/MDK-ARM/DevC/cmd.d @@ -0,0 +1,8 @@ +./devc/cmd.o: ..\User\component\cmd.c ..\User\component\cmd.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 \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/cmsis_os2.d b/MDK-ARM/DevC/cmsis_os2.d new file mode 100644 index 0000000..a88b13a --- /dev/null +++ b/MDK-ARM/DevC/cmsis_os2.d @@ -0,0 +1,63 @@ +./devc/cmsis_os2.o: \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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\CMSIS\Include\cmsis_compiler.h \ + ..\Drivers\CMSIS\Include\cmsis_armclang.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\include\event_groups.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\timers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\semphr.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\queue.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\freertos_mpool.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\freertos_os2.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\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.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\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 diff --git a/MDK-ARM/DevC/config.d b/MDK-ARM/DevC/config.d new file mode 100644 index 0000000..c74f0be --- /dev/null +++ b/MDK-ARM/DevC/config.d @@ -0,0 +1,66 @@ +./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 \ + ..\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 \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/crc.d b/MDK-ARM/DevC/crc.d new file mode 100644 index 0000000..f8b4974 --- /dev/null +++ b/MDK-ARM/DevC/crc.d @@ -0,0 +1,43 @@ +./devc/crc.o: ..\Core\Src\crc.c ..\Core\Inc\crc.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 \ + ..\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 diff --git a/MDK-ARM/DevC/croutine.d b/MDK-ARM/DevC/croutine.d new file mode 100644 index 0000000..92b60f1 --- /dev/null +++ b/MDK-ARM/DevC/croutine.d @@ -0,0 +1,13 @@ +./devc/croutine.o: ..\Middlewares\Third_Party\FreeRTOS\Source\croutine.c \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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\include\croutine.h diff --git a/MDK-ARM/DevC/ctrl_chassis.d b/MDK-ARM/DevC/ctrl_chassis.d new file mode 100644 index 0000000..70c3945 --- /dev/null +++ b/MDK-ARM/DevC/ctrl_chassis.d @@ -0,0 +1,68 @@ +./devc/ctrl_chassis.o: ..\User\task\ctrl_chassis.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\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\motor_lk.h ..\User\device\device.h \ + ..\User\device\motor.h ..\User\device\motor_lz.h \ + ..\User\module\config.h ..\User\device\dm_imu.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\balance_chassis.h ..\User\component\vmc.h \ + ..\User\component\kinematics.h ..\User\component\lqr.h \ + ..\User\component\filter.h ..\User\component\pid.h diff --git a/MDK-ARM/DevC/ctrl_gimbal.d b/MDK-ARM/DevC/ctrl_gimbal.d new file mode 100644 index 0000000..972a8b0 --- /dev/null +++ b/MDK-ARM/DevC/ctrl_gimbal.d @@ -0,0 +1,65 @@ +./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 \ + 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 \ + ..\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 diff --git a/MDK-ARM/DevC/dm_imu.d b/MDK-ARM/DevC/dm_imu.d new file mode 100644 index 0000000..56ee2a5 --- /dev/null +++ b/MDK-ARM/DevC/dm_imu.d @@ -0,0 +1,62 @@ +./devc/dm_imu.o: ..\User\device\dm_imu.c ..\User\device\dm_imu.h \ + ..\User\device\device.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\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 \ + ..\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 \ + ..\User\bsp\time.h C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/dma.d b/MDK-ARM/DevC/dma.d new file mode 100644 index 0000000..77c3930 --- /dev/null +++ b/MDK-ARM/DevC/dma.d @@ -0,0 +1,43 @@ +./devc/dma.o: ..\Core\Src\dma.c ..\Core\Inc\dma.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 \ + ..\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 diff --git a/MDK-ARM/DevC/dr16.d b/MDK-ARM/DevC/dr16.d new file mode 100644 index 0000000..e8eaa9a --- /dev/null +++ b/MDK-ARM/DevC/dr16.d @@ -0,0 +1,51 @@ +./devc/dr16.o: ..\User\device\dr16.c ..\User\device\dr16.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 \ + ..\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\device\device.h ..\User\bsp\uart.h ..\Core\Inc\usart.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\time.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/dwt.d b/MDK-ARM/DevC/dwt.d new file mode 100644 index 0000000..77bc005 --- /dev/null +++ b/MDK-ARM/DevC/dwt.d @@ -0,0 +1,43 @@ +./devc/dwt.o: ..\User\bsp\dwt.c ..\User\bsp\dwt.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 \ + ..\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 diff --git a/MDK-ARM/DevC/event_groups.d b/MDK-ARM/DevC/event_groups.d new file mode 100644 index 0000000..a0c5218 --- /dev/null +++ b/MDK-ARM/DevC/event_groups.d @@ -0,0 +1,18 @@ +./devc/event_groups.o: \ + ..\Middlewares\Third_Party\FreeRTOS\Source\event_groups.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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\include\timers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\event_groups.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\timers.h diff --git a/MDK-ARM/DevC/filter.d b/MDK-ARM/DevC/filter.d new file mode 100644 index 0000000..ed6ea5e --- /dev/null +++ b/MDK-ARM/DevC/filter.d @@ -0,0 +1,7 @@ +./devc/filter.o: ..\User\component\filter.c ..\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 \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.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/freertos.d b/MDK-ARM/DevC/freertos.d new file mode 100644 index 0000000..dd21c1b --- /dev/null +++ b/MDK-ARM/DevC/freertos.d @@ -0,0 +1,56 @@ +./devc/freertos.o: ..\Core\Src\freertos.c \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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 \ + ..\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 \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.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 diff --git a/MDK-ARM/DevC/gpio.d b/MDK-ARM/DevC/gpio.d new file mode 100644 index 0000000..2a1c50f --- /dev/null +++ b/MDK-ARM/DevC/gpio.d @@ -0,0 +1,43 @@ +./devc/gpio.o: ..\Core\Src\gpio.c ..\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 \ + 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 \ + ..\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 diff --git a/MDK-ARM/DevC/gpio_1.d b/MDK-ARM/DevC/gpio_1.d new file mode 100644 index 0000000..7b6d373 --- /dev/null +++ b/MDK-ARM/DevC/gpio_1.d @@ -0,0 +1,46 @@ +./devc/gpio_1.o: ..\User\bsp\gpio.c ..\User\bsp\gpio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h ..\User\bsp\bsp.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 \ + ..\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 \ + ..\Core\Inc\main.h diff --git a/MDK-ARM/DevC/heap_4.d b/MDK-ARM/DevC/heap_4.d new file mode 100644 index 0000000..313b66b --- /dev/null +++ b/MDK-ARM/DevC/heap_4.d @@ -0,0 +1,14 @@ +./devc/heap_4.o: \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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/i2c.d b/MDK-ARM/DevC/i2c.d new file mode 100644 index 0000000..f027e7a --- /dev/null +++ b/MDK-ARM/DevC/i2c.d @@ -0,0 +1,43 @@ +./devc/i2c.o: ..\Core\Src\i2c.c ..\Core\Inc\i2c.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 \ + ..\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 diff --git a/MDK-ARM/DevC/init.d b/MDK-ARM/DevC/init.d new file mode 100644 index 0000000..9599f96 --- /dev/null +++ b/MDK-ARM/DevC/init.d @@ -0,0 +1,67 @@ +./devc/init.o: ..\User\task\init.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\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 \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/kinematics.d b/MDK-ARM/DevC/kinematics.d new file mode 100644 index 0000000..0deabef --- /dev/null +++ b/MDK-ARM/DevC/kinematics.d @@ -0,0 +1,8 @@ +./devc/kinematics.o: ..\User\component\kinematics.c \ + ..\User\component\kinematics.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\component\user_math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\float.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h diff --git a/MDK-ARM/DevC/limiter.d b/MDK-ARM/DevC/limiter.d new file mode 100644 index 0000000..a43fdc0 --- /dev/null +++ b/MDK-ARM/DevC/limiter.d @@ -0,0 +1,5 @@ +./devc/limiter.o: ..\User\component\limiter.c ..\User\component\limiter.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h diff --git a/MDK-ARM/DevC/list.d b/MDK-ARM/DevC/list.d new file mode 100644 index 0000000..226c7e4 --- /dev/null +++ b/MDK-ARM/DevC/list.d @@ -0,0 +1,12 @@ +./devc/list.o: ..\Middlewares\Third_Party\FreeRTOS\Source\list.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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\list.h diff --git a/MDK-ARM/DevC/lqr.d b/MDK-ARM/DevC/lqr.d new file mode 100644 index 0000000..da5b143 --- /dev/null +++ b/MDK-ARM/DevC/lqr.d @@ -0,0 +1,5 @@ +./devc/lqr.o: ..\User\component\lqr.c ..\User\component\lqr.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/main.d b/MDK-ARM/DevC/main.d new file mode 100644 index 0000000..03215f1 --- /dev/null +++ b/MDK-ARM/DevC/main.d @@ -0,0 +1,63 @@ +./devc/main.o: ..\Core\Src\main.c ..\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 \ + ..\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 \ + ..\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 \ + ..\Core\Inc\adc.h ..\Core\Inc\main.h ..\Core\Inc\can.h \ + ..\Core\Inc\crc.h ..\Core\Inc\dma.h ..\Core\Inc\i2c.h \ + ..\Core\Inc\rng.h ..\Core\Inc\spi.h ..\Core\Inc\tim.h \ + ..\Core\Inc\usart.h ..\USB_DEVICE\App\usb_device.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h ..\Core\Inc\gpio.h diff --git a/MDK-ARM/DevC/mm.d b/MDK-ARM/DevC/mm.d new file mode 100644 index 0000000..6b1ece1 --- /dev/null +++ b/MDK-ARM/DevC/mm.d @@ -0,0 +1,10 @@ +./devc/mm.o: ..\User\bsp\mm.c ..\User\bsp\mm.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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 diff --git a/MDK-ARM/DevC/motor.d b/MDK-ARM/DevC/motor.d new file mode 100644 index 0000000..608af1a --- /dev/null +++ b/MDK-ARM/DevC/motor.d @@ -0,0 +1,5 @@ +./devc/motor.o: ..\User\device\motor.c ..\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 \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/motor_lk.d b/MDK-ARM/DevC/motor_lk.d new file mode 100644 index 0000000..0e5c0b1 --- /dev/null +++ b/MDK-ARM/DevC/motor_lk.d @@ -0,0 +1,62 @@ +./devc/motor_lk.o: ..\User\device\motor_lk.c ..\User\device\motor_lk.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 \ + ..\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/motor_lz.d b/MDK-ARM/DevC/motor_lz.d new file mode 100644 index 0000000..443a54c --- /dev/null +++ b/MDK-ARM/DevC/motor_lz.d @@ -0,0 +1,62 @@ +./devc/motor_lz.o: ..\User\device\motor_lz.c ..\User\device\motor_lz.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 \ + ..\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/pid.d b/MDK-ARM/DevC/pid.d new file mode 100644 index 0000000..0126e83 --- /dev/null +++ b/MDK-ARM/DevC/pid.d @@ -0,0 +1,7 @@ +./devc/pid.o: ..\User\component\pid.c ..\User\component\pid.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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 \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h diff --git a/MDK-ARM/DevC/port.d b/MDK-ARM/DevC/port.d new file mode 100644 index 0000000..859c239 --- /dev/null +++ b/MDK-ARM/DevC/port.d @@ -0,0 +1,13 @@ +./devc/port.o: \ + ..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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/pwm.d b/MDK-ARM/DevC/pwm.d new file mode 100644 index 0000000..b23d079 --- /dev/null +++ b/MDK-ARM/DevC/pwm.d @@ -0,0 +1,44 @@ +./devc/pwm.o: ..\User\bsp\pwm.c ..\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 \ + 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 \ + ..\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\pwm.h ..\User\bsp\bsp.h diff --git a/MDK-ARM/DevC/queue.d b/MDK-ARM/DevC/queue.d new file mode 100644 index 0000000..cf440d7 --- /dev/null +++ b/MDK-ARM/DevC/queue.d @@ -0,0 +1,16 @@ +./devc/queue.o: ..\Middlewares\Third_Party\FreeRTOS\Source\queue.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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\include\queue.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h diff --git a/MDK-ARM/DevC/rc.d b/MDK-ARM/DevC/rc.d new file mode 100644 index 0000000..59be96b --- /dev/null +++ b/MDK-ARM/DevC/rc.d @@ -0,0 +1,67 @@ +./devc/rc.o: ..\User\task\rc.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\device\dr16.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\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 \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/rng.d b/MDK-ARM/DevC/rng.d new file mode 100644 index 0000000..9606c69 --- /dev/null +++ b/MDK-ARM/DevC/rng.d @@ -0,0 +1,43 @@ +./devc/rng.o: ..\Core\Src\rng.c ..\Core\Inc\rng.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 \ + ..\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 diff --git a/MDK-ARM/DevC/spi.d b/MDK-ARM/DevC/spi.d new file mode 100644 index 0000000..efaa410 --- /dev/null +++ b/MDK-ARM/DevC/spi.d @@ -0,0 +1,43 @@ +./devc/spi.o: ..\Core\Src\spi.c ..\Core\Inc\spi.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 \ + ..\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 diff --git a/MDK-ARM/DevC/spi_1.d b/MDK-ARM/DevC/spi_1.d new file mode 100644 index 0000000..8170aaf --- /dev/null +++ b/MDK-ARM/DevC/spi_1.d @@ -0,0 +1,45 @@ +./devc/spi_1.o: ..\User\bsp\spi.c ..\Core\Inc\spi.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 \ + ..\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\spi.h C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\bsp\bsp.h diff --git a/MDK-ARM/DevC/stm32f4xx_hal.d b/MDK-ARM/DevC/stm32f4xx_hal.d new file mode 100644 index 0000000..9f8b08a --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_adc.d b/MDK-ARM/DevC/stm32f4xx_hal_adc.d new file mode 100644 index 0000000..df2553b --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_adc.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_adc.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d new file mode 100644 index 0000000..b084912 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_adc_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_adc_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_can.d b/MDK-ARM/DevC/stm32f4xx_hal_can.d new file mode 100644 index 0000000..caef7e5 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_can.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_can.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_can.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_cortex.d b/MDK-ARM/DevC/stm32f4xx_hal_cortex.d new file mode 100644 index 0000000..14e2699 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_cortex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_cortex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_crc.d b/MDK-ARM/DevC/stm32f4xx_hal_crc.d new file mode 100644 index 0000000..28bee9e --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_crc.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_crc.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_dma.d b/MDK-ARM/DevC/stm32f4xx_hal_dma.d new file mode 100644 index 0000000..93c0292 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_dma.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_dma.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d new file mode 100644 index 0000000..31ba460 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_dma_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_dma_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_exti.d b/MDK-ARM/DevC/stm32f4xx_hal_exti.d new file mode 100644 index 0000000..0e54316 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_exti.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_exti.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_flash.d b/MDK-ARM/DevC/stm32f4xx_hal_flash.d new file mode 100644 index 0000000..09e9c02 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_flash.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_flash.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d new file mode 100644 index 0000000..0fb3318 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_flash_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_flash_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d b/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d new file mode 100644 index 0000000..7588e8a --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_flash_ramfunc.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_flash_ramfunc.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_gpio.d b/MDK-ARM/DevC/stm32f4xx_hal_gpio.d new file mode 100644 index 0000000..6f91db9 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_gpio.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_gpio.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_i2c.d b/MDK-ARM/DevC/stm32f4xx_hal_i2c.d new file mode 100644 index 0000000..8b61607 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_i2c.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_i2c.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d new file mode 100644 index 0000000..b0c46cc --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_i2c_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_i2c_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_msp.d b/MDK-ARM/DevC/stm32f4xx_hal_msp.d new file mode 100644 index 0000000..21a980d --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_msp.d @@ -0,0 +1,43 @@ +./devc/stm32f4xx_hal_msp.o: ..\Core\Src\stm32f4xx_hal_msp.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pcd.d b/MDK-ARM/DevC/stm32f4xx_hal_pcd.d new file mode 100644 index 0000000..da3b869 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_pcd.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_pcd.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pcd.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d new file mode 100644 index 0000000..9b9a473 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_pcd_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_pcd_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pcd_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pwr.d b/MDK-ARM/DevC/stm32f4xx_hal_pwr.d new file mode 100644 index 0000000..cec4bb7 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_pwr.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_pwr.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d new file mode 100644 index 0000000..1d92f87 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_pwr_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_pwr_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_rcc.d b/MDK-ARM/DevC/stm32f4xx_hal_rcc.d new file mode 100644 index 0000000..0c61891 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_rcc.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_rcc.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d new file mode 100644 index 0000000..c10a815 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_rcc_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_rcc_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_rng.d b/MDK-ARM/DevC/stm32f4xx_hal_rng.d new file mode 100644 index 0000000..6aba9bf --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_rng.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_rng.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rng.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_spi.d b/MDK-ARM/DevC/stm32f4xx_hal_spi.d new file mode 100644 index 0000000..fa6b591 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_spi.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_spi.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_tim.d b/MDK-ARM/DevC/stm32f4xx_hal_tim.d new file mode 100644 index 0000000..4bb25cc --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_tim.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_tim.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d b/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d new file mode 100644 index 0000000..e8061f8 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_tim_ex.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_tim_ex.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_hal_uart.d b/MDK-ARM/DevC/stm32f4xx_hal_uart.d new file mode 100644 index 0000000..057273a --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_hal_uart.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_hal_uart.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stm32f4xx_it.d b/MDK-ARM/DevC/stm32f4xx_it.d new file mode 100644 index 0000000..e1ebb65 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_it.d @@ -0,0 +1,55 @@ +./devc/stm32f4xx_it.o: ..\Core\Src\stm32f4xx_it.c ..\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 \ + ..\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 \ + ..\Core\Inc\stm32f4xx_it.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\uart.h ..\Core\Inc\usart.h ..\Core\Inc\main.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h ..\User\bsp\bsp.h diff --git a/MDK-ARM/DevC/stm32f4xx_ll_adc.d b/MDK-ARM/DevC/stm32f4xx_ll_adc.d new file mode 100644 index 0000000..8ab85bc --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_ll_adc.d @@ -0,0 +1,2 @@ +./devc/stm32f4xx_ll_adc.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_adc.c diff --git a/MDK-ARM/DevC/stm32f4xx_ll_usb.d b/MDK-ARM/DevC/stm32f4xx_ll_usb.d new file mode 100644 index 0000000..8bcdae9 --- /dev/null +++ b/MDK-ARM/DevC/stm32f4xx_ll_usb.d @@ -0,0 +1,44 @@ +./devc/stm32f4xx_ll_usb.o: \ + ..\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usb.c \ + ..\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 \ + ..\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 diff --git a/MDK-ARM/DevC/stream_buffer.d b/MDK-ARM/DevC/stream_buffer.d new file mode 100644 index 0000000..9ebc953 --- /dev/null +++ b/MDK-ARM/DevC/stream_buffer.d @@ -0,0 +1,15 @@ +./devc/stream_buffer.o: \ + ..\Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.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\include\stream_buffer.h diff --git a/MDK-ARM/DevC/system_stm32f4xx.d b/MDK-ARM/DevC/system_stm32f4xx.d new file mode 100644 index 0000000..fabdb18 --- /dev/null +++ b/MDK-ARM/DevC/system_stm32f4xx.d @@ -0,0 +1,43 @@ +./devc/system_stm32f4xx.o: ..\Core\Src\system_stm32f4xx.c \ + ..\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 \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.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\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 diff --git a/MDK-ARM/DevC/tasks.d b/MDK-ARM/DevC/tasks.d new file mode 100644 index 0000000..e01d05d --- /dev/null +++ b/MDK-ARM/DevC/tasks.d @@ -0,0 +1,18 @@ +./devc/tasks.o: ..\Middlewares\Third_Party\FreeRTOS\Source\tasks.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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\include\timers.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\stack_macros.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h diff --git a/MDK-ARM/DevC/tim.d b/MDK-ARM/DevC/tim.d new file mode 100644 index 0000000..f75a5b2 --- /dev/null +++ b/MDK-ARM/DevC/tim.d @@ -0,0 +1,43 @@ +./devc/tim.o: ..\Core\Src\tim.c ..\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 \ + 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 \ + ..\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 diff --git a/MDK-ARM/DevC/time.d b/MDK-ARM/DevC/time.d new file mode 100644 index 0000000..1f01d65 --- /dev/null +++ b/MDK-ARM/DevC/time.d @@ -0,0 +1,54 @@ +./devc/time.o: ..\User\bsp\time.c ..\User\bsp\time.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h ..\User\bsp\bsp.h \ + ..\User\bsp\bsp.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.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 \ + ..\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 \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h diff --git a/MDK-ARM/DevC/timers.d b/MDK-ARM/DevC/timers.d new file mode 100644 index 0000000..8f0f15a --- /dev/null +++ b/MDK-ARM/DevC/timers.d @@ -0,0 +1,16 @@ +./devc/timers.o: ..\Middlewares\Third_Party\FreeRTOS\Source\timers.c \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.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\include\queue.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h \ + ..\Middlewares\Third_Party\FreeRTOS\Source\include\timers.h diff --git a/MDK-ARM/DevC/uart.d b/MDK-ARM/DevC/uart.d new file mode 100644 index 0000000..74dfacb --- /dev/null +++ b/MDK-ARM/DevC/uart.d @@ -0,0 +1,45 @@ +./devc/uart.o: ..\User\bsp\uart.c ..\Core\Inc\usart.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 \ + ..\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\uart.h C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + ..\User\bsp\bsp.h diff --git a/MDK-ARM/DevC/usart.d b/MDK-ARM/DevC/usart.d new file mode 100644 index 0000000..f66a452 --- /dev/null +++ b/MDK-ARM/DevC/usart.d @@ -0,0 +1,43 @@ +./devc/usart.o: ..\Core\Src\usart.c ..\Core\Inc\usart.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 \ + ..\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 diff --git a/MDK-ARM/DevC/usb_device.d b/MDK-ARM/DevC/usb_device.d new file mode 100644 index 0000000..0568361 --- /dev/null +++ b/MDK-ARM/DevC/usb_device.d @@ -0,0 +1,58 @@ +./devc/usb_device.o: ..\USB_DEVICE\App\usb_device.c \ + ..\USB_DEVICE\App\usb_device.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 \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.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\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 \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h ..\Core\Inc\main.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.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\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h \ + ..\USB_DEVICE\App\usbd_desc.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc\usbd_cdc.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\USB_DEVICE\App\usbd_cdc_if.h diff --git a/MDK-ARM/DevC/usbd_cdc.d b/MDK-ARM/DevC/usbd_cdc.d new file mode 100644 index 0000000..84cb6a9 --- /dev/null +++ b/MDK-ARM/DevC/usbd_cdc.d @@ -0,0 +1,55 @@ +./devc/usbd_cdc.o: \ + ..\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Src\usbd_cdc.c \ + ..\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc\usbd_cdc.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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 \ + ..\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 \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h diff --git a/MDK-ARM/DevC/usbd_cdc_if.d b/MDK-ARM/DevC/usbd_cdc_if.d new file mode 100644 index 0000000..6a34457 --- /dev/null +++ b/MDK-ARM/DevC/usbd_cdc_if.d @@ -0,0 +1,54 @@ +./devc/usbd_cdc_if.o: ..\USB_DEVICE\App\usbd_cdc_if.c \ + ..\USB_DEVICE\App\usbd_cdc_if.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc\usbd_cdc.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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 \ + ..\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 \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h diff --git a/MDK-ARM/DevC/usbd_conf.d b/MDK-ARM/DevC/usbd_conf.d new file mode 100644 index 0000000..258ef27 --- /dev/null +++ b/MDK-ARM/DevC/usbd_conf.d @@ -0,0 +1,55 @@ +./devc/usbd_conf.o: ..\USB_DEVICE\Target\usbd_conf.c \ + ..\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 \ + ..\Drivers\CMSIS\Include\mpu_armv7.h \ + ..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.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\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 \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h ..\Core\Inc\main.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.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\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc\usbd_cdc.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h diff --git a/MDK-ARM/DevC/usbd_core.d b/MDK-ARM/DevC/usbd_core.d new file mode 100644 index 0000000..0ef6e94 --- /dev/null +++ b/MDK-ARM/DevC/usbd_core.d @@ -0,0 +1,53 @@ +./devc/usbd_core.o: \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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 \ + ..\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 \ + ..\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\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h diff --git a/MDK-ARM/DevC/usbd_ctlreq.d b/MDK-ARM/DevC/usbd_ctlreq.d new file mode 100644 index 0000000..c1e6989 --- /dev/null +++ b/MDK-ARM/DevC/usbd_ctlreq.d @@ -0,0 +1,54 @@ +./devc/usbd_ctlreq.o: \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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 \ + ..\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 \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h diff --git a/MDK-ARM/DevC/usbd_desc.d b/MDK-ARM/DevC/usbd_desc.d new file mode 100644 index 0000000..269d9ca --- /dev/null +++ b/MDK-ARM/DevC/usbd_desc.d @@ -0,0 +1,54 @@ +./devc/usbd_desc.o: ..\USB_DEVICE\App\usbd_desc.c \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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 \ + ..\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 \ + ..\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\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h \ + ..\USB_DEVICE\App\usbd_desc.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h diff --git a/MDK-ARM/DevC/usbd_ioreq.d b/MDK-ARM/DevC/usbd_ioreq.d new file mode 100644 index 0000000..9b96a48 --- /dev/null +++ b/MDK-ARM/DevC/usbd_ioreq.d @@ -0,0 +1,53 @@ +./devc/usbd_ioreq.o: \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h \ + ..\USB_DEVICE\Target\usbd_conf.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdio.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdlib.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.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 \ + ..\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 \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h \ + ..\Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h diff --git a/MDK-ARM/DevC/user_math.d b/MDK-ARM/DevC/user_math.d new file mode 100644 index 0000000..0e7cbe0 --- /dev/null +++ b/MDK-ARM/DevC/user_math.d @@ -0,0 +1,8 @@ +./devc/user_math.o: ..\User\component\user_math.c \ + ..\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 \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/DevC/user_task.d b/MDK-ARM/DevC/user_task.d new file mode 100644 index 0000000..2dc5118 --- /dev/null +++ b/MDK-ARM/DevC/user_task.d @@ -0,0 +1,13 @@ +./devc/user_task.o: ..\User\task\user_task.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/vmc.d b/MDK-ARM/DevC/vmc.d new file mode 100644 index 0000000..d5eb4cb --- /dev/null +++ b/MDK-ARM/DevC/vmc.d @@ -0,0 +1,6 @@ +./devc/vmc.o: ..\User\component\vmc.c ..\User\component\vmc.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdbool.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\math.h \ + ..\User\component\kinematics.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\string.h diff --git a/MDK-ARM/RTE/_DevC/RTE_Components.h b/MDK-ARM/RTE/_DevC/RTE_Components.h new file mode 100644 index 0000000..5791525 --- /dev/null +++ b/MDK-ARM/RTE/_DevC/RTE_Components.h @@ -0,0 +1,15 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'DevC' + * Target: 'DevC' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/User/module/config.c b/User/module/config.c index 0d75200..89ff42a 100644 --- a/User/module/config.c +++ b/User/module/config.c @@ -18,28 +18,28 @@ // 机器人参数配置 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_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), + // } }; /* Private function prototypes ---------------------------------------------- */ diff --git a/User/module/config.h b/User/module/config.h index 400c3ef..91b224a 100644 --- a/User/module/config.h +++ b/User/module/config.h @@ -14,7 +14,7 @@ extern "C" { typedef struct { - Shoot_Params_t shoot_param; /* 射击参数 */ + // Shoot_Params_t shoot_param; /* 射击参数 */ } Config_RobotParam_t; /* Exported functions prototypes -------------------------------------------- */ diff --git a/User/module/shoot.c b/User/module/shoot.c index 0c9a585..a07b8bc 100644 --- a/User/module/shoot.c +++ b/User/module/shoot.c @@ -1,201 +1,201 @@ -/* - * 射击模组 - */ +// /* +// * 射击模组 +// */ -/* Includes ----------------------------------------------------------------- */ -#include "shoot.h" +// /* Includes ----------------------------------------------------------------- */ +// #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/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 ----------------------------------------------------------- */ -#define BULLET_SPEED_LIMIT_17MM (25.0) +// #define BULLET_SPEED_LIMIT_17MM (25.0) -/* Private macro ------------------------------------------------------------ */ -/* Private variables -------------------------------------------------------- */ -/* Private function -------------------------------------------------------- */ +// /* Private macro ------------------------------------------------------------ */ +// /* Private variables -------------------------------------------------------- */ +// /* Private function -------------------------------------------------------- */ -/** - * \brief 设置射击模式 - * - * \param c 包含射击数据的结构体 - * \param mode 要设置的模式 - * - * \return 函数运行结果 - */ -static int8_t Shoot_SetMode(Shoot_t *s, CMD_ShootMode_t mode) { - if (s == NULL) return -1; +// /** +// * \brief 设置射击模式 +// * +// * \param c 包含射击数据的结构体 +// * \param mode 要设置的模式 +// * +// * \return 函数运行结果 +// */ +// static int8_t Shoot_SetMode(Shoot_t *s, CMD_ShootMode_t mode) { +// if (s == NULL) return -1; - if (mode == s->mode) return SHOOT_OK; +// 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); +// /* 切换模式后重置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; +// // 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; // } -/* Exported functions ------------------------------------------------------- */ +// // static float Shoot_CalcRPMFromSpeed(float speed, float radius, float *rpm) { +// // if (rpm == NULL) return -1; +// // if (radius <= 0.0f) return -2; -/** - * \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; +// // /* 限制弹丸速度 */ +// // speed = Limit_Abs(speed, BULLET_SPEED_LIMIT_17MM); - s->param = param; /* 初始化参数 */ - s->mode = SHOOT_MODE_RELAX; /* 设置默认模式 */ +// // /* 计算转速 */ +// // *rpm = speed / (2.0f * M_PI * radius) * 60.0f; - 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)); +// // return 0; +// // } - 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); +// /* Exported functions ------------------------------------------------------- */ - 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); +// /** +// * \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; - return SHOOT_OK; -} +// s->param = param; /* 初始化参数 */ +// s->mode = SHOOT_MODE_RELAX; /* 设置默认模式 */ -/** - * \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); +// 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)); - 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; +// 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); - return SHOOT_OK; -} +// 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); -/** - * \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; +// return SHOOT_OK; +// } - Shoot_SetMode(s, s_cmd->mode); /* 设置射击模式 */ +// /** +// * \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); - /* 计算摩擦轮转速的目标值 */ - // 根据弹丸射速计算转速,这里需要实现具体的计算逻辑 - // s->setpoint.fric_rpm[0] = calculate_rpm_from_speed(s_cmd->bullet_speed); - // s->setpoint.fric_rpm[1] = -s->setpoint.fric_rpm[0]; +// 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; - 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; +// 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; +// break; - case SHOOT_MODE_LOADED: - // TODO: 实现上膛模式的控制逻辑 - break; - } - return SHOOT_OK; -} +// 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]); -} +// /** +// * \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 a9a82a0..8530e59 100644 --- a/User/module/shoot.h +++ b/User/module/shoot.h @@ -1,176 +1,176 @@ -/* - * 射击模组 - */ +// /* +// * 射击模组 +// */ -#pragma once +// #pragma once -#ifdef __cplusplus -extern "C" { -#endif +// #ifdef __cplusplus +// extern "C" { +// #endif -/* Includes ----------------------------------------------------------------- */ -#include +// /* Includes ----------------------------------------------------------------- */ +// #include -#include "component/filter.h" -#include "component/pid.h" -#include "device/motor_rm.h" -#include "device/motor.h" +// #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 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 ----------------------------------------------------------- */ +// /* Exported macro ----------------------------------------------------------- */ +// /* Exported types ----------------------------------------------------------- */ -typedef enum { - SHOOT_MODE_RELAX = 0, /* 放松模式,电机不工作 */ - SHOOT_MODE_SAFE = 1, /* 安全模式,电机工作但不允许射击 */ - SHOOT_MODE_LOADED = 2 /* 上膛模式,电机工作并允许射击 */ -}Shoot_Mode_t; +// 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; +// 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; /* 拨弹电机参数 */ +// /* 射击参数的结构体,包含所有初始化用的参数,通常是const,存好几组。*/ +// typedef struct { +// MOTOR_RM_Param_t fric_motor_param[2]; /* 摩擦轮电机参数 */ +// MOTOR_RM_Param_t trig_motor_param; /* 拨弹电机参数 */ - KPID_Params_t fric_pid_param; /* 摩擦轮电机控制PID的参数 */ - KPID_Params_t trig_pid_param; /* 扳机电机控制PID的参数 */ - /* 低通滤波器截止频率 */ - struct { - /* 输入 */ - struct { - float fric; /* 摩擦轮电机 */ - float trig; /* 扳机电机 */ - } in; +// KPID_Params_t fric_pid_param; /* 摩擦轮电机控制PID的参数 */ +// KPID_Params_t trig_pid_param; /* 扳机电机控制PID的参数 */ +// /* 低通滤波器截止频率 */ +// struct { +// /* 输入 */ +// struct { +// float fric; /* 摩擦轮电机 */ +// float trig; /* 扳机电机 */ +// } in; - /* 输出 */ - struct { - float fric; /* 摩擦轮电机 */ - float trig; /* 扳机电机 */ - } out; - } low_pass_cutoff_freq; +// /* 输出 */ +// struct { +// float fric; /* 摩擦轮电机 */ +// float trig; /* 扳机电机 */ +// } out; +// } low_pass_cutoff_freq; - 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; +// 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 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; +// 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; -/* - * 运行的主结构体,所有这个文件里的函数都在操作这个结构体。 - * 包含了初始化参数,中间变量,输出变量。 - */ -typedef struct { - uint64_t lask_wakeup; - float dt; +// /* +// * 运行的主结构体,所有这个文件里的函数都在操作这个结构体。 +// * 包含了初始化参数,中间变量,输出变量。 +// */ +// typedef struct { +// uint64_t lask_wakeup; +// float dt; - const Shoot_Params_t *param; /* 射击的参数,用Shoot_Init设定 */ - Shoot_FireCtrl_t fire_ctrl; - /* 模块通用 */ - Shoot_Mode_t mode; /* 当前模式 */ +// 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; +// /* 反馈信息 */ +// struct { +// MOTOR_Feedback_t fric[2]; /* 摩擦轮电机反馈 */ +// MOTOR_Feedback_t trig; /* 拨弹电机反馈 */ +// } feedback; - /* PID计算的目标值 */ - struct { - float fric_rpm[2]; /* 摩擦轮电机转速,单位:RPM */ - float trig_angle; /* 拨弹电机角度,单位:弧度 */ - } setpoint; +// /* PID计算的目标值 */ +// struct { +// float fric_rpm[2]; /* 摩擦轮电机转速,单位:RPM */ +// float trig_angle; /* 拨弹电机角度,单位:弧度 */ +// } setpoint; - /* 反馈控制用的PID */ - struct { - KPID_t fric[2]; /* 控制摩擦轮 */ - KPID_t trig; /* 控制拨弹电机 */ - } pid; +// /* 反馈控制用的PID */ +// struct { +// KPID_t fric[2]; /* 控制摩擦轮 */ +// KPID_t trig; /* 控制拨弹电机 */ +// } pid; - /* 过滤器 */ - struct { - /* 反馈值滤波器 */ - struct { - LowPassFilter2p_t fric[2]; /* 过滤摩擦轮 */ - LowPassFilter2p_t trig; /* 过滤拨弹电机 */ - } in; +// /* 过滤器 */ +// struct { +// /* 反馈值滤波器 */ +// struct { +// LowPassFilter2p_t fric[2]; /* 过滤摩擦轮 */ +// LowPassFilter2p_t trig; /* 过滤拨弹电机 */ +// } in; - /* 输出值滤波器 */ - struct { - LowPassFilter2p_t fric[2]; /* 过滤摩擦轮 */ - LowPassFilter2p_t trig; /* 过滤拨弹电机 */ - } out; - } filter; +// /* 输出值滤波器 */ +// struct { +// LowPassFilter2p_t fric[2]; /* 过滤摩擦轮 */ +// LowPassFilter2p_t trig; /* 过滤拨弹电机 */ +// } out; +// } filter; -} Shoot_t; +// } Shoot_t; -/* Exported functions prototypes -------------------------------------------- */ +// /* 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 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 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 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); +// /** +// * \brief 射击输出值 +// * +// * \param s 包含射击数据的结构体 +// * \param out CAN设备射击输出结构体 +// */ +// void Shoot_Output(Shoot_t *s); -#ifdef __cplusplus -} -#endif +// #ifdef __cplusplus +// } +// #endif