aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBen Hilburn <bhilburn@gmail.com>2018-02-19 14:09:05 -0500
committerJack Humbert <jack.humb@gmail.com>2018-02-19 14:09:05 -0500
commit8df2ee4ec3758b45fe762fd8fc1840e04c8f5f73 (patch)
tree71e4bfc87a52bc64fc32067d68254c1a1772e8dc /docs
parent0e92d99cdc2da358f14e6faf421b71edd0ef7f6c (diff)
downloadqmk_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.md45
-rw-r--r--docs/getting_started_build_tools.md5
-rw-r--r--docs/keymap.md2
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
3This 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. 3This 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
6You 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. 6You 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
8In short when your controller is ATMega32u4, 8An 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
14or just 14or just:
15 15
16 $ sudo make <keyboard>:<keymap>:dfu 16 $ sudo make <keyboard>:<keymap>:dfu
17 17
18But to run `make` with root privilege is not good idea. Use former method if possible. 18Note 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
21It is no longer recommended and may cause some problem.
22See [TMK Issue #99](https://github.com/tmk/tmk_keyboard/issues/99).
23
24## USB VID and PID
25You 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
27Most 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
29Also see this.
30https://github.com/tmk/tmk_keyboard/issues/150
31
32You 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
37On 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/`. 21On 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
52SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666" 37SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
53``` 38```
54 39
40## WINAVR is Obsolete
41It is no longer recommended and may cause some problem.
42See [TMK Issue #99](https://github.com/tmk/tmk_keyboard/issues/99).
43
44## USB VID and PID
45You 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
47Most 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
49Also see this.
50https://github.com/tmk/tmk_keyboard/issues/150
51
52You 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`
57GCC 4.8 of Ubuntu 14.04 had this problem and had to update to 4.9 with this PPA. 57GCC 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
61https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef 61https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef
62https://developer.mbed.org/forum/mbed/topic/5205/ 62https://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
66Your toolchain is too old to support the MCU. For example WinAVR 20100110 doesn't support ATMega32u2. 65Your 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
32Install the dependencies with your favorite package manager. 32Install the dependencies with your favorite package manager.
33 33
34Debian/Ubuntu example: 34Debian / 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
39Fedora / 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
41If 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. 44If 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
36Keymap 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. 36Keymap 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 ----------------------- ------------------