summary refs log tree commit diff
path: root/docs/faq_debug.md
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2017-08-06 20:57:57 -0700
committerJack Humbert <jack.humb@gmail.com>2017-08-16 15:47:20 -0400
commit9d1a08e38ac9937cff4e61abfd0acc26ad5fdf4a (patch)
tree352da3e60b219405be323306bcd67a6729107d61 /docs/faq_debug.md
parent9b879b1267cd5cbebf4d73595c7ca4ed52fe5ef4 (diff)
Doc updates from going through every file
Diffstat (limited to 'docs/faq_debug.md')
-rw-r--r--docs/faq_debug.md39
1 files changed, 39 insertions, 0 deletions
diff --git a/docs/faq_debug.md b/docs/faq_debug.md
index 9e76ac4094..3f7cfe7477 100644
--- a/docs/faq_debug.md
+++ b/docs/faq_debug.md
@@ -48,6 +48,45 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
 ***
 
 # Miscellaneous
+## Safety Considerations
+
+You probably don't want to "brick" your keyboard, making it impossible
+to rewrite firmware onto it.  Here are some of the parameters to show
+what things are (and likely aren't) too risky.
+
+- If your keyboard map does not include RESET, then, to get into DFU
+  mode, you will need to press the reset button on the PCB, which
+  requires unscrewing the bottom.
+- Messing with tmk_core / common files might make the keyboard
+  inoperable
+- Too large a .hex file is trouble; `make dfu` will erase the block,
+  test the size (oops, wrong order!), which errors out, failing to
+  flash the keyboard, leaving it in DFU mode.
+  - To this end, note that the maximum .hex file size on Planck is
+    7000h (28672 decimal)
+
+```
+Linking: .build/planck_rev4_cbbrowne.elf                                                            [OK]
+Creating load file for Flash: .build/planck_rev4_cbbrowne.hex                                       [OK]
+
+Size after:
+   text    data     bss     dec     hex filename
+      0   22396       0   22396    577c planck_rev4_cbbrowne.hex
+```
+
+  - The above file is of size 22396/577ch, which is less than
+    28672/7000h
+  - As long as you have a suitable alternative .hex file around, you
+    can retry, loading that one
+  - Some of the options you might specify in your keyboard's Makefile
+    consume extra memory; watch out for BOOTMAGIC_ENABLE,
+    MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, CONSOLE_ENABLE, API_SYSEX_ENABLE
+- DFU tools do /not/ allow you to write into the bootloader (unless
+  you throw in extra fruitsalad of options), so there is little risk
+  there.
+- EEPROM has around a 100000 write cycle.  You shouldn't rewrite the
+  firmware repeatedly and continually; that'll burn the EEPROM
+  eventually.
 ## NKRO Doesn't work
 First you have to compile frimware with this build option `NKRO_ENABLE` in **Makefile**.