Compare commits
7 Commits
2.0.0
...
add-dev-na
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53cb8aa129 | ||
|
|
7285630264 | ||
|
|
4563d26a5c | ||
|
|
0b120a3286 | ||
|
|
d4200524d7 | ||
|
|
ef34094004 | ||
|
|
d2fd7bc613 |
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is loosely based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
The format is loosely based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||||
and this project adheres to the [UHK Versioning](VERSIONING.md) conventions.
|
and this project adheres to the [UHK Versioning](VERSIONING.md) conventions.
|
||||||
|
|
||||||
|
## [2.1.0] - 2017-10-13
|
||||||
|
|
||||||
|
Data Model: 1.0.0 (unchanged) | USB Protocol: 1.2.0 (minor bump) | Slave Protocol: 2.1.0 (minor bump)
|
||||||
|
|
||||||
|
- Add jumpToSlaveBootloader USB and slave protocol command. `USBPROTOCOL:MINOR` `SLAVEPROTOCOL:MINOR`
|
||||||
|
- Fix generic HID descriptor enumeration error.
|
||||||
|
|
||||||
## [2.0.0] - 2017-10-10
|
## [2.0.0] - 2017-10-10
|
||||||
|
|
||||||
Data Model: 1.0.0 (unchanged) | USB Protocol: 1.1.0 (minor bump) | Slave Protocol: 2.0.0 (major bump)
|
Data Model: 1.0.0 (unchanged) | USB Protocol: 1.1.0 (minor bump) | Slave Protocol: 2.0.0 (major bump)
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ The UHK USB protocol is used by the UHK to interact with the host system via USB
|
|||||||
* The minor number is bumped upon an extension of the protocol, such as adding a new protocol command ID, or utilizing a previously unutilized byte within the payload.
|
* The minor number is bumped upon an extension of the protocol, such as adding a new protocol command ID, or utilizing a previously unutilized byte within the payload.
|
||||||
* The patch number is bumped upon a protocol related implementation fix, for example adding a new validation check.
|
* The patch number is bumped upon a protocol related implementation fix, for example adding a new validation check.
|
||||||
|
|
||||||
|
In order for a host application to communicate with the UHK, its major USB protocol version must match, and its minor USB protocol version must be less or equal.
|
||||||
|
|
||||||
## Slave protocol version
|
## Slave protocol version
|
||||||
|
|
||||||
The Slave protocol is the I2C based application protocol of the UHK via which the master module (right keyboard half), and the slave modules (left keyboard half, left add-on, right add-on) communicate.
|
The Slave protocol is the I2C based application protocol of the UHK via which the master module (right keyboard half), and the slave modules (left keyboard half, left add-on, right add-on) communicate.
|
||||||
@@ -22,6 +24,8 @@ The Slave protocol is the I2C based application protocol of the UHK via which th
|
|||||||
* The minor number is bumped upon an extension of the protocol, such as adding a new protocol command ID, or extending the payload.
|
* The minor number is bumped upon an extension of the protocol, such as adding a new protocol command ID, or extending the payload.
|
||||||
* The patch number is bumped upon a protocol related implementation fix, for example adding a new validation check.
|
* The patch number is bumped upon a protocol related implementation fix, for example adding a new validation check.
|
||||||
|
|
||||||
|
In order for the master module to communicate with the slave modules, its major slave protocol version must match, and its minor slave protocol version must be less or equal.
|
||||||
|
|
||||||
## Data model version
|
## Data model version
|
||||||
|
|
||||||
The data model is the binary serialization format of the user configuration which includes keymaps, macros, and every other configuration item.
|
The data model is the binary serialization format of the user configuration which includes keymaps, macros, and every other configuration item.
|
||||||
@@ -30,6 +34,8 @@ The data model is the binary serialization format of the user configuration whic
|
|||||||
* The minor number is bumped upon an extension of the data model, such as using a previously unutilized interval of a type number to add a new item type.
|
* The minor number is bumped upon an extension of the data model, such as using a previously unutilized interval of a type number to add a new item type.
|
||||||
* The patch number is bumped upon a data model related implementation fix, for example adding a new validation check.
|
* The patch number is bumped upon a data model related implementation fix, for example adding a new validation check.
|
||||||
|
|
||||||
|
In order for a host application to parse the configuration of the UHK, its major data model version must match, and its minor data model version must be less or equal.
|
||||||
|
|
||||||
For the sake of completeness, it's worth mentioning that not only the (user) data model exists, but the hardware data model too which contains hardware-specific configuration items, such as ANSI vs ISO keyboard type. The hardware data model also has a version number field, but it's not expected to ever change so for the sake of simplicity, it's not included into changelog releases. The hardware configuration version is 1.0.0
|
For the sake of completeness, it's worth mentioning that not only the (user) data model exists, but the hardware data model too which contains hardware-specific configuration items, such as ANSI vs ISO keyboard type. The hardware data model also has a version number field, but it's not expected to ever change so for the sake of simplicity, it's not included into changelog releases. The hardware configuration version is 1.0.0
|
||||||
|
|
||||||
## Firmware version
|
## Firmware version
|
||||||
|
|||||||
@@ -1,198 +0,0 @@
|
|||||||
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}/../../src")
|
|
||||||
SET(KsdkDir "${SrcDir}/../../lib/KSDK_2.0_MKL03Z8xxx4")
|
|
||||||
SET(ProjDirPath ${CMAKE_CURRENT_SOURCE_DIR})
|
|
||||||
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -DDEBUG")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -D__STARTUP_CLEAR_BSS")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -g")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -flto")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mcpu=cortex-m0plus")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -Wall")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mfloat-abi=soft")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mthumb")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -fno-common")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -ffunction-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -fdata-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -ffreestanding")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -fno-builtin")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mapcs")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -std=gnu99")
|
|
||||||
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -D__STARTUP_CLEAR_BSS")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -flto")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mcpu=cortex-m0plus")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -Wall")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mfloat-abi=soft")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mthumb")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -fno-common")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -ffunction-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -fdata-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -ffreestanding")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -fno-builtin")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mapcs")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -std=gnu99")
|
|
||||||
|
|
||||||
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} -DPRINTF_FLOAT_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSCANF_FLOAT_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DPRINTF_ADVANCED_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSCANF_ADVANCED_ENABLE=0")
|
|
||||||
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_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -flto")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mcpu=cortex-m0plus")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mfloat-abi=soft")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mthumb")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MMD")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MP")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-common")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ffunction-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fdata-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ffreestanding")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-builtin")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mapcs")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=gnu99")
|
|
||||||
|
|
||||||
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} -DPRINTF_FLOAT_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DSCANF_FLOAT_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DPRINTF_ADVANCED_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DSCANF_ADVANCED_ENABLE=0")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DFRDM_KL03Z")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DFREEDOM")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -flto")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mcpu=cortex-m0plus")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mfloat-abi=soft")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mthumb")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MMD")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MP")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-common")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffunction-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fdata-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffreestanding")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-builtin")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mapcs")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=gnu99")
|
|
||||||
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -flto")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mcpu=cortex-m0plus")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Wall")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mfloat-abi=soft")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} --specs=nano.specs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -fno-common")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -ffunction-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -fdata-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -ffreestanding")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -fno-builtin")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mthumb")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mapcs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} --gc-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -static")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -z")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} muldefs")
|
|
||||||
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -g")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -flto")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mcpu=cortex-m0plus")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Wall")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mfloat-abi=soft")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --specs=nano.specs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fno-common")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -ffunction-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fdata-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -ffreestanding")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fno-builtin")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mthumb")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mapcs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --gc-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -static")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -z")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} muldefs")
|
|
||||||
|
|
||||||
include_directories(${KsdkDir}/CMSIS/Include)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../devices)
|
|
||||||
include_directories(${KsdkDir}/devices/MKL03Z4/drivers)
|
|
||||||
include_directories(${ProjDirPath}/..)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../devices/MKL03Z4/utilities)
|
|
||||||
include_directories(${ProjDirPath}/../../..)
|
|
||||||
include_directories(${KsdkDir}/devices/MKL03Z4)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../CMSIS/Include)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../devices)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../devices/MKL03Z4/drivers)
|
|
||||||
include_directories(${ProjDirPath}/..)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../devices/MKL03Z4/utilities)
|
|
||||||
include_directories(${ProjDirPath}/../../..)
|
|
||||||
include_directories(${ProjDirPath}/../../../../../devices/MKL03Z4)
|
|
||||||
|
|
||||||
add_executable(uhk-left.elf
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/gcc/startup_MKL03Z4.S"
|
|
||||||
#"${ProjDirPath}/../../../../../devices/MKL03Z4/drivers/fsl_lpuart.h"
|
|
||||||
#"${ProjDirPath}/../../../../../devices/MKL03Z4/drivers/fsl_lpuart.c"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_port.h"
|
|
||||||
"${SrcDir}/main.c"
|
|
||||||
"${SrcDir}/clock_config.c"
|
|
||||||
"${SrcDir}/clock_config.h"
|
|
||||||
#"${KsdkDir}/devices/MKL03Z4/drivers/fsl_common.h"
|
|
||||||
#"${KsdkDir}/devices/MKL03Z4/drivers/fsl_common.c"
|
|
||||||
#"${ProjDirPath}/../../../../../devices/MKL03Z4/utilities/fsl_debug_console.c"
|
|
||||||
#"${ProjDirPath}/../../../../../devices/MKL03Z4/utilities/fsl_debug_console.h"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/system_MKL03Z4.c"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/system_MKL03Z4.h"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_gpio.h"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_gpio.c"
|
|
||||||
#"${KsdkDir}/../clock_config.c"
|
|
||||||
#"${rojDirPath}/../clock_config.h"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_smc.h"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_smc.c"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_clock.h"
|
|
||||||
"${KsdkDir}/devices/MKL03Z4/drivers/fsl_clock.c"
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -T${KsdkDir}/devices/MKL03Z4/gcc/MKL03Z32xxx4_flash.ld -static")
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -T${KsdkDir}/devices/MKL03Z4/gcc/MKL03Z32xxx4_flash.ld -static")
|
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(uhk-left.elf -Wl,--start-group)
|
|
||||||
target_link_libraries(uhk-left.elf debug m)
|
|
||||||
target_link_libraries(uhk-left.elf debug c)
|
|
||||||
target_link_libraries(uhk-left.elf debug gcc)
|
|
||||||
target_link_libraries(uhk-left.elf debug nosys)
|
|
||||||
target_link_libraries(uhk-left.elf optimized m)
|
|
||||||
target_link_libraries(uhk-left.elf optimized c)
|
|
||||||
target_link_libraries(uhk-left.elf optimized gcc)
|
|
||||||
target_link_libraries(uhk-left.elf optimized nosys)
|
|
||||||
TARGET_LINK_LIBRARIES(uhk-left.elf -Wl,--end-group)
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
./build_debug.sh
|
|
||||||
./build_release.sh
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
RD /s /Q Debug Release CMakeFiles
|
|
||||||
DEL /s /Q /F Makefile cmake_install.cmake CMakeCache.txt
|
|
||||||
pause
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
rm -rf debug release CMakeFiles
|
|
||||||
rm -rf Makefile cmake_install.cmake CMakeCache.txt
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
export KSDK_DIR=/../../../lib/KSDK_2.0_MKL03Z8xxx4/
|
|
||||||
Submodule lib/bootloader updated: 74a37a8d9e...b754ecbe68
@@ -11,8 +11,8 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/UltimateHackingKeyboard/firmware/issues"
|
"url": "https://github.com/UltimateHackingKeyboard/firmware/issues"
|
||||||
},
|
},
|
||||||
"version": "2.0.0",
|
"version": "2.1.0",
|
||||||
"dataModelVersion": "1.0.0",
|
"dataModelVersion": "1.0.0",
|
||||||
"usbProtocolVersion": "1.1.0",
|
"usbProtocolVersion": "1.2.0",
|
||||||
"slaveProtocolVersion": "2.0.0"
|
"slaveProtocolVersion": "2.1.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,22 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
version=$1
|
version="$1"
|
||||||
|
|
||||||
|
if [ -z "$version" ]; then
|
||||||
|
echo "No version number is specified."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
releaseName=uhk-firmware-$version
|
releaseName=uhk-firmware-$version
|
||||||
releaseDir=/tmp/$releaseName
|
releaseDir=/tmp/$releaseName
|
||||||
rightFirmwareFile=right/build/kds/uhk-right-release-srec/uhk-right.srec
|
rightFirmwareFile=right/build/kds/uhk-right-release-srec/uhk-right.srec
|
||||||
leftFirmwareFile=left/build/kds/uhk-left-release-srec/uhk-left.srec
|
leftFirmwareFile=left/build/kds/uhk-left-release-srec/uhk-left.srec
|
||||||
|
|
||||||
chmod 644 $rightFirmwareFile $leftFirmwareFile
|
chmod 644 $rightFirmwareFile $leftFirmwareFile
|
||||||
|
ls -l $rightFirmwareFile $leftFirmwareFile
|
||||||
rm -r $releaseDir
|
rm -r $releaseDir
|
||||||
mkdir $releaseDir
|
mkdir $releaseDir
|
||||||
cp $rightFirmwareFile $releaseDir
|
cp $rightFirmwareFile $releaseDir
|
||||||
cp $leftFirmwareFile $releaseDir
|
cp $leftFirmwareFile $releaseDir
|
||||||
echo $version > $releaseDir/version
|
cp package.json $releaseDir
|
||||||
tar -cvjSf $releaseName.tar.bz2 -C $releaseDir .
|
tar -cvjSf $releaseName.tar.bz2 -C $releaseDir .
|
||||||
|
|||||||
@@ -1,239 +0,0 @@
|
|||||||
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}/../../src")
|
|
||||||
SET(KsdkDir "${SrcDir}/../../lib/KSDK_2.0_MK22FN512xxx12/")
|
|
||||||
SET(IncludeDir "${SrcDir}/../shared")
|
|
||||||
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -DDEBUG")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -D__STARTUP_CLEAR_BSS")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -g")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mcpu=cortex-m4")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -Wall")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mfloat-abi=hard")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mfpu=fpv4-sp-d16")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mthumb")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -fno-common")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -ffunction-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -fdata-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -ffreestanding")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -fno-builtin")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -mapcs")
|
|
||||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -std=gnu99")
|
|
||||||
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -D__STARTUP_CLEAR_BSS")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mcpu=cortex-m4")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -Wall")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mfloat-abi=hard")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mfpu=fpv4-sp-d16")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mthumb")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -fno-common")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -ffunction-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -fdata-sections")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -ffreestanding")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -fno-builtin")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mapcs")
|
|
||||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -std=gnu99")
|
|
||||||
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG=1")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DCPU_MK22FN512VLH12")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DUSB_STACK_BM")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DFRDM_K22F")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DFREEDOM")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mcpu=cortex-m4")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mfloat-abi=hard")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mfpu=fpv4-sp-d16")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mthumb")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MMD")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MP")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-common")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ffunction-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fdata-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ffreestanding")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-builtin")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -mapcs")
|
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=gnu99")
|
|
||||||
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_DEBUG=0")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DCPU_MK22FN512VLH12")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DUSB_STACK_BM")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DFRDM_K22F")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DFREEDOM")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mcpu=cortex-m4")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mfloat-abi=hard")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mfpu=fpv4-sp-d16")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mthumb")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MMD")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MP")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-common")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffunction-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fdata-sections")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffreestanding")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-builtin")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mapcs")
|
|
||||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=gnu99")
|
|
||||||
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mcpu=cortex-m4")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Wall")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mfloat-abi=hard")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mfpu=fpv4-sp-d16")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} --specs=nano.specs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -fno-common")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -ffunction-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -fdata-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -ffreestanding")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -fno-builtin")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mthumb")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mapcs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} --gc-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -static")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -z")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} muldefs")
|
|
||||||
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -g")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mcpu=cortex-m4")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Wall")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mfloat-abi=hard")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mfpu=fpv4-sp-d16")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --specs=nano.specs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fno-common")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -ffunction-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fdata-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -ffreestanding")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fno-builtin")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mthumb")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -mapcs")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --gc-sections")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -static")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -z")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker")
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} muldefs")
|
|
||||||
|
|
||||||
include_directories(${SrcDir})
|
|
||||||
include_directories(${SrcDir}/ksdk_usb)
|
|
||||||
include_directories(${SrcDir}/usb_descriptors)
|
|
||||||
include_directories(${SrcDir}/../../shared)
|
|
||||||
include_directories(${KsdkDir}/middleware/usb_1.0.0)
|
|
||||||
include_directories(${KsdkDir}/middleware/usb_1.0.0/osa)
|
|
||||||
include_directories(${KsdkDir}/middleware/usb_1.0.0/include)
|
|
||||||
include_directories(${KsdkDir}/middleware/usb_1.0.0/device)
|
|
||||||
include_directories(${KsdkDir}/CMSIS/Include)
|
|
||||||
include_directories(${KsdkDir}/boards/frdmk22f)
|
|
||||||
include_directories(${KsdkDir}/devices/MK22F51212/drivers)
|
|
||||||
include_directories(${KsdkDir}/devices/MK22F51212)
|
|
||||||
include_directories(${IncludeDir})
|
|
||||||
|
|
||||||
add_executable(dev_composite_hid_mouse_hid_keyboard_bm.elf
|
|
||||||
"${KsdkDir}/devices/MK22F51212/gcc/startup_MK22F51212.S"
|
|
||||||
|
|
||||||
"${KsdkDir}/devices/MK22F51212/system_MK22F51212.c"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/system_MK22F51212.h"
|
|
||||||
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_clock.h"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_clock.c"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_gpio.h"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_gpio.c"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_i2c.h"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_i2c.c"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_smc.h"
|
|
||||||
"${KsdkDir}/devices/MK22F51212/drivers/fsl_smc.c"
|
|
||||||
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/device/usb_device_khci.c"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/device/usb_device_khci.h"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/device/usb_device.h"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/device/usb_device_dci.c"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/device/usb_device_dci.h"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/osa/usb_osa.h"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/osa/usb_osa_bm.h"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/osa/usb_osa_bm.c"
|
|
||||||
"${KsdkDir}/middleware/usb_1.0.0/include/usb.h"
|
|
||||||
|
|
||||||
"${SrcDir}/ksdk_usb/usb_device_class.c"
|
|
||||||
"${SrcDir}/ksdk_usb/usb_device_class.h"
|
|
||||||
"${SrcDir}/ksdk_usb/usb_device_hid.c"
|
|
||||||
"${SrcDir}/ksdk_usb/usb_device_hid.h"
|
|
||||||
"${SrcDir}/ksdk_usb/usb_device_ch9.c"
|
|
||||||
"${SrcDir}/ksdk_usb/usb_device_ch9.h"
|
|
||||||
|
|
||||||
"${SrcDir}/main.c"
|
|
||||||
"${SrcDir}/usb_composite_device.c"
|
|
||||||
"${SrcDir}/usb_composite_device.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_configuration.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_configuration.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_device.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_device.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_generic_hid_report.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_generic_hid_report.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_hid.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_hid.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_keyboard_report.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_keyboard_report.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_mouse_report.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_mouse_report.h"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_strings.c"
|
|
||||||
"${SrcDir}/usb_descriptors/usb_descriptor_strings.h"
|
|
||||||
"${SrcDir}/usb_device_config.h"
|
|
||||||
"${SrcDir}/usb_interface_generic_hid.c"
|
|
||||||
"${SrcDir}/usb_interface_generic_hid.h"
|
|
||||||
"${SrcDir}/usb_interface_keyboard.c"
|
|
||||||
"${SrcDir}/usb_interface_keyboard.h"
|
|
||||||
"${SrcDir}/usb_interface_mouse.c"
|
|
||||||
"${SrcDir}/usb_interface_mouse.h"
|
|
||||||
"${SrcDir}/init_peripherials.c"
|
|
||||||
"${SrcDir}/init_peripherials.h"
|
|
||||||
"${SrcDir}/init_clock.c"
|
|
||||||
"${SrcDir}/init_clock.h"
|
|
||||||
"${SrcDir}/led_driver.c"
|
|
||||||
"${SrcDir}/led_driver.h"
|
|
||||||
"${SrcDir}/reset_button.c"
|
|
||||||
"${SrcDir}/reset_button.h"
|
|
||||||
"${SrcDir}/test_led.c"
|
|
||||||
"${SrcDir}/test_led.h"
|
|
||||||
"${SrcDir}/usb_protocol_handler.c"
|
|
||||||
"${SrcDir}/usb_protocol_handler.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -T${KsdkDir}/devices/MK22F51212/gcc/MK22FN512xxx12_flash.ld -static")
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -T${KsdkDir}/devices/MK22F51212/gcc/MK22FN512xxx12_flash.ld -static")
|
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(dev_composite_hid_mouse_hid_keyboard_bm.elf -Wl,--start-group)
|
|
||||||
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf debug m)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf debug c)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf debug gcc)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf debug nosys)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf optimized m)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf optimized c)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf optimized gcc)
|
|
||||||
target_link_libraries(dev_composite_hid_mouse_hid_keyboard_bm.elf optimized nosys)
|
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(dev_composite_hid_mouse_hid_keyboard_bm.elf -Wl,--end-group)
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# 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.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
./build_debug.sh
|
|
||||||
./build_release.sh
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
RD /s /Q Debug Release CMakeFiles
|
|
||||||
DEL /s /Q /F Makefile cmake_install.cmake CMakeCache.txt
|
|
||||||
pause
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
rm -rf debug release CMakeFiles
|
|
||||||
rm -rf Makefile cmake_install.cmake CMakeCache.txt
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
export KSDK_DIR=/../../../lib/KSDK_2.0_MK22FN512xxx12/
|
|
||||||
@@ -74,6 +74,7 @@
|
|||||||
<listOptionValue builtIn="false" value="../../../src/ksdk_usb"/>
|
<listOptionValue builtIn="false" value="../../../src/ksdk_usb"/>
|
||||||
<listOptionValue builtIn="false" value="../../../src/buspal"/>
|
<listOptionValue builtIn="false" value="../../../src/buspal"/>
|
||||||
<listOptionValue builtIn="false" value="../../../src/buspal/bm_usb"/>
|
<listOptionValue builtIn="false" value="../../../src/buspal/bm_usb"/>
|
||||||
|
<listOptionValue builtIn="false" value="../../../../lib/bootloader/src"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/osa"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/osa"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/include"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/include"/>
|
||||||
@@ -214,6 +215,7 @@
|
|||||||
<listOptionValue builtIn="false" value="../../../src/ksdk_usb"/>
|
<listOptionValue builtIn="false" value="../../../src/ksdk_usb"/>
|
||||||
<listOptionValue builtIn="false" value="../../../src/buspal"/>
|
<listOptionValue builtIn="false" value="../../../src/buspal"/>
|
||||||
<listOptionValue builtIn="false" value="../../../src/buspal/bm_usb"/>
|
<listOptionValue builtIn="false" value="../../../src/buspal/bm_usb"/>
|
||||||
|
<listOptionValue builtIn="false" value="../../../../lib/bootloader/src"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/osa"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/osa"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/include"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/include"/>
|
||||||
@@ -356,6 +358,7 @@
|
|||||||
<listOptionValue builtIn="false" value="../../../src/ksdk_usb"/>
|
<listOptionValue builtIn="false" value="../../../src/ksdk_usb"/>
|
||||||
<listOptionValue builtIn="false" value="../../../src/buspal"/>
|
<listOptionValue builtIn="false" value="../../../src/buspal"/>
|
||||||
<listOptionValue builtIn="false" value="../../../src/buspal/bm_usb"/>
|
<listOptionValue builtIn="false" value="../../../src/buspal/bm_usb"/>
|
||||||
|
<listOptionValue builtIn="false" value="../../../../lib/bootloader/src"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/osa"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/osa"/>
|
||||||
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/include"/>
|
<listOptionValue builtIn="false" value="../../../../lib/KSDK_2.0_MK22FN512xxx12/middleware/usb_1.0.0/include"/>
|
||||||
@@ -456,11 +459,11 @@
|
|||||||
<resource resourceType="PROJECT" workspacePath="/uhk-right"/>
|
<resource resourceType="PROJECT" workspacePath="/uhk-right"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration configurationName="v6-debug-srec"/>
|
<configuration configurationName="v6-debug-srec"/>
|
||||||
|
<configuration configurationName="v7-debug"/>
|
||||||
|
<configuration configurationName="v6-release"/>
|
||||||
<configuration configurationName="release">
|
<configuration configurationName="release">
|
||||||
<resource resourceType="PROJECT" workspacePath="/uhk-right"/>
|
<resource resourceType="PROJECT" workspacePath="/uhk-right"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration configurationName="v6-release"/>
|
|
||||||
<configuration configurationName="v7-debug"/>
|
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||||
|
|||||||
@@ -30,6 +30,11 @@
|
|||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||||
</natures>
|
</natures>
|
||||||
<linkedResources>
|
<linkedResources>
|
||||||
|
<link>
|
||||||
|
<name>bootloader-shared</name>
|
||||||
|
<type>2</type>
|
||||||
|
<locationURI>virtual:/virtual</locationURI>
|
||||||
|
</link>
|
||||||
<link>
|
<link>
|
||||||
<name>drivers</name>
|
<name>drivers</name>
|
||||||
<type>2</type>
|
<type>2</type>
|
||||||
@@ -60,6 +65,16 @@
|
|||||||
<type>2</type>
|
<type>2</type>
|
||||||
<locationURI>virtual:/virtual</locationURI>
|
<locationURI>virtual:/virtual</locationURI>
|
||||||
</link>
|
</link>
|
||||||
|
<link>
|
||||||
|
<name>bootloader-shared/wormhole.c</name>
|
||||||
|
<type>1</type>
|
||||||
|
<locationURI>PARENT-3-PROJECT_LOC/lib/bootloader/src/bootloader/src/wormhole.c</locationURI>
|
||||||
|
</link>
|
||||||
|
<link>
|
||||||
|
<name>bootloader-shared/wormhole.h</name>
|
||||||
|
<type>1</type>
|
||||||
|
<locationURI>PARENT-3-PROJECT_LOC/lib/bootloader/src/bootloader/wormhole.h</locationURI>
|
||||||
|
</link>
|
||||||
<link>
|
<link>
|
||||||
<name>drivers/fsl_adc16.c</name>
|
<name>drivers/fsl_adc16.c</name>
|
||||||
<type>1</type>
|
<type>1</type>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include "bus_pal_hardware.h"
|
#include "bus_pal_hardware.h"
|
||||||
#include "bootloader_config.h"
|
#include "bootloader_config.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
#include "eeprom.h"
|
#include "eeprom.h"
|
||||||
|
|
||||||
key_matrix_t KeyMatrix = {
|
key_matrix_t KeyMatrix = {
|
||||||
|
|||||||
@@ -174,6 +174,19 @@ status_t UhkModuleSlaveDriver_Update(uint8_t uhkModuleDriverId)
|
|||||||
BoolBitsToBytes(rxMessage->data, CurrentKeyStates[slotId], uhkModuleState->features.keyCount);
|
BoolBitsToBytes(rxMessage->data, CurrentKeyStates[slotId], uhkModuleState->features.keyCount);
|
||||||
}
|
}
|
||||||
status = kStatus_Uhk_NoTransfer;
|
status = kStatus_Uhk_NoTransfer;
|
||||||
|
*uhkModulePhase = UhkModulePhase_JumpToBootloader;
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Jump to bootloader
|
||||||
|
case UhkModulePhase_JumpToBootloader:
|
||||||
|
if (uhkModuleState->jumpToBootloader) {
|
||||||
|
txMessage.data[0] = SlaveCommand_JumpToBootloader;
|
||||||
|
txMessage.length = 1;
|
||||||
|
status = tx(i2cAddress);
|
||||||
|
uhkModuleState->jumpToBootloader = false;
|
||||||
|
} else {
|
||||||
|
status = kStatus_Uhk_NoTransfer;
|
||||||
|
}
|
||||||
*uhkModulePhase = UhkModulePhase_SetTestLed;
|
*uhkModulePhase = UhkModulePhase_SetTestLed;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -47,8 +47,9 @@
|
|||||||
UhkModulePhase_ProcessKeystates,
|
UhkModulePhase_ProcessKeystates,
|
||||||
|
|
||||||
// Misc phases
|
// Misc phases
|
||||||
UhkModulePhase_SetLedPwmBrightness,
|
UhkModulePhase_JumpToBootloader,
|
||||||
UhkModulePhase_SetTestLed,
|
UhkModulePhase_SetTestLed,
|
||||||
|
UhkModulePhase_SetLedPwmBrightness,
|
||||||
|
|
||||||
} uhk_module_phase_t;
|
} uhk_module_phase_t;
|
||||||
|
|
||||||
@@ -67,6 +68,7 @@
|
|||||||
uint8_t firmwareI2cAddress;
|
uint8_t firmwareI2cAddress;
|
||||||
uint8_t bootloaderI2cAddress;
|
uint8_t bootloaderI2cAddress;
|
||||||
uhk_module_features_t features;
|
uhk_module_features_t features;
|
||||||
|
bool jumpToBootloader;
|
||||||
} uhk_module_state_t;
|
} uhk_module_state_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include "usb_descriptors/usb_descriptor_strings.h"
|
#include "usb_descriptors/usb_descriptor_strings.h"
|
||||||
#include "bootloader_config.h"
|
#include "bootloader_config.h"
|
||||||
#include "bus_pal_hardware.h"
|
#include "bus_pal_hardware.h"
|
||||||
#include "wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
|
|
||||||
static usb_status_t UsbDeviceCallback(usb_device_handle handle, uint32_t event, void *param);
|
static usb_status_t UsbDeviceCallback(usb_device_handle handle, uint32_t event, void *param);
|
||||||
usb_composite_device_t UsbCompositeDevice;
|
usb_composite_device_t UsbCompositeDevice;
|
||||||
|
|||||||
@@ -12,6 +12,6 @@
|
|||||||
|
|
||||||
// Variables:
|
// Variables:
|
||||||
|
|
||||||
uint8_t UsbGenericHidReportDescriptor[USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH];
|
extern uint8_t UsbGenericHidReportDescriptor[USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
#include "led_pwm.h"
|
#include "led_pwm.h"
|
||||||
#include "slave_scheduler.h"
|
#include "slave_scheduler.h"
|
||||||
#include "slave_drivers/uhk_module_driver.h"
|
#include "slave_drivers/uhk_module_driver.h"
|
||||||
#include "wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
#include "peripherals/adc.h"
|
#include "peripherals/adc.h"
|
||||||
#include "eeprom.h"
|
#include "eeprom.h"
|
||||||
#include "keymaps.h"
|
#include "keymaps.h"
|
||||||
@@ -265,6 +265,18 @@ void getDebugInfo(void)
|
|||||||
GenericHidOutBuffer[8] = (ticks >> 56) & 0xff;
|
GenericHidOutBuffer[8] = (ticks >> 56) & 0xff;
|
||||||
*/}
|
*/}
|
||||||
|
|
||||||
|
void jumpToSlaveBootloader(void)
|
||||||
|
{
|
||||||
|
uint8_t uhkModuleDriverId = GenericHidInBuffer[1];
|
||||||
|
|
||||||
|
if (uhkModuleDriverId >= UHK_MODULE_MAX_COUNT) {
|
||||||
|
setError(JumpToBootloaderError_InvalidModuleDriverId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
UhkModuleStates[uhkModuleDriverId].jumpToBootloader = true;
|
||||||
|
}
|
||||||
|
|
||||||
// The main protocol handler function
|
// The main protocol handler function
|
||||||
|
|
||||||
void UsbProtocolHandler(void)
|
void UsbProtocolHandler(void)
|
||||||
@@ -316,6 +328,9 @@ void UsbProtocolHandler(void)
|
|||||||
case UsbCommand_GetDebugInfo:
|
case UsbCommand_GetDebugInfo:
|
||||||
getDebugInfo();
|
getDebugInfo();
|
||||||
break;
|
break;
|
||||||
|
case UsbCommand_JumpToSlaveBootloader:
|
||||||
|
jumpToSlaveBootloader();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
UsbCommand_ReadUserConfiguration = 15,
|
UsbCommand_ReadUserConfiguration = 15,
|
||||||
UsbCommand_GetKeyboardState = 16,
|
UsbCommand_GetKeyboardState = 16,
|
||||||
UsbCommand_GetDebugInfo = 17,
|
UsbCommand_GetDebugInfo = 17,
|
||||||
|
UsbCommand_JumpToSlaveBootloader = 18,
|
||||||
} usb_command_t;
|
} usb_command_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@@ -35,6 +36,10 @@
|
|||||||
ConfigTransferResponse_BufferOutOfBounds = 2,
|
ConfigTransferResponse_BufferOutOfBounds = 2,
|
||||||
} config_transfer_response_t;
|
} config_transfer_response_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
JumpToBootloaderError_InvalidModuleDriverId = 1,
|
||||||
|
} jump_to_bootloader_error_t;
|
||||||
|
|
||||||
// Functions:
|
// Functions:
|
||||||
|
|
||||||
void UsbProtocolHandler(void);
|
void UsbProtocolHandler(void);
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
#include "wormhole.h"
|
|
||||||
|
|
||||||
wormhole_t ATTR_NO_INIT Wormhole;
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
#ifndef __WORMHOLE_H__
|
|
||||||
#define __WORMHOLE_H__
|
|
||||||
|
|
||||||
// Includes:
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include "attributes.h"
|
|
||||||
|
|
||||||
// Macros:
|
|
||||||
|
|
||||||
#define WORMHOLE_MAGIC_NUMBER 0x3b04cd9e94521f9a
|
|
||||||
|
|
||||||
// Typedefs:
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
EnumerationMode_Bootloader,
|
|
||||||
EnumerationMode_NormalKeyboard,
|
|
||||||
EnumerationMode_CompatibleKeyboard,
|
|
||||||
EnumerationMode_BusPal,
|
|
||||||
} enumeration_mode_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
uint64_t magicNumber;
|
|
||||||
uint8_t enumerationMode;
|
|
||||||
} wormhole_t;
|
|
||||||
|
|
||||||
// Variables:
|
|
||||||
|
|
||||||
extern wormhole_t ATTR_NO_INIT Wormhole;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Reference in New Issue
Block a user