]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - arm.cmake
Fixing loading script for ARM targets and the teensy loader cli
[kiibohd-controller.git] / arm.cmake
index be722d2ffb64b27213f6201d2393d57e81c8018a..7fe1e05d99bf167c24a73cc37956fb0bd6bcd9ae 100644 (file)
--- a/arm.cmake
+++ b/arm.cmake
@@ -38,6 +38,7 @@ set( CHIP "mk20dx128" )
 
 message( STATUS "Chip Selected:" )
 message( "${CHIP}" )
+set( MCU "${CHIP}" ) # For loading script compatibility
 
 
 #| CPU Type
@@ -62,6 +63,11 @@ message( STATUS "Compiler Source Files:" )
 message( "${COMPILER_SRCS}" )
 
 
+#| USB Defines
+set( VENDOR_ID  "0x16C0" )
+set( PRODUCT_ID "0x0487" )
+
+
 #| Compiler flag to set the C Standard level.
 #|     c89   = "ANSI" C
 #|     gnu89 = c89 plus GCC extensions
@@ -77,7 +83,8 @@ set( WARN "-Wall -g" )
 
 #| Tuning Options
 #|  -f...:        tuning, see GCC manual
-set( TUNING "-mthumb -nostdlib" )
+#| NOTE: -fshort-wchar is specified to allow USB strings be passed conveniently
+set( TUNING "-mthumb -nostdlib -fdata-sections -ffunction-sections -fshort-wchar" )
 
 
 #| Optimization level, can be [0, 1, 2, 3, s]. 
@@ -105,11 +112,11 @@ set( GENDEPFLAGS "-MMD" )
 
 
 #| Compiler Flags
-add_definitions( "-mcpu=${CPU} -DF_CPU=${F_CPU} -D_${CHIP}_=1 -O${OPT} ${TUNING} ${WARN} ${CSTANDARD} ${GENDEPFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}" )
+add_definitions( "-mcpu=${CPU} -DF_CPU=${F_CPU} -D_${CHIP}_=1 -O${OPT} ${TUNING} ${WARN} ${CSTANDARD} ${GENDEPFLAGS}" )
 
 
 #| Linker Flags
-set( LINKER_FLAGS "-mcpu=${CPU} -Wl,-Map=${TARGET}.map,--cref -Wl,--gc-sections -mthumb -T${CMAKE_CURRENT_SOURCE_DIR}/Lib/${CHIP}.ld" )
+set( LINKER_FLAGS "-mcpu=${CPU} -Wl,-Map=${TARGET}.map,--cref -Wl,--gc-sections -mthumb -Wl,--no-wchar-size-warning -T${CMAKE_CURRENT_SOURCE_DIR}/Lib/${CHIP}.ld" )
 
 
 #| Hex Flags (XXX, CMake seems to have issues if you quote the arguments for the custom commands...)