Archived
1
0
Commit Graph

36 Commits

Author SHA1 Message Date
Jacob Alexander
7169a9d58c Adding Cygwin build using Appveyor
- Uses 32 version of Cygwin (on a 64 bit machine)
- Adding PYTHON_EXECUTABLE override variable for Cygwin builds
  * We have to use the system CMake instead of the Cygwin CMake which detects the wrong version of Python
- Update Bootloader build infrastructure to attempt tests on Windows
2016-08-31 10:47:42 -07:00
Jacob Alexander
9cc29cbffc Fixing CMake 3.6 deprecation message
- CMake 3.6 finally adds proper cross-compiler detection
- When detected, use full compiler detection infrastructure
- Still maintains compatibility back to CMake 2.8 (at least for now)
- With new detection, selecting only the C compiler as it speeds up the CMake generaion process
- Added a GCC 4.9 minimum version requirement for Bootloader
2016-08-07 11:42:26 -07:00
Jacob Alexander
77218a641b Fixing dfu-util warning due to improper protocol state sequence
Fixes this warning message:
	dfu-util: unable to read DFU status after completion

Results in:
	Download done.
	state(7) = dfuMANIFEST, status(0) = No error condition is present
	state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
	Done!

Functionally no different, just a better user experience.
2016-07-24 15:48:30 -07:00
Jacob Alexander
26915c4d5b Adding DFU Upload support to mk20dx256vlh7
- mk20dx128vlf5 doesn't have enough bootloader space left
- Downloads the entire firmware flash (not the bootloader)
- Currently no intelligence built-in to determine full size of firmware (tricky, and sometimes not useful)
2016-07-23 23:46:37 -07:00
Jacob Alexander
8efeb60aa0 Fixing lsusb error messages
- Instead of stalling at Device Qualification and Debug descriptors, return 0
2016-07-23 18:30:06 -07:00
Jacob Alexander
2f03f34877 Adding DFU check to validate that we aren't trying to flash too far
- Add _app_rom_end address location that points to the end of flash
- Check when flashing each page whether the end of the page exceeds the end of the flash
2016-07-23 17:50:59 -07:00
Jacob Alexander
5162980791 Updating bcdDevice and iSerial fields in USB descriptors
- Use commit number as the basis for bcdDevice field (maximum is 2^16)
- Change iSerial from commit date to chip Unique ID
- Update both Firmware and Bootloader to use the same scheme (bcdDevice and iSerial)
- Cleanup of Bootloader code
- Split out build info CMake commands to a new file
2016-07-23 16:16:16 -07:00
Jacob Alexander
c71e67a29a Preparing controller repo for automated travis-ci
- Added clang (i.e. multi-compiler) support to convenience build scripts
- Updated README
- Added Bootloader build scripts for the two main versions currently used
- Added uartOut and usbMuxUart build scripts (these tend to suffer from build rot the most as they're only used in debugging)
- Attempt to get clang support for the Bootloader
  * clang is missing compiler extensions, so this may require a large re-write to get working
2016-07-17 17:27:05 -07:00
Jacob Alexander
e761960aca Setting bootloader max power to 100 mA
- This amount of current is guaranteed by the USB spec before enumeration
- Generally the bootloader doesn't need nearly this much, but to be safe
2016-02-21 14:19:52 -08:00
Dan McGregor
0e6f107ea1 Start removing select Linux-isms
bash might not be in /bin. Don't expect it there.
2015-10-20 08:48:59 -06:00
Jacob Alexander
1fe9dd2a53 Bootloader fix 2015-08-21 22:59:11 -07:00
Jacob Alexander
581b464a13 Setting ICED bootloader to turn LCD backlight red 2015-08-01 18:26:04 -07:00
Jacob Alexander
55d03f448e UARTConnect enumeration working!
- Fixed cli reflash mode set
- Cleaned up debugging code
- 4 500 000 baud seems to be reliable
- Fixed master selection (assumes slave node unless USB enumerates)
2015-07-18 18:53:21 -07:00
Jacob Alexander
f708ce720c Pre-merge cleanup. 2015-06-14 14:33:40 -07:00
Jacob Alexander
5f262ea4b6 Code cleanup
- Changing header file ifndef define to pragma once's
- Removed duplicate output_com.h's
2015-06-14 14:33:40 -07:00
Jacob Alexander
03f60df94d mk20dx256vlh7 working!
- Interrupt vector table position fix (affected everything in the firmware)
- Added fault debug messages
- Fixed usbMuxUart
2015-06-14 14:33:40 -07:00
Jacob Alexander
e708a42d80 Adding missing debug header. 2015-06-14 14:33:40 -07:00
Jacob Alexander
a459263b5f Adding Chip configuration to CMake 2015-06-14 14:33:40 -07:00
Jacob Alexander
d211790124 Working mk20dx256vlh7 usb flash support 2015-06-14 14:33:40 -07:00
Jacob Alexander
b9fa9c8672 Fixing bugs in mk20dx128vlf5 support 2015-06-14 14:33:40 -07:00
Jacob Alexander
02b919a4cb Basic code for mk20dx256vlh7 flashing 2015-06-14 14:33:40 -07:00
Jacob Alexander
1acbc97e98 Adding initial dfu-upload code and debugging for Bootloader. 2015-06-14 14:33:39 -07:00
Jacob Alexander
8942ab63d5 Initial STLcd code.
- Basic screen initialization and clear is working
- Currently SPI is set to a low speed for easy logic analyzer debugging
2015-06-14 14:33:39 -07:00
Jacob Alexander
e41444304b Some initial bringup of the dfu bootloader on the mk20dx256vlh7 2015-06-14 14:33:39 -07:00
Rowan Decker
1392571bd7 Fix whitespace
Use a consistent standard - Tabs in front for indenting, spaces after for anything else. This way everything stays nice and lined up while also letting users change there prefered indent level. Most of the new files from Haata where already in this format.
2015-03-08 18:40:01 -07:00
Rowan Decker
a6fdeb47ea Merge branch 'master' of https://github.com/smasher816/controller 2015-03-08 17:29:25 -07:00
Rowan Decker
ef8a8c5daa Set DFU bootloader name
Fixes #22

Each (dfu) interface may have more than one a ltsetting each with their own index and name. According to the DFU_1.1 pdf section 4.2.3, "* Alternate settings can be used by an application to access additional memory segments. In this case,
it is suggested that each alternate setting employ a string descriptor to indicate the target memory
segment; e.g., 'EEPROM'." Whether or not we end up using multiple memory segments it is still good to have a descriptive name incase there are other dfu devices connected.

Edit: Fixed previous indentation
2015-03-08 17:23:48 -07:00
Rowan Decker
dbf2b1ca26 Set DFU bootloader name
Fixes #22

Each (dfu) interface may have more than one a ltsetting each with their own index and name. According to the DFU_1.1 pdf section 4.2.3, "* Alternate settings can be used by an application to access additional memory segments. In this case,
it is suggested that each alternate setting employ a string descriptor to indicate the target memory
segment; e.g., 'EEPROM'." Whether or not we end up using multiple memory segments it is still good to have a descriptive name incase there are other dfu devices connected.
2015-03-08 16:59:34 -07:00
Jacob Alexander
762e75d875 Adding some convenience scripts used in manufacturing. 2015-02-09 13:15:25 -08:00
Jacob Alexander
b2539041ee More preparation for mk20dx256vlh7 2015-01-10 19:55:28 -08:00
Jacob Alexander
2c7542e2e7 Fixing device bricking bug
- When loading a garbage image onto the device, the chip hangs
  and refuses to jump to the bootloader and start dfu

Fix
- Check if chip was in locked state and jump to dfu
- Check if watchdog timer fired and jump to dfu
2015-01-10 19:53:46 -08:00
Jacob Alexander
f5a1e1bcf5 Preparing for mk20dx256vlh7
- Not ready yet
- Will require some more changes to Lib/mk20dx.c
2014-12-31 17:13:44 -08:00
Jacob Alexander
355fdc48e0 Adding convenience scripts to build and load manufacturing image via SWD. 2014-11-16 13:03:31 -08:00
Jacob Alexander
66a5031c4c Fixing Mac OSX arm build options.
- Bootloader doesn't build correctly on gcc 4.7.3 (LTO issues)
- Even disabling isn't good enough
- 4.9.1 is known to work on Arch Linux
2014-09-14 20:09:12 -07:00
Jacob Alexander
662d1f557f Updating udev rules to reflect the USB ID changes.
- Fixed USB Vendor name as well
2014-08-15 11:27:16 -07:00
Jacob Alexander
4102512579 Adding McHCK DFU Bootloader
- Heavily modified, not compatible with McHCK images
- Uses 4k of Flash (rather than 3k)
- LED turns on when in firmware flash mode
- Changed the USB IDs
- Added CMake build system
- Updated linker script to be closer to what is used for the rest of the projects
- Removed a lot of unnecessary code
- Added a license header to each file (using the same license as the McHCK had)
- Updated the USB Vendor, Product and Serial strings
- Using the Kiibohd initialization sequence rather than the McHCK one
- Using Kiibohd interrupt vector table and other misc mk20dx setup
2014-08-15 10:53:43 -07:00