[update] add compile information
This commit is contained in:
parent
dc86bbc3cc
commit
afa684873a
@ -11,8 +11,18 @@ target_link_libraries(sdk component)
|
||||
add_subdirectory(${SDK_BASE_DIR}/CMSIS)
|
||||
target_link_libraries(sdk cmsis)
|
||||
|
||||
# add_custom_command(TARGET ${PROJ_NAME}.elf POST_BUILD
|
||||
# COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJ_NAME}.elf> ${PROJ_NAME}.bin
|
||||
# COMMAND ${CMAKE_OBJDUMP} -d -S $<TARGET_FILE:${PROJ_NAME}.elf> >${PROJ_NAME}.asm
|
||||
# COMMENT "Generate ${BIN_FILE}\r\n"
|
||||
# )
|
||||
# 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}")
|
||||
|
||||
@ -2,9 +2,8 @@ cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
include(proj.conf)
|
||||
|
||||
set(PROJ_NAME "gpio_led")
|
||||
project(${PROJ_NAME} VERSION 0.1)
|
||||
add_executable(${PROJ_NAME}.elf main.c)
|
||||
project(${EXAMPLE_NAME} VERSION 0.1)
|
||||
add_executable(${EXAMPLE_NAME}.elf main.c)
|
||||
|
||||
add_subdirectory(${SDK_BASE_DIR} sdk)
|
||||
target_link_libraries(${PROJ_NAME}.elf sdk)
|
||||
target_link_libraries(${EXAMPLE_NAME}.elf sdk)
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
EXAMPLE_BASE_DIR ?= $(shell realpath .)
|
||||
EXAMPLE_NAME := $(notdir $(patsubst %/,%,$(CURDIR)))
|
||||
SDK_BASE_DIR ?= $(shell realpath ./../../../..)
|
||||
|
||||
export SDK_BASE_DIR
|
||||
export EXAMPLE_NAME
|
||||
export EXAMPLE_BASE_DIR
|
||||
|
||||
GCC_PATH := $(shell which arm-none-eabi-gcc)
|
||||
CROSS_COMPILE := $(patsubst %gcc,%,$(GCC_PATH))
|
||||
|
||||
@ -2,9 +2,24 @@ ifndef VERBOSE
|
||||
MAKEFLAGS += --no-print-directory
|
||||
endif
|
||||
|
||||
CFLAGS := -mcpu=cortex-m0plus -mthumb -g3 -O2 -Wall -ffunction-sections -fdata-sections
|
||||
CFLAGS += -mcpu=cortex-m0plus
|
||||
CFLAGS += -mthumb
|
||||
CFLAGS += -g3
|
||||
CFLAGS += -O2
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -ffunction-sections
|
||||
CFLAGS += -fdata-sections
|
||||
|
||||
LDFLAGS := -mcpu=cortex-m0plus -mthumb -g3 -O2 -Wall -ffunction-sections -fdata-sections -nostartfiles -T$(SDK_BASE_DIR)/ram.ld -Wl,-Map=app.map
|
||||
LDFLAGS += -mcpu=cortex-m0plus
|
||||
LDFLAGS += -mthumb
|
||||
LDFLAGS += -g3
|
||||
LDFLAGS += -O2
|
||||
LDFLAGS += -Wall
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
LDFLAGS += -nostartfiles
|
||||
LDFLAGS += -T$(SDK_BASE_DIR)/ram.ld
|
||||
LDFLAGS += -Wl,-Map=$(EXAMPLE_NAME).map
|
||||
LDFLAGS += -Wl,--print-memory-usage
|
||||
|
||||
CMAKE := cmake
|
||||
|
||||
@ -30,10 +45,13 @@ cmake_definition+= -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)"
|
||||
|
||||
cmake_definition+= -DCONFIG_COMX=$(COMX)
|
||||
cmake_definition+= -DSDK_BASE_DIR=$(SDK_BASE_DIR)
|
||||
cmake_definition+= -DEXAMPLE_NAME=$(EXAMPLE_NAME)
|
||||
|
||||
build:Makefile
|
||||
$(CMAKE) -S . -B build -G "Unix Makefiles" $(cmake_definition)
|
||||
$(MAKE) -C build -j
|
||||
$(CROSS_COMPILE)objcopy -O binary $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).elf $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).bin
|
||||
$(CROSS_COMPILE)objdump -d -S $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).elf > $(EXAMPLE_BASE_DIR)/build/$(EXAMPLE_NAME).asm
|
||||
|
||||
clean::
|
||||
$(RM) build
|
||||
|
||||
Loading…
Reference in New Issue
Block a user