summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
authorgkostka <kostka.grzegorz@gmail.com>2014-05-30 13:25:30 +0000
committergkostka <kostka.grzegorz@gmail.com>2014-05-30 13:25:30 +0000
commit51f1e57ab39213c2a84155f9383f87d483dad769 (patch)
treefe707a243bb09bb3f2eb5bf3ab038946bb0e6d51 /toolchain
parent49363e93477e3a0065dbc73da9b383a8e52aefe3 (diff)
New targets for:
- xmaga - arm-sim (arm-none-eabi-run) - cortex-m0 Improved toolchain directory structure.
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/arm-sim.cmake9
-rw-r--r--toolchain/avrxmega7.cmake7
-rw-r--r--toolchain/bf518.cmake23
-rw-r--r--toolchain/common/arm-none-eabi.cmake23
-rw-r--r--toolchain/common/avr-gcc.cmake22
-rw-r--r--toolchain/common/bfin-elf.cmake22
-rw-r--r--toolchain/cortex-m0.cmake8
-rw-r--r--toolchain/cortex-m3.cmake22
-rw-r--r--toolchain/cortex-m4.cmake24
9 files changed, 99 insertions, 61 deletions
diff --git a/toolchain/arm-sim.cmake b/toolchain/arm-sim.cmake
new file mode 100644
index 0000000..bfa1c88
--- /dev/null
+++ b/toolchain/arm-sim.cmake
@@ -0,0 +1,9 @@
+# Name of the target
+set(CMAKE_SYSTEM_NAME arm-none-eabi)
+set(CMAKE_SYSTEM_PROCESSOR arm-sim)
+
+set(MCPU_FLAGS "")
+set(VFP_FLAGS "")
+set(SIM_FLAGS "--specs=rdimon.specs -Wl,--start-group -lgcc -lc -lm -lrdimon -Wl,--end-group")
+
+include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake) \ No newline at end of file
diff --git a/toolchain/avrxmega7.cmake b/toolchain/avrxmega7.cmake
new file mode 100644
index 0000000..876f811
--- /dev/null
+++ b/toolchain/avrxmega7.cmake
@@ -0,0 +1,7 @@
+# Name of the target
+set(CMAKE_SYSTEM_NAME avr)
+set(CMAKE_SYSTEM_PROCESSOR avrxmega7)
+
+set(MCPU_FLAGS "-mmcu=avrxmega7")
+
+include(${CMAKE_CURRENT_LIST_DIR}/common/avr-gcc.cmake) \ No newline at end of file
diff --git a/toolchain/bf518.cmake b/toolchain/bf518.cmake
index 523919b..69c4407 100644
--- a/toolchain/bf518.cmake
+++ b/toolchain/bf518.cmake
@@ -2,25 +2,6 @@
set(CMAKE_SYSTEM_NAME bfin-elf)
set(CMAKE_SYSTEM_PROCESSOR bf518)
-# Toolchain settings
-set(CMAKE_C_COMPILER bfin-elf-gcc)
-set(CMAKE_CXX_COMPILER bfin-elf-g++)
-set(AS bfin-elf--gcc)
-set(AR bfin-elf-ar)
-set(OBJCOPY bfin-elf-objcopy)
-set(OBJDUMP bfin-elf-objdump)
-set(SIZE bfin-elf-size)
+set(MCPU_FLAGS "-mcpu=bf518")
-set(CMAKE_C_FLAGS "-mcpu=bf518 -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
-set(CMAKE_CXX_FLAGS "-mcpu=bf518 -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
-set(CMAKE_ASM_FLAGS "-mcpu=bf518 -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")
-set(CMAKE_EXE_LINKER_FLAGS "-mcpu=bf592 -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")
-
-
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
-SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
-
-SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")
-SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")
-SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags") \ No newline at end of file
+include(${CMAKE_CURRENT_LIST_DIR}/common/bfin-elf.cmake) \ No newline at end of file
diff --git a/toolchain/common/arm-none-eabi.cmake b/toolchain/common/arm-none-eabi.cmake
new file mode 100644
index 0000000..b5c9e78
--- /dev/null
+++ b/toolchain/common/arm-none-eabi.cmake
@@ -0,0 +1,23 @@
+# Toolchain settings
+set(CMAKE_C_COMPILER arm-none-eabi-gcc)
+set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
+set(AS arm-none-eabi-as)
+set(AR arm-none-eabi-ar)
+set(OBJCOPY arm-none-eabi-objcopy)
+set(OBJDUMP arm-none-eabi-objdump)
+set(SIZE arm-none-eabi-size)
+
+set(CMAKE_C_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} -Wall -fno-builtin -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
+set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} -Wall -fno-builtin -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
+set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")
+set(CMAKE_EXE_LINKER_FLAGS "${MCPU_FLAGS} -nostartfiles -Wl,--gc-sections ${SIM_FLAGS}" CACHE INTERNAL "exe link flags")
+
+
+
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
+
+SET(CMAKE_C_FLAGS_RELEASE "-O2" CACHE INTERNAL "c release compiler flags")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2" CACHE INTERNAL "cxx release compiler flags")
+SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags") \ No newline at end of file
diff --git a/toolchain/common/avr-gcc.cmake b/toolchain/common/avr-gcc.cmake
new file mode 100644
index 0000000..44d9824
--- /dev/null
+++ b/toolchain/common/avr-gcc.cmake
@@ -0,0 +1,22 @@
+# Toolchain settings
+set(CMAKE_C_COMPILER avr-gcc)
+set(CMAKE_CXX_COMPILER avr-g++)
+set(AS avr--gcc)
+set(AR avr-ar)
+set(OBJCOPY avr-objcopy)
+set(OBJDUMP avr-objdump)
+set(SIZE avr-size)
+
+set(CMAKE_C_FLAGS "${MCPU_FLAGS} -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
+set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
+set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")
+set(CMAKE_EXE_LINKER_FLAGS "${MCPU_FLAGS} -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")
+
+
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
+
+SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")
+SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")
+SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags") \ No newline at end of file
diff --git a/toolchain/common/bfin-elf.cmake b/toolchain/common/bfin-elf.cmake
new file mode 100644
index 0000000..1b0e551
--- /dev/null
+++ b/toolchain/common/bfin-elf.cmake
@@ -0,0 +1,22 @@
+# Toolchain settings
+set(CMAKE_C_COMPILER bfin-elf-gcc)
+set(CMAKE_CXX_COMPILER bfin-elf-g++)
+set(AS bfin-elf--gcc)
+set(AR bfin-elf-ar)
+set(OBJCOPY bfin-elf-objcopy)
+set(OBJDUMP bfin-elf-objdump)
+set(SIZE bfin-elf-size)
+
+set(CMAKE_C_FLAGS "${MCPU_FLAGS} -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
+set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
+set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")
+set(CMAKE_EXE_LINKER_FLAGS "${MCPU_FLAGS} -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")
+
+
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
+
+SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")
+SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")
+SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags") \ No newline at end of file
diff --git a/toolchain/cortex-m0.cmake b/toolchain/cortex-m0.cmake
new file mode 100644
index 0000000..90863d3
--- /dev/null
+++ b/toolchain/cortex-m0.cmake
@@ -0,0 +1,8 @@
+# Name of the target
+set(CMAKE_SYSTEM_NAME arm-none-eabi)
+set(CMAKE_SYSTEM_PROCESSOR cortex-m0)
+
+set(MCPU_FLAGS "-mthumb -mcpu=cortex-m0")
+set(VFP_FLAGS "")
+
+include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake) \ No newline at end of file
diff --git a/toolchain/cortex-m3.cmake b/toolchain/cortex-m3.cmake
index 3ad9e07..94c31ee 100644
--- a/toolchain/cortex-m3.cmake
+++ b/toolchain/cortex-m3.cmake
@@ -2,24 +2,8 @@
set(CMAKE_SYSTEM_NAME arm-none-eabi)
set(CMAKE_SYSTEM_PROCESSOR cortex-m3)
-# Toolchain settings
-set(CMAKE_C_COMPILER arm-none-eabi-gcc)
-set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
-set(AS arm-none-eabi-as)
-set(AR arm-none-eabi-ar)
-set(OBJCOPY arm-none-eabi-objcopy)
-set(OBJDUMP arm-none-eabi-objdump)
-set(SIZE arm-none-eabi-size)
+set(MCPU_FLAGS "-mthumb -mcpu=cortex-m3")
+set(VFP_FLAGS "")
-set(CMAKE_C_FLAGS "-mthumb -mcpu=cortex-m3 -fno-builtin -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
-set(CMAKE_CXX_FLAGS "-mthumb -mcpu=cortex-m3 -fno-builtin -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
-set(CMAKE_ASM_FLAGS "-mthumb -mcpu=cortex-m3" CACHE INTERNAL "asm compiler flags")
-set(CMAKE_EXE_LINKER_FLAGS "-mthumb -mcpu=cortex-m3 -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
-SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
-
-SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")
-SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")
-SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags") \ No newline at end of file
+include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake) \ No newline at end of file
diff --git a/toolchain/cortex-m4.cmake b/toolchain/cortex-m4.cmake
index 659018a..697376a 100644
--- a/toolchain/cortex-m4.cmake
+++ b/toolchain/cortex-m4.cmake
@@ -2,26 +2,8 @@
set(CMAKE_SYSTEM_NAME arm-none-eabi)
set(CMAKE_SYSTEM_PROCESSOR cortex-m4)
-# Toolchain settings
-set(CMAKE_C_COMPILER arm-none-eabi-gcc)
-set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
-set(AS arm-none-eabi-as)
-set(AR arm-none-eabi-ar)
-set(OBJCOPY arm-none-eabi-objcopy)
-set(OBJDUMP arm-none-eabi-objdump)
-set(SIZE arm-none-eabi-size)
+set(MCPU_FLAGS "-mthumb -mcpu=cortex-m4")
+set(VFP_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16")
-set(CMAKE_C_FLAGS "-mthumb -mcpu=cortex-m4 -fno-builtin -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
-set(CMAKE_CXX_FLAGS "-mthumb -mcpu=cortex-m4 -fno-builtin -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
-set(CMAKE_ASM_FLAGS "-mthumb -mcpu=cortex-m4" CACHE INTERNAL "asm compiler flags")
-set(CMAKE_EXE_LINKER_FLAGS " -mthumb -mcpu=cortex-m4 -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")
-
-
-SET(CMAKE_C_FLAGS_DEBUG "-O2 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O2 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")
-SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")
-
-SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")
-SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")
-SET(CMAKE_ASM_FLAGS_RELEASE "" CACHE INTERNAL "asm release compiler flags") \ No newline at end of file
+include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake) \ No newline at end of file