update compile para
This commit is contained in:
parent
23c774b2a9
commit
446efeb248
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,5 +1,6 @@
|
||||
bootloader/build/*
|
||||
lark1fq/build/*
|
||||
test/build/*
|
||||
tools/*.exe
|
||||
tools/*.xls
|
||||
.vscode/*
|
||||
|
||||
|
||||
@ -14,10 +14,31 @@ set(CMAKE_AR "${TOOLCHAIN}ar")
|
||||
set(CMAKE_RANLIB "${TOOLCHAIN}ranlib")
|
||||
set(LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/flash.ld")
|
||||
|
||||
set(MCU_FLAGS "-mcpu=cortex-m4 -mthumb -g -O2 -Wall -nostartfiles -mfloat-abi=hard -mfpu=vfpv4-d16 -fdata-sections")
|
||||
set(CMAKE_C_FLAGS "${MCU_FLAGS}")
|
||||
set(CMAKE_ASM_FLAGS "${MCU_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${MCU_FLAGS} -T${LINKER_SCRIPT} -Wl,-Map=bootloader.map")
|
||||
set(CMAKE_C_FLAGS " \
|
||||
-mcpu=cortex-m4 \
|
||||
-mthumb \
|
||||
-g3 \
|
||||
-O2 \
|
||||
-Wall \
|
||||
-nostartfiles \
|
||||
-mfloat-abi=hard \
|
||||
-mfpu=vfpv4-d16 \
|
||||
-ffunction-sections \
|
||||
-fdata-sections \
|
||||
")
|
||||
|
||||
set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}")
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS " \
|
||||
-ffunction-sections \
|
||||
-fdata-sections \
|
||||
-Wl,--gc-sections \
|
||||
-T${LINKER_SCRIPT} \
|
||||
-Wl,-Map=${PROJ_NAME}.map \
|
||||
--specs=nano.specs \
|
||||
-Wl,--print-memory-usage \
|
||||
-Wl,--print-output-format \
|
||||
")
|
||||
|
||||
add_definitions(-DSTM32F40_41xxx)
|
||||
add_definitions(-DUSE_STDPERIPH_DRIVER)
|
||||
@ -37,5 +58,24 @@ target_link_libraries(${PROJ_NAME}.elf src)
|
||||
add_custom_command(TARGET ${PROJ_NAME}.elf POST_BUILD
|
||||
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJ_NAME}.elf> ${BIN_FILE}
|
||||
COMMAND ${CMAKE_OBJDUMP} -d -S $<TARGET_FILE:${PROJ_NAME}.elf> >${ASM_FILE}
|
||||
COMMENT "Generate ${BIN_FILE}\r\n"
|
||||
# COMMENT "Generate ${BIN_FILE}\r\n"
|
||||
COMMAND size ${PROJ_NAME}.elf
|
||||
COMMAND echo "Calculating SHA-256 checksum for ${BIN_FILE}:"
|
||||
COMMAND sha256sum ${BIN_FILE}
|
||||
)
|
||||
|
||||
# get git tag
|
||||
execute_process(
|
||||
COMMAND git describe --abbrev=40 --tags --dirty --always
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET
|
||||
)
|
||||
if(GIT_TAG)
|
||||
set(PROJECT_SDK_VERSION ${GIT_TAG})
|
||||
else()
|
||||
message(WARNING "No Valid version info found for SDK!")
|
||||
set(PROJECT_SDK_VERSION "version-unknown-panic")
|
||||
endif()
|
||||
message(STATUS "Project SDK Version: ${PROJECT_SDK_VERSION}")
|
||||
|
||||
18
bootloader/Makefile
Normal file
18
bootloader/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
CMAKE = cmake # use user cmake
|
||||
cmake_generator = "Unix Makefiles"
|
||||
RM = $(CMAKE) -E remove_directory
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
TOOLCHAIN ?= arm-none-eabi-
|
||||
|
||||
#cmake definition config
|
||||
cmake_definition+= -DTOOLCHAIN=${TOOLCHAIN}
|
||||
|
||||
build:Makefile
|
||||
$(CMAKE) -S . -B build -G $(cmake_generator) $(cmake_definition)
|
||||
$(MAKE) -C build -j
|
||||
|
||||
clean::
|
||||
$(RM) build
|
||||
|
||||
.PHONY:build clean
|
||||
@ -1,14 +1,15 @@
|
||||
ENTRY(Reset_Handler)
|
||||
|
||||
StackSize = 0x4000; /* 16KB */
|
||||
|
||||
MEMORY
|
||||
{
|
||||
FLASH (rx) :ORIGIN = 0x08000000, LENGTH = 128K
|
||||
RAM (xrw) :ORIGIN = 0x20000000, LENGTH = 112K
|
||||
CCM (rw) :ORIGIN = 0x10000000, LENGTH = 48K
|
||||
CCM_STACK (rw) :ORIGIN = 0x1000C000, LENGTH = 16K
|
||||
CCM (rw) :ORIGIN = 0x10000000, LENGTH = 64K - StackSize
|
||||
}
|
||||
|
||||
_stack_top = ORIGIN(CCM_STACK) + LENGTH(CCM_STACK);
|
||||
_stack_top = ORIGIN(CCM) + LENGTH(CCM) + StackSize;
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
|
||||
@ -14,10 +14,31 @@ set(CMAKE_AR "${TOOLCHAIN}ar")
|
||||
set(CMAKE_RANLIB "${TOOLCHAIN}ranlib")
|
||||
set(LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/flash.ld")
|
||||
|
||||
set(MCU_FLAGS "-mcpu=cortex-m4 -mthumb -g -O2 -Wall -nostartfiles -mfloat-abi=hard -mfpu=vfpv4-d16 -ffunction-sections -fdata-sections")
|
||||
set(CMAKE_C_FLAGS "${MCU_FLAGS}")
|
||||
set(CMAKE_ASM_FLAGS "${MCU_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${MCU_FLAGS} -T${LINKER_SCRIPT} -Wl,-Map=lark1fq.map")
|
||||
set(CMAKE_C_FLAGS " \
|
||||
-mcpu=cortex-m4 \
|
||||
-mthumb \
|
||||
-g3 \
|
||||
-O2 \
|
||||
-Wall \
|
||||
-nostartfiles \
|
||||
-mfloat-abi=hard \
|
||||
-mfpu=vfpv4-d16 \
|
||||
-ffunction-sections \
|
||||
-fdata-sections \
|
||||
")
|
||||
|
||||
set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}")
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS " \
|
||||
-ffunction-sections \
|
||||
-fdata-sections \
|
||||
-Wl,--gc-sections \
|
||||
-T${LINKER_SCRIPT} \
|
||||
-Wl,-Map=${PROJ_NAME}.map \
|
||||
--specs=nano.specs \
|
||||
-Wl,--print-memory-usage \
|
||||
-Wl,--print-output-format \
|
||||
")
|
||||
|
||||
add_definitions(-DSTM32F40_41xxx)
|
||||
add_definitions(-DUSE_STDPERIPH_DRIVER)
|
||||
@ -40,5 +61,24 @@ target_link_libraries(${PROJ_NAME}.elf m) # math library
|
||||
add_custom_command(TARGET ${PROJ_NAME}.elf POST_BUILD
|
||||
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJ_NAME}.elf> ${BIN_FILE}
|
||||
COMMAND ${CMAKE_OBJDUMP} -d -S $<TARGET_FILE:${PROJ_NAME}.elf> >${ASM_FILE}
|
||||
COMMENT "Generate ${BIN_FILE}\r\n"
|
||||
# COMMENT "Generate ${BIN_FILE}\r\n"
|
||||
COMMAND size ${PROJ_NAME}.elf
|
||||
COMMAND echo "Calculating SHA-256 checksum for ${BIN_FILE}:"
|
||||
COMMAND sha256sum ${BIN_FILE}
|
||||
)
|
||||
|
||||
# get git tag
|
||||
execute_process(
|
||||
COMMAND git describe --abbrev=40 --tags --dirty --always
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET
|
||||
)
|
||||
if(GIT_TAG)
|
||||
set(PROJECT_SDK_VERSION ${GIT_TAG})
|
||||
else()
|
||||
message(WARNING "No Valid version info found for SDK!")
|
||||
set(PROJECT_SDK_VERSION "version-unknown-panic")
|
||||
endif()
|
||||
message(STATUS "Project SDK Version: ${PROJECT_SDK_VERSION}")
|
||||
|
||||
18
lark1fq/Makefile
Normal file
18
lark1fq/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
CMAKE = cmake # use user cmake
|
||||
cmake_generator = "Unix Makefiles"
|
||||
RM = $(CMAKE) -E remove_directory
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
TOOLCHAIN ?= arm-none-eabi-
|
||||
|
||||
#cmake definition config
|
||||
cmake_definition+= -DTOOLCHAIN=${TOOLCHAIN}
|
||||
|
||||
build:Makefile
|
||||
$(CMAKE) -S . -B build -G $(cmake_generator) $(cmake_definition)
|
||||
$(MAKE) -C build -j
|
||||
|
||||
clean::
|
||||
$(RM) build
|
||||
|
||||
.PHONY:build clean
|
||||
@ -1,14 +1,15 @@
|
||||
ENTRY(Reset_Handler)
|
||||
|
||||
StackSize = 0x4000; /* 16KB */
|
||||
|
||||
MEMORY
|
||||
{
|
||||
FLASH (rx) :ORIGIN = 0x08020000, LENGTH = 384K
|
||||
RAM (xrw) :ORIGIN = 0x20000000, LENGTH = 112K
|
||||
CCM (rw) :ORIGIN = 0x10000000, LENGTH = 48K
|
||||
CCM_STACK (rw) :ORIGIN = 0x1000C000, LENGTH = 16K
|
||||
CCM (rw) :ORIGIN = 0x10000000, LENGTH = 64K - StackSize
|
||||
}
|
||||
|
||||
_stack_top = ORIGIN(CCM_STACK) + LENGTH(CCM_STACK);
|
||||
_stack_top = ORIGIN(CCM) + LENGTH(CCM) + StackSize;
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user