aboutsummaryrefslogtreecommitdiff
path: root/Bootloaders/DFU/BootloaderDFU.c
AgeCommit message (Collapse)Author
2012-07-07Reduce bootloader magic key to 16 bits to save FLASH space.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2386 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-06-09Added new JTAG_ENABLE() macro for the AVR8 architecture. Fixed the ↵Dean
JTAG_DISABLE() macro clearing all other bits in MCUSR when called. Moved the XPLAIN board specific bootloader entry condition code to the Application_Jump_Check() function of the DFU bootloader, added support for the original XPLAIN board to the CDC class bootloader. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2319 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-06-01Switch over Demos, Bootloaders and Projects to the new and improved build ↵Dean
system. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2264 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-05-29Ensure the DFU bootloader disables and clears the activity LED toggle timer ↵Dean
when a soft-reset to application space is used. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2253 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-05-21Turn off watchdog before jumping to the user application in the DFU and CDC ↵Dean
based bootloaders, for the specific case of /HWB being low during reset (where the bootloader will re-enter). git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2233 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-04-29The library bootloaders will now correctly start the user application after ↵Dean
a watchdog-based application start, even if the /HWB line is held low externally during the reset phase. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2178 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-02-04Update file contributor copyrights for 2012.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2026 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-02-04Update file header copyrights for 2012.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2025 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-01-29Fixed DFU class bootloader not resetting the LED pins as high impedance ↵Dean
inputs when a software jump to the user applications is requested. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2014 d5102386-fcda-11dd-9fdb-3debd5008f28
2012-01-15Minor bootloader tweaks; make some functions static where possible to reduce ↵Dean
the compiled binary size, add additional comments to the makefiles. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2010 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-12-23Run wspurify script on /trunk/ and /branches/ C source files, to remove any ↵dean
trailing whitespace at the end of each line. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2007 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-11-23Use the proper "-Wl,--undefined=BootloaderAPI_JumpTable" linker command line ↵Dean
parameter in the bootloaders to ensure that the API jump tables are not discarded, rather than the previous C volatile pointer hack (thanks to Opendous Inc.). git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1987 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-10-11Added User Application APIs to the CDC and DFU class bootloaders.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1943 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-06-05Massive corrections to the project documentation and code comments, thanks ↵Dean
to Russian translation services provided by Andrey from Microsin.ru. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1782 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-04-23Make DFU and CDC class bootloaders also toggle the LEDs on command activity ↵Dean
in addition to the periodic flashing. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1744 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-04-23Added LED flashing to the CDC and DFU class bootloaders to indicate when ↵Dean
they are running. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1743 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-04-08Correct UC3 global interrupt functions.Dean
Replace all calls and references to _delay_ms() in the code with the architecture-agnostic Delay_MS() function. Improve code generation for the Delay_MS() function on the AVR8 architecture when called with a constant input. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1730 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-04-04Renamed all low level Endpoint_Read_*, Endpoint_Write_* and ↵Dean
Endpoint_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures. Renamed all low level Pipe_Read_*, Pipe_Write_* and Pipe_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1726 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-02-10Add static keyword to all project globals whose scope should be restricted ↵Dean
to the same module as they are declared in. Tighten up the HID class bootloader code slightly, document that it currently exceeds 2KB of bootloader space for all models other than the Series 2 USB AVRs. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1661 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-02-09Change bootloader makefiles to automatically compute the bootloader starting ↵Dean
address from a flash size and bootloader section size, expressed in KB. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1656 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-01-30Renamed all driver termination *_ShutDown() functions to the more logical ↵Dean
name *_Disable(). git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1649 d5102386-fcda-11dd-9fdb-3debd5008f28
2011-01-01Update copyright year on all source files.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1622 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-11-27Fixed broken DFU bootloader, added XPLAIN support for bootloader start when ↵Dean
XCK jumpered to ground. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1596 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-11-05Renamed the EVENT_USB_Device_UnhandledControlRequest() event to ↵Dean
EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1556 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-10-28Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org ↵Dean
redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1541 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-10-13Clean up excessive whitespace at the end of each line using the wspurify ↵Dean
tool made by Laszlo Monda git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1524 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-09-12Add the "REQ_" prefix to the DFU class bootloader class-specific request ↵Dean
constants. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1474 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-08-05Fixed software application start command broken in the DFU class bootloader ↵Dean
when dfu-programmer is used due to application start address corruption. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1434 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-07-30Oops - fix mixed "initialize" and "initialise" - opt for American spelling ↵Dean
due to its wide use in technical standards. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1427 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-07-30More spell checking of all source files -- correct missed errors, switch to ↵Dean
EN-GB spelling dictionary. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1426 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-05-08Add svn:eol-style property to source files, so that the line endings are ↵Dean
correctly converted to the target system's native end of line style. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1248 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-04-28USB_Init() no longer calls sei() to enable global interrupts - this must now ↵Dean
be done in the user application once all init code has run. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1219 d5102386-fcda-11dd-9fdb-3debd5008f28
2010-01-24Fixed DFU bootloader programming not discarding the correct number of filler ↵Dean
bytes from the host when non-aligned programming ranges are specified (thanks to Thomas Bleeker). git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1057 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-12-30Update copyright year to 2010.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1032 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-12-28Fix MIT license language to make its intent clearer.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1019 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-11-29Add to the existing CDC Class Driver's CreateStream() function documentation ↵Dean
to explicitly state that the created streams are bidirectional. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@931 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-09-07Corrected incorrect signature bytes for the AT90USB82 and added support for ↵Dean
the ATMEGAXX2 variant AVRs to the DFU bootloader. Added warning to the EVENT_USB_Device_Connect() and EVENT_USB_Device_Disconnect() events that they may be fired multiple times during device enumeration on the series 2 AVRs. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@814 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-09-06Fixed DFU and CDC class bootloaders on the AT90USBXXX2 series USB AVRs.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@813 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-08-05Renamed all library events to properly seperate out Device and Host mode ↵Dean
events. Changed the firing conditions for some events to ensure that events are fired by their own USB mode only. Remove VBUS events - not needed as the library takes care of VBUS detection and feedback on supported AVRs via the USB_Device_Connected and USB_Device_Disconnected events. Fixed incorrect Host state assignment in the incomplete BluetoothHost demo. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@718 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-07-21Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean
USB state. Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers. Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality. Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead. Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@676 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-06-28Added const modifiers to device mode class drivers.Dean
Added parameter directions to function parameter documentation. Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput). git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@636 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-06-26Optimize vendor/product description string display code in MassStorageHost.Dean
Remove all Host mode class demos other than the CDCHost class driver demo, so that they can be re-added as they are made once the host mode class framework is designed. Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails. Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@632 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-06-21Re-add signature byte defines to the DFU and CDC class bootloaders -- the ↵Dean
SIGNATURE_x defines in the AVR device header files only exist in a newer version of avr-libc than is in the Debian repositories, causing build issues on Linux. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@620 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-06-09Updated bootloaders to use the new main() function layout and remove any ↵Dean
references to the scheduler to keep them in line with the rest of the library. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@587 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-06-08Finished CDC device class driver documentation.Dean
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@582 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-06-08Converted Host mode demos to schedulerless. Fixed host mode broken due to ↵Dean
earlier Start-of-frame event experiments. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@580 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-05-26Fix all device mode demos broken in the recent API changes.Dean
Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@560 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-05-18Rewritten event system to remove all macros, to make user code clearer.Dean
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley). Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code. Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@554 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-04-22USB_HostRequest renamed to USB_ControlRequest, entire control request header ↵Dean
is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application. The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure. The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent. git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@520 d5102386-fcda-11dd-9fdb-3debd5008f28
2009-04-21Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in ↵Dean
favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints). git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@519 d5102386-fcda-11dd-9fdb-3debd5008f28