diff options
| author | Ben Hilburn <bhilburn@gmail.com> | 2018-02-19 14:09:05 -0500 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2018-02-19 14:09:05 -0500 |
| commit | 8df2ee4ec3758b45fe762fd8fc1840e04c8f5f73 (patch) | |
| tree | 71e4bfc87a52bc64fc32067d68254c1a1772e8dc /docs | |
| parent | 0e92d99cdc2da358f14e6faf421b71edd0ef7f6c (diff) | |
| download | qmk_firmware-8df2ee4ec3758b45fe762fd8fc1840e04c8f5f73.tar.gz qmk_firmware-8df2ee4ec3758b45fe762fd8fc1840e04c8f5f73.zip | |
Minor updates to docs (#2406)
* [docs/] Cleaning up some language to make it more clear.
* [docs/] Adding instructions for installing deps on RH / Fedora.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/faq_build.md | 45 | ||||
| -rw-r--r-- | docs/getting_started_build_tools.md | 5 | ||||
| -rw-r--r-- | docs/keymap.md | 2 |
3 files changed, 27 insertions, 25 deletions
diff --git a/docs/faq_build.md b/docs/faq_build.md index d38ca69d0..ff409f9c6 100644 --- a/docs/faq_build.md +++ b/docs/faq_build.md | |||
| @@ -1,40 +1,25 @@ | |||
| 1 | # Frequently Asked Build Questions | 1 | # Frequently Asked Build Questions |
| 2 | 2 | ||
| 3 | This page covers questions about building QMK. If you have not yet you should read the [Build Environment Setup](getting_started_build_tools.md) and [Make Instructions](getting_started_make_guide.md) guides. | 3 | This page covers questions about building QMK. If you haven't yet done so, you should read the [Build Environment Setup](getting_started_build_tools.md) and [Make Instructions](getting_started_make_guide.md) guides. |
| 4 | 4 | ||
| 5 | ## Can't Program on Linux | 5 | ## Can't Program on Linux |
| 6 | You will need proper permission to operate a device. For Linux users see udev rules below. Easy way is to use `sudo` command, if you are not familiar with this command check its manual with `man sudo` or this page on line. | 6 | You will need proper permissions to operate a device. For Linux users, see the instructions regarding `udev` rules, below. If you have issues with `udev`, a work-around is to use the `sudo` command. If you are not familiar with this command, check its manual with `man sudo` or [see this webpage](https://linux.die.net/man/8/sudo). |
| 7 | 7 | ||
| 8 | In short when your controller is ATMega32u4, | 8 | An example of using `sudo`, when your controller is ATMega32u4: |
| 9 | 9 | ||
| 10 | $ sudo dfu-programmer atmega32u4 erase --force | 10 | $ sudo dfu-programmer atmega32u4 erase --force |
| 11 | $ sudo dfu-programmer atmega32u4 flash your.hex | 11 | $ sudo dfu-programmer atmega32u4 flash your.hex |
| 12 | $ sudo dfu-programmer atmega32u4 reset | 12 | $ sudo dfu-programmer atmega32u4 reset |
| 13 | 13 | ||
| 14 | or just | 14 | or just: |
| 15 | 15 | ||
| 16 | $ sudo make <keyboard>:<keymap>:dfu | 16 | $ sudo make <keyboard>:<keymap>:dfu |
| 17 | 17 | ||
| 18 | But to run `make` with root privilege is not good idea. Use former method if possible. | 18 | Note that running `make` with `sudo` is generally *not* a good idea, and you should use one of the former methods, if possible. |
| 19 | |||
| 20 | ## WINAVR is Obsolete | ||
| 21 | It is no longer recommended and may cause some problem. | ||
| 22 | See [TMK Issue #99](https://github.com/tmk/tmk_keyboard/issues/99). | ||
| 23 | |||
| 24 | ## USB VID and PID | ||
| 25 | You can use any ID you want with editing `config.h`. Using any presumably unused ID will be no problem in fact except for very low chance of collision with other product. | ||
| 26 | |||
| 27 | Most boards in QMK use `0xFEED` as the vendor ID. You should look through other keyboards to make sure you pick a unique Product ID. | ||
| 28 | |||
| 29 | Also see this. | ||
| 30 | https://github.com/tmk/tmk_keyboard/issues/150 | ||
| 31 | |||
| 32 | You can buy a really unique VID:PID here. I don't think you need this for personal use. | ||
| 33 | - http://www.obdev.at/products/vusb/license.html | ||
| 34 | - http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1 | ||
| 35 | 19 | ||
| 36 | ## Linux `udev` Rules | 20 | ## Linux `udev` Rules |
| 37 | On Linux you need proper privilege to access device file of MCU, you'll have to use `sudo` when flashing firmware. You can circumvent this with placing these files in `/etc/udev/rules.d/`. | 21 | On Linux, you'll need proper privileges to access the MCU. You can either use |
| 22 | `sudo` when flashing firmware, or place these files in `/etc/udev/rules.d/`. | ||
| 38 | 23 | ||
| 39 | **/etc/udev/rules.d/50-atmel-dfu.rules:** | 24 | **/etc/udev/rules.d/50-atmel-dfu.rules:** |
| 40 | ``` | 25 | ``` |
| @@ -52,6 +37,21 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="066 | |||
| 52 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666" | 37 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666" |
| 53 | ``` | 38 | ``` |
| 54 | 39 | ||
| 40 | ## WINAVR is Obsolete | ||
| 41 | It is no longer recommended and may cause some problem. | ||
| 42 | See [TMK Issue #99](https://github.com/tmk/tmk_keyboard/issues/99). | ||
| 43 | |||
| 44 | ## USB VID and PID | ||
| 45 | You can use any ID you want with editing `config.h`. Using any presumably unused ID will be no problem in fact except for very low chance of collision with other product. | ||
| 46 | |||
| 47 | Most boards in QMK use `0xFEED` as the vendor ID. You should look through other keyboards to make sure you pick a unique Product ID. | ||
| 48 | |||
| 49 | Also see this. | ||
| 50 | https://github.com/tmk/tmk_keyboard/issues/150 | ||
| 51 | |||
| 52 | You can buy a really unique VID:PID here. I don't think you need this for personal use. | ||
| 53 | - http://www.obdev.at/products/vusb/license.html | ||
| 54 | - http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1 | ||
| 55 | 55 | ||
| 56 | ## Cortex: `cstddef: No such file or directory` | 56 | ## Cortex: `cstddef: No such file or directory` |
| 57 | GCC 4.8 of Ubuntu 14.04 had this problem and had to update to 4.9 with this PPA. | 57 | GCC 4.8 of Ubuntu 14.04 had this problem and had to update to 4.9 with this PPA. |
| @@ -61,7 +61,6 @@ https://github.com/tmk/tmk_keyboard/issues/212 | |||
| 61 | https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef | 61 | https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef |
| 62 | https://developer.mbed.org/forum/mbed/topic/5205/ | 62 | https://developer.mbed.org/forum/mbed/topic/5205/ |
| 63 | 63 | ||
| 64 | |||
| 65 | ## `clock_prescale_set` and `clock_div_1` Not Available | 64 | ## `clock_prescale_set` and `clock_div_1` Not Available |
| 66 | Your toolchain is too old to support the MCU. For example WinAVR 20100110 doesn't support ATMega32u2. | 65 | Your toolchain is too old to support the MCU. For example WinAVR 20100110 doesn't support ATMega32u2. |
| 67 | 66 | ||
diff --git a/docs/getting_started_build_tools.md b/docs/getting_started_build_tools.md index cd748dbf8..13c8def52 100644 --- a/docs/getting_started_build_tools.md +++ b/docs/getting_started_build_tools.md | |||
| @@ -31,11 +31,14 @@ git | |||
| 31 | 31 | ||
| 32 | Install the dependencies with your favorite package manager. | 32 | Install the dependencies with your favorite package manager. |
| 33 | 33 | ||
| 34 | Debian/Ubuntu example: | 34 | Debian / Ubuntu example: |
| 35 | 35 | ||
| 36 | sudo apt-get update | 36 | sudo apt-get update |
| 37 | sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi | 37 | sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi |
| 38 | 38 | ||
| 39 | Fedora / Red Hat example: | ||
| 40 | sudo dnf install gcc unzip wget zip dfu-util dfu-programmer avr-gcc avr-libc binutils-avr32-linux-gnu arm-none-eabi-gcc-cs arm-none-eabi-binutils-cs arm-none-eabi-newlib | ||
| 41 | |||
| 39 | ## Nix | 42 | ## Nix |
| 40 | 43 | ||
| 41 | If you're on [NixOS](https://nixos.org/), or have Nix installed on Linux or macOS, run `nix-shell` from the repository root to get a build environment. | 44 | If you're on [NixOS](https://nixos.org/), or have Nix installed on Linux or macOS, run `nix-shell` from the repository root to get a build environment. |
diff --git a/docs/keymap.md b/docs/keymap.md index 8401ee148..090a92661 100644 --- a/docs/keymap.md +++ b/docs/keymap.md | |||
| @@ -33,7 +33,7 @@ The state of the Keymap layer is determined by two 32 bit parameters: | |||
| 33 | * **`default_layer_state`** indicates a base keymap layer (0-31) which is always valid and to be referred (the default layer). | 33 | * **`default_layer_state`** indicates a base keymap layer (0-31) which is always valid and to be referred (the default layer). |
| 34 | * **`layer_state`** has current on/off status of each layer in its bits. | 34 | * **`layer_state`** has current on/off status of each layer in its bits. |
| 35 | 35 | ||
| 36 | Keymap layer '0' is usually `default_layer`, wither other layers initially off after booting up the firmware, although this can configured differently in `config.h`. It is useful to change `default_layer` when you completely switch a key layout, for example, if you want to switch to Colemak instead of Qwerty. | 36 | Keymap layer '0' is usually the `default_layer`, with other layers initially off after booting up the firmware, although this can configured differently in `config.h`. It is useful to change `default_layer` when you completely switch a key layout, for example, if you want to switch to Colemak instead of Qwerty. |
| 37 | 37 | ||
| 38 | Initial state of Keymap Change base layout | 38 | Initial state of Keymap Change base layout |
| 39 | ----------------------- ------------------ | 39 | ----------------------- ------------------ |
