From 14a36cc84f7fa467a425c7858be5d8a386ffc029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Wed, 9 Mar 2016 01:56:53 +0100 Subject: [PATCH] Add firmware for the left keyboard half. --- left/README.md | 3 + left/build/README.md | 3 + left/build/armgcc/CMakeLists.txt | 136 ++++++++ left/build/armgcc/README.md | 4 + left/build/armgcc/build_all.bat | 6 + left/build/armgcc/build_all.sh | 3 + left/build/armgcc/build_debug.bat | 4 + left/build/armgcc/build_debug.sh | 4 + left/build/armgcc/build_release.bat | 4 + left/build/armgcc/build_release.sh | 4 + left/build/armgcc/clean.bat | 3 + left/build/armgcc/clean.sh | 3 + left/build/armgcc/ksdk_dir.sh | 2 + left/build/kds/.cproject | 317 ++++++++++++++++++ left/build/kds/.gitignore | 2 + left/build/kds/.project | 134 ++++++++ ...ssorexpert.core.ide.newprojectwizard.prefs | 2 + .../build/kds/.settings/language.settings.xml | 25 ++ left/build/kds/README.md | 7 + left/build/kds/uhk-left debug jlink.launch | 82 +++++ left/build/kds/uhk-left debug pne.launch | 197 +++++++++++ left/build/kds/uhk-left release jlink.launch | 80 +++++ left/build/kds/uhk-left release pne.launch | 197 +++++++++++ left/main.c | 44 +++ 24 files changed, 1266 insertions(+) create mode 100644 left/README.md create mode 100644 left/build/README.md create mode 100644 left/build/armgcc/CMakeLists.txt create mode 100644 left/build/armgcc/README.md create mode 100644 left/build/armgcc/build_all.bat create mode 100755 left/build/armgcc/build_all.sh create mode 100644 left/build/armgcc/build_debug.bat create mode 100755 left/build/armgcc/build_debug.sh create mode 100644 left/build/armgcc/build_release.bat create mode 100755 left/build/armgcc/build_release.sh create mode 100644 left/build/armgcc/clean.bat create mode 100755 left/build/armgcc/clean.sh create mode 100644 left/build/armgcc/ksdk_dir.sh create mode 100644 left/build/kds/.cproject create mode 100644 left/build/kds/.gitignore create mode 100644 left/build/kds/.project create mode 100644 left/build/kds/.settings/com.processorexpert.core.ide.newprojectwizard.prefs create mode 100644 left/build/kds/.settings/language.settings.xml create mode 100644 left/build/kds/README.md create mode 100644 left/build/kds/uhk-left debug jlink.launch create mode 100644 left/build/kds/uhk-left debug pne.launch create mode 100644 left/build/kds/uhk-left release jlink.launch create mode 100644 left/build/kds/uhk-left release pne.launch create mode 100644 left/main.c diff --git a/left/README.md b/left/README.md new file mode 100644 index 0000000..5871143 --- /dev/null +++ b/left/README.md @@ -0,0 +1,3 @@ +# Left keyboard half firmware + +This directory contains the firmware of the left keyboard half. diff --git a/left/build/README.md b/left/build/README.md new file mode 100644 index 0000000..c2bd979 --- /dev/null +++ b/left/build/README.md @@ -0,0 +1,3 @@ +# Build environments + +This directory contains the environments that are supported to easily build the firmware. diff --git a/left/build/armgcc/CMakeLists.txt b/left/build/armgcc/CMakeLists.txt new file mode 100644 index 0000000..848cad1 --- /dev/null +++ b/left/build/armgcc/CMakeLists.txt @@ -0,0 +1,136 @@ +INCLUDE(CMakeForceCompiler) + +# CROSS COMPILER SETTING +SET(CMAKE_SYSTEM_NAME Generic) +CMAKE_MINIMUM_REQUIRED (VERSION 2.6) + +# THE VERSION NUMBER +SET (Tutorial_VERSION_MAJOR 1) +SET (Tutorial_VERSION_MINOR 0) + +# ENABLE ASM +ENABLE_LANGUAGE(ASM) + +SET(CMAKE_STATIC_LIBRARY_PREFIX) +SET(CMAKE_STATIC_LIBRARY_SUFFIX) + +SET(CMAKE_EXECUTABLE_LIBRARY_PREFIX) +SET(CMAKE_EXECUTABLE_LIBRARY_SUFFIX) + +# CURRENT DIRECTORY +SET(SrcDir "${CMAKE_CURRENT_SOURCE_DIR}/../..") +SET(KsdkDir "${SrcDir}/../lib/KSDK_1.3_FRDM-KL03Z/") + +# DEBUG LINK FILE +set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -T${KsdkDir}/platform/devices/MKL03Z4/linker/gcc/MKL03Z32xxx4_flash.ld -static") + +# RELEASE LINK FILE +set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -T${KsdkDir}/platform/devices/MKL03Z4/linker/gcc/MKL03Z32xxx4_flash.ld -static") + +# DEBUG ASM FLAGS +SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -g -mcpu=cortex-m0plus -mthumb -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99") + +# DEBUG C FLAGS +SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -O0 -mcpu=cortex-m0plus -mthumb -MMD -MP -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99") + +# DEBUG LD FLAGS +SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -g --specs=nano.specs -lm -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mthumb -mapcs -Xlinker --gc-sections -Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --defsym=__stack_size__=0x300 -Xlinker --defsym=__heap_size__=0x200") + +# RELEASE ASM FLAGS +SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mcpu=cortex-m0plus -mthumb -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99") + +# RELEASE C FLAGS +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os -mcpu=cortex-m0plus -mthumb -MMD -MP -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99") + +# RELEASE LD FLAGS +SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} --specs=nano.specs -lm -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mthumb -mapcs -Xlinker --gc-sections -Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --defsym=__stack_size__=0x300 -Xlinker --defsym=__heap_size__=0x200") + +# ASM MACRO +SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -DDEBUG") + +# C MACRO +SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG") +SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DCPU_MKL03Z32VFK4") +SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DFRDM_KL03Z") +SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DFREEDOM") +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG") +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DCPU_MKL03Z32VFK4") +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DFRDM_KL03Z") +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DFREEDOM") + +# CXX MACRO + +# INCLUDE_DIRECTORIES +IF(CMAKE_BUILD_TYPE MATCHES Debug) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/osa/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/utilities/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/CMSIS/Include) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/devices) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/devices/MKL03Z4/include) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/devices/MKL03Z4/startup) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/hal/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/drivers/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/system/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/drivers/src/gpio) + INCLUDE_DIRECTORIES(${KsdkDir}/examples) + INCLUDE_DIRECTORIES(${KsdkDir}/examples/frdmkl03z) + INCLUDE_DIRECTORIES(${KsdkDir}) +ELSEIF(CMAKE_BUILD_TYPE MATCHES Release) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/osa/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/utilities/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/CMSIS/Include) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/devices) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/devices/MKL03Z4/include) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/devices/MKL03Z4/startup) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/hal/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/drivers/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/system/inc) + INCLUDE_DIRECTORIES(${KsdkDir}/platform/drivers/src/gpio) + INCLUDE_DIRECTORIES(${KsdkDir}/examples) + INCLUDE_DIRECTORIES(${KsdkDir}/examples/frdmkl03z) + INCLUDE_DIRECTORIES(${KsdkDir}) +ENDIF() + +# ADD_EXECUTABLE +ADD_EXECUTABLE(uhk-left + "${KsdkDir}/platform/utilities/src/fsl_misc_utilities.c" + "${KsdkDir}/platform/devices/MKL03Z4/startup/gcc/startup_MKL03Z4.S" + "${SrcDir}/main.c" + "${KsdkDir}/examples/frdmkl03z/gpio_pins.c" + "${KsdkDir}/examples/frdmkl03z/gpio_pins.h" + "${KsdkDir}/examples/frdmkl03z/pin_mux.c" + "${KsdkDir}/examples/frdmkl03z/pin_mux.h" + "${KsdkDir}/examples/frdmkl03z/board.c" + "${KsdkDir}/examples/frdmkl03z/board.h" + "${KsdkDir}/platform/utilities/src/fsl_debug_console.c" + "${KsdkDir}/platform/utilities/inc/fsl_debug_console.h" + "${KsdkDir}/platform/utilities/src/print_scan.c" + "${KsdkDir}/platform/utilities/src/print_scan.h" + "${KsdkDir}/platform/devices/MKL03Z4/startup/system_MKL03Z4.c" + "${KsdkDir}/platform/devices/startup.c" + "${KsdkDir}/platform/devices/startup.h" +) +SET_TARGET_PROPERTIES(uhk-left PROPERTIES OUTPUT_NAME "uhk-left.elf") + +TARGET_LINK_LIBRARIES(uhk-left -Wl,--start-group) +# LIBRARIES +IF(CMAKE_BUILD_TYPE MATCHES Debug) + TARGET_LINK_LIBRARIES(uhk-left ${KsdkDir}/lib/ksdk_platform_lib/armgcc/KL03Z4/debug/libksdk_platform.a) +ELSEIF(CMAKE_BUILD_TYPE MATCHES Release) + TARGET_LINK_LIBRARIES(uhk-left ${KsdkDir}/lib/ksdk_platform_lib/armgcc/KL03Z4/release/libksdk_platform.a) +ENDIF() + +# SYSTEM LIBRARIES +TARGET_LINK_LIBRARIES(uhk-left m) +TARGET_LINK_LIBRARIES(uhk-left c) +TARGET_LINK_LIBRARIES(uhk-left gcc) +TARGET_LINK_LIBRARIES(uhk-left nosys) +TARGET_LINK_LIBRARIES(uhk-left -Wl,--end-group) + +# MAP FILE +SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker -Map=debug/uhk-left.map") +SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker -Map=release/uhk-left.map") + +# BIN AND HEX +ADD_CUSTOM_COMMAND(TARGET uhk-left POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Oihex ${EXECUTABLE_OUTPUT_PATH}/uhk-left.elf ${EXECUTABLE_OUTPUT_PATH}/uhk-left.hex) +ADD_CUSTOM_COMMAND(TARGET uhk-left POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Obinary ${EXECUTABLE_OUTPUT_PATH}/uhk-left.elf ${EXECUTABLE_OUTPUT_PATH}/uhk-left.bin) diff --git a/left/build/armgcc/README.md b/left/build/armgcc/README.md new file mode 100644 index 0000000..6b95809 --- /dev/null +++ b/left/build/armgcc/README.md @@ -0,0 +1,4 @@ +# ARM GCC build environment + +This build environment is set up for command line use. Given that the development dependencies are +installed on your system you can use the available scripts to build the firmware with ARM GCC. diff --git a/left/build/armgcc/build_all.bat b/left/build/armgcc/build_all.bat new file mode 100644 index 0000000..ba7d092 --- /dev/null +++ b/left/build/armgcc/build_all.bat @@ -0,0 +1,6 @@ +echo "This script is not supposed to work. Please port the BASH version to Windows!" +cmake -DCMAKE_TOOLCHAIN_FILE="%KSDK_DIR%/tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug . +mingw32-make -j4 +cmake -DCMAKE_TOOLCHAIN_FILE="%KSDK_DIR%/tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release . +mingw32-make -j4 +pause diff --git a/left/build/armgcc/build_all.sh b/left/build/armgcc/build_all.sh new file mode 100755 index 0000000..77e3b11 --- /dev/null +++ b/left/build/armgcc/build_all.sh @@ -0,0 +1,3 @@ +#!/bin/sh +./build_debug.sh +./build_release.sh diff --git a/left/build/armgcc/build_debug.bat b/left/build/armgcc/build_debug.bat new file mode 100644 index 0000000..ba95ea1 --- /dev/null +++ b/left/build/armgcc/build_debug.bat @@ -0,0 +1,4 @@ +echo "This script is not supposed to work. Please port the BASH version to Windows!" +cmake -DCMAKE_TOOLCHAIN_FILE="%KSDK_DIR%/tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug . +mingw32-make -j4 +pause diff --git a/left/build/armgcc/build_debug.sh b/left/build/armgcc/build_debug.sh new file mode 100755 index 0000000..21a96de --- /dev/null +++ b/left/build/armgcc/build_debug.sh @@ -0,0 +1,4 @@ +#!/bin/sh +. ./ksdk_dir.sh +cmake -DCMAKE_TOOLCHAIN_FILE="$KSDK_DIR/tools/cmake_toolchain_files/armgcc.cmake" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug . +make -j4 diff --git a/left/build/armgcc/build_release.bat b/left/build/armgcc/build_release.bat new file mode 100644 index 0000000..7441943 --- /dev/null +++ b/left/build/armgcc/build_release.bat @@ -0,0 +1,4 @@ +echo "This script is not supposed to work. Please port the BASH version to Windows!" +cmake -DCMAKE_TOOLCHAIN_FILE="%KSDK_DIR%/tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release . +mingw32-make -j4 +pause diff --git a/left/build/armgcc/build_release.sh b/left/build/armgcc/build_release.sh new file mode 100755 index 0000000..ad48a20 --- /dev/null +++ b/left/build/armgcc/build_release.sh @@ -0,0 +1,4 @@ +#!/bin/sh +. ./ksdk_dir.sh +cmake -DCMAKE_TOOLCHAIN_FILE="$KSDK_DIR/tools/cmake_toolchain_files/armgcc.cmake" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release . +make -j4 diff --git a/left/build/armgcc/clean.bat b/left/build/armgcc/clean.bat new file mode 100644 index 0000000..ffea088 --- /dev/null +++ b/left/build/armgcc/clean.bat @@ -0,0 +1,3 @@ +RD /s /Q Debug Release CMakeFiles +DEL /s /Q /F Makefile cmake_install.cmake CMakeCache.txt +pause diff --git a/left/build/armgcc/clean.sh b/left/build/armgcc/clean.sh new file mode 100755 index 0000000..795ad87 --- /dev/null +++ b/left/build/armgcc/clean.sh @@ -0,0 +1,3 @@ +#!/bin/sh +rm -rf debug release CMakeFiles +rm -rf Makefile cmake_install.cmake CMakeCache.txt diff --git a/left/build/armgcc/ksdk_dir.sh b/left/build/armgcc/ksdk_dir.sh new file mode 100644 index 0000000..f0b437f --- /dev/null +++ b/left/build/armgcc/ksdk_dir.sh @@ -0,0 +1,2 @@ +#!/bin/sh +export KSDK_DIR=/../../../lib/KSDK_1.3_FRDM-KL03Z/ diff --git a/left/build/kds/.cproject b/left/build/kds/.cproject new file mode 100644 index 0000000..433198f --- /dev/null +++ b/left/build/kds/.cproject @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/left/build/kds/.gitignore b/left/build/kds/.gitignore new file mode 100644 index 0000000..70a618f --- /dev/null +++ b/left/build/kds/.gitignore @@ -0,0 +1,2 @@ +/debug +/release diff --git a/left/build/kds/.project b/left/build/kds/.project new file mode 100644 index 0000000..3ac88a5 --- /dev/null +++ b/left/build/kds/.project @@ -0,0 +1,134 @@ + + + uhk-left + + + + + + com.freescale.processorexpert.core.expertprojectbuilder + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.freescale.processorexpert.core.expertprojectnature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + board + 2 + virtual:/virtual + + + source + 2 + virtual:/virtual + + + startup + 2 + virtual:/virtual + + + utilities + 2 + virtual:/virtual + + + board/board.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/examples/frdmkl03z/board.c + + + board/board.h + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/examples/frdmkl03z/board.h + + + board/gpio_pins.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/examples/frdmkl03z/gpio_pins.c + + + board/gpio_pins.h + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/examples/frdmkl03z/gpio_pins.h + + + board/pin_mux.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/examples/frdmkl03z/pin_mux.c + + + board/pin_mux.h + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/examples/frdmkl03z/pin_mux.h + + + source/main.c + 1 + PARENT-2-PROJECT_LOC/main.c + + + startup/startup.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/devices/startup.c + + + startup/startup.h + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/devices/startup.h + + + startup/startup_MKL03Z4.S + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/devices/MKL03Z4/startup/gcc/startup_MKL03Z4.S + + + startup/system_MKL03Z4.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/devices/MKL03Z4/startup/system_MKL03Z4.c + + + utilities/fsl_debug_console.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/utilities/src/fsl_debug_console.c + + + utilities/fsl_debug_console.h + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/utilities/inc/fsl_debug_console.h + + + utilities/fsl_misc_utilities.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/utilities/src/fsl_misc_utilities.c + + + utilities/print_scan.c + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/utilities/src/print_scan.c + + + utilities/print_scan.h + 1 + PARENT-3-PROJECT_LOC/lib/KSDK_1.3_FRDM-KL03Z/platform/utilities/src/print_scan.h + + + diff --git a/left/build/kds/.settings/com.processorexpert.core.ide.newprojectwizard.prefs b/left/build/kds/.settings/com.processorexpert.core.ide.newprojectwizard.prefs new file mode 100644 index 0000000..d6c0e7e --- /dev/null +++ b/left/build/kds/.settings/com.processorexpert.core.ide.newprojectwizard.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +versionGenerated/versionGenerated=1.8.4.RT7_b1550-0615 diff --git a/left/build/kds/.settings/language.settings.xml b/left/build/kds/.settings/language.settings.xml new file mode 100644 index 0000000..2bf9d2d --- /dev/null +++ b/left/build/kds/.settings/language.settings.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/left/build/kds/README.md b/left/build/kds/README.md new file mode 100644 index 0000000..3cd5e6d --- /dev/null +++ b/left/build/kds/README.md @@ -0,0 +1,7 @@ +# KDS build environment + +This build environment is set up to be used with +[Kinetis Design Studio](http://www.nxp.com/products/software-and-tools/run-time-software/kinetis-software-and-tools/ides-for-kinetis-mcus/kinetis-design-studio-integrated-development-environment-ide:KDS_IDE). +You can simply import the project into KDS by choosing +*File* -> *Import...* -> *General* -> *Existing Projects into Workspace*, +then select this directory, and click the *Finish* button. diff --git a/left/build/kds/uhk-left debug jlink.launch b/left/build/kds/uhk-left debug jlink.launch new file mode 100644 index 0000000..d1d251f --- /dev/null +++ b/left/build/kds/uhk-left debug jlink.launch @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/left/build/kds/uhk-left debug pne.launch b/left/build/kds/uhk-left debug pne.launch new file mode 100644 index 0000000..af20e61 --- /dev/null +++ b/left/build/kds/uhk-left debug pne.launch @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/left/build/kds/uhk-left release jlink.launch b/left/build/kds/uhk-left release jlink.launch new file mode 100644 index 0000000..3839142 --- /dev/null +++ b/left/build/kds/uhk-left release jlink.launch @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/left/build/kds/uhk-left release pne.launch b/left/build/kds/uhk-left release pne.launch new file mode 100644 index 0000000..c2d25d0 --- /dev/null +++ b/left/build/kds/uhk-left release pne.launch @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/left/main.c b/left/main.c new file mode 100644 index 0000000..c01e66e --- /dev/null +++ b/left/main.c @@ -0,0 +1,44 @@ +#include "board.h" +#include "fsl_clock_manager.h" + +int main(void) +{ + gpio_input_pin_user_config_t inputPin[] = + { + { + .pinName = BOARD_SW_GPIO, + .config.isPullEnable = true, + .config.pullSelect = kPortPullUp, + .config.isPassiveFilterEnabled = false, + .config.interrupt = kPortIntDisabled, + }, + { + .pinName = GPIO_PINS_OUT_OF_RANGE, + } + }; + + gpio_output_pin_user_config_t outputPin[] = + { + { + .pinName = kGpioLED1, + .config.outputLogic = 0, + .config.slewRate = kPortFastSlewRate, + .config.driveStrength = kPortHighDriveStrength, + }, + { + .pinName = GPIO_PINS_OUT_OF_RANGE, + } + }; + + CLOCK_SYS_EnablePortClock(PORTA_IDX); + CLOCK_SYS_EnablePortClock(PORTB_IDX); + + BOARD_ClockInit(); + + GPIO_DRV_Init(inputPin, outputPin); + + while (1) { + uint8_t isSwitchPressed = GPIO_DRV_ReadPinInput(BOARD_SW_GPIO); + GPIO_DRV_WritePinOutput(kGpioLED1, isSwitchPressed); + } +}