471 lines
18 KiB
CMake
471 lines
18 KiB
CMake
cmake_minimum_required (VERSION 3.5)
|
|
|
|
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
|
|
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
|
|
set(CMAKE_CXX_COMPILER arm-none-eabi-gcc)
|
|
|
|
SET(CMAKE_SYSTEM_PROCESSOR arm)
|
|
SET(CMAKE_CROSSCOMPILING 1)
|
|
SET(CMAKE_SYSTEM_NAME Generic)
|
|
|
|
set(COMMON_FLAGS "-mcpu=cortex-m3 -mthumb -Wall -fdata-sections -ffunction-sections")
|
|
set(CMAKE_ASM_FLAGS "${COMMON_FLAGS} -x assembler-with-cpp")
|
|
set(CMAKE_C_FLAGS "${COMMON_FLAGS}")
|
|
set(CMAKE_CXX_FLAGS "${COMMON_FLAGS} -Wno-volatile")
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
set(COMMON_LINKER_FLAGS "-specs=nosys.specs -T${CMAKE_SOURCE_DIR}/STM32F103RCTx_FLASH.ld -lc -lm -lnosys -lstdc++ -Wl,--gc-sections -Wl,-Map=${CMAKE_BINARY_DIR}/hover.map,--cref")
|
|
set(CMAKE_EXE_LINKER_FLAGS "${COMMON_LINKER_FLAGS}")
|
|
set(CMAKE_SHARED_LINKER_FLAGS "${COMMON_LINKER_FLAGS}")
|
|
|
|
project(bobbycar-controller-firmware ASM C CXX)
|
|
|
|
add_definitions(-DUSE_HAL_DRIVER -DSTM32F103xE)
|
|
|
|
include_directories(
|
|
.
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Inc
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy
|
|
STM32CubeF1/Drivers/CMSIS/Device/ST/STM32F1xx/Include
|
|
STM32CubeF1/Drivers/CMSIS/Include
|
|
bobbycar-foc-model
|
|
bobbycar-protocol
|
|
)
|
|
|
|
add_library(stm32_hal STATIC
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c
|
|
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c
|
|
startup_stm32f103xe.s
|
|
system_stm32f1xx.c
|
|
)
|
|
|
|
add_library(emanuel_foc_model STATIC
|
|
bobbycar-foc-model/BLDC_controller.h
|
|
bobbycar-foc-model/BLDC_controller.c
|
|
bobbycar-foc-model/BLDC_controller_data.c
|
|
bobbycar-foc-model/rtwtypes.h
|
|
)
|
|
|
|
add_library(bobbycar-protocol INTERFACE
|
|
)
|
|
|
|
|
|
|
|
|
|
#
|
|
# motor test
|
|
#
|
|
add_executable(motortest.elf config.h defines.h main.cpp)
|
|
target_link_libraries(motortest.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(motortest.elf PRIVATE
|
|
-DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
# -DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
# -DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT motortest.hex COMMAND arm-none-eabi-objcopy -O ihex motortest.elf motortest.hex DEPENDS motortest.elf)
|
|
add_custom_command(OUTPUT motortest.bin COMMAND arm-none-eabi-objcopy -O binary -S motortest.elf motortest.bin DEPENDS motortest.elf)
|
|
add_custom_target(motortest ALL SOURCES motortest.hex motortest.bin)
|
|
add_custom_target(flash-motortest COMMAND st-flash --reset write motortest.bin 0x8000000 SOURCES motortest.bin DEPENDS motortest.bin)
|
|
|
|
#
|
|
# motor test peter
|
|
#
|
|
add_executable(motortest_peter.elf config.h defines.h main.cpp)
|
|
target_link_libraries(motortest_peter.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(motortest_peter.elf PRIVATE
|
|
#-DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
-DHALL_ABC
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DFEATURE_INVERT_HALL
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
-DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT motortest_peter.hex COMMAND arm-none-eabi-objcopy -O ihex motortest_peter.elf motortest_peter.hex DEPENDS motortest_peter.elf)
|
|
add_custom_command(OUTPUT motortest_peter.bin COMMAND arm-none-eabi-objcopy -O binary -S motortest_peter.elf motortest_peter.bin DEPENDS motortest_peter.elf)
|
|
add_custom_target(motortest_peter ALL SOURCES motortest_peter.hex motortest_peter.bin)
|
|
add_custom_target(flash-motortest_peter COMMAND st-flash --reset write motortest_peter.bin 0x8000000 SOURCES motortest_peter.bin DEPENDS motortest_peter.bin)
|
|
|
|
|
|
#
|
|
# feedc0de front
|
|
#
|
|
add_executable(feedcode-front.elf config.h defines.h main.cpp)
|
|
target_link_libraries(feedcode-front.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(feedcode-front.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
-DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT feedcode-front.hex COMMAND arm-none-eabi-objcopy -O ihex feedcode-front.elf feedcode-front.hex DEPENDS feedcode-front.elf)
|
|
add_custom_command(OUTPUT feedcode-front.bin COMMAND arm-none-eabi-objcopy -O binary -S feedcode-front.elf feedcode-front.bin DEPENDS feedcode-front.elf)
|
|
add_custom_target(feedcode-front ALL SOURCES feedcode-front.hex feedcode-front.bin)
|
|
add_custom_target(flash-feedcode-front COMMAND st-flash --reset write feedcode-front.bin 0x8000000 SOURCES feedcode-front.bin DEPENDS feedcode-front.bin)
|
|
|
|
#
|
|
# feedc0de back
|
|
#
|
|
add_executable(feedcode-back.elf config.h defines.h main.cpp)
|
|
target_link_libraries(feedcode-back.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(feedcode-back.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
-DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT feedcode-back.hex COMMAND arm-none-eabi-objcopy -O ihex feedcode-back.elf feedcode-back.hex DEPENDS feedcode-back.elf)
|
|
add_custom_command(OUTPUT feedcode-back.bin COMMAND arm-none-eabi-objcopy -O binary -S feedcode-back.elf feedcode-back.bin DEPENDS feedcode-back.elf)
|
|
add_custom_target(feedcode-back ALL SOURCES feedcode-back.hex feedcode-back.bin)
|
|
add_custom_target(flash-feedcode-back COMMAND st-flash --reset write feedcode-back.bin 0x8000000 SOURCES feedcode-back.bin DEPENDS feedcode-back.bin)
|
|
|
|
|
|
#
|
|
# feedc0de 2 front
|
|
#
|
|
add_executable(feedcode2-front.elf config.h defines.h main.cpp)
|
|
target_link_libraries(feedcode2-front.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(feedcode2-front.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
-DLEFT_HALL_ABC
|
|
-DRIGHT_HALL_ABC
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT feedcode2-front.hex COMMAND arm-none-eabi-objcopy -O ihex feedcode2-front.elf feedcode2-front.hex DEPENDS feedcode2-front.elf)
|
|
add_custom_command(OUTPUT feedcode2-front.bin COMMAND arm-none-eabi-objcopy -O binary -S feedcode2-front.elf feedcode2-front.bin DEPENDS feedcode2-front.elf)
|
|
add_custom_target(feedcode2-front ALL SOURCES feedcode2-front.hex feedcode2-front.bin)
|
|
add_custom_target(flash-feedcode2-front COMMAND st-flash --reset write feedcode2-front.bin 0x8000000 SOURCES feedcode2-front.bin DEPENDS feedcode2-front.bin)
|
|
|
|
#
|
|
# feedc0de 2 back
|
|
#
|
|
add_executable(feedcode2-back.elf config.h defines.h main.cpp)
|
|
target_link_libraries(feedcode2-back.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(feedcode2-back.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
-DLEFT_HALL_ACB
|
|
-DRIGHT_HALL_ACB
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
-DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT feedcode2-back.hex COMMAND arm-none-eabi-objcopy -O ihex feedcode2-back.elf feedcode2-back.hex DEPENDS feedcode2-back.elf)
|
|
add_custom_command(OUTPUT feedcode2-back.bin COMMAND arm-none-eabi-objcopy -O binary -S feedcode2-back.elf feedcode2-back.bin DEPENDS feedcode2-back.elf)
|
|
add_custom_target(feedcode2-back ALL SOURCES feedcode2-back.hex feedcode2-back.bin)
|
|
add_custom_target(flash-feedcode2-back COMMAND st-flash --reset write feedcode2-back.bin 0x8000000 SOURCES feedcode2-back.bin DEPENDS feedcode2-back.bin)
|
|
|
|
#
|
|
# greyhash
|
|
#
|
|
add_executable(greyhash.elf config.h defines.h main.cpp)
|
|
target_link_libraries(greyhash.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(greyhash.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
-DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
-DHUART3
|
|
-DFEATURE_SERIAL_CONTROL
|
|
-DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
# -DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
)
|
|
add_custom_command(OUTPUT greyhash.hex COMMAND arm-none-eabi-objcopy -O ihex greyhash.elf greyhash.hex DEPENDS greyhash.elf)
|
|
add_custom_command(OUTPUT greyhash.bin COMMAND arm-none-eabi-objcopy -O binary -S greyhash.elf greyhash.bin DEPENDS greyhash.elf)
|
|
add_custom_target(greyhash ALL SOURCES greyhash.hex greyhash.bin)
|
|
add_custom_target(flash-greyhash COMMAND st-flash --reset write greyhash.bin 0x8000000 SOURCES greyhash.bin DEPENDS greyhash.bin)
|
|
|
|
#
|
|
# peters platine v2 front
|
|
#
|
|
add_executable(pcbv2_front.elf config.h defines.h main.cpp)
|
|
target_link_libraries(pcbv2_front.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(pcbv2_front.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
-DAMPERE2BIT_CONV=28
|
|
)
|
|
add_custom_command(OUTPUT pcbv2_front.hex COMMAND arm-none-eabi-objcopy -O ihex pcbv2_front.elf pcbv2_front.hex DEPENDS pcbv2_front.elf)
|
|
add_custom_command(OUTPUT pcbv2_front.bin COMMAND arm-none-eabi-objcopy -O binary -S pcbv2_front.elf pcbv2_front.bin DEPENDS pcbv2_front.elf)
|
|
add_custom_target(pcbv2_front ALL SOURCES pcbv2_front.hex pcbv2_front.bin)
|
|
add_custom_target(flash-pcbv2_front COMMAND st-flash --reset write pcbv2_front.bin 0x8000000 SOURCES pcbv2_front.bin DEPENDS pcbv2_front.bin)
|
|
|
|
#
|
|
# peters platine v2 back
|
|
#
|
|
add_executable(pcbv2_back.elf config.h defines.h main.cpp)
|
|
target_link_libraries(pcbv2_back.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(pcbv2_back.elf PRIVATE
|
|
# -DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
-DIS_BACK
|
|
-DAMPERE2BIT_CONV=28
|
|
)
|
|
add_custom_command(OUTPUT pcbv2_back.hex COMMAND arm-none-eabi-objcopy -O ihex pcbv2_back.elf pcbv2_back.hex DEPENDS pcbv2_back.elf)
|
|
add_custom_command(OUTPUT pcbv2_back.bin COMMAND arm-none-eabi-objcopy -O binary -S pcbv2_back.elf pcbv2_back.bin DEPENDS pcbv2_back.elf)
|
|
add_custom_target(pcbv2_back ALL SOURCES pcbv2_back.hex pcbv2_back.bin)
|
|
add_custom_target(flash-pcbv2_back COMMAND st-flash --reset write pcbv2_back.bin 0x8000000 SOURCES pcbv2_back.bin DEPENDS pcbv2_back.bin)
|
|
|
|
#
|
|
# peters platine v2 motortest
|
|
#
|
|
add_executable(pcbv2_test.elf config.h defines.h main.cpp)
|
|
target_link_libraries(pcbv2_test.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(pcbv2_test.elf PRIVATE
|
|
-DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
# -DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
-DAMPERE2BIT_CONV=28
|
|
-DLEFT_HALL_ABC
|
|
#-DLEFT_HALL_ACB
|
|
#-DLEFT_HALL_BAC
|
|
#-DLEFT_HALL_BCA
|
|
#-DLEFT_HALL_CAB
|
|
#-DLEFT_HALL_CBA
|
|
|
|
-DRIGHT_HALL_ABC
|
|
#-DRIGHT_HALL_ACB
|
|
#-DRIGHT_HALL_BAC
|
|
#-DRIGHT_HALL_BCA
|
|
#-DRIGHT_HALL_CAB
|
|
#-DRIGHT_HALL_CBA
|
|
|
|
#-DFEATURE_BETTER_FOC_CONFIG
|
|
#-DLEFT_PHASE_MEAS_AB
|
|
#-DLEFT_PHASE_MEAS_AC
|
|
#-DLEFT_PHASE_MEAS_BC
|
|
|
|
#-DRIGHT_PHASE_MEAS_AB
|
|
#-DRIGHT_PHASE_MEAS_AC
|
|
#-DRIGHT_PHASE_MEAS_BC
|
|
)
|
|
add_custom_command(OUTPUT pcbv2_test.hex COMMAND arm-none-eabi-objcopy -O ihex pcbv2_test.elf pcbv2_test.hex DEPENDS pcbv2_test.elf)
|
|
add_custom_command(OUTPUT pcbv2_test.bin COMMAND arm-none-eabi-objcopy -O binary -S pcbv2_test.elf pcbv2_test.bin DEPENDS pcbv2_test.elf)
|
|
add_custom_target(pcbv2_test ALL SOURCES pcbv2_test.hex pcbv2_test.bin)
|
|
add_custom_target(flash-pcbv2_test COMMAND st-flash --reset write pcbv2_test.bin 0x8000000 SOURCES pcbv2_test.bin DEPENDS pcbv2_test.bin)
|
|
|
|
|
|
#
|
|
# commander v2 front
|
|
#
|
|
add_executable(commander_v2_front.elf config.h defines.h main.cpp)
|
|
target_link_libraries(commander_v2_front.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(commander_v2_front.elf PRIVATE
|
|
#-DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
# -DIS_BACK
|
|
#-DAMPERE2BIT_CONV=28
|
|
-DLEFT_HALL_ABC
|
|
#-DLEFT_HALL_ACB
|
|
#-DLEFT_HALL_BAC
|
|
#-DLEFT_HALL_BCA
|
|
#-DLEFT_HALL_CAB
|
|
#-DLEFT_HALL_CBA
|
|
|
|
-DRIGHT_HALL_ABC
|
|
#-DRIGHT_HALL_ACB
|
|
#-DRIGHT_HALL_BAC
|
|
#-DRIGHT_HALL_BCA
|
|
#-DRIGHT_HALL_CAB
|
|
#-DRIGHT_HALL_CBA
|
|
|
|
#-DFEATURE_BETTER_FOC_CONFIG
|
|
#-DLEFT_PHASE_MEAS_AB
|
|
#-DLEFT_PHASE_MEAS_AC
|
|
#-DLEFT_PHASE_MEAS_BC
|
|
|
|
#-DRIGHT_PHASE_MEAS_AB
|
|
#-DRIGHT_PHASE_MEAS_AC
|
|
#-DRIGHT_PHASE_MEAS_BC
|
|
)
|
|
add_custom_command(OUTPUT commander_v2_front.hex COMMAND arm-none-eabi-objcopy -O ihex commander_v2_front.elf commander_v2_front.hex DEPENDS commander_v2_front.elf)
|
|
add_custom_command(OUTPUT commander_v2_front.bin COMMAND arm-none-eabi-objcopy -O binary -S commander_v2_front.elf commander_v2_front.bin DEPENDS commander_v2_front.elf)
|
|
add_custom_target(commander_v2_front ALL SOURCES commander_v2_front.hex commander_v2_front.bin)
|
|
add_custom_target(flash-commander_v2_front COMMAND st-flash --reset write commander_v2_front.bin 0x8000000 SOURCES commander_v2_front.bin DEPENDS commander_v2_front.bin)
|
|
|
|
|
|
#
|
|
# commander v2 back
|
|
#
|
|
add_executable(commander_v2_back.elf config.h defines.h main.cpp)
|
|
target_link_libraries(commander_v2_back.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
|
target_compile_options(commander_v2_back.elf PRIVATE
|
|
#-DMOTOR_TEST
|
|
-DFEATURE_IGNORE_OTHER_MOTOR
|
|
# -DHALL_BCA
|
|
# -DPWM_FREQ_12KHZ
|
|
# -DFEATURE_BUTTON
|
|
-DPETERS_PLATINE
|
|
# -DHUART2
|
|
# -DHUART3
|
|
# -DFEATURE_SERIAL_CONTROL
|
|
# -DFEATURE_SERIAL_FEEDBACK
|
|
# -DLOG_TO_SERIAL
|
|
-DFEATURE_CAN
|
|
# -DCAN_LOG_UNKNOWN_ADDR
|
|
-DIS_BACK
|
|
#-DAMPERE2BIT_CONV=28
|
|
-DLEFT_HALL_ABC
|
|
#-DLEFT_HALL_ACB
|
|
#-DLEFT_HALL_BAC
|
|
#-DLEFT_HALL_BCA
|
|
#-DLEFT_HALL_CAB
|
|
#-DLEFT_HALL_CBA
|
|
|
|
-DRIGHT_HALL_ABC
|
|
#-DRIGHT_HALL_ACB
|
|
#-DRIGHT_HALL_BAC
|
|
#-DRIGHT_HALL_BCA
|
|
#-DRIGHT_HALL_CAB
|
|
#-DRIGHT_HALL_CBA
|
|
|
|
#-DFEATURE_BETTER_FOC_CONFIG
|
|
#-DLEFT_PHASE_MEAS_AB
|
|
#-DLEFT_PHASE_MEAS_AC
|
|
#-DLEFT_PHASE_MEAS_BC
|
|
|
|
#-DRIGHT_PHASE_MEAS_AB
|
|
#-DRIGHT_PHASE_MEAS_AC
|
|
#-DRIGHT_PHASE_MEAS_BC
|
|
)
|
|
add_custom_command(OUTPUT commander_v2_back.hex COMMAND arm-none-eabi-objcopy -O ihex commander_v2_back.elf commander_v2_back.hex DEPENDS commander_v2_back.elf)
|
|
add_custom_command(OUTPUT commander_v2_back.bin COMMAND arm-none-eabi-objcopy -O binary -S commander_v2_back.elf commander_v2_back.bin DEPENDS commander_v2_back.elf)
|
|
add_custom_target(commander_v2_back ALL SOURCES commander_v2_back.hex commander_v2_back.bin)
|
|
add_custom_target(flash-commander_v2_back COMMAND st-flash --reset write commander_v2_back.bin 0x8000000 SOURCES commander_v2_back.bin DEPENDS commander_v2_back.bin)
|
|
|
|
|
|
# util targets
|
|
add_custom_target(debug
|
|
COMMAND openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg)
|
|
add_custom_target(unlock0
|
|
COMMAND openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "stm32f1x unlock 0")
|
|
add_custom_target(unlock1
|
|
COMMAND openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "mww 0x40022004 0x45670123" -c "mww 0x40022004 0xCDEF89AB" -c "mww 0x40022008 0x45670123" -c "mww 0x40022008 0xCDEF89AB" -c "mww 0x40022010 0x220" -c "mww 0x40022010 0x260" -c "sleep 100" -c "mww 0x40022010 0x230" -c "mwh 0x1ffff800 0x5AA5" -c "sleep 1000" -c "mww 0x40022010 0x2220" -c "sleep 100" -c "mdw 0x40022010" -c "mdw 0x4002201c" -c "mdw 0x1ffff800" -c targets -c "halt" -c "stm32f1x unlock 0")
|
|
add_custom_target(unlock2
|
|
COMMAND openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "mww 0x40022004 0x45670123" -c "mww 0x40022004 0xCDEF89AB" -c "mww 0x40022008 0x45670123" -c "mww 0x40022008 0xCDEF89AB" -c targets -c "halt" -c "stm32f1x unlock 0")
|