-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
86 lines (71 loc) · 2.97 KB
/
CMakeLists.txt
File metadata and controls
86 lines (71 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
cmake_minimum_required(VERSION 3.14)
project(Bootloader CXX C ASM)
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/QueryRepositoryState.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/BitOperations.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/Units.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/Itertools.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/Assert.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/Time.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/ufsel/cmake/DummySyscalls.cmake")
string(APPEND CMAKE_CXX_FLAGS " -DUFSEL_USING_TIME")
add_definitions(-DUFSEL_USING_UNITS -DUFSEL_USING_UNIT_LITERALS -DUFSEL_USING_CHEAP_ASSERT)
add_definitions("-DTX_RECV_BUFFER_SIZE=(16*1024)")
add_definitions(-DECU_NAME=${ECU_NAME})
add_definitions(-DHSE_FREQ=${HSE_FREQ})
add_definitions(-DCAN1_BITRATE=${CAN1_BITRATE})
add_definitions(-DCAN1_PERIPHERAL=${CAN1_PERIPHERAL})
add_definitions(-DCAN1_RX_pin=${CAN1_RX_pin})
add_definitions(-DCAN1_TX_pin=${CAN1_TX_pin})
add_definitions(-DCAN1_used=${CAN1_used})
add_definitions(-DCAN2_BITRATE=${CAN2_BITRATE})
add_definitions(-DCAN2_PERIPHERAL=${CAN2_PERIPHERAL})
add_definitions(-DCAN2_RX_pin=${CAN2_RX_pin})
add_definitions(-DCAN2_TX_pin=${CAN2_TX_pin})
add_definitions(-DCAN2_used=${CAN2_used})
message(STATUS "Generating build files for ${ECU_NAME} running on stm32${MCU} with ${HSE_FREQ} MHz HSE. CAN1 baudrate ${CAN1_BITRATE}, CAN1 pins RX (${CAN1_RX_pin}), TX (${CAN1_TX_pin}), CAN2 baudrate ${CAN2_BITRATE}, pins RX (${CAN2_RX_pin}), TX (${CAN2_TX_pin})")
set(SRC
API/BLdriver.cpp
Bootloader/main.cpp
Bootloader/bootloader.cpp
Bootloader/canmanager.cpp
Bootloader/flash.cpp
BSP/entry_point.cpp
BSP/isr_vector.cpp
BSP/can.cpp
BSP/fdcan.cpp
BSP/gpio.cpp
Drivers/core_cm3.h
Drivers/core_cm4.h
Drivers/core_cm7.h
Drivers/core_cm3.c
Drivers/stm32f10x.h
Drivers/stm32f4xx.h
Drivers/stm32f767xx.h
CANdb/tx2_can.c
CANdb/tx2_ringbuf.c
CANdb/can_Bootloader.c
)
add_executable(${PROJECT_NAME}.elf ${SRC} ${UFSEL_SRC})
include_directories(SYSTEM Drivers)
include_directories(SYSTEM CANdb)
include_directories(SYSTEM ufsel/include)
include_directories(SYSTEM .)
set(HEX_FILE ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.hex)
set(BIN_FILE ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.bin)
add_custom_command(
POST_BUILD
TARGET ${PROJECT_NAME}.elf
COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${PROJECT_NAME}.elf> ${HEX_FILE}
# COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJECT_NAME}.elf> ${BIN_FILE}
COMMENT "Building ${HEX_FILE} \\nBuilding ${BIN_FILE}")
add_custom_command(
POST_BUILD
TARGET ${PROJECT_NAME}.elf
COMMAND ${CMAKE_SIZE} $<TARGET_FILE:${PROJECT_NAME}.elf>
)
#add_custom_command(
# POST_BUILD
# TARGET ${PROJECT_NAME}.elf
# WORKING_DIRECTORY ../..
# COMMAND bash ./disassemble.sh
#)