New targets for:
authorgkostka <kostka.grzegorz@gmail.com>
Fri, 30 May 2014 13:25:30 +0000 (13:25 +0000)
committergkostka <kostka.grzegorz@gmail.com>
Fri, 30 May 2014 13:25:30 +0000 (13:25 +0000)
 - xmaga
 - arm-sim (arm-none-eabi-run)
 - cortex-m0
Improved toolchain directory structure.

12 files changed:
CMakeLists.txt
Makefile
lwext4/ext4_config.h
toolchain/arm-sim.cmake [new file with mode: 0644]
toolchain/avrxmega7.cmake [new file with mode: 0644]
toolchain/bf518.cmake
toolchain/common/arm-none-eabi.cmake [new file with mode: 0644]
toolchain/common/avr-gcc.cmake [new file with mode: 0644]
toolchain/common/bfin-elf.cmake [new file with mode: 0644]
toolchain/cortex-m0.cmake [new file with mode: 0644]
toolchain/cortex-m3.cmake
toolchain/cortex-m4.cmake

index 0d22c079f669e8d0c4fa1f948a803efe772dab00..ab8d78c8e06bfce08affdf4d36452a0f8781ca9c 100644 (file)
@@ -13,16 +13,23 @@ add_subdirectory(lwext4)
 set_target_properties(lwext4 PROPERTIES COMPILE_FLAGS "-Wall -Wextra -pedantic")\r
 \r
 #Examples\r
-if    (CMAKE_SYSTEM_PROCESSOR STREQUAL  cortex-m3)\r
-    #cortex-m3 demos\r
+if    (CMAKE_SYSTEM_PROCESSOR STREQUAL  cortex-m0)\r
+    #cortex-m0 demos\r
     #...\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  cortex-m3)\r
+    #cortex-m3 demos\r
+\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  arm-sim)\r
+    #arm-sim demos\r
+    add_subdirectory(blockdev)\r
+    add_subdirectory(demos/generic)\r
 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  cortex-m4)\r
     #cortex-m4 demos\r
     add_subdirectory(demos/stm32f429_disco)\r
 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  bf518)\r
     #bf518 demos\r
     #...\r
-else()\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  generic)\r
     #Generic example target\r
     add_subdirectory(blockdev)\r
     add_subdirectory(fs_test)\r
index 5d0bde95ead0928c736a910ac89931a261aa5926..6ea5cb9932c6e1c19640dd2ecfb30bd9f8b2a4ba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,25 +18,36 @@ bf518:
        mkdir build_bf518\r
        cd build_bf518 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/bf518.cmake ..\r
 \r
+avrxmega7:\r
+       rm -R -f build_avrxmega7\r
+       mkdir build_avrxmega7\r
+       cd build_avrxmega7 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/avrxmega7.cmake ..\r
+\r
+cortex-m0:\r
+       rm -R -f build_cortex-m0\r
+       mkdir build_cortex-m0\r
+       cd build_cortex-m0 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/cortex-m0.cmake ..\r
+       \r
 cortex-m3:\r
        rm -R -f build_cortex-m3\r
        mkdir build_cortex-m3\r
        cd build_cortex-m3 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/cortex-m3.cmake ..\r
        \r
-\r
 cortex-m4:\r
        rm -R -f build_cortex-m4\r
        mkdir build_cortex-m4\r
        cd build_cortex-m4 && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/cortex-m4.cmake ..\r
+\r
+arm-sim:\r
+       rm -R -f build_arm-sim\r
+       mkdir build_arm-sim\r
+       cd build_arm-sim && cmake -G$(PROJECT_SETUP) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_TOOLCHAIN_FILE=../toolchain/arm-sim.cmake ..\r
        \r
 all: generic bf518 cortex-m3 cortex-m4 generic\r
 \r
 \r
 clean:\r
-       rm -R -f build_bf518\r
-       rm -R -f build_cortex-m3\r
-       rm -R -f build_cortex-m4\r
-       rm -R -f build_generic\r
+       rm -R -f build_*\r
        rm -R -f ext_images\r
        \r
 unpack_images:\r
index 83ab7095329dbe01b88795aa2f9bc364c9a5d4f1..3a371f6c9dc0106bb8ce3691a047e531e9c9e909 100644 (file)
@@ -56,7 +56,7 @@
 
 /**@brief   Include error codes from ext4_errno or sandard library.*/
 #ifndef CONFIG_HAVE_OWN_ERRNO
-#define CONFIG_HAVE_OWN_ERRNO       0
+#define CONFIG_HAVE_OWN_ERRNO       1
 #endif
 
 
diff --git a/toolchain/arm-sim.cmake b/toolchain/arm-sim.cmake
new file mode 100644 (file)
index 0000000..bfa1c88
--- /dev/null
@@ -0,0 +1,9 @@
+# Name of the target\r
+set(CMAKE_SYSTEM_NAME arm-none-eabi)\r
+set(CMAKE_SYSTEM_PROCESSOR arm-sim)\r
+\r
+set(MCPU_FLAGS "")\r
+set(VFP_FLAGS "")\r
+set(SIM_FLAGS "--specs=rdimon.specs -Wl,--start-group -lgcc -lc -lm -lrdimon -Wl,--end-group")\r
+\r
+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 (file)
index 0000000..876f811
--- /dev/null
@@ -0,0 +1,7 @@
+# Name of the target\r
+set(CMAKE_SYSTEM_NAME avr)\r
+set(CMAKE_SYSTEM_PROCESSOR avrxmega7)\r
+\r
+set(MCPU_FLAGS "-mmcu=avrxmega7")\r
+\r
+include(${CMAKE_CURRENT_LIST_DIR}/common/avr-gcc.cmake)
\ No newline at end of file
index 523919baa59e11c60746654975a37d00a0b67fff..69c440773aa5b2278a7fde71f583e89734ec9ca6 100644 (file)
@@ -2,25 +2,6 @@
 set(CMAKE_SYSTEM_NAME bfin-elf)\r
 set(CMAKE_SYSTEM_PROCESSOR bf518)\r
 \r
-# Toolchain settings\r
-set(CMAKE_C_COMPILER    bfin-elf-gcc)\r
-set(CMAKE_CXX_COMPILER  bfin-elf-g++)\r
-set(AS                  bfin-elf--gcc)\r
-set(AR                  bfin-elf-ar)\r
-set(OBJCOPY             bfin-elf-objcopy)\r
-set(OBJDUMP             bfin-elf-objdump)\r
-set(SIZE                bfin-elf-size)\r
+set(MCPU_FLAGS "-mcpu=bf518")\r
 \r
-set(CMAKE_C_FLAGS   "-mcpu=bf518 -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")\r
-set(CMAKE_CXX_FLAGS "-mcpu=bf518 -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")\r
-set(CMAKE_ASM_FLAGS "-mcpu=bf518 -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")\r
-set(CMAKE_EXE_LINKER_FLAGS "-mcpu=bf592 -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")\r
-\r
-\r
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")\r
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")\r
-SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")\r
-\r
-SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")\r
-SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")\r
-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 (file)
index 0000000..b5c9e78
--- /dev/null
@@ -0,0 +1,23 @@
+# Toolchain settings\r
+set(CMAKE_C_COMPILER    arm-none-eabi-gcc)\r
+set(CMAKE_CXX_COMPILER  arm-none-eabi-g++)\r
+set(AS                  arm-none-eabi-as)\r
+set(AR                  arm-none-eabi-ar)\r
+set(OBJCOPY             arm-none-eabi-objcopy)\r
+set(OBJDUMP             arm-none-eabi-objdump)\r
+set(SIZE                arm-none-eabi-size)\r
+\r
+set(CMAKE_C_FLAGS   "${MCPU_FLAGS} ${VFP_FLAGS} -Wall -fno-builtin -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")\r
+set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} ${VFP_FLAGS} -Wall -fno-builtin -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")\r
+set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")\r
+set(CMAKE_EXE_LINKER_FLAGS "${MCPU_FLAGS} -nostartfiles -Wl,--gc-sections ${SIM_FLAGS}" CACHE INTERNAL "exe link flags")\r
+\r
+\r
+\r
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")\r
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")\r
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")\r
+\r
+SET(CMAKE_C_FLAGS_RELEASE "-O2" CACHE INTERNAL "c release compiler flags")\r
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2" CACHE INTERNAL "cxx release compiler flags")\r
+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 (file)
index 0000000..44d9824
--- /dev/null
@@ -0,0 +1,22 @@
+# Toolchain settings\r
+set(CMAKE_C_COMPILER    avr-gcc)\r
+set(CMAKE_CXX_COMPILER  avr-g++)\r
+set(AS                  avr--gcc)\r
+set(AR                  avr-ar)\r
+set(OBJCOPY             avr-objcopy)\r
+set(OBJDUMP             avr-objdump)\r
+set(SIZE                avr-size)\r
+\r
+set(CMAKE_C_FLAGS   "${MCPU_FLAGS} -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")\r
+set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")\r
+set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")\r
+set(CMAKE_EXE_LINKER_FLAGS "${MCPU_FLAGS} -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")\r
+\r
+\r
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")\r
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")\r
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")\r
+\r
+SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")\r
+SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")\r
+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 (file)
index 0000000..1b0e551
--- /dev/null
@@ -0,0 +1,22 @@
+# Toolchain settings\r
+set(CMAKE_C_COMPILER    bfin-elf-gcc)\r
+set(CMAKE_CXX_COMPILER  bfin-elf-g++)\r
+set(AS                  bfin-elf--gcc)\r
+set(AR                  bfin-elf-ar)\r
+set(OBJCOPY             bfin-elf-objcopy)\r
+set(OBJDUMP             bfin-elf-objdump)\r
+set(SIZE                bfin-elf-size)\r
+\r
+set(CMAKE_C_FLAGS   "${MCPU_FLAGS} -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")\r
+set(CMAKE_CXX_FLAGS "${MCPU_FLAGS} -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")\r
+set(CMAKE_ASM_FLAGS "${MCPU_FLAGS} -x assembler-with-cpp" CACHE INTERNAL "asm compiler flags")\r
+set(CMAKE_EXE_LINKER_FLAGS "${MCPU_FLAGS} -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")\r
+\r
+\r
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")\r
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")\r
+SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")\r
+\r
+SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")\r
+SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")\r
+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 (file)
index 0000000..90863d3
--- /dev/null
@@ -0,0 +1,8 @@
+# Name of the target\r
+set(CMAKE_SYSTEM_NAME arm-none-eabi)\r
+set(CMAKE_SYSTEM_PROCESSOR cortex-m0)\r
+\r
+set(MCPU_FLAGS "-mthumb -mcpu=cortex-m0")\r
+set(VFP_FLAGS "")\r
+\r
+include(${CMAKE_CURRENT_LIST_DIR}/common/arm-none-eabi.cmake)
\ No newline at end of file
index 3ad9e07803af1e05ac24bf9ab87d1fef34fa810b..94c31eebf71cdd5a14df6d52aaf10ce2d5357990 100644 (file)
@@ -2,24 +2,8 @@
 set(CMAKE_SYSTEM_NAME arm-none-eabi)\r
 set(CMAKE_SYSTEM_PROCESSOR cortex-m3)\r
 \r
-# Toolchain settings\r
-set(CMAKE_C_COMPILER    arm-none-eabi-gcc)\r
-set(CMAKE_CXX_COMPILER  arm-none-eabi-g++)\r
-set(AS                  arm-none-eabi-as)\r
-set(AR                  arm-none-eabi-ar)\r
-set(OBJCOPY             arm-none-eabi-objcopy)\r
-set(OBJDUMP             arm-none-eabi-objdump)\r
-set(SIZE                arm-none-eabi-size)\r
+set(MCPU_FLAGS "-mthumb -mcpu=cortex-m3")\r
+set(VFP_FLAGS "")\r
 \r
-set(CMAKE_C_FLAGS   "-mthumb -mcpu=cortex-m3 -fno-builtin -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")\r
-set(CMAKE_CXX_FLAGS "-mthumb -mcpu=cortex-m3 -fno-builtin -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")\r
-set(CMAKE_ASM_FLAGS "-mthumb -mcpu=cortex-m3" CACHE INTERNAL "asm compiler flags")\r
-set(CMAKE_EXE_LINKER_FLAGS "-mthumb -mcpu=cortex-m3 -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")\r
 \r
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")\r
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")\r
-SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")\r
-\r
-SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")\r
-SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")\r
-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
index 659018ac2344345e95a5266232d789554de4d119..697376a85f1f16e3f1f765c474525928fd96eb53 100644 (file)
@@ -2,26 +2,8 @@
 set(CMAKE_SYSTEM_NAME arm-none-eabi)\r
 set(CMAKE_SYSTEM_PROCESSOR cortex-m4)\r
 \r
-# Toolchain settings\r
-set(CMAKE_C_COMPILER    arm-none-eabi-gcc)\r
-set(CMAKE_CXX_COMPILER  arm-none-eabi-g++)\r
-set(AS                  arm-none-eabi-as)\r
-set(AR                  arm-none-eabi-ar)\r
-set(OBJCOPY             arm-none-eabi-objcopy)\r
-set(OBJDUMP             arm-none-eabi-objdump)\r
-set(SIZE                arm-none-eabi-size)\r
+set(MCPU_FLAGS "-mthumb -mcpu=cortex-m4")\r
+set(VFP_FLAGS "-mfloat-abi=hard -mfpu=fpv4-sp-d16")\r
 \r
-set(CMAKE_C_FLAGS   "-mthumb -mcpu=cortex-m4 -fno-builtin -Wall -std=gnu99 -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")\r
-set(CMAKE_CXX_FLAGS "-mthumb -mcpu=cortex-m4 -fno-builtin -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")\r
-set(CMAKE_ASM_FLAGS "-mthumb -mcpu=cortex-m4" CACHE INTERNAL "asm compiler flags")\r
-set(CMAKE_EXE_LINKER_FLAGS " -mthumb -mcpu=cortex-m4 -nostartfiles -Wl,--gc-sections" CACHE INTERNAL "exe link flags")\r
 \r
-\r
-\r
-SET(CMAKE_C_FLAGS_DEBUG "-O2 -g -ggdb3" CACHE INTERNAL "c debug compiler flags")\r
-SET(CMAKE_CXX_FLAGS_DEBUG "-O2 -g -ggdb3" CACHE INTERNAL "cxx debug compiler flags")\r
-SET(CMAKE_ASM_FLAGS_DEBUG "-g -ggdb3" CACHE INTERNAL "asm debug compiler flags")\r
-\r
-SET(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c release compiler flags")\r
-SET(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx release compiler flags")\r
-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