open-story-teller/firmware/cpu/gigadevice-gd32vf103/include.cmake

41 lines
2.3 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

add_definitions(-DUSE_STDPERIPH_DRIVER)
add_definitions(-DHXTAL_VALUE=8000000U)
add_definitions(-DF_CPU=48000000)
# Object build options
# -O0 No optimizations, reduce compilation time and make debugging produce the expected results.
# -mthumb Generat thumb instructions.
# -fno-builtin Do not use built-in functions provided by GCC.
# -Wall Print only standard warnings, for all use Wextra
# -ffunction-sections Place each function item into its own section in the output file.
# -fdata-sections Place each data item into its own section in the output file.
# -fomit-frame-pointer Omit the frame pointer in functions that dont need one.
# -mabi=aapcs Defines enums to be a variable sized type.
# set(OBJECT_GEN_FLAGS "-O0 -march=rv32imac -mabi=ilp32 -mcmodel=medlow -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -nostdlib -specs=picolibc.specs")
set(OBJECT_GEN_FLAGS "-march=rv32imac -mabi=ilp32 -mcmodel=medlow -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -specs=picolibc.specs")
# -Wl,--gc-sections Perform the dead code elimination.
# --specs=nano.specs Link with newlib-nano.
# --specs=picolibc.specs Link with Pico libC
# --specs=nosys.specs No syscalls, provide empty implementations for the POSIX system calls.
set(CMAKE_EXE_LINKER_FLAGS "-T${CPU_TARGET_DIR}/RISCV/env_Eclipse/GD32VF103xB.lds -Wl,--no-relax -Wl,--gc-sections -Wl,-M=${CMAKE_BINARY_DIR}/${PROJECT_NAME}.map -nostartfiles" CACHE INTERNAL "Linker options")
#---------------------------------------------------------------------------------------
# Set compiler/linker flags
#---------------------------------------------------------------------------------------
set(CMAKE_C_FLAGS "${OBJECT_GEN_FLAGS} -std=gnu11 -MMD -MP -MF" CACHE INTERNAL "C Compiler options")
set(CMAKE_CXX_FLAGS "${OBJECT_GEN_FLAGS} -std=c++11 " CACHE INTERNAL "C++ Compiler options")
set(CMAKE_ASM_FLAGS "${OBJECT_GEN_FLAGS} -x assembler-with-cpp " CACHE INTERNAL "ASM Compiler options")
include_directories (
${CPU_TARGET_DIR}
${CPU_TARGET_DIR}/RISCV/drivers
${CPU_TARGET_DIR}/RISCV/env_Eclipse
${CPU_TARGET_DIR}/RISCV/stubs
${CPU_TARGET_DIR}/GD32VF103_standard_peripheral
${CPU_TARGET_DIR}/GD32VF103_standard_peripheral/Include
)