diff --git a/README.md b/README.md index 12fb55b..5e6da7d 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,29 @@ This repository hosts the firmware of the [Ultimate Hacking Keyboard](https://ultimatehackingkeyboard.com/). -## Build +## Cloning the repository Please make sure to clone this repo with: `git clone --recursive git@github.com:UltimateHackingKeyboard/firmware.git` -Install [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) (KDS) and import the project by invoking File -> Import -> General -> Existing Projects into Workspace, select the `right` directory, and click on the Finish button. At this point, you should be able to build the firmware in KDS. +This will download the dependent submodules which are required to build the firmware. -Alternatively, you can use the build scripts of the `right/build/armgcc` directory. +## Bootloader dependency + +Before flashing the firmware of the right keyboard half, [the bootloader](https://github.com/UltimateHackingKeyboard/bootloader) must be flashed to the microcontroller, otherwise the firmware will not be started. The reason is that the bootloader executes first, then it jumps to the firmware. + +## Importing the firmware + +Install [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) (KDS) and import the project by invoking **File -> Import -> General -> Existing Projects** into Workspace, select the `right` or `left` directory depending on the firmware to be built, then click on the Finish button. At this point, you should be able to build the firmware in KDS. + +## Building and flashing the firmware + +In KDS, click on Run > Debug Configurations, then you have two choices: + +1. You can select **C/C++ Application > uhk-right v7 release kboot** to flash the firmware via the bootloader. + +2. You can select **GDB SEGGER J-Link Debugging > uhk-right v7 release jlink** to flash the firmware via a SEGGER J-Link USB debug probe. In this case, the target device (left or right keyboard half, or add-on module) must be powered, and it must be connected to the debug probe. ## Contributing