[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)
|
add_subdirectory(${SDK_BASE_DIR}/CMSIS)
|
||||||
target_link_libraries(sdk cmsis)
|
target_link_libraries(sdk cmsis)
|
||||||
|
|
||||||
# add_custom_command(TARGET ${PROJ_NAME}.elf POST_BUILD
|
# get git tag
|
||||||
# COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJ_NAME}.elf> ${PROJ_NAME}.bin
|
execute_process(
|
||||||
# COMMAND ${CMAKE_OBJDUMP} -d -S $<TARGET_FILE:${PROJ_NAME}.elf> >${PROJ_NAME}.asm
|
COMMAND git describe --abbrev=40 --tags --dirty --always
|
||||||
# COMMENT "Generate ${BIN_FILE}\r\n"
|
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)
|
include(proj.conf)
|
||||||
|
|
||||||
set(PROJ_NAME "gpio_led")
|
project(${EXAMPLE_NAME} VERSION 0.1)
|
||||||
project(${PROJ_NAME} VERSION 0.1)
|
add_executable(${EXAMPLE_NAME}.elf main.c)
|
||||||
add_executable(${PROJ_NAME}.elf main.c)
|
|
||||||
|
|
||||||
add_subdirectory(${SDK_BASE_DIR} sdk)
|
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 ./../../../..)
|
SDK_BASE_DIR ?= $(shell realpath ./../../../..)
|
||||||
|
|
||||||
export SDK_BASE_DIR
|
export SDK_BASE_DIR
|
||||||
|
export EXAMPLE_NAME
|
||||||
|
export EXAMPLE_BASE_DIR
|
||||||
|
|
||||||
GCC_PATH := $(shell which arm-none-eabi-gcc)
|
GCC_PATH := $(shell which arm-none-eabi-gcc)
|
||||||
CROSS_COMPILE := $(patsubst %gcc,%,$(GCC_PATH))
|
CROSS_COMPILE := $(patsubst %gcc,%,$(GCC_PATH))
|
||||||
|
|||||||
@ -2,9 +2,24 @@ ifndef VERBOSE
|
|||||||
MAKEFLAGS += --no-print-directory
|
MAKEFLAGS += --no-print-directory
|
||||||
endif
|
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
|
CMAKE := cmake
|
||||||
|
|
||||||
@ -30,10 +45,13 @@ cmake_definition+= -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)"
|
|||||||
|
|
||||||
cmake_definition+= -DCONFIG_COMX=$(COMX)
|
cmake_definition+= -DCONFIG_COMX=$(COMX)
|
||||||
cmake_definition+= -DSDK_BASE_DIR=$(SDK_BASE_DIR)
|
cmake_definition+= -DSDK_BASE_DIR=$(SDK_BASE_DIR)
|
||||||
|
cmake_definition+= -DEXAMPLE_NAME=$(EXAMPLE_NAME)
|
||||||
|
|
||||||
build:Makefile
|
build:Makefile
|
||||||
$(CMAKE) -S . -B build -G "Unix Makefiles" $(cmake_definition)
|
$(CMAKE) -S . -B build -G "Unix Makefiles" $(cmake_definition)
|
||||||
$(MAKE) -C build -j
|
$(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::
|
clean::
|
||||||
$(RM) build
|
$(RM) build
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user