annotate README @ 128:f10966b3ea8a

Updating the README to include most of the Windows installation steps. - The teensy loader needs to be documented.
author Jacob Alexander <haata@kiibohd.com>
date Wed, 09 Apr 2014 21:06:57 -0700
parents 0c5d1fe99302
children 552c77d294ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
1 The Kiibohd Controller
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
2 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
3
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
4 TODO, write some insightful/informative :P
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
5
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
6 Please give authors credit for modules used if you use in a distributed product :D
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
7
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
8
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
9
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
10 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
11 Dependencies
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
12 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
13
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
14 Below listed are the Arch Linux pacman names, AUR packages may be required.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
15
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
16 These depend a bit on which targets you are trying to build, but the general one:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
17 - cmake (2.8 and higher)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
18 - Teensy Loader (http://pjrc.com/teensy/loader.html)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
19
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
20
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
21 AVR Specific (Teensy 1.0/++,2.0/++) (try to use something recent, suggested versions below)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
22 - avr-gcc (4.8.0)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
23 - avr-binutils (2.23.2)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
24 - avr-libc (1.8.0)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
25
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
26
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
27 ARM Specific (Teensy 3.0/3.1) (Sourcery CodeBench Lite for ARM EABI
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
28 (http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
29 - arm-none-eabi
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
30 OR
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
31 - arm-none-eabi-gcc
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
32 - arm-none-eaby-binutils
128
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
33 (I've actually had some issues with Sourcery CodeBench on Linux, so I often just use these)
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
34
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
35
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
36
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
37 ----------------------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
38 Windows Setup
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
39 ----------------------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
40
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
41 Compiling on Windows does work, just it's a bunch more work.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
42
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
43 First make sure Cygwin is installed - http://www.cygwin.com/ - 32bit or 64bit is fine. Make sure the following are installed:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
44 - make
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
45 - git (needed for some compilation info)
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
46
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
47 And make sure CMake is *NOT* installed through Cygwin. This is extremely important.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
48 If this is not possible, you'll have to play with your paths in Cygwin to prioritize the Windows version of CMake.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
49
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
50 Install the latest version of CMake - http://cmake.org/cmake/resources/software.html
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
51 Make sure to have CMake add itself to at least your PATH in the installer.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
52 (If this errors out, you'll have to add CMake to your .bashrc path).
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
53
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
54 Next, install the compiler(s) you want.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
55
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
56 ---------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
57 | AVR GCC |
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
58 ---------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
59
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
60 You just need the Atmel AVR 8-bit Toolchain. The latest should be fine, as of writing it was 3.4.3.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
61
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
62 http://www.atmel.com/tools/atmelavrtoolchainforwindows.aspx
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
63
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
64 Extract the files to a directory, say C:\avr8-gnu-toolchain. Then copy all the folders in that directory to the Cygwin directory.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
65 Mine is C:\cygwin64.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
66 (You can also just setup the paths, but this is faster/simpler. Might screw up your Cygwin though).
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
67
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
68
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
69 ----------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
70 | ARM EABI |
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
71 ----------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
72
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
73 Download the latest version of Mentor Graphics Sourcery CodeBench ARM EABI.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
74
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
75 http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
76
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
77 Use the installer and make sure you add the binaries to your path within the installer.
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
78
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
79
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
80
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
81 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
82 Selecting Architecture
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
83 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
84
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
85 This is where you choose which architecture you want to build for.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
86 The options are:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
87 - Teensy 1.0 (Not tested)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
88 - Teensy 1.0++ (Not tested)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
89 - Teensy 2.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
90 - Teensy 2.0++
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
91 - Teensy 3.0
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
92 - Teensy 3.1
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
93
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
94 Open up CMakeLists.txt in your favourite text editor.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
95 You are looking for:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
96
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
97 ###
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
98 Compiler Family
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
99 #
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
100
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
101 #| Specify the compiler family to use
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
102 #| Currently only supports AVR and ARM
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
103 #| "avr" # Teensy 1.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
104 #| "avr" # Teensy 2.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
105 #| "avr" # Teensy++ 1.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
106 #| "avr" # Teensy++ 2.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
107 #| "arm" # Teensy 3.0
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
108 #| "arm" # Teensy 3.1
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
109
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
110 set( COMPILER_FAMILY "avr" )
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
111
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
112
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
113 Just change the COMPILER_FAMILY variable to whatever you are trying to build for.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
114
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
115 NOTE: If you change this option, you will *may* to delete the build directory that is created in the Building sections below.
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
116
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
117
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
118
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
119 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
120 Selecting Microcontroller
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
121 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
122
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
123 Even if you selected the "avr" family of microcontroller architectures, you will still need to specify a target microcontroller (or once more ARM microcontrollers are supported).
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
124
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
125 Open up avr.cmake (or arm.cmake) in your favourite text editor.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
126 You are looking for:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
127
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
128 ###
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
129 # Atmel Defines and Linker Options
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
130 #
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
131
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
132 #| MCU Name
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
133 #| You _MUST_ set this to match the board you are using
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
134 #| type "make clean" after changing this, so all files will be rebuilt
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
135 #|
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
136 #| "at90usb162" # Teensy 1.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
137 #| "atmega32u4" # Teensy 2.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
138 #| "at90usb646" # Teensy++ 1.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
139 #| "at90usb1286" # Teensy++ 2.0
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
140
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
141 set( MCU "at90usb1286" )
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
142
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
143 *OR*
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
144
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
145 ###
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
146 # ARM Defines and Linker Options
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
147 #
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
148
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
149 #| Chip Name (Linker)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
150 #| You _MUST_ set this to match the board you are using
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
151 #| type "make clean" after changing this, so all files will be rebuilt
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
152 #|
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
153 #| "mk20dx128" # Teensy 3.0
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
154 #| "mk20dx256" # Teensy 3.1
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
155
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
156 set( CHIP "mk20dx128" )
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
157
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
158
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
159 Just change the CHIP variable to the microcontroller you are trying to build for.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
160
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
161 NOTE: If you change this option, you will *need* to delete the build directory that is created in the Building sections below.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
162
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
163
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
164
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
165 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
166 Selecting Modules
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
167 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
168
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
169 WARNING: Not all modules are compatible, and some modules may have dependencies on other modules.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
170
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
171 This is where the options start getting interesting.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
172 The Kiibohd Controller is designed around a set of 4 types of modules that correspond to different functionality:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
173
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
174 - Scan Module
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
175 - Macro Module
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
176 - Output Module
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
177 - Debug Module
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
178
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
179 The Scan Module is where the most interesting stuff happens. These modules take in "keypress data".
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
180 A converter Scan Module will interpret a protocol into key press/releases.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
181 A matrix Scan Module may inherit from the matrix module to scan keypress from a matrix
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
182 This module just has to give press/release codes, but does have some callback control to other modules depending on the lifecycle for press/release codes (this can be very complicated depending on the protocol).
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
183 Each Scan Module has it's own default keymap/modifier map. (TODO recommend keymap changing in the Macro Module).
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
184
90
4802161d0ac1 Small README update.
Jacob Alexander <haata@users.sf.net>
parents: 82
diff changeset
185 Some scan modules have very specialized hardware requirements, each module directory should have at least a link to the needed parts and/or schematics (TODO!).
4802161d0ac1 Small README update.
Jacob Alexander <haata@users.sf.net>
parents: 82
diff changeset
186
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
187
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
188 The Macro Module takes care of the mapping of the key press/release code into an Output (USB) scan code.
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
189 Any layering, macros, keypress intelligence/reaction is done here.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
190
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
191
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
192 The Output Module is the module dealing with output from the microcontroller. Currently USB is the only output protocol.
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
193 Different USB output implementations are available, pjrc being the safest/least featureful one.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
194 Debug capabilities may depend on the module selected.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
195
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
196
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
197 The Debug Module enables various things like the Teensy LED on errors, debug terminal output.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
198 (TODO get true UART working in avr, not just arm)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
199
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
200
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
201
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
202 Open up setup.cmake in your favourite text editor.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
203 Look for:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
204
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
205 ###
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
206 # Project Modules
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
207 #
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
208
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
209 #| Note: This is the only section you probably want to modify
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
210 #| Each module is defined by it's own folder (e.g. Scan/Matrix represents the "Matrix" module)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
211 #| All of the modules must be specified, as they generate the sources list of files to compile
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
212 #| Any modifications to this file will cause a complete rebuild of the project
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
213
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
214 #| Please look at the {Scan,Macro,Output,Debug}/module.txt for information on the modules and how to create new ones
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
215
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
216 ##| Deals with acquiring the keypress information and turning it into a key index
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
217 set( ScanModule "avr-capsense" )
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
218
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
219 ##| Uses the key index and potentially applies special conditions to it, mapping it to a usb key code
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
220 set( MacroModule "buffer" )
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
221
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
222 ##| Sends the current list of usb key codes through USB HID
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
223 set( OutputModule "pjrc" )
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
224
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
225 ##| Debugging source to use, each module has it's own set of defines that it sets
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
226 set( DebugModule "full" )
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
227
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
228
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
229 Look at each module individually for it's requirements. There is chip/architecture dependency checking but some permutations of modules may not be tested/compile.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
230
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
231
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
232 There are also CMake options for temporarily selecting modules. But it's easier to just edit the file.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
233 e.g. cmake -DScanModuleOverride=<module name>
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
234
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
235
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
236
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
237 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
238 Linux Building
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
239 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
240
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
241 From this directory.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
242 mkdir build
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
243 cd build
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
244 cmake ..
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
245 make
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
246
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
247
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
248 Example output:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
249
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
250 [master]: cmake .. [...sy/avr-capsense-haata/build](hyatt@901Mas:pts/4)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
251 -- Compiler Family:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
252 avr
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
253 -- MCU Selected:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
254 at90usb1286
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
255 -- Detected Scan Module Source Files:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
256 Scan/avr-capsense/scan_loop.c
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
257 -- Detected Macro Module Source Files:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
258 Macro/buffer/macro.c
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
259 -- Detected Output Module Source Files:
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
260 Output/pjrc/usb_com.c;Output/pjrc/avr/usb_keyboard_debug.c
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
261 -- Detected Debug Module Source Files:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
262 Debug/full/../led/led.c;Debug/full/../print/print.c
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
263 -- Configuring done
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
264 -- Generating done
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
265 -- Build files have been written to: /home/hyatt/Source/Teensy/avr-capsense-haata/build
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
266 [master]: make [...sy/avr-capsense-haata/build](hyatt@901Mas:pts/4)
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
267 Scanning dependencies of target kiibohd.elf
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
268 [ 12%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.o
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
269 [ 25%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/avr-capsense/scan_loop.c.o
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
270 [ 37%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/buffer/macro.c.o
123
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
271 [ 50%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrc/usb_com.c.o
0c5d1fe99302 Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
Jacob Alexander <haata@kiibohd.com>
parents: 90
diff changeset
272 [ 62%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrc/avr/usb_keyboard_debug.c.o
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
273 [ 75%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.o
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
274 [ 87%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.o
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
275 Linking C executable kiibohd.elf
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
276 Creating load file for Flash: kiibohd.hex
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
277 Creating Extended Listing: kiibohd.lss
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
278 Creating Symbol Table: kiibohd.sym
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
279 [ 87%] Built target kiibohd.elf
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
280 Scanning dependencies of target SizeAfter
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
281 [100%] Size after generation:
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
282 text data bss dec hex filename
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
283 0 6112 0 6112 17e0 kiibohd.hex
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
284 5792 320 852 6964 1b34 kiibohd.elf
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
285 [100%] Built target SizeAfter
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
286
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
287
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
288
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
289 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
290 Linux Loading Firmware
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
291 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
292
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
293 The 'load' script that is created during the build can load the firmware over USB.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
294 It uses sudo, so make sure you have the priviledges.
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
295
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
296 ./load
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
297
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
298
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
299
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
300 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
301 Windows Building
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
302 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
303
128
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
304 From this directory.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
305 mkdir build
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
306 cd build
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
307 cmake -G "Unix Makefiles" ..
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
308
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
309
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
310 Example output:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
311
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
312 $ cmake -G "Unix Makefiles" ..
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
313 -- Compiler Family:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
314 avr
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
315 -- MCU Selected:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
316 atmega32u4
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
317 -- CPU Selected:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
318 megaAVR
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
319 -- Detected Scan Module Source Files:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
320 Scan/SKM67001/../matrix/matrix_scan.c;Scan/SKM67001/../matrix/scan_loop.c
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
321 -- Detected Macro Module Source Files:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
322 Macro/PartialMap/macro.c
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
323 -- Detected Output Module Source Files:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
324 Output/pjrcUSB/output_com.c;Output/pjrcUSB/avr/usb_keyboard_serial.c
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
325 -- Detected Debug Module Source Files:
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
326 Debug/full/../cli/cli.c;Debug/full/../led/led.c;Debug/full/../print/print.c
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
327 -- Found Git: C:/cygwin64/bin/git.exe (found version "1.7.9")
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
328 -- Configuring done
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
329 -- Generating done
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
330 -- Build files have been written to: C:/cygwin64/home/jacob.alexander/src/capsense-beta/build
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
331
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
332 jacob.alexander@JALEXANDER2-LT ~/src/capsense-beta/build
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
333 $ make
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
334 Scanning dependencies of target kiibohd.elf
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
335 [ 10%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
336 [ 20%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/matrix/matrix_scan.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
337 [ 30%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/matrix/scan_loop.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
338 [ 40%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/macro.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
339 [ 50%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/output_com.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
340 [ 60%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/avr/usb_keyboard_serial.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
341 [ 70%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/cli/cli.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
342 [ 80%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
343 [ 90%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.obj
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
344 Linking C executable kiibohd.elf
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
345 Creating load file for Flash: kiibohd.hex
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
346 Creating Extended Listing: kiibohd.lss
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
347 Creating Symbol Table: kiibohd.sym
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
348 [ 90%] Built target kiibohd.elf
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
349 Scanning dependencies of target SizeAfter
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
350 [100%] Size after generation
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
351 Flash Usage: data (hex)
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
352 RAM Usage: data (elf)
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
353 text data bss dec hex filename
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
354 0 9738 0 9738 260a kiibohd.hex
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
355 7982 1756 264 10002 2712 kiibohd.elf
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
356 [100%] Built target SizeAfter
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
357
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
358
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
359
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
360 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
361 Windows Loading Firmware
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
362 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
363
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
364 TODO
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
365
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
366 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
367 Mac OS X Building
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
368 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
369
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
370 TODO
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
371
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
372 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
373 Mac OS X Loading Firmware
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
374 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
375
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
376 TODO
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
377
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
378
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
379 ----------------------
128
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
380 Virtual Serial Port - CLI
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
381 ----------------------
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
382
128
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
383 Rather than use a special program that can interpret Raw HID, this controller exposes a USB Serial CDC endpoint.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
384 This allows for you to use a generic serial terminal to debug/control the keyboard firmware (e.g. Tera Term, minicom, screen)
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
385
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
386 -------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
387 | Linux |
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
388 -------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
389
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
390 I generally use screen.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
391
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
392 sudo screen /dev/ttyACM0
82
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
393
4c267d3734eb Adding initial build README file
Jacob Alexander <triplehaata@gmail.com>
parents:
diff changeset
394
128
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
395 ---------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
396 | Windows |
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
397 ---------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
398
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
399 TODO Probably COM1, but not exactly sure. Tera Term.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
400
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
401
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
402 ----------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
403 | Mac OS X |
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
404 ----------
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
405
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
406 TODO (What is the usual device name). screen if possible.
f10966b3ea8a Updating the README to include most of the Windows installation steps.
Jacob Alexander <haata@kiibohd.com>
parents: 123
diff changeset
407