Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
###############################################################################
# CMSIS
###############################################################################
set(CMSIS_DIR ${CMAKE_CURRENT_LIST_DIR}/CMSIS/)

set(CMSIS_INC
${CMSIS_DIR}Device/ST/STM32F4xx/Include/
${CMSIS_DIR}Include/
)

add_library(CMSIS STATIC
${CMSIS_DIR}Device/ST/STM32F4xx/Source/gcc/system_stm32f4xx.c)

target_include_directories(CMSIS PUBLIC
${CMSIS_INC}
)

###############################################################################
# HAL
###############################################################################

set(HAL_DIR ${CMAKE_CURRENT_LIST_DIR}/STM32F4xx_HAL_Driver/)
set(HAL_INC ${HAL_DIR}Inc/)

set(HAL_SRC
${HAL_DIR}Src/stm32f4xx_hal.c
${HAL_DIR}Src/stm32f4xx_hal_cortex.c
${HAL_DIR}Src/stm32f4xx_hal_rcc_ex.c
${HAL_DIR}Src/stm32f4xx_hal_rcc.c
${HAL_DIR}Src/stm32f4xx_hal_gpio.c
${HAL_DIR}Src/stm32f4xx_hal_pwr.c
${HAL_DIR}Src/stm32f4xx_hal_pwr_ex.c
${HAL_DIR}Src/stm32f4xx_hal_sd.c
${HAL_DIR}Src/stm32f4xx_hal_spi.c
${HAL_DIR}Src/stm32f4xx_hal_uart.c
${HAL_DIR}Src/stm32f4xx_ll_sdmmc
)

#file(GLOB_RECURSE HAL_SRC ${HAL_DIR}/Src/*.*)

message("HAL FILES: " ${HAL_SRC})

add_library(HAL STATIC ${HAL_SRC})

target_include_directories(HAL PUBLIC
${CMSIS_INC}
${HAL_INC}
)

###############################################################################
# FatFs
###############################################################################
set(FATFS_DIR ${CMAKE_CURRENT_LIST_DIR}/FATFS)
set(FATFS_INC ${FATFS_DIR}/Inc/)

file(GLOB_RECURSE FATFS_SRC ${FATFS_DIR}/Src/*.*)

#message("FATFS FILES: " ${FATFS_SRC})

add_library(FATFS STATIC
${FATFS_SRC}
)

target_include_directories(FATFS PUBLIC
${HAL_INC}
${CMSIS_INC}
${FATFS_INC}
)

###############################################################################
# STARTUP
###############################################################################

add_library(STARTUP STATIC
${CMSIS_DIR}Device/ST/STM32F4xx/Source/gcc/startup_stm32f412retx.s)
71 changes: 14 additions & 57 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,72 +15,29 @@ set(BIN_FILE ${PROJECT_NAME}.bin)
set(HEX_FILEPATH ${CMAKE_BINARY_DIR}/${HEX_FILE})
set(BIN_FILEPATH ${CMAKE_BINARY_DIR}/${BIN_FILE})
set(ELF_FILEPATH ${CMAKE_BINARY_DIR}/${ELF_FILE})
set(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/prj/linker/STM32F412RETX_FLASH.ld)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T${LINKER_SCRIPT}")

message("-- Building OBC")

# add project source files
file(GLOB_RECURSE OBC_SRC src/*.*)

set(HAL
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c
3rdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c
)
# add thirdparty libraries
add_subdirectory(3rdparty)

SET(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/prj/linker/STM32F412RETX_FLASH.ld)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -T${LINKER_SCRIPT}")

add_library(CMSIS
3rdparty/CMSIS/Device/ST/STM32F4xx/Source/gcc/system_stm32f4xx.c)

target_include_directories(CMSIS PUBLIC
3rdparty/CMSIS/Include
3rdparty/CMSIS/Device/ST/STM32F4xx/Include)

add_library(STARTUP
3rdparty/CMSIS/Device/ST/STM32F4xx/Source/gcc/startup_stm32f412retx.s)

add_library(FATFS
3rdparty/FATFS/Src/bsp_driver_sd.c
3rdparty/FATFS/Src/ccsbcs.c
3rdparty/FATFS/Src/diskio.c
3rdparty/FATFS/Src/fatfs.c
3rdparty/FATFS/Src/fatfs_platform.c
3rdparty/FATFS/Src/ff.c
3rdparty/FATFS/Src/ff_gen_drv.c
3rdparty/FATFS/Src/sd_diskio.c
3rdparty/FATFS/Src/syscall.c
)

target_include_directories(FATFS PUBLIC
3rdparty/FATFS/Inc
src/bsp/configs
3rdparty/STM32F4xx_HAL_Driver/Inc
3rdparty/CMSIS/Include
3rdparty/CMSIS/Device/ST/STM32F4xx/Include
)

add_executable(${ELF_FILE} ${OBC_SRC} ${HAL} ${LINKER_SCRIPT})
add_executable(${ELF_FILE} ${OBC_SRC} ${LINKER_SCRIPT})

target_include_directories(${ELF_FILE} PUBLIC
3rdparty/STM32F4xx_HAL_Driver/Inc
3rdparty/CMSIS/Include
3rdparty/CMSIS/Device/ST/STM32F4xx/Include
3rdparty/FATFS/Inc
src/bsp
src/bsp/configs
src/proxy/sd
)

target_link_libraries(${ELF_FILE} STARTUP CMSIS FATFS)
${HAL_INC}
${CMSIS_INC}
${FATFS_INC}
src/bsp
src/bsp/configs
src/proxy/sd
)

target_link_libraries(${ELF_FILE} STARTUP FATFS HAL CMSIS)
target_compile_options(${ELF_FILE} PRIVATE "-Wall" "-Wextra")

add_custom_target(build
Expand Down