initial
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Generic)
|
||||
|
||||
set(CMAKE_C_FLAGS_INIT "-mstm8 --std-sdcc11 --code-loc 0x8000") # -s
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "")
|
||||
|
||||
# which compilers to use for C and ASM
|
||||
SET(CMAKE_C_COMPILER /usr/bin/sdcc)
|
||||
SET(CMAKE_ASM_COMPILER /usr/bin/sdasstm8)
|
||||
|
||||
find_program (SDCC NAMES sdcc)
|
||||
get_filename_component(SDCC_BIN_DIR ${SDCC} DIRECTORY)
|
||||
get_filename_component(SDCC_PATH_DIR ${SDCC_BIN_DIR} DIRECTORY)
|
||||
|
||||
# here is the target environment is located
|
||||
SET(CMAKE_FIND_ROOT_PATH ${SDCC_PATH_DIR}/usr/share/sdcc)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
# TODO This is not being recognised
|
||||
set(CMAKE_ASM_OUTPUT_EXTENSION ".rel")
|
||||
|
||||
set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_ASM_COMPILER} -o <OBJECT> <SOURCE>")
|
||||
@@ -0,0 +1,29 @@
|
||||
find_program(STM8FLASH stm8flash
|
||||
DOC "stm8flash binary location"
|
||||
)
|
||||
|
||||
set(STM8FLASH_PROGRAMMER
|
||||
"stlinkv2" CACHE STRING
|
||||
"Choice of stlink, stlinkv2 or espstlink, when not specified in target properties")
|
||||
|
||||
function(add_upload_to_target target)
|
||||
get_target_property(FAMILY ${target} FAMILY)
|
||||
|
||||
if (FAMILY STREQUAL "stm8")
|
||||
if (STM8FLASH STREQUAL "STM8FLASH-NOTFOUND")
|
||||
message(SEND_ERROR "stm8flash is not found")
|
||||
endif()
|
||||
|
||||
get_target_property(STM8_PART ${target} PART)
|
||||
get_target_property(PROGRAMMER ${target} PROGRAMMER)
|
||||
if(PROGRAMMER STREQUAL "PROGRAMMER-NOTFOUND")
|
||||
set(PROGRAMMER ${STM8FLASH_PROGRAMMER})
|
||||
endif()
|
||||
|
||||
add_custom_target(${target}-upload
|
||||
COMMAND ${STM8FLASH} -c ${PROGRAMMER} -p ${STM8_PART} -w ${target}.ihx
|
||||
DEPENDS ${target}
|
||||
COMMENT "Uploading ${target}"
|
||||
)
|
||||
endif()
|
||||
endfunction(add_upload_to_target)
|
||||
Reference in New Issue
Block a user