Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Infinity
  2. ========
  3. Massdrop Infinity Keyboard:
  4. https://www.massdrop.com/buy/infinity-keyboard-kit
  5. kiibohd controller(MD1):
  6. https://github.com/kiibohd/controller
  7. DFU bootloader:
  8. https://github.com/kiibohd/controller/tree/master/Bootloader
  9. Program with bootloader:
  10. $ dfu-util -D kiibohd.dfu.bin
  11. Pinout:
  12. https://github.com/kiibohd/controller/blob/master/Scan/MD1/pinout
  13. MCHCK compatible:
  14. https://mchck.org/about/
  15. MCU Freescale MK20DX128VLF5 48-QFP:
  16. http://cache.freescale.com/files/32bit/doc/data_sheet/K20P48M50SF0.pdf
  17. Pin Usage
  18. =========
  19. Key Matrix:
  20. For v1.0 (without LED support)
  21. strobe(output high): ptb0 ptb1 ptb2 ptb3 ptb16 ptb17 ptc4 ptc5 ptd0
  22. sense(input with pull-down): ptd1 ptd2 ptd3 ptd4 ptd5 ptd6 ptd7
  23. For v1.1a (with LED support)
  24. strobe(output high): ptc0 ptc1 ptc2 ptc3 ptc4 ptc5 ptc6 ptc7 ptd0
  25. sense(input with pull-down): ptd1 ptd2 ptd3 ptd4 ptd5 ptd6 ptd7
  26. SWD pinout:
  27. SWD_CLK(PTA0) SWD_DIO(PTA3)
  28. SWD pins are placed next to reset button; SWD_CLK, SWD_DIO, GND, VCC from top.
  29. Note that RESET is also needed to get full control with OpenOCD.
  30. LED:
  31. PTA19(turns on with output high)
  32. Memory map
  33. ==========
  34. kiibohd bootloader: Lib/mk20dx128vlf5.bootloader.ld
  35. 0x0000_0000 +-------------------+ -----------------+---------------+ Vector table
  36. | .vectors | ------------. | StackPointer0 | of Bootloader
  37. | .startup | \ | ResetHandler1 |
  38. | .rodata | `--+---------------+ 0xF8
  39. 0x0000_0400 | .flashconfig(0x10)|
  40. _0410 | .text |
  41. | .init |
  42. 0x0000_1000 +-------------------+ -----------------+---------------+ Vector table
  43. | _app_rom | ------------. | | of App
  44. | | \ | |
  45. | | `--+---------------+
  46. | |
  47. ~ ~
  48. | |
  49. 0x07FF_FFFF +-------------------+ 128KB
  50. 0x1FFF_E000 +-------------------+ -----------------+---------------+ Vector table
  51. _E0F8 | | ------------. | | of App(copied)
  52. | | \ | |
  53. | | `--+---------------+ mbed NVIC
  54. | |
  55. | RAM |
  56. | 8KB|
  57. 0x2000_0000 +-------------------+
  58. | |
  59. | |
  60. | |
  61. | |
  62. | RAM |
  63. | 8KB|
  64. 0x2000_2000 +-------------------+ _estack