From 99ca88a8c8848faf9d9144e08ccb0d629081014b Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Fri, 23 Feb 2018 16:23:58 -0800 Subject: [PATCH 1/9] This replaces Makefile and at the same time prepares for future build requirements (like multiple active board versions). Developers will need to install tup, as described in the README. A stub Makefile is still available for convenience, so the main "make ..." commands can still be used. --- .gitignore | 33 +-- .travis.yml | 10 +- .../Device/ST/STM32F4xx/Include/stm32f405xx.h | 0 .../Device/ST/STM32F4xx/Include/stm32f4xx.h | 0 .../ST/STM32F4xx/Include/system_stm32f4xx.h | 0 .../Drivers/CMSIS/Include/arm_common_tables.h | 0 .../Drivers/CMSIS/Include/arm_const_structs.h | 0 .../v3.3}/Drivers/CMSIS/Include/arm_math.h | 0 .../v3.3}/Drivers/CMSIS/Include/cmsis_armcc.h | 0 .../Drivers/CMSIS/Include/cmsis_armcc_V6.h | 0 .../v3.3}/Drivers/CMSIS/Include/cmsis_gcc.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_cm0.h | 0 .../Drivers/CMSIS/Include/core_cm0plus.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_cm3.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_cm4.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_cm7.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_cmFunc.h | 0 .../Drivers/CMSIS/Include/core_cmInstr.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_cmSimd.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_sc000.h | 0 .../v3.3}/Drivers/CMSIS/Include/core_sc300.h | 0 .../CMSIS/Lib/libarm_cortexM4lf_math.a | Bin .../v3.3}/Drivers/DRV8301/drv8301.c | 0 .../v3.3}/Drivers/DRV8301/drv8301.h | 0 .../Inc/Legacy/stm32_hal_legacy.h | 0 .../STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h | 0 .../Inc/stm32f4xx_hal_adc.h | 0 .../Inc/stm32f4xx_hal_adc_ex.h | 0 .../Inc/stm32f4xx_hal_can.h | 0 .../Inc/stm32f4xx_hal_cortex.h | 0 .../Inc/stm32f4xx_hal_def.h | 0 .../Inc/stm32f4xx_hal_dma.h | 0 .../Inc/stm32f4xx_hal_dma_ex.h | 0 .../Inc/stm32f4xx_hal_flash.h | 0 .../Inc/stm32f4xx_hal_flash_ex.h | 0 .../Inc/stm32f4xx_hal_flash_ramfunc.h | 0 .../Inc/stm32f4xx_hal_gpio.h | 0 .../Inc/stm32f4xx_hal_gpio_ex.h | 0 .../Inc/stm32f4xx_hal_pcd.h | 0 .../Inc/stm32f4xx_hal_pcd_ex.h | 0 .../Inc/stm32f4xx_hal_pwr.h | 0 .../Inc/stm32f4xx_hal_pwr_ex.h | 0 .../Inc/stm32f4xx_hal_rcc.h | 0 .../Inc/stm32f4xx_hal_rcc_ex.h | 0 .../Inc/stm32f4xx_hal_spi.h | 0 .../Inc/stm32f4xx_hal_tim.h | 0 .../Inc/stm32f4xx_hal_tim_ex.h | 0 .../Inc/stm32f4xx_hal_uart.h | 0 .../Inc/stm32f4xx_ll_usb.h | 0 .../STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c | 0 .../Src/stm32f4xx_hal_adc.c | 0 .../Src/stm32f4xx_hal_adc_ex.c | 0 .../Src/stm32f4xx_hal_can.c | 0 .../Src/stm32f4xx_hal_cortex.c | 0 .../Src/stm32f4xx_hal_dma.c | 0 .../Src/stm32f4xx_hal_dma_ex.c | 0 .../Src/stm32f4xx_hal_flash.c | 0 .../Src/stm32f4xx_hal_flash_ex.c | 0 .../Src/stm32f4xx_hal_flash_ramfunc.c | 0 .../Src/stm32f4xx_hal_gpio.c | 0 .../Src/stm32f4xx_hal_pcd.c | 0 .../Src/stm32f4xx_hal_pcd_ex.c | 0 .../Src/stm32f4xx_hal_pwr.c | 0 .../Src/stm32f4xx_hal_pwr_ex.c | 0 .../Src/stm32f4xx_hal_rcc.c | 0 .../Src/stm32f4xx_hal_rcc_ex.c | 0 .../Src/stm32f4xx_hal_spi.c | 0 .../Src/stm32f4xx_hal_tim.c | 0 .../Src/stm32f4xx_hal_tim_ex.c | 0 .../Src/stm32f4xx_hal_uart.c | 0 .../Src/stm32f4xx_ll_usb.c | 0 .../{ => Board/v3.3}/Inc/FreeRTOSConfig.h | 0 Firmware/{ => Board/v3.3}/Inc/adc.h | 0 Firmware/{ => Board/v3.3}/Inc/can.h | 0 Firmware/{ => Board/v3.3}/Inc/dma.h | 0 Firmware/{ => Board/v3.3}/Inc/freertos_vars.h | 0 Firmware/{ => Board/v3.3}/Inc/gpio.h | 0 Firmware/{ => Board/v3.3}/Inc/main.h | 0 Firmware/{ => Board/v3.3}/Inc/mxconstants.h | 0 .../v3.3}/Inc/prev_board_ver/main_V3_2.h | 0 Firmware/{ => Board/v3.3}/Inc/spi.h | 0 .../{ => Board/v3.3}/Inc/stm32f4xx_hal_conf.h | 0 Firmware/{ => Board/v3.3}/Inc/stm32f4xx_it.h | 0 Firmware/{ => Board/v3.3}/Inc/tim.h | 0 Firmware/{ => Board/v3.3}/Inc/usart.h | 0 Firmware/{ => Board/v3.3}/Inc/usb_device.h | 0 Firmware/{ => Board/v3.3}/Inc/usbd_cdc_if.h | 0 Firmware/{ => Board/v3.3}/Inc/usbd_conf.h | 0 Firmware/{ => Board/v3.3}/Inc/usbd_desc.h | 0 Firmware/Board/v3.3/Makefile | 78 +++++++ .../Class/CDC/Inc/usbd_cdc.h | 0 .../Class/CDC/Src/usbd_cdc.c | 0 .../Core/Inc/usbd_core.h | 0 .../Core/Inc/usbd_ctlreq.h | 0 .../Core/Inc/usbd_def.h | 0 .../Core/Inc/usbd_ioreq.h | 0 .../Core/Src/usbd_core.c | 0 .../Core/Src/usbd_ctlreq.c | 0 .../Core/Src/usbd_ioreq.c | 0 .../FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c | 0 .../FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h | 0 .../Third_Party/FreeRTOS/Source/croutine.c | 0 .../FreeRTOS/Source/event_groups.c | 0 .../FreeRTOS/Source/include/FreeRTOS.h | 0 .../Source/include/FreeRTOSConfig_template.h | 0 .../FreeRTOS/Source/include/StackMacros.h | 0 .../FreeRTOS/Source/include/croutine.h | 0 .../Source/include/deprecated_definitions.h | 0 .../FreeRTOS/Source/include/event_groups.h | 0 .../FreeRTOS/Source/include/list.h | 0 .../FreeRTOS/Source/include/mpu_prototypes.h | 0 .../FreeRTOS/Source/include/mpu_wrappers.h | 0 .../FreeRTOS/Source/include/portable.h | 0 .../FreeRTOS/Source/include/projdefs.h | 0 .../FreeRTOS/Source/include/queue.h | 0 .../FreeRTOS/Source/include/semphr.h | 0 .../FreeRTOS/Source/include/task.h | 0 .../FreeRTOS/Source/include/timers.h | 0 .../Third_Party/FreeRTOS/Source/list.c | 0 .../Source/portable/GCC/ARM_CM4F/port.c | 0 .../Source/portable/GCC/ARM_CM4F/portmacro.h | 0 .../FreeRTOS/Source/portable/MemMang/heap_4.c | 0 .../Third_Party/FreeRTOS/Source/queue.c | 0 .../Third_Party/FreeRTOS/Source/tasks.c | 0 .../Third_Party/FreeRTOS/Source/timers.c | 0 Firmware/{ => Board/v3.3}/Odrive.ioc | 0 .../{ => Board/v3.3}/STM32F405RGTx_FLASH.ld | 0 Firmware/{ => Board/v3.3}/Src/adc.c | 0 Firmware/{ => Board/v3.3}/Src/can.c | 0 Firmware/{ => Board/v3.3}/Src/dma.c | 0 Firmware/{ => Board/v3.3}/Src/freertos.c | 0 Firmware/{ => Board/v3.3}/Src/gpio.c | 0 Firmware/{ => Board/v3.3}/Src/main.c | 0 .../v3.3}/Src/prev_board_ver/adc_V3_2.c | 0 .../v3.3}/Src/prev_board_ver/gpio_V3_2.c | 0 Firmware/{ => Board/v3.3}/Src/spi.c | 0 .../{ => Board/v3.3}/Src/stm32f4xx_hal_msp.c | 0 .../v3.3}/Src/stm32f4xx_hal_timebase_TIM.c | 0 Firmware/{ => Board/v3.3}/Src/stm32f4xx_it.c | 0 Firmware/{ => Board/v3.3}/Src/syscalls.c | 0 .../{ => Board/v3.3}/Src/system_stm32f4xx.c | 0 Firmware/{ => Board/v3.3}/Src/tim.c | 0 Firmware/{ => Board/v3.3}/Src/usart.c | 0 Firmware/{ => Board/v3.3}/Src/usb_device.c | 0 Firmware/{ => Board/v3.3}/Src/usbd_cdc_if.c | 0 Firmware/{ => Board/v3.3}/Src/usbd_conf.c | 0 Firmware/{ => Board/v3.3}/Src/usbd_desc.c | 0 .../v3.3}/startup/startup_stm32f405xx.s | 0 Firmware/Makefile | 214 +----------------- Firmware/README.md | 12 +- Firmware/Tupfile.lua | 76 +++++++ Firmware/build.lua | 166 ++++++++++++++ README.md | 5 + Tupfile.ini | 0 154 files changed, 374 insertions(+), 220 deletions(-) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/arm_common_tables.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/arm_const_structs.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/arm_math.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/cmsis_armcc.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/cmsis_armcc_V6.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/cmsis_gcc.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cm0.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cm0plus.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cm3.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cm4.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cm7.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cmFunc.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cmInstr.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_cmSimd.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_sc000.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Include/core_sc300.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/CMSIS/Lib/libarm_cortexM4lf_math.a (100%) rename Firmware/{ => Board/v3.3}/Drivers/DRV8301/drv8301.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/DRV8301/drv8301.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c (100%) rename Firmware/{ => Board/v3.3}/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c (100%) rename Firmware/{ => Board/v3.3}/Inc/FreeRTOSConfig.h (100%) rename Firmware/{ => Board/v3.3}/Inc/adc.h (100%) rename Firmware/{ => Board/v3.3}/Inc/can.h (100%) rename Firmware/{ => Board/v3.3}/Inc/dma.h (100%) rename Firmware/{ => Board/v3.3}/Inc/freertos_vars.h (100%) rename Firmware/{ => Board/v3.3}/Inc/gpio.h (100%) rename Firmware/{ => Board/v3.3}/Inc/main.h (100%) rename Firmware/{ => Board/v3.3}/Inc/mxconstants.h (100%) rename Firmware/{ => Board/v3.3}/Inc/prev_board_ver/main_V3_2.h (100%) rename Firmware/{ => Board/v3.3}/Inc/spi.h (100%) rename Firmware/{ => Board/v3.3}/Inc/stm32f4xx_hal_conf.h (100%) rename Firmware/{ => Board/v3.3}/Inc/stm32f4xx_it.h (100%) rename Firmware/{ => Board/v3.3}/Inc/tim.h (100%) rename Firmware/{ => Board/v3.3}/Inc/usart.h (100%) rename Firmware/{ => Board/v3.3}/Inc/usb_device.h (100%) rename Firmware/{ => Board/v3.3}/Inc/usbd_cdc_if.h (100%) rename Firmware/{ => Board/v3.3}/Inc/usbd_conf.h (100%) rename Firmware/{ => Board/v3.3}/Inc/usbd_desc.h (100%) create mode 100644 Firmware/Board/v3.3/Makefile rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/croutine.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOSConfig_template.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/list.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/task.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/list.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/queue.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/tasks.c (100%) rename Firmware/{ => Board/v3.3}/Middlewares/Third_Party/FreeRTOS/Source/timers.c (100%) rename Firmware/{ => Board/v3.3}/Odrive.ioc (100%) rename Firmware/{ => Board/v3.3}/STM32F405RGTx_FLASH.ld (100%) rename Firmware/{ => Board/v3.3}/Src/adc.c (100%) rename Firmware/{ => Board/v3.3}/Src/can.c (100%) rename Firmware/{ => Board/v3.3}/Src/dma.c (100%) rename Firmware/{ => Board/v3.3}/Src/freertos.c (100%) rename Firmware/{ => Board/v3.3}/Src/gpio.c (100%) rename Firmware/{ => Board/v3.3}/Src/main.c (100%) rename Firmware/{ => Board/v3.3}/Src/prev_board_ver/adc_V3_2.c (100%) rename Firmware/{ => Board/v3.3}/Src/prev_board_ver/gpio_V3_2.c (100%) rename Firmware/{ => Board/v3.3}/Src/spi.c (100%) rename Firmware/{ => Board/v3.3}/Src/stm32f4xx_hal_msp.c (100%) rename Firmware/{ => Board/v3.3}/Src/stm32f4xx_hal_timebase_TIM.c (100%) rename Firmware/{ => Board/v3.3}/Src/stm32f4xx_it.c (100%) rename Firmware/{ => Board/v3.3}/Src/syscalls.c (100%) rename Firmware/{ => Board/v3.3}/Src/system_stm32f4xx.c (100%) rename Firmware/{ => Board/v3.3}/Src/tim.c (100%) rename Firmware/{ => Board/v3.3}/Src/usart.c (100%) rename Firmware/{ => Board/v3.3}/Src/usb_device.c (100%) rename Firmware/{ => Board/v3.3}/Src/usbd_cdc_if.c (100%) rename Firmware/{ => Board/v3.3}/Src/usbd_conf.c (100%) rename Firmware/{ => Board/v3.3}/Src/usbd_desc.c (100%) rename Firmware/{ => Board/v3.3}/startup/startup_stm32f405xx.s (100%) create mode 100644 Firmware/Tupfile.lua create mode 100644 Firmware/build.lua create mode 100644 Tupfile.ini diff --git a/.gitignore b/.gitignore index 1dbc687d..4f119819 100644 --- a/.gitignore +++ b/.gitignore @@ -8,21 +8,21 @@ __pycache__/ # Distribution / packaging .Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg +#env/ +#build/ +#develop-eggs/ +#dist/ +#downloads/ +#eggs/ +#.eggs/ +#lib/ +#lib64/ +#parts/ +#sdist/ +#var/ +#*.egg-info/ +#.installed.cfg +#*.egg # PyInstaller # Usually these files are written by a python script from a template @@ -60,3 +60,6 @@ target/ #Ipython Notebook .ipynb_checkpoints + +# Tup +.tup diff --git a/.travis.yml b/.travis.yml index ba888a75..bad65bb3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,14 @@ install: - export GCC_URL=https://launchpad.net/gcc-arm-embedded/5.0/5-2015-q4-major/+download/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2 - if [ ! -e $GCC_DIR/bin/arm-none-eabi-gcc ]; then wget $GCC_URL -O $GCC_ARCHIVE; tar xfj $GCC_ARCHIVE -C $HOME/dl; fi - export PATH=$PATH:$GCC_DIR/bin + - export TUP_DIR=$HOME/dl/tup_0.7.2.12+ga582fee_amd64 + - export TUP_ARCHIVE=$HOME/dl/tup_0.7.2.12+ga582fee_amd64.deb + - export TUP_URL=http://ppa.launchpad.net/anatol/tup/ubuntu/pool/main/t/tup/tup_0.7.2.12+ga582fee_amd64.deb + - if [ ! -e $TUP_DIR/bin/tup ]; then wget $TUP_URL -O $TUP_ARCHIVE; dpkg-deb -R $TUP_ARCHIVE $TUP_DIR; fi + - export PATH=$PATH:$TUP_DIR/usr/bin script: - - make clean && make + - cd Firmware + - mkdir -p build + - tup generate ./build.sh + - bash -x ./build.sh diff --git a/Firmware/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h b/Firmware/Board/v3.3/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h similarity index 100% rename from Firmware/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h diff --git a/Firmware/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h b/Firmware/Board/v3.3/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h similarity index 100% rename from Firmware/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h diff --git a/Firmware/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h b/Firmware/Board/v3.3/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h similarity index 100% rename from Firmware/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h diff --git a/Firmware/Drivers/CMSIS/Include/arm_common_tables.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/arm_common_tables.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/arm_common_tables.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/arm_common_tables.h diff --git a/Firmware/Drivers/CMSIS/Include/arm_const_structs.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/arm_const_structs.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/arm_const_structs.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/arm_const_structs.h diff --git a/Firmware/Drivers/CMSIS/Include/arm_math.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/arm_math.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/arm_math.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/arm_math.h diff --git a/Firmware/Drivers/CMSIS/Include/cmsis_armcc.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/cmsis_armcc.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/cmsis_armcc.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/cmsis_armcc.h diff --git a/Firmware/Drivers/CMSIS/Include/cmsis_armcc_V6.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/cmsis_armcc_V6.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/cmsis_armcc_V6.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/cmsis_armcc_V6.h diff --git a/Firmware/Drivers/CMSIS/Include/cmsis_gcc.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/cmsis_gcc.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/cmsis_gcc.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/cmsis_gcc.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cm0.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm0.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cm0.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm0.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cm0plus.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm0plus.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cm0plus.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm0plus.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cm3.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm3.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cm3.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm3.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cm4.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm4.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cm4.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm4.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cm7.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm7.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cm7.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cm7.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cmFunc.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cmFunc.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cmFunc.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cmFunc.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cmInstr.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cmInstr.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cmInstr.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cmInstr.h diff --git a/Firmware/Drivers/CMSIS/Include/core_cmSimd.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cmSimd.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_cmSimd.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_cmSimd.h diff --git a/Firmware/Drivers/CMSIS/Include/core_sc000.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_sc000.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_sc000.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_sc000.h diff --git a/Firmware/Drivers/CMSIS/Include/core_sc300.h b/Firmware/Board/v3.3/Drivers/CMSIS/Include/core_sc300.h similarity index 100% rename from Firmware/Drivers/CMSIS/Include/core_sc300.h rename to Firmware/Board/v3.3/Drivers/CMSIS/Include/core_sc300.h diff --git a/Firmware/Drivers/CMSIS/Lib/libarm_cortexM4lf_math.a b/Firmware/Board/v3.3/Drivers/CMSIS/Lib/libarm_cortexM4lf_math.a similarity index 100% rename from Firmware/Drivers/CMSIS/Lib/libarm_cortexM4lf_math.a rename to Firmware/Board/v3.3/Drivers/CMSIS/Lib/libarm_cortexM4lf_math.a diff --git a/Firmware/Drivers/DRV8301/drv8301.c b/Firmware/Board/v3.3/Drivers/DRV8301/drv8301.c similarity index 100% rename from Firmware/Drivers/DRV8301/drv8301.c rename to Firmware/Board/v3.3/Drivers/DRV8301/drv8301.c diff --git a/Firmware/Drivers/DRV8301/drv8301.h b/Firmware/Board/v3.3/Drivers/DRV8301/drv8301.h similarity index 100% rename from Firmware/Drivers/DRV8301/drv8301.h rename to Firmware/Board/v3.3/Drivers/DRV8301/drv8301.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_can.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c diff --git a/Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c b/Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c similarity index 100% rename from Firmware/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c rename to Firmware/Board/v3.3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c diff --git a/Firmware/Inc/FreeRTOSConfig.h b/Firmware/Board/v3.3/Inc/FreeRTOSConfig.h similarity index 100% rename from Firmware/Inc/FreeRTOSConfig.h rename to Firmware/Board/v3.3/Inc/FreeRTOSConfig.h diff --git a/Firmware/Inc/adc.h b/Firmware/Board/v3.3/Inc/adc.h similarity index 100% rename from Firmware/Inc/adc.h rename to Firmware/Board/v3.3/Inc/adc.h diff --git a/Firmware/Inc/can.h b/Firmware/Board/v3.3/Inc/can.h similarity index 100% rename from Firmware/Inc/can.h rename to Firmware/Board/v3.3/Inc/can.h diff --git a/Firmware/Inc/dma.h b/Firmware/Board/v3.3/Inc/dma.h similarity index 100% rename from Firmware/Inc/dma.h rename to Firmware/Board/v3.3/Inc/dma.h diff --git a/Firmware/Inc/freertos_vars.h b/Firmware/Board/v3.3/Inc/freertos_vars.h similarity index 100% rename from Firmware/Inc/freertos_vars.h rename to Firmware/Board/v3.3/Inc/freertos_vars.h diff --git a/Firmware/Inc/gpio.h b/Firmware/Board/v3.3/Inc/gpio.h similarity index 100% rename from Firmware/Inc/gpio.h rename to Firmware/Board/v3.3/Inc/gpio.h diff --git a/Firmware/Inc/main.h b/Firmware/Board/v3.3/Inc/main.h similarity index 100% rename from Firmware/Inc/main.h rename to Firmware/Board/v3.3/Inc/main.h diff --git a/Firmware/Inc/mxconstants.h b/Firmware/Board/v3.3/Inc/mxconstants.h similarity index 100% rename from Firmware/Inc/mxconstants.h rename to Firmware/Board/v3.3/Inc/mxconstants.h diff --git a/Firmware/Inc/prev_board_ver/main_V3_2.h b/Firmware/Board/v3.3/Inc/prev_board_ver/main_V3_2.h similarity index 100% rename from Firmware/Inc/prev_board_ver/main_V3_2.h rename to Firmware/Board/v3.3/Inc/prev_board_ver/main_V3_2.h diff --git a/Firmware/Inc/spi.h b/Firmware/Board/v3.3/Inc/spi.h similarity index 100% rename from Firmware/Inc/spi.h rename to Firmware/Board/v3.3/Inc/spi.h diff --git a/Firmware/Inc/stm32f4xx_hal_conf.h b/Firmware/Board/v3.3/Inc/stm32f4xx_hal_conf.h similarity index 100% rename from Firmware/Inc/stm32f4xx_hal_conf.h rename to Firmware/Board/v3.3/Inc/stm32f4xx_hal_conf.h diff --git a/Firmware/Inc/stm32f4xx_it.h b/Firmware/Board/v3.3/Inc/stm32f4xx_it.h similarity index 100% rename from Firmware/Inc/stm32f4xx_it.h rename to Firmware/Board/v3.3/Inc/stm32f4xx_it.h diff --git a/Firmware/Inc/tim.h b/Firmware/Board/v3.3/Inc/tim.h similarity index 100% rename from Firmware/Inc/tim.h rename to Firmware/Board/v3.3/Inc/tim.h diff --git a/Firmware/Inc/usart.h b/Firmware/Board/v3.3/Inc/usart.h similarity index 100% rename from Firmware/Inc/usart.h rename to Firmware/Board/v3.3/Inc/usart.h diff --git a/Firmware/Inc/usb_device.h b/Firmware/Board/v3.3/Inc/usb_device.h similarity index 100% rename from Firmware/Inc/usb_device.h rename to Firmware/Board/v3.3/Inc/usb_device.h diff --git a/Firmware/Inc/usbd_cdc_if.h b/Firmware/Board/v3.3/Inc/usbd_cdc_if.h similarity index 100% rename from Firmware/Inc/usbd_cdc_if.h rename to Firmware/Board/v3.3/Inc/usbd_cdc_if.h diff --git a/Firmware/Inc/usbd_conf.h b/Firmware/Board/v3.3/Inc/usbd_conf.h similarity index 100% rename from Firmware/Inc/usbd_conf.h rename to Firmware/Board/v3.3/Inc/usbd_conf.h diff --git a/Firmware/Inc/usbd_desc.h b/Firmware/Board/v3.3/Inc/usbd_desc.h similarity index 100% rename from Firmware/Inc/usbd_desc.h rename to Firmware/Board/v3.3/Inc/usbd_desc.h diff --git a/Firmware/Board/v3.3/Makefile b/Firmware/Board/v3.3/Makefile new file mode 100644 index 00000000..82cdc7d2 --- /dev/null +++ b/Firmware/Board/v3.3/Makefile @@ -0,0 +1,78 @@ + +###################################### +# source +###################################### +C_SOURCES = \ + Middlewares/Third_Party/FreeRTOS/Source/queue.c \ + Middlewares/Third_Party/FreeRTOS/Source/tasks.c \ + Middlewares/Third_Party/FreeRTOS/Source/list.c \ + Middlewares/Third_Party/FreeRTOS/Source/event_groups.c \ + Middlewares/Third_Party/FreeRTOS/Source/croutine.c \ + Middlewares/Third_Party/FreeRTOS/Source/timers.c \ + Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \ + Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c \ + Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c \ + Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c \ + Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c \ + Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c \ + Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c \ + Src/system_stm32f4xx.c \ + Src/stm32f4xx_it.c \ + Src/stm32f4xx_hal_msp.c \ + Src/stm32f4xx_hal_timebase_TIM.c \ + Src/tim.c \ + Src/gpio.c \ + Src/main.c \ + Src/adc.c \ + Src/freertos.c \ + Src/spi.c \ + Src/can.c \ + Src/usart.c \ + Src/dma.c \ + Src/usbd_conf.c \ + Src/usbd_desc.c \ + Src/usb_device.c \ + Drivers/DRV8301/drv8301.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c \ + Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c \ + Src/usbd_cdc_if.c \ + Src/syscalls.c +CPP_SOURCES = +ASM_SOURCES = \ + startup/startup_stm32f405xx.s + +####################################### +# Includes +####################################### +AS_INCLUDES = +C_INCLUDES = -IMiddlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F \ + -IMiddlewares/Third_Party/FreeRTOS/Source/include \ + -IMiddlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS \ + -IDrivers/DRV8301 \ + -IMiddlewares/ST/STM32_USB_Device_Library/Core/Inc \ + -IMiddlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc \ + -IDrivers/STM32F4xx_HAL_Driver/Inc \ + -IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy \ + -IDrivers/CMSIS/Device/ST/STM32F4xx/Include \ + -IDrivers/CMSIS/Include \ + -IInc diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c diff --git a/Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c b/Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c similarity index 100% rename from Firmware/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c rename to Firmware/Board/v3.3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/croutine.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/croutine.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/croutine.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/croutine.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/event_groups.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOS.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOSConfig_template.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOSConfig_template.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOSConfig_template.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/FreeRTOSConfig_template.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/StackMacros.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/croutine.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/deprecated_definitions.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/event_groups.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/list.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/list.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/list.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/list.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_prototypes.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/mpu_wrappers.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/portable.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/projdefs.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/queue.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/semphr.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/task.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/task.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/task.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/task.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/include/timers.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/list.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/list.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/list.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/list.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/queue.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/queue.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/queue.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/queue.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/tasks.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/tasks.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/tasks.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/tasks.c diff --git a/Firmware/Middlewares/Third_Party/FreeRTOS/Source/timers.c b/Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/timers.c similarity index 100% rename from Firmware/Middlewares/Third_Party/FreeRTOS/Source/timers.c rename to Firmware/Board/v3.3/Middlewares/Third_Party/FreeRTOS/Source/timers.c diff --git a/Firmware/Odrive.ioc b/Firmware/Board/v3.3/Odrive.ioc similarity index 100% rename from Firmware/Odrive.ioc rename to Firmware/Board/v3.3/Odrive.ioc diff --git a/Firmware/STM32F405RGTx_FLASH.ld b/Firmware/Board/v3.3/STM32F405RGTx_FLASH.ld similarity index 100% rename from Firmware/STM32F405RGTx_FLASH.ld rename to Firmware/Board/v3.3/STM32F405RGTx_FLASH.ld diff --git a/Firmware/Src/adc.c b/Firmware/Board/v3.3/Src/adc.c similarity index 100% rename from Firmware/Src/adc.c rename to Firmware/Board/v3.3/Src/adc.c diff --git a/Firmware/Src/can.c b/Firmware/Board/v3.3/Src/can.c similarity index 100% rename from Firmware/Src/can.c rename to Firmware/Board/v3.3/Src/can.c diff --git a/Firmware/Src/dma.c b/Firmware/Board/v3.3/Src/dma.c similarity index 100% rename from Firmware/Src/dma.c rename to Firmware/Board/v3.3/Src/dma.c diff --git a/Firmware/Src/freertos.c b/Firmware/Board/v3.3/Src/freertos.c similarity index 100% rename from Firmware/Src/freertos.c rename to Firmware/Board/v3.3/Src/freertos.c diff --git a/Firmware/Src/gpio.c b/Firmware/Board/v3.3/Src/gpio.c similarity index 100% rename from Firmware/Src/gpio.c rename to Firmware/Board/v3.3/Src/gpio.c diff --git a/Firmware/Src/main.c b/Firmware/Board/v3.3/Src/main.c similarity index 100% rename from Firmware/Src/main.c rename to Firmware/Board/v3.3/Src/main.c diff --git a/Firmware/Src/prev_board_ver/adc_V3_2.c b/Firmware/Board/v3.3/Src/prev_board_ver/adc_V3_2.c similarity index 100% rename from Firmware/Src/prev_board_ver/adc_V3_2.c rename to Firmware/Board/v3.3/Src/prev_board_ver/adc_V3_2.c diff --git a/Firmware/Src/prev_board_ver/gpio_V3_2.c b/Firmware/Board/v3.3/Src/prev_board_ver/gpio_V3_2.c similarity index 100% rename from Firmware/Src/prev_board_ver/gpio_V3_2.c rename to Firmware/Board/v3.3/Src/prev_board_ver/gpio_V3_2.c diff --git a/Firmware/Src/spi.c b/Firmware/Board/v3.3/Src/spi.c similarity index 100% rename from Firmware/Src/spi.c rename to Firmware/Board/v3.3/Src/spi.c diff --git a/Firmware/Src/stm32f4xx_hal_msp.c b/Firmware/Board/v3.3/Src/stm32f4xx_hal_msp.c similarity index 100% rename from Firmware/Src/stm32f4xx_hal_msp.c rename to Firmware/Board/v3.3/Src/stm32f4xx_hal_msp.c diff --git a/Firmware/Src/stm32f4xx_hal_timebase_TIM.c b/Firmware/Board/v3.3/Src/stm32f4xx_hal_timebase_TIM.c similarity index 100% rename from Firmware/Src/stm32f4xx_hal_timebase_TIM.c rename to Firmware/Board/v3.3/Src/stm32f4xx_hal_timebase_TIM.c diff --git a/Firmware/Src/stm32f4xx_it.c b/Firmware/Board/v3.3/Src/stm32f4xx_it.c similarity index 100% rename from Firmware/Src/stm32f4xx_it.c rename to Firmware/Board/v3.3/Src/stm32f4xx_it.c diff --git a/Firmware/Src/syscalls.c b/Firmware/Board/v3.3/Src/syscalls.c similarity index 100% rename from Firmware/Src/syscalls.c rename to Firmware/Board/v3.3/Src/syscalls.c diff --git a/Firmware/Src/system_stm32f4xx.c b/Firmware/Board/v3.3/Src/system_stm32f4xx.c similarity index 100% rename from Firmware/Src/system_stm32f4xx.c rename to Firmware/Board/v3.3/Src/system_stm32f4xx.c diff --git a/Firmware/Src/tim.c b/Firmware/Board/v3.3/Src/tim.c similarity index 100% rename from Firmware/Src/tim.c rename to Firmware/Board/v3.3/Src/tim.c diff --git a/Firmware/Src/usart.c b/Firmware/Board/v3.3/Src/usart.c similarity index 100% rename from Firmware/Src/usart.c rename to Firmware/Board/v3.3/Src/usart.c diff --git a/Firmware/Src/usb_device.c b/Firmware/Board/v3.3/Src/usb_device.c similarity index 100% rename from Firmware/Src/usb_device.c rename to Firmware/Board/v3.3/Src/usb_device.c diff --git a/Firmware/Src/usbd_cdc_if.c b/Firmware/Board/v3.3/Src/usbd_cdc_if.c similarity index 100% rename from Firmware/Src/usbd_cdc_if.c rename to Firmware/Board/v3.3/Src/usbd_cdc_if.c diff --git a/Firmware/Src/usbd_conf.c b/Firmware/Board/v3.3/Src/usbd_conf.c similarity index 100% rename from Firmware/Src/usbd_conf.c rename to Firmware/Board/v3.3/Src/usbd_conf.c diff --git a/Firmware/Src/usbd_desc.c b/Firmware/Board/v3.3/Src/usbd_desc.c similarity index 100% rename from Firmware/Src/usbd_desc.c rename to Firmware/Board/v3.3/Src/usbd_desc.c diff --git a/Firmware/startup/startup_stm32f405xx.s b/Firmware/Board/v3.3/startup/startup_stm32f405xx.s similarity index 100% rename from Firmware/startup/startup_stm32f405xx.s rename to Firmware/Board/v3.3/startup/startup_stm32f405xx.s diff --git a/Firmware/Makefile b/Firmware/Makefile index 3ad6d167..680d59de 100644 --- a/Firmware/Makefile +++ b/Firmware/Makefile @@ -1,213 +1,23 @@ -###################################### -# Makefile by CubeMX2Makefile.py -###################################### -###################################### -# target -###################################### -TARGET = ODriveFirmware +# This is only a stub for various commands. +# Tup is used for the actual compilation. -###################################### -# building variables -###################################### -# debug build? -DEBUG = 1 -# optimization -OPT = -Og -ffast-math +FIRMWARE = build/ODriveFirmware.elf -####################################### -# pathes -####################################### -# Build path -BUILD_DIR = build +all: + tup -###################################### -# source -###################################### -C_SOURCES = \ - Middlewares/Third_Party/FreeRTOS/Source/queue.c \ - Middlewares/Third_Party/FreeRTOS/Source/tasks.c \ - Middlewares/Third_Party/FreeRTOS/Source/list.c \ - Middlewares/Third_Party/FreeRTOS/Source/event_groups.c \ - Middlewares/Third_Party/FreeRTOS/Source/croutine.c \ - Middlewares/Third_Party/FreeRTOS/Source/timers.c \ - Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \ - Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c \ - Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c \ - Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c \ - Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c \ - Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c \ - Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c \ - Src/system_stm32f4xx.c \ - Src/stm32f4xx_it.c \ - Src/stm32f4xx_hal_msp.c \ - Src/stm32f4xx_hal_timebase_TIM.c \ - Src/tim.c \ - Src/gpio.c \ - Src/main.c \ - Src/adc.c \ - Src/freertos.c \ - Src/spi.c \ - Src/can.c \ - Src/usart.c \ - Src/dma.c \ - Src/usbd_conf.c \ - Src/usbd_desc.c \ - Src/usb_device.c \ - Drivers/DRV8301/drv8301.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c \ - Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c \ - Src/usbd_cdc_if.c \ - Src/syscalls.c \ - MotorControl/utils.c \ - MotorControl/legacy_commands.c \ - MotorControl/low_level.c -CPP_SOURCES = \ - MotorControl/axis.cpp \ - MotorControl/commands.cpp \ - MotorControl/protocol.cpp -ASM_SOURCES = \ - startup/startup_stm32f405xx.s +flash: all + openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c init -c reset\ halt -c flash\ write_image\ erase\ $(FIRMWARE) -c reset\ run -c exit -####################################### -# binaries -####################################### -CC = arm-none-eabi-gcc -CXX = arm-none-eabi-g++ -AS = arm-none-eabi-gcc -x assembler-with-cpp -CP = arm-none-eabi-objcopy -AR = arm-none-eabi-ar -SZ = arm-none-eabi-size -HEX = $(CP) -O ihex -BIN = $(CP) -O binary -S - -####################################### -# CFLAGS -####################################### -# macros for gcc -AS_DEFS = -C_DEFS = -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -# includes for gcc -AS_INCLUDES = -C_INCLUDES = -IMiddlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -C_INCLUDES += -IMiddlewares/Third_Party/FreeRTOS/Source/include -C_INCLUDES += -IMiddlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -C_INCLUDES += -IDrivers/DRV8301 -C_INCLUDES += -IMiddlewares/ST/STM32_USB_Device_Library/Core/Inc -C_INCLUDES += -IMiddlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -C_INCLUDES += -IDrivers/STM32F4xx_HAL_Driver/Inc -C_INCLUDES += -IDrivers/STM32F4xx_HAL_Driver/Inc/Legacy -C_INCLUDES += -IDrivers/CMSIS/Device/ST/STM32F4xx/Include -C_INCLUDES += -IDrivers/CMSIS/Include -C_INCLUDES += -IInc -C_INCLUDES += -IMotorControl -# compile gcc flags -ASFLAGS = -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections -CFLAGS = -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections -CXXFLAGS = -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections -ifeq ($(DEBUG), 1) -CFLAGS += -g -gdwarf-2 -CXXFLAGS += -g -gdwarf-2 -endif -# Generate dependency information -CFLAGS += -std=c99 -MD -MP -MF .dep/$(@F).d -CXXFLAGS += -std=c++14 -MD -MP -MF .dep/$(@F).d +gdb: all + arm-none-eabi-gdb $(FIRMWARE) -x openocd.gdbinit -####################################### -# LDFLAGS -####################################### -# link script -LDSCRIPT = STM32F405RGTx_FLASH.ld -# libraries -LIBS = -lc -lm -lnosys -larm_cortexM4lf_math -LIBDIR = -LDrivers/CMSIS/Lib -LDFLAGS = -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nosys.specs -specs=nano.specs -u _printf_float -u _scanf_float $(OPT) -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections - -# default action: build all -all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin - -####################################### -# build the application -####################################### -# list of objects -OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o))) -vpath %.c $(sort $(dir $(C_SOURCES))) -# list of C++ objects -OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(CPP_SOURCES:.cpp=.o))) -vpath %.cpp $(sort $(dir $(CPP_SOURCES))) -# list of ASM program objects -OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o))) -vpath %.s $(sort $(dir $(ASM_SOURCES))) - -$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) - @$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@ - -$(BUILD_DIR)/%.o: %.cpp Makefile | $(BUILD_DIR) - @$(CXX) -c $(CXXFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.cpp=.lst)) $< -o $@ - -$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR) - @$(AS) -c $(CFLAGS) $< -o $@ - -$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile - @$(CXX) $(OBJECTS) $(LDFLAGS) -o $@ - $(SZ) $@ - -$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR) - @$(HEX) $< $@ - -$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR) - @$(BIN) $< $@ - -$(BUILD_DIR): - mkdir -p $@ - -####################################### -# clean up -####################################### -clean: - -rm -fR .dep $(BUILD_DIR) - -####################################### -# flashing / debug -####################################### - -flash: $(BUILD_DIR)/$(TARGET).elf - openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c init -c reset\ halt -c flash\ write_image\ erase\ $(BUILD_DIR)/$(TARGET).elf -c reset\ run -c exit - -gdb: $(BUILD_DIR)/$(TARGET).elf - arm-none-eabi-gdb $(BUILD_DIR)/$(TARGET).elf -x openocd.gdbinit - -bmp: $(BUILD_DIR)/$(TARGET).elf +bmp: all arm-none-eabi-gdb --ex 'target extended-remote /dev/stlink' \ --ex 'monitor swdp_scan' \ --ex 'attach 1' \ - --ex 'load' $(BUILD_DIR)/$(TARGET).elf + --ex 'load' $(FIRMWARE) -####################################### -# dependencies -####################################### --include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*) +.PHONY: all flash gdb bmp -.PHONY: clean all flash gdb - -# *** EOF *** diff --git a/Firmware/README.md b/Firmware/README.md index bd9602bd..f0f7e8be 100644 --- a/Firmware/README.md +++ b/Firmware/README.md @@ -120,26 +120,34 @@ To compile the program, you first need to install the prerequisite tools: #### Linux: * `gcc-arm-none-eabi`: GCC compilation toolchain for ARM microcontrollers. * Installing on Ubuntu: `sudo apt-get install gcc-arm-none-eabi` + * Installing on Arch Linux: `sudo pacman -S arm-none-eabi-gcc arm-none-eabi-binutils` * `gdb-arm-none-eabi`: GNU project debugger for ARM microcontrollers. * Installing on Ubuntu: `sudo apt-get install gdb-arm-none-eabi` + * Installing on Arch Linux: `sudo pacman -S arm-none-eabi-gdb` * `OpenOCD`: Open On-Chip Debugging tools. This is what we use to flash the code onto the microcontroller. * Installing on Ubuntu: `sudo apt-get install openocd` + * Installing on Arch Linux: build and install the [AUR package](https://aur.archlinux.org/packages/openocd/) +* `tup`: Used as a build tool + * Installing on Ubuntu: `sudo apt-add-repository 'deb http://ppa.launchpad.net/anatol/tup/ubuntu precise main'; sudo apt-get update; sudo apt-get install tup` + * Installing on Arch Linux: `sudo pacman -S tup` * No additional USB CDC driver should be required on Linux. #### Mac: * `brew cask install gcc-arm-embedded`: GCC toolchain+debugger +* `brew tap homebrew/fuse; brew install homebrew/fuse/tup`: Build tool * `brew install openocd`: Programmer #### Windows: Install the following: * [Git for windows](https://git-scm.com/download/win). This intalls the Git Bash, which is a unix style command line interface that we will be using. * [GNU ARM Embedded Toolchain](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads). The cross-compiler used to compile the code. Download and install the "Windows 32-bit" version. Make sure to tick the "add to path" option. -* [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm). Make is used to script the compilation process. Download and run the complete package setup program. Add the path of the binaries to your PATH environment variable. For me this was at `C:\Program Files (x86)\GnuWin32\bin`. For details on how to set your path envirment in windows see [these instructions.](https://www.java.com/en/download/help/path.xml) +* [Tup](http://gittup.org/tup/index.html) is used to script the compilation process. Unpack the zip-folder. Then add the path that contains the executable (something like `C:\Users\yourname\Downloads\tup-latest`) to your PATH environment variable. For details on how to set your path envirment in windows see [these instructions.](https://www.java.com/en/download/help/path.xml) +* [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm). This is optional and mainly used because commands are short and developers are used to it. If you don't want to use it, you can look at the Makefile to get the corresponding commands. Download and run the complete package setup program. Add the path of the binaries to your PATH environment variable. For me this was at `C:\Program Files (x86)\GnuWin32\bin`. * OpenOCD. Follow the instructions at [GNU ARM Eclipse - How to install the OpenOCD binaries](http://gnuarmeclipse.github.io/openocd/install/), including the part about ST-LINK/V2 drivers. Add the path of the binaries to your PATH environment variable. For me this was at `C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201704182147-dev\bin`.

## Setting up an IDE -ODrive is a Makefile project. It does not require an IDE, but the open-source IDE VSCode is recommended. It is also possible to use Eclipse. If you'd like to go that route, please see the respective configuration document: +For working with the ODrive code you don't need an IDE, but the open-source IDE VSCode is recommended. It is also possible to use Eclipse. If you'd like to go that route, please see the respective configuration document: * [Configuring VSCode](configuring-vscode.md) * [Configuring Eclipse](configuring-eclipse.md) diff --git a/Firmware/Tupfile.lua b/Firmware/Tupfile.lua new file mode 100644 index 00000000..171c0d43 --- /dev/null +++ b/Firmware/Tupfile.lua @@ -0,0 +1,76 @@ + +tup.include('build.lua') + +boarddir = 'Board/v3.3' + + +-- C-specific flags +FLAGS += '-D__weak="__attribute__((weak))"' +FLAGS += '-D__packed="__attribute__((__packed__))"' +FLAGS += '-DUSE_HAL_DRIVER' +FLAGS += '-DSTM32F405xx' + +FLAGS += '-mthumb' +FLAGS += '-mcpu=cortex-m4' +FLAGS += '-mfpu=fpv4-sp-d16' +FLAGS += '-mfloat-abi=hard' +FLAGS += { '-Wall', '-fdata-sections', '-ffunction-sections'} + +if tup.getconfig('DEBUG') == 'y' then + --C_FLAGS += '-g -gdwarf-2' + FLAGS += '-g -gdwarf-2' +end + +-- linker flags +LDFLAGS += '-T'..boarddir..'/STM32F405RGTx_FLASH.ld' +LDFLAGS += '-L'..boarddir..'/Drivers/CMSIS/Lib' -- lib dir +LDFLAGS += '-lc -lm -lnosys -larm_cortexM4lf_math' -- libs +LDFLAGS += '-mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -specs=nosys.specs -specs=nano.specs -u _printf_float -u _scanf_float -Wl,--cref -Wl,--gc-sections' + + +-- common flags for ASM, C and C++ +OPT += '-Og' +OPT += '-ffast-math' +tup.append_table(FLAGS, OPT) +tup.append_table(LDFLAGS, OPT) + +toolchain = GCCToolchain('arm-none-eabi-', 'build', FLAGS, LDFLAGS) + + +-- Load list of source files Makefile that was autogenerated by CubeMX +vars = parse_makefile_vars(boarddir..'/Makefile') +all_stm_sources = (vars['C_SOURCES'] or '')..' '..(vars['CPP_SOURCES'] or '')..' '..(vars['ASM_SOURCES'] or '') +for src in string.gmatch(all_stm_sources, "%S+") do + stm_sources += boarddir..'/'..src +end +for src in string.gmatch(vars['C_INCLUDES'] or '', "%S+") do + stm_includes += boarddir..'/'..string.sub(src, 3, -1) -- remove "-I" from each include path +end + +stm_includes += 'MotorControl' +build{ + name='stm_platform', + type='objects', + toolchains={toolchain}, + packages={}, + sources=stm_sources, + includes=stm_includes +} + +build{ + name='ODriveFirmware', + toolchains={toolchain}, + --toolchains={LLVMToolchain('x86_64', {'-Ofast'}, {'-flto'})}, + packages={'stm_platform'}, + sources={ + 'MotorControl/utils.c', + 'MotorControl/legacy_commands.c', + 'MotorControl/low_level.c', + 'MotorControl/axis.cpp', + 'MotorControl/commands.cpp', + 'MotorControl/protocol.cpp' + }, + includes={ + 'MotorControl' + } +} diff --git a/Firmware/build.lua b/Firmware/build.lua new file mode 100644 index 00000000..6e4ecdd9 --- /dev/null +++ b/Firmware/build.lua @@ -0,0 +1,166 @@ + +-- This file contains support functions for Tupfile.lua + +function trim(s) + return (s:gsub("^%s*(.-)%s*$", "%1")) +end + +function string:split(sep) + local sep, fields = sep or ":", {} + local pattern = string.format("([^%s]+)", sep) + self:gsub(pattern, function(c) fields[#fields+1] = c end) + return fields +end + +-- Very basic parser to retrieve variables from a Makefile +function parse_makefile_vars(makefile) + vars = {} + current_var = nil + for line in io.lines(tup.getcwd()..'/'..makefile) do + if current_var == nil then + i,j = string.find(line, "+=") + if not i then + i,j = string.find(line, "=") + end + if i then + current_var = trim(string.sub(line, 1, i-1)) + vars[current_var] = vars[current_var] or '' + line = string.sub(line, j+1, -1) + --print("varname: "..varname.." the rest: "..line) + end + end + + if current_var != nil then + --print("append chunk "..trim(line).." to "..current_var) + vars[current_var] = vars[current_var]..' '..trim(line) + if string.sub(vars[current_var], -1) == '\\' then + vars[current_var] = string.sub(vars[current_var], 1, -2) + else + current_var = nil + end + end + end + return vars +end + + + + +function GCCToolchain(prefix, builddir, compiler_flags, linker_flags) + + -- add some default compiler flags + compiler_flags += '-fstack-usage' + + gcc_generic_compiler = function(compiler, compiler_flags, gen_su_file, src, flags, includes, outputs) + -- convert include list to flags + inc_flags = {} + for _,inc in pairs(includes) do + inc_flags += "-I"..inc + end + -- todo: vary build directory + obj_file = builddir.."/"..src:gsub("/","_")..".o" + outputs.object_files += obj_file + if gen_su_file then + su_file = builddir.."/"..src:gsub("/","_")..".su" + extra_outputs = { su_file } + outputs.su_files += su_file + else + extra_outputs = {} + end + tup.frule{ + inputs= { src }, + command=compiler..' -c %f '.. + tostring(compiler_flags)..' '.. -- CFLAGS for this compiler + tostring(inc_flags)..' '.. -- CFLAGS for this translation unit + tostring(flags).. -- CFLAGS for this translation unit + ' -o %o', + outputs={obj_file,extra_outputs=extra_outputs} + } + end + return { + compile_c = function(src, flags, includes, outputs) gcc_generic_compiler(prefix..'gcc -std=c99', compiler_flags, true, src, flags, includes, outputs) end, + compile_cpp = function(src, flags, includes, outputs) gcc_generic_compiler(prefix..'g++ -std=c++14', compiler_flags, true, src, flags, includes, outputs) end, + compile_asm = function(src, flags, includes, outputs) gcc_generic_compiler(prefix..'gcc -x assembler-with-cpp', compiler_flags, false, src, flags, includes, outputs) end, + link = function(objects, output_name) + output_name = builddir..'/'..output_name + tup.frule{ + inputs=objects, + command=prefix..'g++ %f '.. + tostring(linker_flags)..' '.. + '-Wl,-Map=%O.map'.. + ' -o %o; '.. + prefix..'size %o', + outputs={output_name..'.elf', extra_outputs={output_name..'.map'}} + } + tup.frule{inputs={output_name..'.elf'}, command=prefix..'objcopy -O ihex %f %o', outputs={output_name..'.hex'}} + tup.frule{inputs={output_name..'.elf'}, command=prefix..'objcopy -O binary -S %f %o', outputs={output_name..'.bin'}} + end + } +end + +all_packages = {} + +-- toolchains: Each element of this list is a collection of functions, such as compile_c, link, ... +-- You can create a new toolchain object for each platform you want to build for. +function build(args) + if args.toolchain == nil then args.toolchain = {} end + if args.sources == nil then args.sources = {} end + if args.includes == nil then args.includes = {} end + if args.packages == nil then args.packages = {} end + if args.c_flags == nil then args.c_flags = {} end + if args.cpp_flags == nil then args.cpp_flags = {} end + if args.asm_flags == nil then args.asm_flags = {} end + if args.ld_flags == nil then args.ld_flags = {} end + if args.linker_objects == nil then args.linker_objects = {} end + + -- add includes of other packages + for _,pkg_name in pairs(args.packages) do + --print('depend on package '..pkg_name) + pkg = all_packages[pkg_name] + if pkg == nil then + error("unknown package "..pkg_name) + end + -- add path of each include + for _,inc in pairs(pkg.includes or {}) do + args.includes += tostring(inc) + end + tup.append_table(args.linker_objects, pkg.object_files) + end + + -- run everything once for every toolchain + for _,toolchain in pairs(args.toolchains) do + -- compile + outputs = {} + for _,src in pairs(args.sources) do + --print("compile "..src) + if tup.ext(src) == 'c' then + toolchain.compile_c(src, args.c_flags, args.includes, outputs) + elseif tup.ext(src) == 'cpp' then + toolchain.compile_cpp(src, args.cpp_flags, args.includes, outputs) + elseif tup.ext(src) == 's' or tup.ext(src) == 'asm' then + toolchain.compile_asm(src, args.asm_flags, args.includes, outputs) + else + error('unrecognized file ending') + end + end + + -- link + if outputs.object_files != nil and args.type != 'objects' then + tup.append_table(args.linker_objects, outputs.object_files) + toolchain.link(args.linker_objects, args.name) + end + + outputs.includes = {} + for _,inc in pairs(args.includes) do + table.insert(outputs.includes, tup.nodevariable(inc)) + end + if args.name != nil then + all_packages[args.name] = outputs + end + end + + --for k,v in pairs(all_packages) do + -- print('have package '..k) + --end +end + diff --git a/README.md b/README.md index 2c93fd63..192a3c6b 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ This project is all about accurately driving brushless motors, for cheap. The aim is to make it possible to use inexpensive brushless motors in high performance robotics projects, like [this](https://www.youtube.com/watch?v=WT4E5nb3KtY). +| Branch | Build Status | +|--------|--------------| +| master | [![Build Status](https://travis-ci.org/madcowswe/ODrive.png?branch=master)](https://travis-ci.org/madcowswe/ODrive) | +| devel | [![Build Status](https://travis-ci.org/madcowswe/ODrive.png?branch=devel)](https://travis-ci.org/madcowswe/ODrive) | + ## Getting Started It is perfectly fine, and even recommended, to start testing with just a single motor and encoder. Make sure you have a good mechanical connection between the encoder and the motor, slip can cause disasterous oscillations. diff --git a/Tupfile.ini b/Tupfile.ini new file mode 100644 index 00000000..e69de29b From 472cf0b3aec62770b6efa2352e3bb20d0ea07ebb Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Sun, 25 Feb 2018 19:36:27 -0800 Subject: [PATCH 2/9] Update README.md --- Firmware/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/README.md b/Firmware/README.md index f0f7e8be..424042a7 100644 --- a/Firmware/README.md +++ b/Firmware/README.md @@ -141,7 +141,7 @@ To compile the program, you first need to install the prerequisite tools: Install the following: * [Git for windows](https://git-scm.com/download/win). This intalls the Git Bash, which is a unix style command line interface that we will be using. * [GNU ARM Embedded Toolchain](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads). The cross-compiler used to compile the code. Download and install the "Windows 32-bit" version. Make sure to tick the "add to path" option. -* [Tup](http://gittup.org/tup/index.html) is used to script the compilation process. Unpack the zip-folder. Then add the path that contains the executable (something like `C:\Users\yourname\Downloads\tup-latest`) to your PATH environment variable. For details on how to set your path envirment in windows see [these instructions.](https://www.java.com/en/download/help/path.xml) +* [Tup](http://gittup.org/tup/index.html) is used to script the compilation process. Unpack the zip-folder. Then add the path that contains the executable (something like `C:\Users\yourname\the\place\you\unzipped\tup-latest`) to your PATH environment variable. For details on how to set your path envirment in windows see [these instructions.](https://www.java.com/en/download/help/path.xml) * [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm). This is optional and mainly used because commands are short and developers are used to it. If you don't want to use it, you can look at the Makefile to get the corresponding commands. Download and run the complete package setup program. Add the path of the binaries to your PATH environment variable. For me this was at `C:\Program Files (x86)\GnuWin32\bin`. * OpenOCD. Follow the instructions at [GNU ARM Eclipse - How to install the OpenOCD binaries](http://gnuarmeclipse.github.io/openocd/install/), including the part about ST-LINK/V2 drivers. Add the path of the binaries to your PATH environment variable. For me this was at `C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201704182147-dev\bin`. From 0420015ec67aeec9fd89e973877ee50506ccb768 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Sun, 25 Feb 2018 19:38:50 -0800 Subject: [PATCH 3/9] add clean command --- Firmware/Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Firmware/Makefile b/Firmware/Makefile index 680d59de..2dd304b4 100644 --- a/Firmware/Makefile +++ b/Firmware/Makefile @@ -2,7 +2,8 @@ # This is only a stub for various commands. # Tup is used for the actual compilation. -FIRMWARE = build/ODriveFirmware.elf +BUILD_DIR = build +FIRMWARE = $(BUILD_DIR)/ODriveFirmware.elf all: tup @@ -19,5 +20,8 @@ bmp: all --ex 'attach 1' \ --ex 'load' $(FIRMWARE) -.PHONY: all flash gdb bmp +clean: + -rm -fR .dep $(BUILD_DIR) + +.PHONY: all flash gdb bmp clean From 19c3967a0e1f15866ebb68c9f4da98fc4ba067d7 Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Sun, 25 Feb 2018 20:45:24 -0800 Subject: [PATCH 4/9] make tup build quieter and work on windows --- Firmware/Makefile | 2 +- Firmware/Tupfile.lua | 2 +- Firmware/build.lua | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Firmware/Makefile b/Firmware/Makefile index 2dd304b4..347ae37d 100644 --- a/Firmware/Makefile +++ b/Firmware/Makefile @@ -6,7 +6,7 @@ BUILD_DIR = build FIRMWARE = $(BUILD_DIR)/ODriveFirmware.elf all: - tup + @tup --quiet flash: all openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg -c init -c reset\ halt -c flash\ write_image\ erase\ $(FIRMWARE) -c reset\ run -c exit diff --git a/Firmware/Tupfile.lua b/Firmware/Tupfile.lua index 171c0d43..3885d8bd 100644 --- a/Firmware/Tupfile.lua +++ b/Firmware/Tupfile.lua @@ -62,7 +62,7 @@ build{ toolchains={toolchain}, --toolchains={LLVMToolchain('x86_64', {'-Ofast'}, {'-flto'})}, packages={'stm_platform'}, - sources={ + sources={ 'MotorControl/utils.c', 'MotorControl/legacy_commands.c', 'MotorControl/low_level.c', diff --git a/Firmware/build.lua b/Firmware/build.lua index 6e4ecdd9..87878b4b 100644 --- a/Firmware/build.lua +++ b/Firmware/build.lua @@ -88,10 +88,12 @@ function GCCToolchain(prefix, builddir, compiler_flags, linker_flags) command=prefix..'g++ %f '.. tostring(linker_flags)..' '.. '-Wl,-Map=%O.map'.. - ' -o %o; '.. - prefix..'size %o', + ' -o %o', outputs={output_name..'.elf', extra_outputs={output_name..'.map'}} } + -- display the size + tup.frule{inputs=output_name..'.elf', command=prefix..'size %f'} + -- create *.hex and *.bin output formats tup.frule{inputs={output_name..'.elf'}, command=prefix..'objcopy -O ihex %f %o', outputs={output_name..'.hex'}} tup.frule{inputs={output_name..'.elf'}, command=prefix..'objcopy -O binary -S %f %o', outputs={output_name..'.bin'}} end From 1344876a2a74dd4c74c8a4acfc6380627d6e6d73 Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Sun, 25 Feb 2018 20:55:27 -0800 Subject: [PATCH 5/9] fix travis --- Firmware/build.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firmware/build.lua b/Firmware/build.lua index 87878b4b..ba5ecc30 100644 --- a/Firmware/build.lua +++ b/Firmware/build.lua @@ -92,7 +92,7 @@ function GCCToolchain(prefix, builddir, compiler_flags, linker_flags) outputs={output_name..'.elf', extra_outputs={output_name..'.map'}} } -- display the size - tup.frule{inputs=output_name..'.elf', command=prefix..'size %f'} + tup.frule{inputs={output_name..'.elf'}, command=prefix..'size %f'} -- create *.hex and *.bin output formats tup.frule{inputs={output_name..'.elf'}, command=prefix..'objcopy -O ihex %f %o', outputs={output_name..'.hex'}} tup.frule{inputs={output_name..'.elf'}, command=prefix..'objcopy -O binary -S %f %o', outputs={output_name..'.bin'}} From 8c714987c63dff637fa5fb21465b879cb622aa44 Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Sun, 25 Feb 2018 20:56:16 -0800 Subject: [PATCH 6/9] update changelog --- Firmware/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Firmware/CHANGELOG.md b/Firmware/CHANGELOG.md index 9c2fb38d..11ee6e82 100644 --- a/Firmware/CHANGELOG.md +++ b/Firmware/CHANGELOG.md @@ -6,6 +6,10 @@ Please add a note of your changes below this heading if you make a PR * Reporting of DRV status/control registers and fault codes * DRV status read script * Microsecond delay function +* Travis-CI + +### Changed +* Build system is now tup instead of make ## [0.3.4] - 2018-02-13 From 39dada52090769ed6940270ba68a1ebe7e4b6400 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Sun, 25 Feb 2018 21:03:41 -0800 Subject: [PATCH 7/9] Remove c lib dep --- .travis.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index bad65bb3..91cb5a02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,11 +3,6 @@ language: c sudo: false -addons: - apt: - packages: - libc6-i386 - cache: directories: - $HOME/dl From b34e8587a1c2f123cb5261cc2bbb490fd67b6970 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Sun, 25 Feb 2018 21:14:45 -0800 Subject: [PATCH 8/9] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 91cb5a02..239e74b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,4 +23,4 @@ script: - cd Firmware - mkdir -p build - tup generate ./build.sh - - bash -x ./build.sh + - bash -xe ./build.sh From 415ddbba32cf101bb68c10227fb0a18a34a25db1 Mon Sep 17 00:00:00 2001 From: Oskar Weigl Date: Sun, 25 Feb 2018 21:17:45 -0800 Subject: [PATCH 9/9] Update .travis.yml --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index 239e74b7..531bce18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,11 @@ language: c sudo: false +addons: + apt: + packages: + libc6-i386 + cache: directories: - $HOME/dl