From 40b5665930469a6e20a40f744d7ba60043f62164 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Wed, 31 Dec 2014 15:58:28 -0800 Subject: [PATCH] Updating the Linux README information. --- README | 118 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 91 insertions(+), 27 deletions(-) diff --git a/README b/README index 38e0940..48a30d2 100644 --- a/README +++ b/README @@ -14,6 +14,7 @@ Building on Mac should be ok for 99% of users with Macports (haven't tried Brew) The dfu Bootloader will not build correctly with the old version of arm-none-eabi-gcc that Macports currently has (4.7.3). This is due to a bug with lto (link time optimizations) which makes the resulting binary too big to fit on the chip (must be less than 4096 Bytes). + Building on Windows should also be fine for 99% of users, but takes a bunch of work to setup (because Windows is a crappy dev environment). Cygwin is currently required along with some non-Cygwin compilers and utilities (because they are not available for Cygwin). The dfu Bootloader will not build because of a Make 3.81+ bug/feature that removed support for non-Unix (Windows) filenames as dependencies of targets. @@ -265,41 +266,66 @@ make Example output: - [master]: cmake .. [...sy/avr-capsense-haata/build](hyatt@901Mas:pts/4) + [master]: cmake .. [~/Source/controller/build](hyatt@x230mas:pts/6) -- Compiler Family: - avr - -- MCU Selected: - at90usb1286 + arm + -- Chip Selected: + mk20dx128vlf5 + -- Chip Family: + mk20dx + -- CPU Selected: + cortex-m4 + -- Compiler Source Files: + Lib/mk20dx.c;Lib/delay.c + -- Bootloader Type: + dfu -- Detected Scan Module Source Files: - Scan/avr-capsense/scan_loop.c + Scan/MD1/scan_loop.c;Scan/MD1/../MatrixARM/matrix_scan.c -- Detected Macro Module Source Files: - Macro/buffer/macro.c + Macro/PartialMap/macro.c -- Detected Output Module Source Files: - Output/pjrc/usb_com.c;Output/pjrc/avr/usb_keyboard_debug.c + Output/pjrcUSB/output_com.c;Output/pjrcUSB/arm/usb_desc.c;Output/pjrcUSB/arm/usb_dev.c; + Output/pjrcUSB/arm/usb_keyboard.c;Output/pjrcUSB/arm/usb_mem.c;Output/pjrcUSB/arm/usb_serial.c -- Detected Debug Module Source Files: - Debug/full/../led/led.c;Debug/full/../print/print.c + Debug/full/../cli/cli.c;Debug/full/../led/led.c;Debug/full/../print/print.c + -- Found Git: /usr/bin/git (found version "2.2.1") + -- Found Ctags: /usr/bin/ctags (found version "5.8") + -- Checking for latest kll version: + Current branch master is up to date. + -- Detected Layout Files: + /home/hyatt/Source/controller/Macro/PartialMap/capabilities.kll + /home/hyatt/Source/controller/Output/pjrcUSB/capabilities.kll + /home/hyatt/Source/controller/Scan/MD1/defaultMap.kll + /home/hyatt/Source/controller/kll/layouts/md1Overlay.kll + /home/hyatt/Source/controller/kll/layouts/stdFuncMap.kll + /home/hyatt/Source/controller/kll/layouts/hhkbpro2.kll -- Configuring done -- Generating done - -- Build files have been written to: /home/hyatt/Source/Teensy/avr-capsense-haata/build - [master]: make [...sy/avr-capsense-haata/build](hyatt@901Mas:pts/4) + -- Build files have been written to: /home/hyatt/Source/controller/build + [master]: make [~/Source/controller/build](hyatt@x230mas:pts/6) + [ 5%] Generating KLL Layout Scanning dependencies of target kiibohd.elf - [ 12%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.o - [ 25%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/avr-capsense/scan_loop.c.o - [ 37%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/buffer/macro.c.o - [ 50%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrc/usb_com.c.o - [ 62%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrc/avr/usb_keyboard_debug.c.o - [ 75%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.o - [ 87%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.o + [ 11%] Building C object CMakeFiles/kiibohd.elf.dir/main.c.o + [ 17%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/mk20dx.c.o + [ 23%] Building C object CMakeFiles/kiibohd.elf.dir/Lib/delay.c.o + [ 29%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MD1/scan_loop.c.o + [ 35%] Building C object CMakeFiles/kiibohd.elf.dir/Scan/MatrixARM/matrix_scan.c.o + [ 41%] Building C object CMakeFiles/kiibohd.elf.dir/Macro/PartialMap/macro.c.o + [ 47%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/output_com.c.o + [ 52%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_desc.c.o + [ 58%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_dev.c.o + [ 64%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_keyboard.c.o + [ 70%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_mem.c.o + [ 76%] Building C object CMakeFiles/kiibohd.elf.dir/Output/pjrcUSB/arm/usb_serial.c.o + [ 82%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/cli/cli.c.o + [ 88%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/led/led.c.o + [ 94%] Building C object CMakeFiles/kiibohd.elf.dir/Debug/print/print.c.o Linking C executable kiibohd.elf - Creating load file for Flash: kiibohd.hex - Creating Extended Listing: kiibohd.lss - Creating Symbol Table: kiibohd.sym - [ 87%] Built target kiibohd.elf + [ 94%] Built target kiibohd.elf Scanning dependencies of target SizeAfter - [100%] Size after generation: - text data bss dec hex filename - 0 6112 0 6112 17e0 kiibohd.hex - 5792 320 852 6964 1b34 kiibohd.elf + [100%] Chip usage for mk20dx128vlf5 + SRAM: 32% 5384/16384 bytes + Flash: 18% 23384/126976 bytes [100%] Built target SizeAfter @@ -336,7 +362,44 @@ cmake .. make Example output: -TODO + + [master]: cmake .. [~/Source/controller/Bootloader/build](hyatt@x230mas:pts/6) + -- Compiler Family: + arm + -- Chip Selected: + mk20dx128vlf5 + -- Chip Family: + mk20dx + -- CPU Selected: + cortex-m4 + -- Compiler Source Files: + Lib/mk20dx.c;Lib/delay.c + -- Bootloader Type: + dfu + -- Bootloader Source Files: + main.c;dfu.c;dfu.desc.c;flash.c;kinetis.c;usb.c + -- Found Git: /usr/bin/git (found version "2.2.1") + -- Found Ctags: /usr/bin/ctags (found version "5.8") + -- Configuring done + -- Generating done + -- Build files have been written to: /home/hyatt/Source/controller/Bootloader/build + [master]: make [~/Source/controller/Bootloader/build](hyatt@x230mas:pts/6) + Scanning dependencies of target kiibohd_bootloader.elf + [ 11%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/main.c.o + [ 22%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/dfu.c.o + [ 33%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/dfu.desc.c.o + [ 44%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/flash.c.o + [ 55%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/kinetis.c.o + [ 66%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/usb.c.o + [ 77%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/home/hyatt/Source/controller/Lib/mk20dx.c.o + [ 88%] Building C object CMakeFiles/kiibohd_bootloader.elf.dir/home/hyatt/Source/controller/Lib/delay.c.o + Linking C executable kiibohd_bootloader.elf + [ 88%] Built target kiibohd_bootloader.elf + Scanning dependencies of target SizeAfter + [100%] Chip usage for mk20dx128vlf5 + SRAM: 19% 3176/16384 bytes + Flash: 2% 3736/126976 bytes + [100%] Built target SizeAfter @@ -355,7 +418,7 @@ cd Bootloader/Scripts The above script requires Ruby, Ruby serial port module, git, and a /dev/buspirate udev rule. Additional Notes: -https://github.com/mchck/mchck/wiki/Getting-Started +https://github.com/mchck/mchck/wiki/Getting-Started (See Bus-Pirate section) https://wiki.archlinux.org/index.php/Bus_pirate @@ -436,6 +499,7 @@ Example output: Flash: 18% 23296/126976 bytes [100%] Built target SizeAfter + NOTES: If you get the following error, you have not setup wincmake correctly: