diff options
Diffstat (limited to 'tmk_core/protocol')
16 files changed, 2507 insertions, 2507 deletions
diff --git a/tmk_core/protocol/iwrap/suart.S b/tmk_core/protocol/iwrap/suart.S index 1b0290963..a873515e1 100644 --- a/tmk_core/protocol/iwrap/suart.S +++ b/tmk_core/protocol/iwrap/suart.S | |||
| @@ -1,156 +1,156 @@ | |||
| 1 | ;---------------------------------------------------------------------------; | 1 | ;---------------------------------------------------------------------------; |
| 2 | ; Software implemented UART module ; | 2 | ; Software implemented UART module ; |
| 3 | ; (C)ChaN, 2005 (http://elm-chan.org/) ; | 3 | ; (C)ChaN, 2005 (http://elm-chan.org/) ; |
| 4 | ;---------------------------------------------------------------------------; | 4 | ;---------------------------------------------------------------------------; |
| 5 | ; Bit rate settings: | 5 | ; Bit rate settings: |
| 6 | ; | 6 | ; |
| 7 | ; 1MHz 2MHz 4MHz 6MHz 8MHz 10MHz 12MHz 16MHz 20MHz | 7 | ; 1MHz 2MHz 4MHz 6MHz 8MHz 10MHz 12MHz 16MHz 20MHz |
| 8 | ; 2.4kbps 138 - - - - - - - - | 8 | ; 2.4kbps 138 - - - - - - - - |
| 9 | ; 4.8kbps 68 138 - - - - - - - | 9 | ; 4.8kbps 68 138 - - - - - - - |
| 10 | ; 9.6kbps 33 68 138 208 - - - - - | 10 | ; 9.6kbps 33 68 138 208 - - - - - |
| 11 | ; 19.2kbps - 33 68 102 138 173 208 - - | 11 | ; 19.2kbps - 33 68 102 138 173 208 - - |
| 12 | ; 38.4kbps - - 33 50 68 85 102 138 172 | 12 | ; 38.4kbps - - 33 50 68 85 102 138 172 |
| 13 | ; 57.6kbps - - 21 33 44 56 68 91 114 | 13 | ; 57.6kbps - - 21 33 44 56 68 91 114 |
| 14 | ; 115.2kbps - - - - 21 27 33 44 56 | 14 | ; 115.2kbps - - - - 21 27 33 44 56 |
| 15 | 15 | ||
| 16 | .nolist | 16 | .nolist |
| 17 | #include <avr/io.h> | 17 | #include <avr/io.h> |
| 18 | .list | 18 | .list |
| 19 | 19 | ||
| 20 | #define BPS 102 /* Bit delay. (see above table) */ | 20 | #define BPS 102 /* Bit delay. (see above table) */ |
| 21 | #define BIDIR 0 /* 0:Separated Tx/Rx, 1:Shared Tx/Rx */ | 21 | #define BIDIR 0 /* 0:Separated Tx/Rx, 1:Shared Tx/Rx */ |
| 22 | 22 | ||
| 23 | #define OUT_1 sbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 1 */ | 23 | #define OUT_1 sbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 1 */ |
| 24 | #define OUT_0 cbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 0 */ | 24 | #define OUT_0 cbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 0 */ |
| 25 | #define SKIP_IN_1 sbis _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 1 */ | 25 | #define SKIP_IN_1 sbis _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 1 */ |
| 26 | #define SKIP_IN_0 sbic _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 0 */ | 26 | #define SKIP_IN_0 sbic _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 0 */ |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | 29 | ||
| 30 | #ifdef SPM_PAGESIZE | 30 | #ifdef SPM_PAGESIZE |
| 31 | .macro _LPMI reg | 31 | .macro _LPMI reg |
| 32 | lpm \reg, Z+ | 32 | lpm \reg, Z+ |
| 33 | .endm | 33 | .endm |
| 34 | .macro _MOVW dh,dl, sh,sl | 34 | .macro _MOVW dh,dl, sh,sl |
| 35 | movw \dl, \sl | 35 | movw \dl, \sl |
| 36 | .endm | 36 | .endm |
| 37 | #else | 37 | #else |
| 38 | .macro _LPMI reg | 38 | .macro _LPMI reg |
| 39 | lpm | 39 | lpm |
| 40 | mov \reg, r0 | 40 | mov \reg, r0 |
| 41 | adiw ZL, 1 | 41 | adiw ZL, 1 |
| 42 | .endm | 42 | .endm |
| 43 | .macro _MOVW dh,dl, sh,sl | 43 | .macro _MOVW dh,dl, sh,sl |
| 44 | mov \dl, \sl | 44 | mov \dl, \sl |
| 45 | mov \dh, \sh | 45 | mov \dh, \sh |
| 46 | .endm | 46 | .endm |
| 47 | #endif | 47 | #endif |
| 48 | 48 | ||
| 49 | 49 | ||
| 50 | 50 | ||
| 51 | ;---------------------------------------------------------------------------; | 51 | ;---------------------------------------------------------------------------; |
| 52 | ; Transmit a byte in serial format of N81 | 52 | ; Transmit a byte in serial format of N81 |
| 53 | ; | 53 | ; |
| 54 | ;Prototype: void xmit (uint8_t data); | 54 | ;Prototype: void xmit (uint8_t data); |
| 55 | ;Size: 16 words | 55 | ;Size: 16 words |
| 56 | 56 | ||
| 57 | .global xmit | 57 | .global xmit |
| 58 | .func xmit | 58 | .func xmit |
| 59 | xmit: | 59 | xmit: |
| 60 | #if BIDIR | 60 | #if BIDIR |
| 61 | ldi r23, BPS-1 ;Pre-idle time for bidirectional data line | 61 | ldi r23, BPS-1 ;Pre-idle time for bidirectional data line |
| 62 | 5: dec r23 ; | 62 | 5: dec r23 ; |
| 63 | brne 5b ;/ | 63 | brne 5b ;/ |
| 64 | #endif | 64 | #endif |
| 65 | in r0, _SFR_IO_ADDR(SREG) ;Save flags | 65 | in r0, _SFR_IO_ADDR(SREG) ;Save flags |
| 66 | 66 | ||
| 67 | com r24 ;C = start bit | 67 | com r24 ;C = start bit |
| 68 | ldi r25, 10 ;Bit counter | 68 | ldi r25, 10 ;Bit counter |
| 69 | cli ;Start critical section | 69 | cli ;Start critical section |
| 70 | 70 | ||
| 71 | 1: ldi r23, BPS-1 ;----- Bit transferring loop | 71 | 1: ldi r23, BPS-1 ;----- Bit transferring loop |
| 72 | 2: dec r23 ;Wait for a bit time | 72 | 2: dec r23 ;Wait for a bit time |
| 73 | brne 2b ;/ | 73 | brne 2b ;/ |
| 74 | brcs 3f ;MISO = bit to be sent | 74 | brcs 3f ;MISO = bit to be sent |
| 75 | OUT_1 ; | 75 | OUT_1 ; |
| 76 | 3: brcc 4f ; | 76 | 3: brcc 4f ; |
| 77 | OUT_0 ;/ | 77 | OUT_0 ;/ |
| 78 | 4: lsr r24 ;Get next bit into C | 78 | 4: lsr r24 ;Get next bit into C |
| 79 | dec r25 ;All bits sent? | 79 | dec r25 ;All bits sent? |
| 80 | brne 1b ; no, coutinue | 80 | brne 1b ; no, coutinue |
| 81 | 81 | ||
| 82 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section | 82 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section |
| 83 | ret | 83 | ret |
| 84 | .endfunc | 84 | .endfunc |
| 85 | 85 | ||
| 86 | 86 | ||
| 87 | 87 | ||
| 88 | ;---------------------------------------------------------------------------; | 88 | ;---------------------------------------------------------------------------; |
| 89 | ; Receive a byte | 89 | ; Receive a byte |
| 90 | ; | 90 | ; |
| 91 | ;Prototype: uint8_t rcvr (void); | 91 | ;Prototype: uint8_t rcvr (void); |
| 92 | ;Size: 19 words | 92 | ;Size: 19 words |
| 93 | 93 | ||
| 94 | .global rcvr | 94 | .global rcvr |
| 95 | .func rcvr | 95 | .func rcvr |
| 96 | rcvr: | 96 | rcvr: |
| 97 | in r0, _SFR_IO_ADDR(SREG) ;Save flags | 97 | in r0, _SFR_IO_ADDR(SREG) ;Save flags |
| 98 | 98 | ||
| 99 | ldi r24, 0x80 ;Receiving shift reg | 99 | ldi r24, 0x80 ;Receiving shift reg |
| 100 | cli ;Start critical section | 100 | cli ;Start critical section |
| 101 | 101 | ||
| 102 | 1: SKIP_IN_1 ;Wait for idle | 102 | 1: SKIP_IN_1 ;Wait for idle |
| 103 | rjmp 1b | 103 | rjmp 1b |
| 104 | 2: SKIP_IN_0 ;Wait for start bit | 104 | 2: SKIP_IN_0 ;Wait for start bit |
| 105 | rjmp 2b | 105 | rjmp 2b |
| 106 | ldi r25, BPS/2 ;Wait for half bit time | 106 | ldi r25, BPS/2 ;Wait for half bit time |
| 107 | 3: dec r25 | 107 | 3: dec r25 |
| 108 | brne 3b | 108 | brne 3b |
| 109 | 109 | ||
| 110 | 4: ldi r25, BPS ;----- Bit receiving loop | 110 | 4: ldi r25, BPS ;----- Bit receiving loop |
| 111 | 5: dec r25 ;Wait for a bit time | 111 | 5: dec r25 ;Wait for a bit time |
| 112 | brne 5b ;/ | 112 | brne 5b ;/ |
| 113 | lsr r24 ;Next bit | 113 | lsr r24 ;Next bit |
| 114 | SKIP_IN_0 ;Get a data bit into r24.7 | 114 | SKIP_IN_0 ;Get a data bit into r24.7 |
| 115 | ori r24, 0x80 | 115 | ori r24, 0x80 |
| 116 | brcc 4b ;All bits received? no, continue | 116 | brcc 4b ;All bits received? no, continue |
| 117 | 117 | ||
| 118 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section | 118 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section |
| 119 | ret | 119 | ret |
| 120 | .endfunc | 120 | .endfunc |
| 121 | 121 | ||
| 122 | 122 | ||
| 123 | ; Not wait for start bit. This should be called after detecting start bit. | 123 | ; Not wait for start bit. This should be called after detecting start bit. |
| 124 | .global recv | 124 | .global recv |
| 125 | .func recv | 125 | .func recv |
| 126 | recv: | 126 | recv: |
| 127 | in r0, _SFR_IO_ADDR(SREG) ;Save flags | 127 | in r0, _SFR_IO_ADDR(SREG) ;Save flags |
| 128 | 128 | ||
| 129 | ldi r24, 0x80 ;Receiving shift reg | 129 | ldi r24, 0x80 ;Receiving shift reg |
| 130 | cli ;Start critical section | 130 | cli ;Start critical section |
| 131 | 131 | ||
| 132 | ;1: SKIP_IN_1 ;Wait for idle | 132 | ;1: SKIP_IN_1 ;Wait for idle |
| 133 | ; rjmp 1b | 133 | ; rjmp 1b |
| 134 | ;2: SKIP_IN_0 ;Wait for start bit | 134 | ;2: SKIP_IN_0 ;Wait for start bit |
| 135 | ; rjmp 2b | 135 | ; rjmp 2b |
| 136 | ldi r25, BPS/2 ;Wait for half bit time | 136 | ldi r25, BPS/2 ;Wait for half bit time |
| 137 | 3: dec r25 | 137 | 3: dec r25 |
| 138 | brne 3b | 138 | brne 3b |
| 139 | 139 | ||
| 140 | 4: ldi r25, BPS ;----- Bit receiving loop | 140 | 4: ldi r25, BPS ;----- Bit receiving loop |
| 141 | 5: dec r25 ;Wait for a bit time | 141 | 5: dec r25 ;Wait for a bit time |
| 142 | brne 5b ;/ | 142 | brne 5b ;/ |
| 143 | lsr r24 ;Next bit | 143 | lsr r24 ;Next bit |
| 144 | SKIP_IN_0 ;Get a data bit into r24.7 | 144 | SKIP_IN_0 ;Get a data bit into r24.7 |
| 145 | ori r24, 0x80 | 145 | ori r24, 0x80 |
| 146 | brcc 4b ;All bits received? no, continue | 146 | brcc 4b ;All bits received? no, continue |
| 147 | 147 | ||
| 148 | ldi r25, BPS/2 ;Wait for half bit time | 148 | ldi r25, BPS/2 ;Wait for half bit time |
| 149 | 6: dec r25 | 149 | 6: dec r25 |
| 150 | brne 6b | 150 | brne 6b |
| 151 | 7: SKIP_IN_1 ;Wait for stop bit | 151 | 7: SKIP_IN_1 ;Wait for stop bit |
| 152 | rjmp 7b | 152 | rjmp 7b |
| 153 | 153 | ||
| 154 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section | 154 | out _SFR_IO_ADDR(SREG), r0 ;End of critical section |
| 155 | ret | 155 | ret |
| 156 | .endfunc | 156 | .endfunc |
diff --git a/tmk_core/protocol/iwrap/suart.h b/tmk_core/protocol/iwrap/suart.h index 72725b998..7d92be069 100644 --- a/tmk_core/protocol/iwrap/suart.h +++ b/tmk_core/protocol/iwrap/suart.h | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | #ifndef SUART | 1 | #ifndef SUART |
| 2 | #define SUART | 2 | #define SUART |
| 3 | 3 | ||
| 4 | void xmit(uint8_t); | 4 | void xmit(uint8_t); |
| 5 | uint8_t rcvr(void); | 5 | uint8_t rcvr(void); |
| 6 | uint8_t recv(void); | 6 | uint8_t recv(void); |
| 7 | 7 | ||
| 8 | #endif /* SUART */ | 8 | #endif /* SUART */ |
diff --git a/tmk_core/protocol/iwrap/wd.h b/tmk_core/protocol/iwrap/wd.h index 99058f033..12395bf69 100644 --- a/tmk_core/protocol/iwrap/wd.h +++ b/tmk_core/protocol/iwrap/wd.h | |||
| @@ -1,159 +1,159 @@ | |||
| 1 | /* This is from http://www.mtcnet.net/~henryvm/wdt/ */ | 1 | /* This is from http://www.mtcnet.net/~henryvm/wdt/ */ |
| 2 | #ifndef _AVR_WD_H_ | 2 | #ifndef _AVR_WD_H_ |
| 3 | #define _AVR_WD_H_ | 3 | #define _AVR_WD_H_ |
| 4 | 4 | ||
| 5 | #include <avr/io.h> | 5 | #include <avr/io.h> |
| 6 | 6 | ||
| 7 | /* | 7 | /* |
| 8 | Copyright (c) 2009, Curt Van Maanen | 8 | Copyright (c) 2009, Curt Van Maanen |
| 9 | 9 | ||
| 10 | Permission to use, copy, modify, and/or distribute this software for any | 10 | Permission to use, copy, modify, and/or distribute this software for any |
| 11 | purpose with or without fee is hereby granted, provided that the above | 11 | purpose with or without fee is hereby granted, provided that the above |
| 12 | copyright notice and this permission notice appear in all copies. | 12 | copyright notice and this permission notice appear in all copies. |
| 13 | 13 | ||
| 14 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 14 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| 15 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 15 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| 16 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 16 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| 17 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | 17 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| 18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| 19 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 19 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| 20 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 20 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| 21 | 21 | ||
| 22 | 22 | ||
| 23 | include usage- | 23 | include usage- |
| 24 | #include "wd.h" //if in same directory as project | 24 | #include "wd.h" //if in same directory as project |
| 25 | #include <avr/wd.h> //if wd.h is in avr directory | 25 | #include <avr/wd.h> //if wd.h is in avr directory |
| 26 | 26 | ||
| 27 | set watchdog modes and prescale | 27 | set watchdog modes and prescale |
| 28 | 28 | ||
| 29 | usage- | 29 | usage- |
| 30 | WD_SET(mode,[timeout]); //prescale always set | 30 | WD_SET(mode,[timeout]); //prescale always set |
| 31 | 31 | ||
| 32 | modes- | 32 | modes- |
| 33 | WD_OFF disabled | 33 | WD_OFF disabled |
| 34 | WD_RST normal reset mode | 34 | WD_RST normal reset mode |
| 35 | WD_IRQ interrupt only mode (if supported) | 35 | WD_IRQ interrupt only mode (if supported) |
| 36 | WD_RST_IRQ interrupt+reset mode (if supported) | 36 | WD_RST_IRQ interrupt+reset mode (if supported) |
| 37 | 37 | ||
| 38 | timeout- | 38 | timeout- |
| 39 | WDTO_15MS default if no timeout provided | 39 | WDTO_15MS default if no timeout provided |
| 40 | WDTO_30MS | 40 | WDTO_30MS |
| 41 | WDTO_60MS | 41 | WDTO_60MS |
| 42 | WDTO_120MS | 42 | WDTO_120MS |
| 43 | WDTO_250MS | 43 | WDTO_250MS |
| 44 | WDTO_500MS | 44 | WDTO_500MS |
| 45 | WDTO_1S | 45 | WDTO_1S |
| 46 | WDTO_2S | 46 | WDTO_2S |
| 47 | WDTO_4S (if supported) | 47 | WDTO_4S (if supported) |
| 48 | WDTO_8S (if supported) | 48 | WDTO_8S (if supported) |
| 49 | 49 | ||
| 50 | examples- | 50 | examples- |
| 51 | WD_SET(WD_RST,WDTO_1S); //reset mode, 1s timeout | 51 | WD_SET(WD_RST,WDTO_1S); //reset mode, 1s timeout |
| 52 | WD_SET(WD_OFF); //watchdog disabled (if not fused on) | 52 | WD_SET(WD_OFF); //watchdog disabled (if not fused on) |
| 53 | WD_SET(WD_RST); //reset mode, 15ms (default timeout) | 53 | WD_SET(WD_RST); //reset mode, 15ms (default timeout) |
| 54 | WD_SET(WD_IRQ,WDTO_120MS); //interrupt only mode, 120ms timeout | 54 | WD_SET(WD_IRQ,WDTO_120MS); //interrupt only mode, 120ms timeout |
| 55 | WD_SET(WD_RST_IRQ,WDTO_2S); //interrupt+reset mode, 2S timeout | 55 | WD_SET(WD_RST_IRQ,WDTO_2S); //interrupt+reset mode, 2S timeout |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | for enhanced watchdogs, if the watchdog is not being used WDRF should be | 58 | for enhanced watchdogs, if the watchdog is not being used WDRF should be |
| 59 | cleared on every power up or reset, along with disabling the watchdog- | 59 | cleared on every power up or reset, along with disabling the watchdog- |
| 60 | WD_DISABLE(); //clear WDRF, then turn off watchdog | 60 | WD_DISABLE(); //clear WDRF, then turn off watchdog |
| 61 | 61 | ||
| 62 | */ | 62 | */ |
| 63 | 63 | ||
| 64 | //reset registers to the same name (MCUCSR) | 64 | //reset registers to the same name (MCUCSR) |
| 65 | #if !defined(MCUCSR) | 65 | #if !defined(MCUCSR) |
| 66 | #define MCUCSR MCUSR | 66 | #define MCUCSR MCUSR |
| 67 | #endif | 67 | #endif |
| 68 | 68 | ||
| 69 | //watchdog registers to the same name (WDTCSR) | 69 | //watchdog registers to the same name (WDTCSR) |
| 70 | #if !defined(WDTCSR) | 70 | #if !defined(WDTCSR) |
| 71 | #define WDTCSR WDTCR | 71 | #define WDTCSR WDTCR |
| 72 | #endif | 72 | #endif |
| 73 | 73 | ||
| 74 | //if enhanced watchdog, define irq values, create disable macro | 74 | //if enhanced watchdog, define irq values, create disable macro |
| 75 | #if defined(WDIF) | 75 | #if defined(WDIF) |
| 76 | #define WD_IRQ 0xC0 | 76 | #define WD_IRQ 0xC0 |
| 77 | #define WD_RST_IRQ 0xC8 | 77 | #define WD_RST_IRQ 0xC8 |
| 78 | #define WD_DISABLE() do{ \ | 78 | #define WD_DISABLE() do{ \ |
| 79 | MCUCSR &= ~(1<<WDRF); \ | 79 | MCUCSR &= ~(1<<WDRF); \ |
| 80 | WD_SET(WD_OFF); \ | 80 | WD_SET(WD_OFF); \ |
| 81 | }while(0) | 81 | }while(0) |
| 82 | #endif | 82 | #endif |
| 83 | 83 | ||
| 84 | //all watchdogs | 84 | //all watchdogs |
| 85 | #define WD_RST 8 | 85 | #define WD_RST 8 |
| 86 | #define WD_OFF 0 | 86 | #define WD_OFF 0 |
| 87 | 87 | ||
| 88 | //prescale values | 88 | //prescale values |
| 89 | #define WDTO_15MS 0 | 89 | #define WDTO_15MS 0 |
| 90 | #define WDTO_30MS 1 | 90 | #define WDTO_30MS 1 |
| 91 | #define WDTO_60MS 2 | 91 | #define WDTO_60MS 2 |
| 92 | #define WDTO_120MS 3 | 92 | #define WDTO_120MS 3 |
| 93 | #define WDTO_250MS 4 | 93 | #define WDTO_250MS 4 |
| 94 | #define WDTO_500MS 5 | 94 | #define WDTO_500MS 5 |
| 95 | #define WDTO_1S 6 | 95 | #define WDTO_1S 6 |
| 96 | #define WDTO_2S 7 | 96 | #define WDTO_2S 7 |
| 97 | 97 | ||
| 98 | //prescale values for avrs with WDP3 | 98 | //prescale values for avrs with WDP3 |
| 99 | #if defined(WDP3) | 99 | #if defined(WDP3) |
| 100 | #define WDTO_4S 0x20 | 100 | #define WDTO_4S 0x20 |
| 101 | #define WDTO_8S 0x21 | 101 | #define WDTO_8S 0x21 |
| 102 | #endif | 102 | #endif |
| 103 | 103 | ||
| 104 | //watchdog reset | 104 | //watchdog reset |
| 105 | #define WDR() __asm__ __volatile__("wdr") | 105 | #define WDR() __asm__ __volatile__("wdr") |
| 106 | 106 | ||
| 107 | //avr reset using watchdog | 107 | //avr reset using watchdog |
| 108 | #define WD_AVR_RESET() do{ \ | 108 | #define WD_AVR_RESET() do{ \ |
| 109 | __asm__ __volatile__("cli"); \ | 109 | __asm__ __volatile__("cli"); \ |
| 110 | WD_SET_UNSAFE(WD_RST); \ | 110 | WD_SET_UNSAFE(WD_RST); \ |
| 111 | while(1); \ | 111 | while(1); \ |
| 112 | }while(0) | 112 | }while(0) |
| 113 | 113 | ||
| 114 | /*set the watchdog- | 114 | /*set the watchdog- |
| 115 | 1. save SREG | 115 | 1. save SREG |
| 116 | 2. turn off irq's | 116 | 2. turn off irq's |
| 117 | 3. reset watchdog timer | 117 | 3. reset watchdog timer |
| 118 | 4. enable watchdog change | 118 | 4. enable watchdog change |
| 119 | 5. write watchdog value | 119 | 5. write watchdog value |
| 120 | 6. restore SREG (restoring irq status) | 120 | 6. restore SREG (restoring irq status) |
| 121 | */ | 121 | */ |
| 122 | #define WD_SET(val,...) \ | 122 | #define WD_SET(val,...) \ |
| 123 | __asm__ __volatile__( \ | 123 | __asm__ __volatile__( \ |
| 124 | "in __tmp_reg__,__SREG__" "\n\t" \ | 124 | "in __tmp_reg__,__SREG__" "\n\t" \ |
| 125 | "cli" "\n\t" \ | 125 | "cli" "\n\t" \ |
| 126 | "wdr" "\n\t" \ | 126 | "wdr" "\n\t" \ |
| 127 | "sts %[wdreg],%[wden]" "\n\t" \ | 127 | "sts %[wdreg],%[wden]" "\n\t" \ |
| 128 | "sts %[wdreg],%[wdval]" "\n\t" \ | 128 | "sts %[wdreg],%[wdval]" "\n\t" \ |
| 129 | "out __SREG__,__tmp_reg__" "\n\t" \ | 129 | "out __SREG__,__tmp_reg__" "\n\t" \ |
| 130 | : \ | 130 | : \ |
| 131 | : [wdreg] "M" (&WDTCSR), \ | 131 | : [wdreg] "M" (&WDTCSR), \ |
| 132 | [wden] "r" ((uint8_t)(0x18)), \ | 132 | [wden] "r" ((uint8_t)(0x18)), \ |
| 133 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ | 133 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ |
| 134 | : "r0" \ | 134 | : "r0" \ |
| 135 | ) | 135 | ) |
| 136 | 136 | ||
| 137 | /*set the watchdog when I bit in SREG known to be clear- | 137 | /*set the watchdog when I bit in SREG known to be clear- |
| 138 | 1. reset watchdog timer | 138 | 1. reset watchdog timer |
| 139 | 2. enable watchdog change | 139 | 2. enable watchdog change |
| 140 | 5. write watchdog value | 140 | 5. write watchdog value |
| 141 | */ | 141 | */ |
| 142 | #define WD_SET_UNSAFE(val,...) \ | 142 | #define WD_SET_UNSAFE(val,...) \ |
| 143 | __asm__ __volatile__( \ | 143 | __asm__ __volatile__( \ |
| 144 | "wdr" "\n\t" \ | 144 | "wdr" "\n\t" \ |
| 145 | "sts %[wdreg],%[wden]" "\n\t" \ | 145 | "sts %[wdreg],%[wden]" "\n\t" \ |
| 146 | "sts %[wdreg],%[wdval]" "\n\t" \ | 146 | "sts %[wdreg],%[wdval]" "\n\t" \ |
| 147 | : \ | 147 | : \ |
| 148 | : [wdreg] "M" (&WDTCSR), \ | 148 | : [wdreg] "M" (&WDTCSR), \ |
| 149 | [wden] "r" ((uint8_t)(0x18)), \ | 149 | [wden] "r" ((uint8_t)(0x18)), \ |
| 150 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ | 150 | [wdval] "r" ((uint8_t)(val|(__VA_ARGS__+0))) \ |
| 151 | ) | 151 | ) |
| 152 | 152 | ||
| 153 | 153 | ||
| 154 | //for compatibility with avr/wdt.h | 154 | //for compatibility with avr/wdt.h |
| 155 | #define wdt_enable(val) WD_SET(WD_RST,val) | 155 | #define wdt_enable(val) WD_SET(WD_RST,val) |
| 156 | #define wdt_disable() WD_SET(WD_OFF) | 156 | #define wdt_disable() WD_SET(WD_OFF) |
| 157 | 157 | ||
| 158 | 158 | ||
| 159 | #endif /* _AVR_WD_H_ */ | 159 | #endif /* _AVR_WD_H_ */ |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml index 72f3ff04c..02e7063c6 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/CDC/asf.xml | |||
| @@ -1,161 +1,161 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_"> | 2 | <project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.cdc"/> | 3 | <require idref="lufa.bootloaders.cdc"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | 17 | ||
| 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_"> | 26 | <project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_"> |
| 27 | <require idref="lufa.bootloaders.cdc"/> | 27 | <require idref="lufa.bootloaders.cdc"/> |
| 28 | <require idref="lufa.boards.dummy.avr8"/> | 28 | <require idref="lufa.boards.dummy.avr8"/> |
| 29 | <generator value="as5_8"/> | 29 | <generator value="as5_8"/> |
| 30 | 30 | ||
| 31 | <device-support value="at90usb647"/> | 31 | <device-support value="at90usb647"/> |
| 32 | <config name="lufa.drivers.board.name" value="none"/> | 32 | <config name="lufa.drivers.board.name" value="none"/> |
| 33 | 33 | ||
| 34 | <config name="config.compiler.optimization.level" value="size"/> | 34 | <config name="config.compiler.optimization.level" value="size"/> |
| 35 | 35 | ||
| 36 | <build type="define" name="F_CPU" value="16000000UL"/> | 36 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 37 | <build type="define" name="F_USB" value="16000000UL"/> | 37 | <build type="define" name="F_USB" value="16000000UL"/> |
| 38 | 38 | ||
| 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 41 | 41 | ||
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 48 | </project> | 48 | </project> |
| 49 | 49 | ||
| 50 | <project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_"> | 50 | <project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_"> |
| 51 | <require idref="lufa.bootloaders.cdc"/> | 51 | <require idref="lufa.bootloaders.cdc"/> |
| 52 | <require idref="lufa.boards.dummy.avr8"/> | 52 | <require idref="lufa.boards.dummy.avr8"/> |
| 53 | <generator value="as5_8"/> | 53 | <generator value="as5_8"/> |
| 54 | 54 | ||
| 55 | <device-support value="atmega32u4"/> | 55 | <device-support value="atmega32u4"/> |
| 56 | <config name="lufa.drivers.board.name" value="none"/> | 56 | <config name="lufa.drivers.board.name" value="none"/> |
| 57 | 57 | ||
| 58 | <config name="config.compiler.optimization.level" value="size"/> | 58 | <config name="config.compiler.optimization.level" value="size"/> |
| 59 | 59 | ||
| 60 | <build type="define" name="F_CPU" value="16000000UL"/> | 60 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 61 | <build type="define" name="F_USB" value="16000000UL"/> | 61 | <build type="define" name="F_USB" value="16000000UL"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 65 | 65 | ||
| 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 72 | </project> | 72 | </project> |
| 73 | 73 | ||
| 74 | <project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_"> | 74 | <project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_"> |
| 75 | <require idref="lufa.bootloaders.cdc"/> | 75 | <require idref="lufa.bootloaders.cdc"/> |
| 76 | <require idref="lufa.boards.dummy.avr8"/> | 76 | <require idref="lufa.boards.dummy.avr8"/> |
| 77 | <generator value="as5_8"/> | 77 | <generator value="as5_8"/> |
| 78 | 78 | ||
| 79 | <device-support value="atmega16u2"/> | 79 | <device-support value="atmega16u2"/> |
| 80 | <config name="lufa.drivers.board.name" value="none"/> | 80 | <config name="lufa.drivers.board.name" value="none"/> |
| 81 | 81 | ||
| 82 | <config name="config.compiler.optimization.level" value="size"/> | 82 | <config name="config.compiler.optimization.level" value="size"/> |
| 83 | 83 | ||
| 84 | <build type="define" name="F_CPU" value="16000000UL"/> | 84 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 85 | <build type="define" name="F_USB" value="16000000UL"/> | 85 | <build type="define" name="F_USB" value="16000000UL"/> |
| 86 | 86 | ||
| 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 89 | 89 | ||
| 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 96 | </project> | 96 | </project> |
| 97 | 97 | ||
| 98 | <project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_"> | 98 | <project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_"> |
| 99 | <require idref="lufa.bootloaders.cdc"/> | 99 | <require idref="lufa.bootloaders.cdc"/> |
| 100 | <require idref="lufa.boards.dummy.avr8"/> | 100 | <require idref="lufa.boards.dummy.avr8"/> |
| 101 | <generator value="as5_8"/> | 101 | <generator value="as5_8"/> |
| 102 | 102 | ||
| 103 | <device-support value="atmega8u2"/> | 103 | <device-support value="atmega8u2"/> |
| 104 | <config name="lufa.drivers.board.name" value="none"/> | 104 | <config name="lufa.drivers.board.name" value="none"/> |
| 105 | 105 | ||
| 106 | <config name="config.compiler.optimization.level" value="size"/> | 106 | <config name="config.compiler.optimization.level" value="size"/> |
| 107 | 107 | ||
| 108 | <build type="define" name="F_CPU" value="16000000UL"/> | 108 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 109 | <build type="define" name="F_USB" value="16000000UL"/> | 109 | <build type="define" name="F_USB" value="16000000UL"/> |
| 110 | 110 | ||
| 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> | 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> |
| 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> | 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> |
| 113 | 113 | ||
| 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> | 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> |
| 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> | 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> |
| 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> | 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> |
| 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 120 | </project> | 120 | </project> |
| 121 | 121 | ||
| 122 | <module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader"> | 122 | <module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader"> |
| 123 | <info type="description" value="summary"> | 123 | <info type="description" value="summary"> |
| 124 | CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host. | 124 | CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host. |
| 125 | </info> | 125 | </info> |
| 126 | 126 | ||
| 127 | <info type="gui-flag" value="move-to-root"/> | 127 | <info type="gui-flag" value="move-to-root"/> |
| 128 | 128 | ||
| 129 | <info type="keyword" value="Technology"> | 129 | <info type="keyword" value="Technology"> |
| 130 | <keyword value="Bootloaders"/> | 130 | <keyword value="Bootloaders"/> |
| 131 | <keyword value="USB Device"/> | 131 | <keyword value="USB Device"/> |
| 132 | </info> | 132 | </info> |
| 133 | 133 | ||
| 134 | <device-support-alias value="lufa_avr8"/> | 134 | <device-support-alias value="lufa_avr8"/> |
| 135 | <device-support-alias value="lufa_xmega"/> | 135 | <device-support-alias value="lufa_xmega"/> |
| 136 | <device-support-alias value="lufa_uc3"/> | 136 | <device-support-alias value="lufa_uc3"/> |
| 137 | 137 | ||
| 138 | <build type="include-path" value="."/> | 138 | <build type="include-path" value="."/> |
| 139 | <build type="c-source" value="BootloaderCDC.c"/> | 139 | <build type="c-source" value="BootloaderCDC.c"/> |
| 140 | <build type="header-file" value="BootloaderCDC.h"/> | 140 | <build type="header-file" value="BootloaderCDC.h"/> |
| 141 | <build type="c-source" value="Descriptors.c"/> | 141 | <build type="c-source" value="Descriptors.c"/> |
| 142 | <build type="header-file" value="Descriptors.h"/> | 142 | <build type="header-file" value="Descriptors.h"/> |
| 143 | <build type="c-source" value="BootloaderAPI.c"/> | 143 | <build type="c-source" value="BootloaderAPI.c"/> |
| 144 | <build type="header-file" value="BootloaderAPI.h"/> | 144 | <build type="header-file" value="BootloaderAPI.h"/> |
| 145 | <build type="asm-source" value="BootloaderAPITable.S"/> | 145 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 146 | 146 | ||
| 147 | <build type="module-config" subtype="path" value="Config"/> | 147 | <build type="module-config" subtype="path" value="Config"/> |
| 148 | <build type="header-file" value="Config/LUFAConfig.h"/> | 148 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 149 | <build type="header-file" value="Config/AppConfig.h"/> | 149 | <build type="header-file" value="Config/AppConfig.h"/> |
| 150 | 150 | ||
| 151 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 151 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 152 | <build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/> | 152 | <build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/> |
| 153 | <build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/> | 153 | <build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/> |
| 154 | 154 | ||
| 155 | <require idref="lufa.common"/> | 155 | <require idref="lufa.common"/> |
| 156 | <require idref="lufa.platform"/> | 156 | <require idref="lufa.platform"/> |
| 157 | <require idref="lufa.drivers.usb"/> | 157 | <require idref="lufa.drivers.usb"/> |
| 158 | <require idref="lufa.drivers.board"/> | 158 | <require idref="lufa.drivers.board"/> |
| 159 | <require idref="lufa.drivers.board.leds"/> | 159 | <require idref="lufa.drivers.board.leds"/> |
| 160 | </module> | 160 | </module> |
| 161 | </asf> | 161 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml index 6f3312b76..f56aba69f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/DFU/asf.xml | |||
| @@ -1,156 +1,156 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_"> | 2 | <project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.dfu"/> | 3 | <require idref="lufa.bootloaders.dfu"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | 17 | ||
| 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_"> | 26 | <project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_"> |
| 27 | <require idref="lufa.bootloaders.dfu"/> | 27 | <require idref="lufa.bootloaders.dfu"/> |
| 28 | <require idref="lufa.boards.dummy.avr8"/> | 28 | <require idref="lufa.boards.dummy.avr8"/> |
| 29 | <generator value="as5_8"/> | 29 | <generator value="as5_8"/> |
| 30 | 30 | ||
| 31 | <device-support value="at90usb647"/> | 31 | <device-support value="at90usb647"/> |
| 32 | <config name="lufa.drivers.board.name" value="none"/> | 32 | <config name="lufa.drivers.board.name" value="none"/> |
| 33 | 33 | ||
| 34 | <config name="config.compiler.optimization.level" value="size"/> | 34 | <config name="config.compiler.optimization.level" value="size"/> |
| 35 | 35 | ||
| 36 | <build type="define" name="F_CPU" value="16000000UL"/> | 36 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 37 | <build type="define" name="F_USB" value="16000000UL"/> | 37 | <build type="define" name="F_USB" value="16000000UL"/> |
| 38 | 38 | ||
| 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 41 | 41 | ||
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 48 | </project> | 48 | </project> |
| 49 | 49 | ||
| 50 | <project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_"> | 50 | <project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_"> |
| 51 | <require idref="lufa.bootloaders.dfu"/> | 51 | <require idref="lufa.bootloaders.dfu"/> |
| 52 | <require idref="lufa.boards.dummy.avr8"/> | 52 | <require idref="lufa.boards.dummy.avr8"/> |
| 53 | <generator value="as5_8"/> | 53 | <generator value="as5_8"/> |
| 54 | 54 | ||
| 55 | <device-support value="atmega32u4"/> | 55 | <device-support value="atmega32u4"/> |
| 56 | <config name="lufa.drivers.board.name" value="none"/> | 56 | <config name="lufa.drivers.board.name" value="none"/> |
| 57 | 57 | ||
| 58 | <config name="config.compiler.optimization.level" value="size"/> | 58 | <config name="config.compiler.optimization.level" value="size"/> |
| 59 | 59 | ||
| 60 | <build type="define" name="F_CPU" value="16000000UL"/> | 60 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 61 | <build type="define" name="F_USB" value="16000000UL"/> | 61 | <build type="define" name="F_USB" value="16000000UL"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 65 | 65 | ||
| 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 72 | </project> | 72 | </project> |
| 73 | 73 | ||
| 74 | <project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_"> | 74 | <project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_"> |
| 75 | <require idref="lufa.bootloaders.dfu"/> | 75 | <require idref="lufa.bootloaders.dfu"/> |
| 76 | <require idref="lufa.boards.dummy.avr8"/> | 76 | <require idref="lufa.boards.dummy.avr8"/> |
| 77 | <generator value="as5_8"/> | 77 | <generator value="as5_8"/> |
| 78 | 78 | ||
| 79 | <device-support value="atmega16u2"/> | 79 | <device-support value="atmega16u2"/> |
| 80 | <config name="lufa.drivers.board.name" value="none"/> | 80 | <config name="lufa.drivers.board.name" value="none"/> |
| 81 | 81 | ||
| 82 | <build type="define" name="F_CPU" value="16000000UL"/> | 82 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 83 | <build type="define" name="F_USB" value="16000000UL"/> | 83 | <build type="define" name="F_USB" value="16000000UL"/> |
| 84 | 84 | ||
| 85 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 85 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 86 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 86 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 87 | 87 | ||
| 88 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 88 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 89 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 89 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 94 | </project> | 94 | </project> |
| 95 | 95 | ||
| 96 | <project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_"> | 96 | <project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_"> |
| 97 | <require idref="lufa.bootloaders.dfu"/> | 97 | <require idref="lufa.bootloaders.dfu"/> |
| 98 | <require idref="lufa.boards.dummy.avr8"/> | 98 | <require idref="lufa.boards.dummy.avr8"/> |
| 99 | <generator value="as5_8"/> | 99 | <generator value="as5_8"/> |
| 100 | 100 | ||
| 101 | <device-support value="atmega8u2"/> | 101 | <device-support value="atmega8u2"/> |
| 102 | <config name="lufa.drivers.board.name" value="none"/> | 102 | <config name="lufa.drivers.board.name" value="none"/> |
| 103 | 103 | ||
| 104 | <build type="define" name="F_CPU" value="16000000UL"/> | 104 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 105 | <build type="define" name="F_USB" value="16000000UL"/> | 105 | <build type="define" name="F_USB" value="16000000UL"/> |
| 106 | 106 | ||
| 107 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> | 107 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> |
| 108 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> | 108 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> |
| 109 | 109 | ||
| 110 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> | 110 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> |
| 111 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 111 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 112 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> | 112 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> |
| 113 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 113 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> | 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> |
| 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 116 | </project> | 116 | </project> |
| 117 | 117 | ||
| 118 | <module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader"> | 118 | <module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader"> |
| 119 | <info type="description" value="summary"> | 119 | <info type="description" value="summary"> |
| 120 | DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host. | 120 | DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host. |
| 121 | </info> | 121 | </info> |
| 122 | 122 | ||
| 123 | <info type="gui-flag" value="move-to-root"/> | 123 | <info type="gui-flag" value="move-to-root"/> |
| 124 | 124 | ||
| 125 | <info type="keyword" value="Technology"> | 125 | <info type="keyword" value="Technology"> |
| 126 | <keyword value="Bootloaders"/> | 126 | <keyword value="Bootloaders"/> |
| 127 | <keyword value="USB Device"/> | 127 | <keyword value="USB Device"/> |
| 128 | </info> | 128 | </info> |
| 129 | 129 | ||
| 130 | <device-support-alias value="lufa_avr8"/> | 130 | <device-support-alias value="lufa_avr8"/> |
| 131 | <device-support-alias value="lufa_xmega"/> | 131 | <device-support-alias value="lufa_xmega"/> |
| 132 | <device-support-alias value="lufa_uc3"/> | 132 | <device-support-alias value="lufa_uc3"/> |
| 133 | 133 | ||
| 134 | <build type="include-path" value="."/> | 134 | <build type="include-path" value="."/> |
| 135 | <build type="c-source" value="BootloaderDFU.c"/> | 135 | <build type="c-source" value="BootloaderDFU.c"/> |
| 136 | <build type="header-file" value="BootloaderDFU.h"/> | 136 | <build type="header-file" value="BootloaderDFU.h"/> |
| 137 | <build type="c-source" value="Descriptors.c"/> | 137 | <build type="c-source" value="Descriptors.c"/> |
| 138 | <build type="header-file" value="Descriptors.h"/> | 138 | <build type="header-file" value="Descriptors.h"/> |
| 139 | <build type="c-source" value="BootloaderAPI.c"/> | 139 | <build type="c-source" value="BootloaderAPI.c"/> |
| 140 | <build type="header-file" value="BootloaderAPI.h"/> | 140 | <build type="header-file" value="BootloaderAPI.h"/> |
| 141 | <build type="asm-source" value="BootloaderAPITable.S"/> | 141 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 142 | 142 | ||
| 143 | <build type="module-config" subtype="path" value="Config"/> | 143 | <build type="module-config" subtype="path" value="Config"/> |
| 144 | <build type="header-file" value="Config/LUFAConfig.h"/> | 144 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 145 | <build type="header-file" value="Config/AppConfig.h"/> | 145 | <build type="header-file" value="Config/AppConfig.h"/> |
| 146 | 146 | ||
| 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 148 | <build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/> | 148 | <build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/> |
| 149 | 149 | ||
| 150 | <require idref="lufa.common"/> | 150 | <require idref="lufa.common"/> |
| 151 | <require idref="lufa.platform"/> | 151 | <require idref="lufa.platform"/> |
| 152 | <require idref="lufa.drivers.usb"/> | 152 | <require idref="lufa.drivers.usb"/> |
| 153 | <require idref="lufa.drivers.board"/> | 153 | <require idref="lufa.drivers.board"/> |
| 154 | <require idref="lufa.drivers.board.leds"/> | 154 | <require idref="lufa.drivers.board.leds"/> |
| 155 | </module> | 155 | </module> |
| 156 | </asf> | 156 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml index 9394b1353..c67b9419e 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/HID/asf.xml | |||
| @@ -1,123 +1,123 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_"> | 2 | <project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.hid"/> | 3 | <require idref="lufa.bootloaders.hid"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | </project> | 17 | </project> |
| 18 | 18 | ||
| 19 | <project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_"> | 19 | <project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_"> |
| 20 | <require idref="lufa.bootloaders.hid"/> | 20 | <require idref="lufa.bootloaders.hid"/> |
| 21 | <require idref="lufa.boards.dummy.avr8"/> | 21 | <require idref="lufa.boards.dummy.avr8"/> |
| 22 | <generator value="as5_8"/> | 22 | <generator value="as5_8"/> |
| 23 | 23 | ||
| 24 | <device-support value="at90usb647"/> | 24 | <device-support value="at90usb647"/> |
| 25 | <config name="lufa.drivers.board.name" value="none"/> | 25 | <config name="lufa.drivers.board.name" value="none"/> |
| 26 | 26 | ||
| 27 | <config name="config.compiler.optimization.level" value="size"/> | 27 | <config name="config.compiler.optimization.level" value="size"/> |
| 28 | 28 | ||
| 29 | <build type="define" name="F_CPU" value="16000000UL"/> | 29 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 30 | <build type="define" name="F_USB" value="16000000UL"/> | 30 | <build type="define" name="F_USB" value="16000000UL"/> |
| 31 | 31 | ||
| 32 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 32 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 33 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 33 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 34 | </project> | 34 | </project> |
| 35 | 35 | ||
| 36 | <project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_"> | 36 | <project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_"> |
| 37 | <require idref="lufa.bootloaders.hid"/> | 37 | <require idref="lufa.bootloaders.hid"/> |
| 38 | <require idref="lufa.boards.dummy.avr8"/> | 38 | <require idref="lufa.boards.dummy.avr8"/> |
| 39 | <generator value="as5_8"/> | 39 | <generator value="as5_8"/> |
| 40 | 40 | ||
| 41 | <device-support value="atmega32u4"/> | 41 | <device-support value="atmega32u4"/> |
| 42 | <config name="lufa.drivers.board.name" value="none"/> | 42 | <config name="lufa.drivers.board.name" value="none"/> |
| 43 | 43 | ||
| 44 | <config name="config.compiler.optimization.level" value="size"/> | 44 | <config name="config.compiler.optimization.level" value="size"/> |
| 45 | 45 | ||
| 46 | <build type="define" name="F_CPU" value="16000000UL"/> | 46 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 47 | <build type="define" name="F_USB" value="16000000UL"/> | 47 | <build type="define" name="F_USB" value="16000000UL"/> |
| 48 | 48 | ||
| 49 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 49 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 50 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 50 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 51 | </project> | 51 | </project> |
| 52 | 52 | ||
| 53 | <project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_"> | 53 | <project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_"> |
| 54 | <require idref="lufa.bootloaders.hid"/> | 54 | <require idref="lufa.bootloaders.hid"/> |
| 55 | <require idref="lufa.boards.dummy.avr8"/> | 55 | <require idref="lufa.boards.dummy.avr8"/> |
| 56 | <generator value="as5_8"/> | 56 | <generator value="as5_8"/> |
| 57 | 57 | ||
| 58 | <device-support value="atmega16u2"/> | 58 | <device-support value="atmega16u2"/> |
| 59 | <config name="lufa.drivers.board.name" value="none"/> | 59 | <config name="lufa.drivers.board.name" value="none"/> |
| 60 | 60 | ||
| 61 | <config name="config.compiler.optimization.level" value="size"/> | 61 | <config name="config.compiler.optimization.level" value="size"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="F_CPU" value="16000000UL"/> | 63 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 64 | <build type="define" name="F_USB" value="16000000UL"/> | 64 | <build type="define" name="F_USB" value="16000000UL"/> |
| 65 | 65 | ||
| 66 | <build type="define" name="BOOT_START_ADDR" value="0x3800"/> | 66 | <build type="define" name="BOOT_START_ADDR" value="0x3800"/> |
| 67 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/> | 67 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/> |
| 68 | </project> | 68 | </project> |
| 69 | 69 | ||
| 70 | <project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_"> | 70 | <project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_"> |
| 71 | <require idref="lufa.bootloaders.hid"/> | 71 | <require idref="lufa.bootloaders.hid"/> |
| 72 | <require idref="lufa.boards.dummy.avr8"/> | 72 | <require idref="lufa.boards.dummy.avr8"/> |
| 73 | <generator value="as5_8"/> | 73 | <generator value="as5_8"/> |
| 74 | 74 | ||
| 75 | <device-support value="atmega8u2"/> | 75 | <device-support value="atmega8u2"/> |
| 76 | <config name="lufa.drivers.board.name" value="none"/> | 76 | <config name="lufa.drivers.board.name" value="none"/> |
| 77 | 77 | ||
| 78 | <config name="config.compiler.optimization.level" value="size"/> | 78 | <config name="config.compiler.optimization.level" value="size"/> |
| 79 | 79 | ||
| 80 | <build type="define" name="F_CPU" value="16000000UL"/> | 80 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 81 | <build type="define" name="F_USB" value="16000000UL"/> | 81 | <build type="define" name="F_USB" value="16000000UL"/> |
| 82 | 82 | ||
| 83 | <build type="define" name="BOOT_START_ADDR" value="0x1800"/> | 83 | <build type="define" name="BOOT_START_ADDR" value="0x1800"/> |
| 84 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/> | 84 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/> |
| 85 | </project> | 85 | </project> |
| 86 | 86 | ||
| 87 | <module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader"> | 87 | <module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader"> |
| 88 | <info type="description" value="summary"> | 88 | <info type="description" value="summary"> |
| 89 | HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host. | 89 | HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host. |
| 90 | </info> | 90 | </info> |
| 91 | 91 | ||
| 92 | <info type="gui-flag" value="move-to-root"/> | 92 | <info type="gui-flag" value="move-to-root"/> |
| 93 | 93 | ||
| 94 | <info type="keyword" value="Technology"> | 94 | <info type="keyword" value="Technology"> |
| 95 | <keyword value="Bootloaders"/> | 95 | <keyword value="Bootloaders"/> |
| 96 | <keyword value="USB Device"/> | 96 | <keyword value="USB Device"/> |
| 97 | </info> | 97 | </info> |
| 98 | 98 | ||
| 99 | <device-support-alias value="lufa_avr8"/> | 99 | <device-support-alias value="lufa_avr8"/> |
| 100 | <device-support-alias value="lufa_xmega"/> | 100 | <device-support-alias value="lufa_xmega"/> |
| 101 | <device-support-alias value="lufa_uc3"/> | 101 | <device-support-alias value="lufa_uc3"/> |
| 102 | 102 | ||
| 103 | <build type="include-path" value="."/> | 103 | <build type="include-path" value="."/> |
| 104 | <build type="c-source" value="BootloaderHID.c"/> | 104 | <build type="c-source" value="BootloaderHID.c"/> |
| 105 | <build type="header-file" value="BootloaderHID.h"/> | 105 | <build type="header-file" value="BootloaderHID.h"/> |
| 106 | <build type="c-source" value="Descriptors.c"/> | 106 | <build type="c-source" value="Descriptors.c"/> |
| 107 | <build type="header-file" value="Descriptors.h"/> | 107 | <build type="header-file" value="Descriptors.h"/> |
| 108 | 108 | ||
| 109 | <build type="module-config" subtype="path" value="Config"/> | 109 | <build type="module-config" subtype="path" value="Config"/> |
| 110 | <build type="header-file" value="Config/LUFAConfig.h"/> | 110 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 111 | 111 | ||
| 112 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 112 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 113 | <build type="distribute" subtype="user-file" value="BootloaderHID.txt"/> | 113 | <build type="distribute" subtype="user-file" value="BootloaderHID.txt"/> |
| 114 | <build type="distribute" subtype="directory" value="HostLoaderApp"/> | 114 | <build type="distribute" subtype="directory" value="HostLoaderApp"/> |
| 115 | <build type="distribute" subtype="directory" value="HostLoaderApp_Python"/> | 115 | <build type="distribute" subtype="directory" value="HostLoaderApp_Python"/> |
| 116 | 116 | ||
| 117 | <require idref="lufa.common"/> | 117 | <require idref="lufa.common"/> |
| 118 | <require idref="lufa.platform"/> | 118 | <require idref="lufa.platform"/> |
| 119 | <require idref="lufa.drivers.usb"/> | 119 | <require idref="lufa.drivers.usb"/> |
| 120 | <require idref="lufa.drivers.board"/> | 120 | <require idref="lufa.drivers.board"/> |
| 121 | <require idref="lufa.drivers.board.leds"/> | 121 | <require idref="lufa.drivers.board.leds"/> |
| 122 | </module> | 122 | </module> |
| 123 | </asf> | 123 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S index 6844d4b01..91fc94966 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/BootloaderAPITable.S | |||
| @@ -1,102 +1,102 @@ | |||
| 1 | /* | 1 | /* |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2014. | 3 | Copyright (C) Dean Camera, 2014. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* | 9 | /* |
| 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) | 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) |
| 11 | 11 | ||
| 12 | Permission to use, copy, modify, distribute, and sell this | 12 | Permission to use, copy, modify, distribute, and sell this |
| 13 | software and its documentation for any purpose is hereby granted | 13 | software and its documentation for any purpose is hereby granted |
| 14 | without fee, provided that the above copyright notice appear in | 14 | without fee, provided that the above copyright notice appear in |
| 15 | all copies and that both that the copyright notice and this | 15 | all copies and that both that the copyright notice and this |
| 16 | permission notice and warranty disclaimer appear in supporting | 16 | permission notice and warranty disclaimer appear in supporting |
| 17 | documentation, and that the name of the author not be used in | 17 | documentation, and that the name of the author not be used in |
| 18 | advertising or publicity pertaining to distribution of the | 18 | advertising or publicity pertaining to distribution of the |
| 19 | software without specific, written prior permission. | 19 | software without specific, written prior permission. |
| 20 | 20 | ||
| 21 | The author disclaims all warranties with regard to this | 21 | The author disclaims all warranties with regard to this |
| 22 | software, including all implied warranties of merchantability | 22 | software, including all implied warranties of merchantability |
| 23 | and fitness. In no event shall the author be liable for any | 23 | and fitness. In no event shall the author be liable for any |
| 24 | special, indirect or consequential damages or any damages | 24 | special, indirect or consequential damages or any damages |
| 25 | whatsoever resulting from loss of use, data or profits, whether | 25 | whatsoever resulting from loss of use, data or profits, whether |
| 26 | in an action of contract, negligence or other tortious action, | 26 | in an action of contract, negligence or other tortious action, |
| 27 | arising out of or in connection with the use or performance of | 27 | arising out of or in connection with the use or performance of |
| 28 | this software. | 28 | this software. |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | #if AUX_BOOT_SECTION_SIZE > 0 | 31 | #if AUX_BOOT_SECTION_SIZE > 0 |
| 32 | #warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). | 32 | #warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). |
| 33 | 33 | ||
| 34 | ; Trampoline to jump over the AUX bootloader section to the start of the bootloader, | 34 | ; Trampoline to jump over the AUX bootloader section to the start of the bootloader, |
| 35 | ; on devices where an AUX bootloader section is used. | 35 | ; on devices where an AUX bootloader section is used. |
| 36 | .section .boot_aux_trampoline, "ax" | 36 | .section .boot_aux_trampoline, "ax" |
| 37 | .global Boot_AUX_Trampoline | 37 | .global Boot_AUX_Trampoline |
| 38 | Boot_AUX_Trampoline: | 38 | Boot_AUX_Trampoline: |
| 39 | jmp BOOT_START_ADDR | 39 | jmp BOOT_START_ADDR |
| 40 | #endif | 40 | #endif |
| 41 | 41 | ||
| 42 | ; Trampolines to actual API implementations if the target address is outside the | 42 | ; Trampolines to actual API implementations if the target address is outside the |
| 43 | ; range of a rjmp instruction (can happen with large bootloader sections) | 43 | ; range of a rjmp instruction (can happen with large bootloader sections) |
| 44 | .section .apitable_trampolines, "ax" | 44 | .section .apitable_trampolines, "ax" |
| 45 | .global BootloaderAPI_Trampolines | 45 | .global BootloaderAPI_Trampolines |
| 46 | BootloaderAPI_Trampolines: | 46 | BootloaderAPI_Trampolines: |
| 47 | 47 | ||
| 48 | BootloaderAPI_ErasePage_Trampoline: | 48 | BootloaderAPI_ErasePage_Trampoline: |
| 49 | jmp BootloaderAPI_ErasePage | 49 | jmp BootloaderAPI_ErasePage |
| 50 | BootloaderAPI_WritePage_Trampoline: | 50 | BootloaderAPI_WritePage_Trampoline: |
| 51 | jmp BootloaderAPI_WritePage | 51 | jmp BootloaderAPI_WritePage |
| 52 | BootloaderAPI_FillWord_Trampoline: | 52 | BootloaderAPI_FillWord_Trampoline: |
| 53 | jmp BootloaderAPI_FillWord | 53 | jmp BootloaderAPI_FillWord |
| 54 | BootloaderAPI_ReadSignature_Trampoline: | 54 | BootloaderAPI_ReadSignature_Trampoline: |
| 55 | jmp BootloaderAPI_ReadSignature | 55 | jmp BootloaderAPI_ReadSignature |
| 56 | BootloaderAPI_ReadFuse_Trampoline: | 56 | BootloaderAPI_ReadFuse_Trampoline: |
| 57 | jmp BootloaderAPI_ReadFuse | 57 | jmp BootloaderAPI_ReadFuse |
| 58 | BootloaderAPI_ReadLock_Trampoline: | 58 | BootloaderAPI_ReadLock_Trampoline: |
| 59 | jmp BootloaderAPI_ReadLock | 59 | jmp BootloaderAPI_ReadLock |
| 60 | BootloaderAPI_WriteLock_Trampoline: | 60 | BootloaderAPI_WriteLock_Trampoline: |
| 61 | jmp BootloaderAPI_WriteLock | 61 | jmp BootloaderAPI_WriteLock |
| 62 | BootloaderAPI_UNUSED1: | 62 | BootloaderAPI_UNUSED1: |
| 63 | ret | 63 | ret |
| 64 | BootloaderAPI_UNUSED2: | 64 | BootloaderAPI_UNUSED2: |
| 65 | ret | 65 | ret |
| 66 | BootloaderAPI_UNUSED3: | 66 | BootloaderAPI_UNUSED3: |
| 67 | ret | 67 | ret |
| 68 | BootloaderAPI_UNUSED4: | 68 | BootloaderAPI_UNUSED4: |
| 69 | ret | 69 | ret |
| 70 | BootloaderAPI_UNUSED5: | 70 | BootloaderAPI_UNUSED5: |
| 71 | ret | 71 | ret |
| 72 | 72 | ||
| 73 | 73 | ||
| 74 | 74 | ||
| 75 | ; API function jump table | 75 | ; API function jump table |
| 76 | .section .apitable_jumptable, "ax" | 76 | .section .apitable_jumptable, "ax" |
| 77 | .global BootloaderAPI_JumpTable | 77 | .global BootloaderAPI_JumpTable |
| 78 | BootloaderAPI_JumpTable: | 78 | BootloaderAPI_JumpTable: |
| 79 | 79 | ||
| 80 | rjmp BootloaderAPI_ErasePage_Trampoline | 80 | rjmp BootloaderAPI_ErasePage_Trampoline |
| 81 | rjmp BootloaderAPI_WritePage_Trampoline | 81 | rjmp BootloaderAPI_WritePage_Trampoline |
| 82 | rjmp BootloaderAPI_FillWord_Trampoline | 82 | rjmp BootloaderAPI_FillWord_Trampoline |
| 83 | rjmp BootloaderAPI_ReadSignature_Trampoline | 83 | rjmp BootloaderAPI_ReadSignature_Trampoline |
| 84 | rjmp BootloaderAPI_ReadFuse_Trampoline | 84 | rjmp BootloaderAPI_ReadFuse_Trampoline |
| 85 | rjmp BootloaderAPI_ReadLock_Trampoline | 85 | rjmp BootloaderAPI_ReadLock_Trampoline |
| 86 | rjmp BootloaderAPI_WriteLock_Trampoline | 86 | rjmp BootloaderAPI_WriteLock_Trampoline |
| 87 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 | 87 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 |
| 88 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 | 88 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 |
| 89 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 | 89 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 |
| 90 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 | 90 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 |
| 91 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 | 91 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 |
| 92 | 92 | ||
| 93 | 93 | ||
| 94 | 94 | ||
| 95 | ; Bootloader table signatures and information | 95 | ; Bootloader table signatures and information |
| 96 | .section .apitable_signatures, "ax" | 96 | .section .apitable_signatures, "ax" |
| 97 | .global BootloaderAPI_Signatures | 97 | .global BootloaderAPI_Signatures |
| 98 | BootloaderAPI_Signatures: | 98 | BootloaderAPI_Signatures: |
| 99 | 99 | ||
| 100 | .long BOOT_START_ADDR ; Start address of the bootloader | 100 | .long BOOT_START_ADDR ; Start address of the bootloader |
| 101 | .word 0xDF30 ; Signature for the MS class bootloader, V1 | 101 | .word 0xDF30 ; Signature for the MS class bootloader, V1 |
| 102 | .word 0xDCFB ; Signature for a LUFA class bootloader | 102 | .word 0xDCFB ; Signature for a LUFA class bootloader |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml index f1d550d1e..700ffa26f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/asf.xml | |||
| @@ -1,156 +1,156 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_"> | 2 | <project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_"> |
| 3 | <require idref="lufa.bootloaders.mass_storage"/> | 3 | <require idref="lufa.bootloaders.mass_storage"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1E000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1E000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/> |
| 17 | 17 | ||
| 18 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> | 18 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> |
| 19 | 19 | ||
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 24 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 24 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 25 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 25 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 26 | </project> | 26 | </project> |
| 27 | 27 | ||
| 28 | <project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_"> | 28 | <project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_"> |
| 29 | <require idref="lufa.bootloaders.mass_storage"/> | 29 | <require idref="lufa.bootloaders.mass_storage"/> |
| 30 | <require idref="lufa.boards.dummy.avr8"/> | 30 | <require idref="lufa.boards.dummy.avr8"/> |
| 31 | <generator value="as5_8"/> | 31 | <generator value="as5_8"/> |
| 32 | 32 | ||
| 33 | <device-support value="at90usb647"/> | 33 | <device-support value="at90usb647"/> |
| 34 | <config name="lufa.drivers.board.name" value="none"/> | 34 | <config name="lufa.drivers.board.name" value="none"/> |
| 35 | 35 | ||
| 36 | <config name="config.compiler.optimization.level" value="size"/> | 36 | <config name="config.compiler.optimization.level" value="size"/> |
| 37 | 37 | ||
| 38 | <build type="define" name="F_CPU" value="16000000UL"/> | 38 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 39 | <build type="define" name="F_USB" value="16000000UL"/> | 39 | <build type="define" name="F_USB" value="16000000UL"/> |
| 40 | 40 | ||
| 41 | <build type="define" name="BOOT_START_ADDR" value="0xE000"/> | 41 | <build type="define" name="BOOT_START_ADDR" value="0xE000"/> |
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/> |
| 43 | 43 | ||
| 44 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> | 44 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> |
| 45 | 45 | ||
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 48 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 48 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 49 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 49 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 50 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 50 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 51 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 51 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 52 | </project> | 52 | </project> |
| 53 | 53 | ||
| 54 | <project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_"> | 54 | <project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_"> |
| 55 | <require idref="lufa.bootloaders.mass_storage"/> | 55 | <require idref="lufa.bootloaders.mass_storage"/> |
| 56 | <require idref="lufa.boards.dummy.avr8"/> | 56 | <require idref="lufa.boards.dummy.avr8"/> |
| 57 | <generator value="as5_8"/> | 57 | <generator value="as5_8"/> |
| 58 | 58 | ||
| 59 | <device-support value="atmega32u4"/> | 59 | <device-support value="atmega32u4"/> |
| 60 | <config name="lufa.drivers.board.name" value="none"/> | 60 | <config name="lufa.drivers.board.name" value="none"/> |
| 61 | 61 | ||
| 62 | <config name="config.compiler.optimization.level" value="size"/> | 62 | <config name="config.compiler.optimization.level" value="size"/> |
| 63 | 63 | ||
| 64 | <build type="define" name="F_CPU" value="16000000UL"/> | 64 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 65 | <build type="define" name="F_USB" value="16000000UL"/> | 65 | <build type="define" name="F_USB" value="16000000UL"/> |
| 66 | 66 | ||
| 67 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 67 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 69 | 69 | ||
| 70 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> | 70 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> |
| 71 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/> | 71 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/> |
| 72 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/> | 72 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/> |
| 73 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> | 73 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> |
| 74 | 74 | ||
| 75 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 75 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 76 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 76 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 77 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 77 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 78 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 78 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 79 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 79 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 80 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 80 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 81 | </project> | 81 | </project> |
| 82 | 82 | ||
| 83 | <project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_"> | 83 | <project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_"> |
| 84 | <require idref="lufa.bootloaders.mass_storage"/> | 84 | <require idref="lufa.bootloaders.mass_storage"/> |
| 85 | <require idref="lufa.boards.dummy.avr8"/> | 85 | <require idref="lufa.boards.dummy.avr8"/> |
| 86 | <generator value="as5_8"/> | 86 | <generator value="as5_8"/> |
| 87 | 87 | ||
| 88 | <device-support value="atmega16u2"/> | 88 | <device-support value="atmega16u2"/> |
| 89 | <config name="lufa.drivers.board.name" value="none"/> | 89 | <config name="lufa.drivers.board.name" value="none"/> |
| 90 | 90 | ||
| 91 | <config name="config.compiler.optimization.level" value="size"/> | 91 | <config name="config.compiler.optimization.level" value="size"/> |
| 92 | 92 | ||
| 93 | <build type="define" name="F_CPU" value="16000000UL"/> | 93 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 94 | <build type="define" name="F_USB" value="16000000UL"/> | 94 | <build type="define" name="F_USB" value="16000000UL"/> |
| 95 | 95 | ||
| 96 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 96 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 97 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 97 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 98 | 98 | ||
| 99 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> | 99 | <build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> |
| 100 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/> | 100 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/> |
| 101 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/> | 101 | <build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/> |
| 102 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> | 102 | <build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> |
| 103 | 103 | ||
| 104 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 104 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 105 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 105 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 106 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 106 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 107 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 107 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 108 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 108 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 109 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 109 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 110 | </project> | 110 | </project> |
| 111 | 111 | ||
| 112 | <module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader"> | 112 | <module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader"> |
| 113 | <info type="description" value="summary"> | 113 | <info type="description" value="summary"> |
| 114 | Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host. | 114 | Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host. |
| 115 | </info> | 115 | </info> |
| 116 | 116 | ||
| 117 | <info type="gui-flag" value="move-to-root"/> | 117 | <info type="gui-flag" value="move-to-root"/> |
| 118 | 118 | ||
| 119 | <info type="keyword" value="Technology"> | 119 | <info type="keyword" value="Technology"> |
| 120 | <keyword value="Bootloaders"/> | 120 | <keyword value="Bootloaders"/> |
| 121 | <keyword value="USB Device"/> | 121 | <keyword value="USB Device"/> |
| 122 | </info> | 122 | </info> |
| 123 | 123 | ||
| 124 | <device-support-alias value="lufa_avr8"/> | 124 | <device-support-alias value="lufa_avr8"/> |
| 125 | <device-support-alias value="lufa_xmega"/> | 125 | <device-support-alias value="lufa_xmega"/> |
| 126 | <device-support-alias value="lufa_uc3"/> | 126 | <device-support-alias value="lufa_uc3"/> |
| 127 | 127 | ||
| 128 | <build type="include-path" value="."/> | 128 | <build type="include-path" value="."/> |
| 129 | <build type="c-source" value="BootloaderMassStorage.c"/> | 129 | <build type="c-source" value="BootloaderMassStorage.c"/> |
| 130 | <build type="header-file" value="BootloaderMassStorage.h"/> | 130 | <build type="header-file" value="BootloaderMassStorage.h"/> |
| 131 | <build type="c-source" value="Descriptors.c"/> | 131 | <build type="c-source" value="Descriptors.c"/> |
| 132 | <build type="header-file" value="Descriptors.h"/> | 132 | <build type="header-file" value="Descriptors.h"/> |
| 133 | <build type="c-source" value="BootloaderAPI.c"/> | 133 | <build type="c-source" value="BootloaderAPI.c"/> |
| 134 | <build type="header-file" value="BootloaderAPI.h"/> | 134 | <build type="header-file" value="BootloaderAPI.h"/> |
| 135 | <build type="asm-source" value="BootloaderAPITable.S"/> | 135 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 136 | 136 | ||
| 137 | <build type="module-config" subtype="path" value="Config"/> | 137 | <build type="module-config" subtype="path" value="Config"/> |
| 138 | <build type="header-file" value="Config/LUFAConfig.h"/> | 138 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 139 | <build type="header-file" value="Config/AppConfig.h"/> | 139 | <build type="header-file" value="Config/AppConfig.h"/> |
| 140 | 140 | ||
| 141 | <build type="include-path" value="Lib"/> | 141 | <build type="include-path" value="Lib"/> |
| 142 | <build type="header-file" value="Lib/VirtualFAT.h"/> | 142 | <build type="header-file" value="Lib/VirtualFAT.h"/> |
| 143 | <build type="c-source" value="Lib/VirtualFAT.c"/> | 143 | <build type="c-source" value="Lib/VirtualFAT.c"/> |
| 144 | <build type="header-file" value="Lib/SCSI.h"/> | 144 | <build type="header-file" value="Lib/SCSI.h"/> |
| 145 | <build type="c-source" value="Lib/SCSI.c"/> | 145 | <build type="c-source" value="Lib/SCSI.c"/> |
| 146 | 146 | ||
| 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 147 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 148 | <build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/> | 148 | <build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/> |
| 149 | 149 | ||
| 150 | <require idref="lufa.common"/> | 150 | <require idref="lufa.common"/> |
| 151 | <require idref="lufa.platform"/> | 151 | <require idref="lufa.platform"/> |
| 152 | <require idref="lufa.drivers.usb"/> | 152 | <require idref="lufa.drivers.usb"/> |
| 153 | <require idref="lufa.drivers.board"/> | 153 | <require idref="lufa.drivers.board"/> |
| 154 | <require idref="lufa.drivers.board.leds"/> | 154 | <require idref="lufa.drivers.board.leds"/> |
| 155 | </module> | 155 | </module> |
| 156 | </asf> | 156 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile index 91bb4038e..a0edb2c4f 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/MassStorage/makefile | |||
| @@ -1,68 +1,68 @@ | |||
| 1 | # | 1 | # |
| 2 | # LUFA Library | 2 | # LUFA Library |
| 3 | # Copyright (C) Dean Camera, 2014. | 3 | # Copyright (C) Dean Camera, 2014. |
| 4 | # | 4 | # |
| 5 | # dean [at] fourwalledcubicle [dot] com | 5 | # dean [at] fourwalledcubicle [dot] com |
| 6 | # www.lufa-lib.org | 6 | # www.lufa-lib.org |
| 7 | # | 7 | # |
| 8 | # -------------------------------------- | 8 | # -------------------------------------- |
| 9 | # LUFA Project Makefile. | 9 | # LUFA Project Makefile. |
| 10 | # -------------------------------------- | 10 | # -------------------------------------- |
| 11 | 11 | ||
| 12 | # Run "make help" for target help. | 12 | # Run "make help" for target help. |
| 13 | 13 | ||
| 14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
| 15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
| 16 | BOARD = USBKEY | 16 | BOARD = USBKEY |
| 17 | F_CPU = 8000000 | 17 | F_CPU = 8000000 |
| 18 | F_USB = $(F_CPU) | 18 | F_USB = $(F_CPU) |
| 19 | OPTIMIZATION = s | 19 | OPTIMIZATION = s |
| 20 | TARGET = BootloaderMassStorage | 20 | TARGET = BootloaderMassStorage |
| 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) | 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) |
| 22 | LUFA_PATH = ../../LUFA | 22 | LUFA_PATH = ../../LUFA |
| 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) | 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) |
| 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) | 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) |
| 25 | 25 | ||
| 26 | # Flash size and bootloader section sizes of the target, in KB. These must | 26 | # Flash size and bootloader section sizes of the target, in KB. These must |
| 27 | # match the target's total FLASH size and the bootloader size set in the | 27 | # match the target's total FLASH size and the bootloader size set in the |
| 28 | # device's fuses. | 28 | # device's fuses. |
| 29 | FLASH_SIZE_KB = 128 | 29 | FLASH_SIZE_KB = 128 |
| 30 | BOOT_SECTION_SIZE_KB = 8 | 30 | BOOT_SECTION_SIZE_KB = 8 |
| 31 | 31 | ||
| 32 | # Bootloader address calculation formulas | 32 | # Bootloader address calculation formulas |
| 33 | # Do not modify these macros, but rather modify the dependent values above. | 33 | # Do not modify these macros, but rather modify the dependent values above. |
| 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) | 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) |
| 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) | 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) |
| 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) | 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) |
| 37 | 37 | ||
| 38 | # Bootloader linker section flags for relocating the API table sections to | 38 | # Bootloader linker section flags for relocating the API table sections to |
| 39 | # known FLASH addresses - these should not normally be user-edited. | 39 | # known FLASH addresses - these should not normally be user-edited. |
| 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) | 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) |
| 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) | 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) |
| 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) | 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) |
| 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) | 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) |
| 44 | 44 | ||
| 45 | # Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the | 45 | # Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the |
| 46 | # bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum | 46 | # bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum |
| 47 | # bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. | 47 | # bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. |
| 48 | ifeq ($(BOOT_SECTION_SIZE_KB),8) | 48 | ifeq ($(BOOT_SECTION_SIZE_KB),8) |
| 49 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 | 49 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 |
| 50 | else | 50 | else |
| 51 | AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) | 51 | AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) |
| 52 | 52 | ||
| 53 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' | 53 | CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' |
| 54 | LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) | 54 | LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) |
| 55 | LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) | 55 | LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) |
| 56 | endif | 56 | endif |
| 57 | 57 | ||
| 58 | # Default target | 58 | # Default target |
| 59 | all: | 59 | all: |
| 60 | 60 | ||
| 61 | # Include LUFA build script makefiles | 61 | # Include LUFA build script makefiles |
| 62 | include $(LUFA_PATH)/Build/lufa_core.mk | 62 | include $(LUFA_PATH)/Build/lufa_core.mk |
| 63 | include $(LUFA_PATH)/Build/lufa_sources.mk | 63 | include $(LUFA_PATH)/Build/lufa_sources.mk |
| 64 | include $(LUFA_PATH)/Build/lufa_build.mk | 64 | include $(LUFA_PATH)/Build/lufa_build.mk |
| 65 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 65 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 66 | include $(LUFA_PATH)/Build/lufa_doxygen.mk | 66 | include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 67 | include $(LUFA_PATH)/Build/lufa_avrdude.mk | 67 | include $(LUFA_PATH)/Build/lufa_avrdude.mk |
| 68 | include $(LUFA_PATH)/Build/lufa_atprogram.mk | 68 | include $(LUFA_PATH)/Build/lufa_atprogram.mk |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S index ec499b74e..88c51da82 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/BootloaderAPITable.S | |||
| @@ -1,91 +1,91 @@ | |||
| 1 | /* | 1 | /* |
| 2 | LUFA Library | 2 | LUFA Library |
| 3 | Copyright (C) Dean Camera, 2014. | 3 | Copyright (C) Dean Camera, 2014. |
| 4 | 4 | ||
| 5 | dean [at] fourwalledcubicle [dot] com | 5 | dean [at] fourwalledcubicle [dot] com |
| 6 | www.lufa-lib.org | 6 | www.lufa-lib.org |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* | 9 | /* |
| 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) | 10 | Copyright 2014 Dean Camera (dean [at] fourwalledcubicle [dot] com) |
| 11 | 11 | ||
| 12 | Permission to use, copy, modify, distribute, and sell this | 12 | Permission to use, copy, modify, distribute, and sell this |
| 13 | software and its documentation for any purpose is hereby granted | 13 | software and its documentation for any purpose is hereby granted |
| 14 | without fee, provided that the above copyright notice appear in | 14 | without fee, provided that the above copyright notice appear in |
| 15 | all copies and that both that the copyright notice and this | 15 | all copies and that both that the copyright notice and this |
| 16 | permission notice and warranty disclaimer appear in supporting | 16 | permission notice and warranty disclaimer appear in supporting |
| 17 | documentation, and that the name of the author not be used in | 17 | documentation, and that the name of the author not be used in |
| 18 | advertising or publicity pertaining to distribution of the | 18 | advertising or publicity pertaining to distribution of the |
| 19 | software without specific, written prior permission. | 19 | software without specific, written prior permission. |
| 20 | 20 | ||
| 21 | The author disclaims all warranties with regard to this | 21 | The author disclaims all warranties with regard to this |
| 22 | software, including all implied warranties of merchantability | 22 | software, including all implied warranties of merchantability |
| 23 | and fitness. In no event shall the author be liable for any | 23 | and fitness. In no event shall the author be liable for any |
| 24 | special, indirect or consequential damages or any damages | 24 | special, indirect or consequential damages or any damages |
| 25 | whatsoever resulting from loss of use, data or profits, whether | 25 | whatsoever resulting from loss of use, data or profits, whether |
| 26 | in an action of contract, negligence or other tortious action, | 26 | in an action of contract, negligence or other tortious action, |
| 27 | arising out of or in connection with the use or performance of | 27 | arising out of or in connection with the use or performance of |
| 28 | this software. | 28 | this software. |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | ; Trampolines to actual API implementations if the target address is outside the | 31 | ; Trampolines to actual API implementations if the target address is outside the |
| 32 | ; range of a rjmp instruction (can happen with large bootloader sections) | 32 | ; range of a rjmp instruction (can happen with large bootloader sections) |
| 33 | .section .apitable_trampolines, "ax" | 33 | .section .apitable_trampolines, "ax" |
| 34 | .global BootloaderAPI_Trampolines | 34 | .global BootloaderAPI_Trampolines |
| 35 | BootloaderAPI_Trampolines: | 35 | BootloaderAPI_Trampolines: |
| 36 | 36 | ||
| 37 | BootloaderAPI_ErasePage_Trampoline: | 37 | BootloaderAPI_ErasePage_Trampoline: |
| 38 | jmp BootloaderAPI_ErasePage | 38 | jmp BootloaderAPI_ErasePage |
| 39 | BootloaderAPI_WritePage_Trampoline: | 39 | BootloaderAPI_WritePage_Trampoline: |
| 40 | jmp BootloaderAPI_WritePage | 40 | jmp BootloaderAPI_WritePage |
| 41 | BootloaderAPI_FillWord_Trampoline: | 41 | BootloaderAPI_FillWord_Trampoline: |
| 42 | jmp BootloaderAPI_FillWord | 42 | jmp BootloaderAPI_FillWord |
| 43 | BootloaderAPI_ReadSignature_Trampoline: | 43 | BootloaderAPI_ReadSignature_Trampoline: |
| 44 | jmp BootloaderAPI_ReadSignature | 44 | jmp BootloaderAPI_ReadSignature |
| 45 | BootloaderAPI_ReadFuse_Trampoline: | 45 | BootloaderAPI_ReadFuse_Trampoline: |
| 46 | jmp BootloaderAPI_ReadFuse | 46 | jmp BootloaderAPI_ReadFuse |
| 47 | BootloaderAPI_ReadLock_Trampoline: | 47 | BootloaderAPI_ReadLock_Trampoline: |
| 48 | jmp BootloaderAPI_ReadLock | 48 | jmp BootloaderAPI_ReadLock |
| 49 | BootloaderAPI_WriteLock_Trampoline: | 49 | BootloaderAPI_WriteLock_Trampoline: |
| 50 | jmp BootloaderAPI_WriteLock | 50 | jmp BootloaderAPI_WriteLock |
| 51 | BootloaderAPI_UNUSED1: | 51 | BootloaderAPI_UNUSED1: |
| 52 | ret | 52 | ret |
| 53 | BootloaderAPI_UNUSED2: | 53 | BootloaderAPI_UNUSED2: |
| 54 | ret | 54 | ret |
| 55 | BootloaderAPI_UNUSED3: | 55 | BootloaderAPI_UNUSED3: |
| 56 | ret | 56 | ret |
| 57 | BootloaderAPI_UNUSED4: | 57 | BootloaderAPI_UNUSED4: |
| 58 | ret | 58 | ret |
| 59 | BootloaderAPI_UNUSED5: | 59 | BootloaderAPI_UNUSED5: |
| 60 | ret | 60 | ret |
| 61 | 61 | ||
| 62 | 62 | ||
| 63 | 63 | ||
| 64 | ; API function jump table | 64 | ; API function jump table |
| 65 | .section .apitable_jumptable, "ax" | 65 | .section .apitable_jumptable, "ax" |
| 66 | .global BootloaderAPI_JumpTable | 66 | .global BootloaderAPI_JumpTable |
| 67 | BootloaderAPI_JumpTable: | 67 | BootloaderAPI_JumpTable: |
| 68 | 68 | ||
| 69 | rjmp BootloaderAPI_ErasePage_Trampoline | 69 | rjmp BootloaderAPI_ErasePage_Trampoline |
| 70 | rjmp BootloaderAPI_WritePage_Trampoline | 70 | rjmp BootloaderAPI_WritePage_Trampoline |
| 71 | rjmp BootloaderAPI_FillWord_Trampoline | 71 | rjmp BootloaderAPI_FillWord_Trampoline |
| 72 | rjmp BootloaderAPI_ReadSignature_Trampoline | 72 | rjmp BootloaderAPI_ReadSignature_Trampoline |
| 73 | rjmp BootloaderAPI_ReadFuse_Trampoline | 73 | rjmp BootloaderAPI_ReadFuse_Trampoline |
| 74 | rjmp BootloaderAPI_ReadLock_Trampoline | 74 | rjmp BootloaderAPI_ReadLock_Trampoline |
| 75 | rjmp BootloaderAPI_WriteLock_Trampoline | 75 | rjmp BootloaderAPI_WriteLock_Trampoline |
| 76 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 | 76 | rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 |
| 77 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 | 77 | rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 |
| 78 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 | 78 | rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 |
| 79 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 | 79 | rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 |
| 80 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 | 80 | rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 |
| 81 | 81 | ||
| 82 | 82 | ||
| 83 | 83 | ||
| 84 | ; Bootloader table signatures and information | 84 | ; Bootloader table signatures and information |
| 85 | .section .apitable_signatures, "ax" | 85 | .section .apitable_signatures, "ax" |
| 86 | .global BootloaderAPI_Signatures | 86 | .global BootloaderAPI_Signatures |
| 87 | BootloaderAPI_Signatures: | 87 | BootloaderAPI_Signatures: |
| 88 | 88 | ||
| 89 | .long BOOT_START_ADDR ; Start address of the bootloader | 89 | .long BOOT_START_ADDR ; Start address of the bootloader |
| 90 | .word 0xDF20 ; Signature for the Printer class bootloader | 90 | .word 0xDF20 ; Signature for the Printer class bootloader |
| 91 | .word 0xDCFB ; Signature for a LUFA class bootloader | 91 | .word 0xDCFB ; Signature for a LUFA class bootloader |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml index 86a56911e..b5c0c6b3a 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/asf.xml | |||
| @@ -1,159 +1,159 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_"> | 2 | <project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_"> |
| 3 | <require idref="lufa.bootloaders.printer"/> | 3 | <require idref="lufa.bootloaders.printer"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8"/> | 5 | <generator value="as5_8"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="none"/> | 8 | <config name="lufa.drivers.board.name" value="none"/> |
| 9 | 9 | ||
| 10 | <config name="config.compiler.optimization.level" value="size"/> | 10 | <config name="config.compiler.optimization.level" value="size"/> |
| 11 | 11 | ||
| 12 | <build type="define" name="F_CPU" value="16000000UL"/> | 12 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 13 | <build type="define" name="F_USB" value="16000000UL"/> | 13 | <build type="define" name="F_USB" value="16000000UL"/> |
| 14 | 14 | ||
| 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> | 15 | <build type="define" name="BOOT_START_ADDR" value="0x1F000"/> |
| 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> | 16 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> |
| 17 | 17 | ||
| 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> | 18 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> |
| 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 19 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> | 20 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> |
| 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 21 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> | 22 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> |
| 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 23 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_"> | 26 | <project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_"> |
| 27 | <require idref="lufa.bootloaders.printer"/> | 27 | <require idref="lufa.bootloaders.printer"/> |
| 28 | <require idref="lufa.boards.dummy.avr8"/> | 28 | <require idref="lufa.boards.dummy.avr8"/> |
| 29 | <generator value="as5_8"/> | 29 | <generator value="as5_8"/> |
| 30 | 30 | ||
| 31 | <device-support value="at90usb647"/> | 31 | <device-support value="at90usb647"/> |
| 32 | <config name="lufa.drivers.board.name" value="none"/> | 32 | <config name="lufa.drivers.board.name" value="none"/> |
| 33 | 33 | ||
| 34 | <config name="config.compiler.optimization.level" value="size"/> | 34 | <config name="config.compiler.optimization.level" value="size"/> |
| 35 | 35 | ||
| 36 | <build type="define" name="F_CPU" value="16000000UL"/> | 36 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 37 | <build type="define" name="F_USB" value="16000000UL"/> | 37 | <build type="define" name="F_USB" value="16000000UL"/> |
| 38 | 38 | ||
| 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> | 39 | <build type="define" name="BOOT_START_ADDR" value="0xF000"/> |
| 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> | 40 | <build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> |
| 41 | 41 | ||
| 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> | 42 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> |
| 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 43 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> | 44 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> |
| 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 45 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> | 46 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> |
| 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 47 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 48 | </project> | 48 | </project> |
| 49 | 49 | ||
| 50 | <project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_"> | 50 | <project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_"> |
| 51 | <require idref="lufa.bootloaders.printer"/> | 51 | <require idref="lufa.bootloaders.printer"/> |
| 52 | <require idref="lufa.boards.dummy.avr8"/> | 52 | <require idref="lufa.boards.dummy.avr8"/> |
| 53 | <generator value="as5_8"/> | 53 | <generator value="as5_8"/> |
| 54 | 54 | ||
| 55 | <device-support value="atmega32u4"/> | 55 | <device-support value="atmega32u4"/> |
| 56 | <config name="lufa.drivers.board.name" value="none"/> | 56 | <config name="lufa.drivers.board.name" value="none"/> |
| 57 | 57 | ||
| 58 | <config name="config.compiler.optimization.level" value="size"/> | 58 | <config name="config.compiler.optimization.level" value="size"/> |
| 59 | 59 | ||
| 60 | <build type="define" name="F_CPU" value="16000000UL"/> | 60 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 61 | <build type="define" name="F_USB" value="16000000UL"/> | 61 | <build type="define" name="F_USB" value="16000000UL"/> |
| 62 | 62 | ||
| 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> | 63 | <build type="define" name="BOOT_START_ADDR" value="0x7000"/> |
| 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> | 64 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> |
| 65 | 65 | ||
| 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> | 66 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> |
| 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 67 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> | 68 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> |
| 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 69 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> | 70 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> |
| 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 71 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 72 | </project> | 72 | </project> |
| 73 | 73 | ||
| 74 | <project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_"> | 74 | <project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_"> |
| 75 | <require idref="lufa.bootloaders.printer"/> | 75 | <require idref="lufa.bootloaders.printer"/> |
| 76 | <require idref="lufa.boards.dummy.avr8"/> | 76 | <require idref="lufa.boards.dummy.avr8"/> |
| 77 | <generator value="as5_8"/> | 77 | <generator value="as5_8"/> |
| 78 | 78 | ||
| 79 | <device-support value="atmega16u2"/> | 79 | <device-support value="atmega16u2"/> |
| 80 | <config name="lufa.drivers.board.name" value="none"/> | 80 | <config name="lufa.drivers.board.name" value="none"/> |
| 81 | 81 | ||
| 82 | <config name="config.compiler.optimization.level" value="size"/> | 82 | <config name="config.compiler.optimization.level" value="size"/> |
| 83 | 83 | ||
| 84 | <build type="define" name="F_CPU" value="16000000UL"/> | 84 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 85 | <build type="define" name="F_USB" value="16000000UL"/> | 85 | <build type="define" name="F_USB" value="16000000UL"/> |
| 86 | 86 | ||
| 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> | 87 | <build type="define" name="BOOT_START_ADDR" value="0x3000"/> |
| 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> | 88 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> |
| 89 | 89 | ||
| 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> | 90 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> |
| 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 91 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> | 92 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> |
| 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 93 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> | 94 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> |
| 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 95 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 96 | </project> | 96 | </project> |
| 97 | 97 | ||
| 98 | <project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_"> | 98 | <project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_"> |
| 99 | <require idref="lufa.bootloaders.printer"/> | 99 | <require idref="lufa.bootloaders.printer"/> |
| 100 | <require idref="lufa.boards.dummy.avr8"/> | 100 | <require idref="lufa.boards.dummy.avr8"/> |
| 101 | <generator value="as5_8"/> | 101 | <generator value="as5_8"/> |
| 102 | 102 | ||
| 103 | <device-support value="atmega8u2"/> | 103 | <device-support value="atmega8u2"/> |
| 104 | <config name="lufa.drivers.board.name" value="none"/> | 104 | <config name="lufa.drivers.board.name" value="none"/> |
| 105 | 105 | ||
| 106 | <config name="config.compiler.optimization.level" value="size"/> | 106 | <config name="config.compiler.optimization.level" value="size"/> |
| 107 | 107 | ||
| 108 | <build type="define" name="F_CPU" value="16000000UL"/> | 108 | <build type="define" name="F_CPU" value="16000000UL"/> |
| 109 | <build type="define" name="F_USB" value="16000000UL"/> | 109 | <build type="define" name="F_USB" value="16000000UL"/> |
| 110 | 110 | ||
| 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> | 111 | <build type="define" name="BOOT_START_ADDR" value="0x1000"/> |
| 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> | 112 | <build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> |
| 113 | 113 | ||
| 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> | 114 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> |
| 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> | 115 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> |
| 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> | 116 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> |
| 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> | 117 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> |
| 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> | 118 | <build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> |
| 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> | 119 | <build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> |
| 120 | </project> | 120 | </project> |
| 121 | 121 | ||
| 122 | <module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader"> | 122 | <module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader"> |
| 123 | <info type="description" value="summary"> | 123 | <info type="description" value="summary"> |
| 124 | Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host. | 124 | Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host. |
| 125 | </info> | 125 | </info> |
| 126 | 126 | ||
| 127 | <info type="gui-flag" value="move-to-root"/> | 127 | <info type="gui-flag" value="move-to-root"/> |
| 128 | 128 | ||
| 129 | <info type="keyword" value="Technology"> | 129 | <info type="keyword" value="Technology"> |
| 130 | <keyword value="Bootloaders"/> | 130 | <keyword value="Bootloaders"/> |
| 131 | <keyword value="USB Device"/> | 131 | <keyword value="USB Device"/> |
| 132 | </info> | 132 | </info> |
| 133 | 133 | ||
| 134 | <device-support-alias value="lufa_avr8"/> | 134 | <device-support-alias value="lufa_avr8"/> |
| 135 | <device-support-alias value="lufa_xmega"/> | 135 | <device-support-alias value="lufa_xmega"/> |
| 136 | <device-support-alias value="lufa_uc3"/> | 136 | <device-support-alias value="lufa_uc3"/> |
| 137 | 137 | ||
| 138 | <build type="include-path" value="."/> | 138 | <build type="include-path" value="."/> |
| 139 | <build type="c-source" value="BootloaderPrinter.c"/> | 139 | <build type="c-source" value="BootloaderPrinter.c"/> |
| 140 | <build type="header-file" value="BootloaderPrinter.h"/> | 140 | <build type="header-file" value="BootloaderPrinter.h"/> |
| 141 | <build type="c-source" value="Descriptors.c"/> | 141 | <build type="c-source" value="Descriptors.c"/> |
| 142 | <build type="header-file" value="Descriptors.h"/> | 142 | <build type="header-file" value="Descriptors.h"/> |
| 143 | <build type="c-source" value="BootloaderAPI.c"/> | 143 | <build type="c-source" value="BootloaderAPI.c"/> |
| 144 | <build type="header-file" value="BootloaderAPI.h"/> | 144 | <build type="header-file" value="BootloaderAPI.h"/> |
| 145 | <build type="asm-source" value="BootloaderAPITable.S"/> | 145 | <build type="asm-source" value="BootloaderAPITable.S"/> |
| 146 | 146 | ||
| 147 | <build type="module-config" subtype="path" value="Config"/> | 147 | <build type="module-config" subtype="path" value="Config"/> |
| 148 | <build type="header-file" value="Config/LUFAConfig.h"/> | 148 | <build type="header-file" value="Config/LUFAConfig.h"/> |
| 149 | 149 | ||
| 150 | <build type="distribute" subtype="user-file" value="doxyfile"/> | 150 | <build type="distribute" subtype="user-file" value="doxyfile"/> |
| 151 | <build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/> | 151 | <build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/> |
| 152 | 152 | ||
| 153 | <require idref="lufa.common"/> | 153 | <require idref="lufa.common"/> |
| 154 | <require idref="lufa.platform"/> | 154 | <require idref="lufa.platform"/> |
| 155 | <require idref="lufa.drivers.usb"/> | 155 | <require idref="lufa.drivers.usb"/> |
| 156 | <require idref="lufa.drivers.board"/> | 156 | <require idref="lufa.drivers.board"/> |
| 157 | <require idref="lufa.drivers.board.leds"/> | 157 | <require idref="lufa.drivers.board.leds"/> |
| 158 | </module> | 158 | </module> |
| 159 | </asf> | 159 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile index 0716c3bbe..0db035de3 100644 --- a/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile +++ b/tmk_core/protocol/lufa/LUFA-git/Bootloaders/Printer/makefile | |||
| @@ -1,55 +1,55 @@ | |||
| 1 | # | 1 | # |
| 2 | # LUFA Library | 2 | # LUFA Library |
| 3 | # Copyright (C) Dean Camera, 2014. | 3 | # Copyright (C) Dean Camera, 2014. |
| 4 | # | 4 | # |
| 5 | # dean [at] fourwalledcubicle [dot] com | 5 | # dean [at] fourwalledcubicle [dot] com |
| 6 | # www.lufa-lib.org | 6 | # www.lufa-lib.org |
| 7 | # | 7 | # |
| 8 | # -------------------------------------- | 8 | # -------------------------------------- |
| 9 | # LUFA Project Makefile. | 9 | # LUFA Project Makefile. |
| 10 | # -------------------------------------- | 10 | # -------------------------------------- |
| 11 | 11 | ||
| 12 | # Run "make help" for target help. | 12 | # Run "make help" for target help. |
| 13 | 13 | ||
| 14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
| 15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
| 16 | BOARD = USBKEY | 16 | BOARD = USBKEY |
| 17 | F_CPU = 8000000 | 17 | F_CPU = 8000000 |
| 18 | F_USB = $(F_CPU) | 18 | F_USB = $(F_CPU) |
| 19 | OPTIMIZATION = s | 19 | OPTIMIZATION = s |
| 20 | TARGET = BootloaderPrinter | 20 | TARGET = BootloaderPrinter |
| 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) | 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) |
| 22 | LUFA_PATH = ../../LUFA | 22 | LUFA_PATH = ../../LUFA |
| 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) | 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) |
| 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) | 24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) |
| 25 | 25 | ||
| 26 | # Flash size and bootloader section sizes of the target, in KB. These must | 26 | # Flash size and bootloader section sizes of the target, in KB. These must |
| 27 | # match the target's total FLASH size and the bootloader size set in the | 27 | # match the target's total FLASH size and the bootloader size set in the |
| 28 | # device's fuses. | 28 | # device's fuses. |
| 29 | FLASH_SIZE_KB = 128 | 29 | FLASH_SIZE_KB = 128 |
| 30 | BOOT_SECTION_SIZE_KB = 8 | 30 | BOOT_SECTION_SIZE_KB = 8 |
| 31 | 31 | ||
| 32 | # Bootloader address calculation formulas | 32 | # Bootloader address calculation formulas |
| 33 | # Do not modify these macros, but rather modify the dependent values above. | 33 | # Do not modify these macros, but rather modify the dependent values above. |
| 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) | 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) |
| 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) | 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) |
| 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) | 36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) |
| 37 | 37 | ||
| 38 | # Bootloader linker section flags for relocating the API table sections to | 38 | # Bootloader linker section flags for relocating the API table sections to |
| 39 | # known FLASH addresses - these should not normally be user-edited. | 39 | # known FLASH addresses - these should not normally be user-edited. |
| 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) | 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) |
| 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) | 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) |
| 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) | 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) |
| 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) | 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) |
| 44 | 44 | ||
| 45 | # Default target | 45 | # Default target |
| 46 | all: | 46 | all: |
| 47 | 47 | ||
| 48 | # Include LUFA build script makefiles | 48 | # Include LUFA build script makefiles |
| 49 | include $(LUFA_PATH)/Build/lufa_core.mk | 49 | include $(LUFA_PATH)/Build/lufa_core.mk |
| 50 | include $(LUFA_PATH)/Build/lufa_sources.mk | 50 | include $(LUFA_PATH)/Build/lufa_sources.mk |
| 51 | include $(LUFA_PATH)/Build/lufa_build.mk | 51 | include $(LUFA_PATH)/Build/lufa_build.mk |
| 52 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 52 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 53 | include $(LUFA_PATH)/Build/lufa_doxygen.mk | 53 | include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 54 | include $(LUFA_PATH)/Build/lufa_avrdude.mk | 54 | include $(LUFA_PATH)/Build/lufa_avrdude.mk |
| 55 | include $(LUFA_PATH)/Build/lufa_atprogram.mk | 55 | include $(LUFA_PATH)/Build/lufa_atprogram.mk |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile b/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile index 9fd188c93..e839ba6b1 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/Build/HID_EEPROM_Loader/makefile | |||
| @@ -1,42 +1,42 @@ | |||
| 1 | # | 1 | # |
| 2 | # LUFA Library | 2 | # LUFA Library |
| 3 | # Copyright (C) Dean Camera, 2014. | 3 | # Copyright (C) Dean Camera, 2014. |
| 4 | # | 4 | # |
| 5 | # dean [at] fourwalledcubicle [dot] com | 5 | # dean [at] fourwalledcubicle [dot] com |
| 6 | # www.lufa-lib.org | 6 | # www.lufa-lib.org |
| 7 | # | 7 | # |
| 8 | # -------------------------------------- | 8 | # -------------------------------------- |
| 9 | # LUFA Project Makefile. | 9 | # LUFA Project Makefile. |
| 10 | # -------------------------------------- | 10 | # -------------------------------------- |
| 11 | 11 | ||
| 12 | # Run "make help" for target help. | 12 | # Run "make help" for target help. |
| 13 | 13 | ||
| 14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
| 15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
| 16 | F_CPU = 1000000 | 16 | F_CPU = 1000000 |
| 17 | F_USB = $(F_CPU) | 17 | F_USB = $(F_CPU) |
| 18 | OPTIMIZATION = s | 18 | OPTIMIZATION = s |
| 19 | TARGET = HID_EEPROM_Loader | 19 | TARGET = HID_EEPROM_Loader |
| 20 | SRC = $(TARGET).c | 20 | SRC = $(TARGET).c |
| 21 | LUFA_PATH = ../../../LUFA | 21 | LUFA_PATH = ../../../LUFA |
| 22 | CC_FLAGS = | 22 | CC_FLAGS = |
| 23 | LD_FLAGS = | 23 | LD_FLAGS = |
| 24 | OBJECT_FILES = InputEEData.o | 24 | OBJECT_FILES = InputEEData.o |
| 25 | 25 | ||
| 26 | # Default target | 26 | # Default target |
| 27 | all: | 27 | all: |
| 28 | 28 | ||
| 29 | # Determine the AVR sub-architecture of the build main application object file | 29 | # Determine the AVR sub-architecture of the build main application object file |
| 30 | FIND_AVR_SUBARCH = avr$(shell avr-objdump -f $(TARGET).o | grep architecture | cut -d':' -f3 | cut -d',' -f1) | 30 | FIND_AVR_SUBARCH = avr$(shell avr-objdump -f $(TARGET).o | grep architecture | cut -d':' -f3 | cut -d',' -f1) |
| 31 | 31 | ||
| 32 | # Create a linkable object file with the input binary EEPROM data stored in the FLASH section | 32 | # Create a linkable object file with the input binary EEPROM data stored in the FLASH section |
| 33 | InputEEData.o: InputEEData.bin $(TARGET).o $(MAKEFILE_LIST) | 33 | InputEEData.o: InputEEData.bin $(TARGET).o $(MAKEFILE_LIST) |
| 34 | @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a object file \"$@\" | 34 | @echo $(MSG_OBJCPY_CMD) Converting \"$<\" to a object file \"$@\" |
| 35 | avr-objcopy -I binary -O elf32-avr -B $(call FIND_AVR_SUBARCH) --rename-section .data=.progmem.data,contents,alloc,readonly,data $< $@ | 35 | avr-objcopy -I binary -O elf32-avr -B $(call FIND_AVR_SUBARCH) --rename-section .data=.progmem.data,contents,alloc,readonly,data $< $@ |
| 36 | 36 | ||
| 37 | # Include LUFA build script makefiles | 37 | # Include LUFA build script makefiles |
| 38 | include $(LUFA_PATH)/Build/lufa_core.mk | 38 | include $(LUFA_PATH)/Build/lufa_core.mk |
| 39 | include $(LUFA_PATH)/Build/lufa_build.mk | 39 | include $(LUFA_PATH)/Build/lufa_build.mk |
| 40 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 40 | include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 41 | include $(LUFA_PATH)/Build/lufa_doxygen.mk | 41 | include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 42 | include $(LUFA_PATH)/Build/lufa_hid.mk | 42 | include $(LUFA_PATH)/Build/lufa_hid.mk |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml index fd65db283..e952714e1 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/DeviceTemplate/asf.xml | |||
| @@ -1,55 +1,55 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="USB Device Template" id="lufa.templates.device.project.avr8"> | 2 | <project caption="USB Device Template" id="lufa.templates.device.project.avr8"> |
| 3 | <require idref="lufa.templates.device"/> | 3 | <require idref="lufa.templates.device"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8_template"/> | 5 | <generator value="as5_8_template"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="usbkey"/> | 8 | <config name="lufa.drivers.board.name" value="usbkey"/> |
| 9 | 9 | ||
| 10 | <build type="define" name="F_CPU" value="8000000UL"/> | 10 | <build type="define" name="F_CPU" value="8000000UL"/> |
| 11 | <build type="define" name="F_USB" value="8000000UL"/> | 11 | <build type="define" name="F_USB" value="8000000UL"/> |
| 12 | </project> | 12 | </project> |
| 13 | 13 | ||
| 14 | <project caption="USB Device Template" id="lufa.templates.device.project.xmega"> | 14 | <project caption="USB Device Template" id="lufa.templates.device.project.xmega"> |
| 15 | <require idref="lufa.templates.device"/> | 15 | <require idref="lufa.templates.device"/> |
| 16 | <require idref="lufa.boards.dummy.xmega"/> | 16 | <require idref="lufa.boards.dummy.xmega"/> |
| 17 | <generator value="as5_8_template"/> | 17 | <generator value="as5_8_template"/> |
| 18 | 18 | ||
| 19 | <device-support value="atxmega256a3bu"/> | 19 | <device-support value="atxmega256a3bu"/> |
| 20 | <config name="lufa.drivers.board.name" value="a3bu_xplained"/> | 20 | <config name="lufa.drivers.board.name" value="a3bu_xplained"/> |
| 21 | 21 | ||
| 22 | <build type="define" name="F_CPU" value="32000000UL"/> | 22 | <build type="define" name="F_CPU" value="32000000UL"/> |
| 23 | <build type="define" name="F_USB" value="48000000UL"/> | 23 | <build type="define" name="F_USB" value="48000000UL"/> |
| 24 | </project> | 24 | </project> |
| 25 | 25 | ||
| 26 | <module type="application" id="lufa.templates.device" caption="USB Device Template"> | 26 | <module type="application" id="lufa.templates.device" caption="USB Device Template"> |
| 27 | <info type="description" value="summary"> | 27 | <info type="description" value="summary"> |
| 28 | Template for a LUFA USB device mode application. | 28 | Template for a LUFA USB device mode application. |
| 29 | </info> | 29 | </info> |
| 30 | 30 | ||
| 31 | <info type="gui-flag" value="move-to-root"/> | 31 | <info type="gui-flag" value="move-to-root"/> |
| 32 | 32 | ||
| 33 | <info type="keyword" value="Technology"> | 33 | <info type="keyword" value="Technology"> |
| 34 | <keyword value="USB Device"/> | 34 | <keyword value="USB Device"/> |
| 35 | <keyword value="Template Projects"/> | 35 | <keyword value="Template Projects"/> |
| 36 | </info> | 36 | </info> |
| 37 | 37 | ||
| 38 | <device-support-alias value="lufa_avr8"/> | 38 | <device-support-alias value="lufa_avr8"/> |
| 39 | <device-support-alias value="lufa_xmega"/> | 39 | <device-support-alias value="lufa_xmega"/> |
| 40 | <device-support-alias value="lufa_uc3"/> | 40 | <device-support-alias value="lufa_uc3"/> |
| 41 | 41 | ||
| 42 | <build type="c-source" value="DeviceApplication.c"/> | 42 | <build type="c-source" value="DeviceApplication.c"/> |
| 43 | <build type="c-source" value="Descriptors.c"/> | 43 | <build type="c-source" value="Descriptors.c"/> |
| 44 | <build type="header-file" value="DeviceApplication.h"/> | 44 | <build type="header-file" value="DeviceApplication.h"/> |
| 45 | <build type="header-file" value="Descriptors.h"/> | 45 | <build type="header-file" value="Descriptors.h"/> |
| 46 | 46 | ||
| 47 | <build type="module-config" subtype="path" value=".."/> | 47 | <build type="module-config" subtype="path" value=".."/> |
| 48 | <build type="header-file" value="../LUFAConfig.h"/> | 48 | <build type="header-file" value="../LUFAConfig.h"/> |
| 49 | 49 | ||
| 50 | <require idref="lufa.common"/> | 50 | <require idref="lufa.common"/> |
| 51 | <require idref="lufa.platform"/> | 51 | <require idref="lufa.platform"/> |
| 52 | <require idref="lufa.drivers.usb"/> | 52 | <require idref="lufa.drivers.usb"/> |
| 53 | <require idref="lufa.drivers.board"/> | 53 | <require idref="lufa.drivers.board"/> |
| 54 | </module> | 54 | </module> |
| 55 | </asf> | 55 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml index c1996ec71..c3860c056 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/CodeTemplates/HostTemplate/asf.xml | |||
| @@ -1,41 +1,41 @@ | |||
| 1 | <asf xmlversion="1.0"> | 1 | <asf xmlversion="1.0"> |
| 2 | <project caption="USB Host Template" id="lufa.templates.host.project"> | 2 | <project caption="USB Host Template" id="lufa.templates.host.project"> |
| 3 | <require idref="lufa.templates.host"/> | 3 | <require idref="lufa.templates.host"/> |
| 4 | <require idref="lufa.boards.dummy.avr8"/> | 4 | <require idref="lufa.boards.dummy.avr8"/> |
| 5 | <generator value="as5_8_template"/> | 5 | <generator value="as5_8_template"/> |
| 6 | 6 | ||
| 7 | <device-support value="at90usb1287"/> | 7 | <device-support value="at90usb1287"/> |
| 8 | <config name="lufa.drivers.board.name" value="usbkey"/> | 8 | <config name="lufa.drivers.board.name" value="usbkey"/> |
| 9 | 9 | ||
| 10 | <build type="define" name="F_CPU" value="8000000UL"/> | 10 | <build type="define" name="F_CPU" value="8000000UL"/> |
| 11 | <build type="define" name="F_USB" value="8000000UL"/> | 11 | <build type="define" name="F_USB" value="8000000UL"/> |
| 12 | </project> | 12 | </project> |
| 13 | 13 | ||
| 14 | <module type="application" id="lufa.templates.host" caption="USB Host Template"> | 14 | <module type="application" id="lufa.templates.host" caption="USB Host Template"> |
| 15 | <info type="description" value="summary"> | 15 | <info type="description" value="summary"> |
| 16 | Template for a LUFA USB host mode application. | 16 | Template for a LUFA USB host mode application. |
| 17 | </info> | 17 | </info> |
| 18 | 18 | ||
| 19 | <info type="gui-flag" value="move-to-root"/> | 19 | <info type="gui-flag" value="move-to-root"/> |
| 20 | 20 | ||
| 21 | <info type="keyword" value="Technology"> | 21 | <info type="keyword" value="Technology"> |
| 22 | <keyword value="USB Host"/> | 22 | <keyword value="USB Host"/> |
| 23 | <keyword value="Template Projects"/> | 23 | <keyword value="Template Projects"/> |
| 24 | </info> | 24 | </info> |
| 25 | 25 | ||
| 26 | <device-support-alias value="lufa_avr8"/> | 26 | <device-support-alias value="lufa_avr8"/> |
| 27 | <device-support-alias value="lufa_xmega"/> | 27 | <device-support-alias value="lufa_xmega"/> |
| 28 | <device-support-alias value="lufa_uc3"/> | 28 | <device-support-alias value="lufa_uc3"/> |
| 29 | 29 | ||
| 30 | <build type="c-source" value="HostApplication.c"/> | 30 | <build type="c-source" value="HostApplication.c"/> |
| 31 | <build type="header-file" value="HostApplication.h"/> | 31 | <build type="header-file" value="HostApplication.h"/> |
| 32 | 32 | ||
| 33 | <build type="module-config" subtype="path" value=".."/> | 33 | <build type="module-config" subtype="path" value=".."/> |
| 34 | <build type="header-file" value="../LUFAConfig.h"/> | 34 | <build type="header-file" value="../LUFAConfig.h"/> |
| 35 | 35 | ||
| 36 | <require idref="lufa.common"/> | 36 | <require idref="lufa.common"/> |
| 37 | <require idref="lufa.platform"/> | 37 | <require idref="lufa.platform"/> |
| 38 | <require idref="lufa.drivers.usb"/> | 38 | <require idref="lufa.drivers.usb"/> |
| 39 | <require idref="lufa.drivers.board"/> | 39 | <require idref="lufa.drivers.board"/> |
| 40 | </module> | 40 | </module> |
| 41 | </asf> | 41 | </asf> |
diff --git a/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt b/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt index 7ddfa1be3..0ae1dd678 100644 --- a/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt +++ b/tmk_core/protocol/lufa/LUFA-git/LUFA/DoxygenPages/BuildSystem.txt | |||
| @@ -1,975 +1,975 @@ | |||
| 1 | /** \file | 1 | /** \file |
| 2 | * | 2 | * |
| 3 | * This file contains special DoxyGen information for the generation of the main page and other special | 3 | * This file contains special DoxyGen information for the generation of the main page and other special |
| 4 | * documentation pages. It is not a project source file. | 4 | * documentation pages. It is not a project source file. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | /** \page Page_BuildSystem The LUFA Build System | 7 | /** \page Page_BuildSystem The LUFA Build System |
| 8 | * | 8 | * |
| 9 | * \section Sec_BuildSystem_Overview Overview of the LUFA Build System | 9 | * \section Sec_BuildSystem_Overview Overview of the LUFA Build System |
| 10 | * The LUFA build system is an attempt at making a set of re-usable, modular build make files which | 10 | * The LUFA build system is an attempt at making a set of re-usable, modular build make files which |
| 11 | * can be referenced in a LUFA powered project, to minimize the amount of code required in an | 11 | * can be referenced in a LUFA powered project, to minimize the amount of code required in an |
| 12 | * application makefile. The system is written in GNU Make, and each module is independent of | 12 | * application makefile. The system is written in GNU Make, and each module is independent of |
| 13 | * one-another. | 13 | * one-another. |
| 14 | * | 14 | * |
| 15 | * For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA | 15 | * For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA |
| 16 | * build system, see \ref Sec_CompilingApps_Prerequisites. | 16 | * build system, see \ref Sec_CompilingApps_Prerequisites. |
| 17 | * | 17 | * |
| 18 | * To use a LUFA build system module, simply add an include to your project makefile. All user projects | 18 | * To use a LUFA build system module, simply add an include to your project makefile. All user projects |
| 19 | * should at a minimum include \ref Page_BuildModule_CORE for base functionality: | 19 | * should at a minimum include \ref Page_BuildModule_CORE for base functionality: |
| 20 | * \code | 20 | * \code |
| 21 | * include $(LUFA_PATH)/Build/lufa_core.mk | 21 | * include $(LUFA_PATH)/Build/lufa_core.mk |
| 22 | * \endcode | 22 | * \endcode |
| 23 | * | 23 | * |
| 24 | * Once included in your project makefile, the associated build module targets will be added to your | 24 | * Once included in your project makefile, the associated build module targets will be added to your |
| 25 | * project's build makefile targets automatically. To call a build target, run <tt>make {TARGET_NAME}</tt> | 25 | * project's build makefile targets automatically. To call a build target, run <tt>make {TARGET_NAME}</tt> |
| 26 | * from the command line, substituting in the appropriate target name. | 26 | * from the command line, substituting in the appropriate target name. |
| 27 | * | 27 | * |
| 28 | * \see \ref Sec_ConfiguringApps_AppMakefileParams for a copy of the sample LUFA project makefile. | 28 | * \see \ref Sec_ConfiguringApps_AppMakefileParams for a copy of the sample LUFA project makefile. |
| 29 | * | 29 | * |
| 30 | * Each build module may have one or more mandatory parameters (GNU Make variables) which <i>must</i> | 30 | * Each build module may have one or more mandatory parameters (GNU Make variables) which <i>must</i> |
| 31 | * be supplied in the project makefile for the module to work, and one or more optional parameters which | 31 | * be supplied in the project makefile for the module to work, and one or more optional parameters which |
| 32 | * may be defined and which will assume a sensible default if not. | 32 | * may be defined and which will assume a sensible default if not. |
| 33 | * | 33 | * |
| 34 | * \section SSec_BuildSystem_Modules Available Modules | 34 | * \section SSec_BuildSystem_Modules Available Modules |
| 35 | * | 35 | * |
| 36 | * The following modules are included in this LUFA release: | 36 | * The following modules are included in this LUFA release: |
| 37 | * | 37 | * |
| 38 | * \li \subpage Page_BuildModule_ATPROGRAM - Device Programming | 38 | * \li \subpage Page_BuildModule_ATPROGRAM - Device Programming |
| 39 | * \li \subpage Page_BuildModule_AVRDUDE - Device Programming | 39 | * \li \subpage Page_BuildModule_AVRDUDE - Device Programming |
| 40 | * \li \subpage Page_BuildModule_BUILD - Compiling/Assembling/Linking | 40 | * \li \subpage Page_BuildModule_BUILD - Compiling/Assembling/Linking |
| 41 | * \li \subpage Page_BuildModule_CORE - Core Build System Functions | 41 | * \li \subpage Page_BuildModule_CORE - Core Build System Functions |
| 42 | * \li \subpage Page_BuildModule_CPPCHECK - Static Code Analysis | 42 | * \li \subpage Page_BuildModule_CPPCHECK - Static Code Analysis |
| 43 | * \li \subpage Page_BuildModule_DFU - Device Programming | 43 | * \li \subpage Page_BuildModule_DFU - Device Programming |
| 44 | * \li \subpage Page_BuildModule_DOXYGEN - Automated Source Code Documentation | 44 | * \li \subpage Page_BuildModule_DOXYGEN - Automated Source Code Documentation |
| 45 | * \li \subpage Page_BuildModule_HID - Device Programming | 45 | * \li \subpage Page_BuildModule_HID - Device Programming |
| 46 | * \li \subpage Page_BuildModule_SOURCES - LUFA Module Source Code Variables | 46 | * \li \subpage Page_BuildModule_SOURCES - LUFA Module Source Code Variables |
| 47 | * | 47 | * |
| 48 | * If you have problems building using the LUFA build system, see \subpage Page_BuildTroubleshooting for resolution steps. | 48 | * If you have problems building using the LUFA build system, see \subpage Page_BuildTroubleshooting for resolution steps. |
| 49 | */ | 49 | */ |
| 50 | 50 | ||
| 51 | /** \page Page_BuildModule_BUILD The BUILD build module | 51 | /** \page Page_BuildModule_BUILD The BUILD build module |
| 52 | * | 52 | * |
| 53 | * The BUILD LUFA build system module, providing targets for the compilation, | 53 | * The BUILD LUFA build system module, providing targets for the compilation, |
| 54 | * assembling and linking of an application from source code into binary files | 54 | * assembling and linking of an application from source code into binary files |
| 55 | * suitable for programming into a target device, using the GCC compiler. | 55 | * suitable for programming into a target device, using the GCC compiler. |
| 56 | * | 56 | * |
| 57 | * To use this module in your application makefile, add the following code: | 57 | * To use this module in your application makefile, add the following code: |
| 58 | * \code | 58 | * \code |
| 59 | * include $(LUFA_PATH)/Build/lufa_build.mk | 59 | * include $(LUFA_PATH)/Build/lufa_build.mk |
| 60 | * \endcode | 60 | * \endcode |
| 61 | * | 61 | * |
| 62 | * \section SSec_BuildModule_BUILD_Requirements Requirements | 62 | * \section SSec_BuildModule_BUILD_Requirements Requirements |
| 63 | * This module requires the the architecture appropriate binaries of the GCC compiler are available in your | 63 | * This module requires the the architecture appropriate binaries of the GCC compiler are available in your |
| 64 | * system's <b>PATH</b> variable. The GCC compiler and associated toolchain is distributed in Atmel AVR Studio | 64 | * system's <b>PATH</b> variable. The GCC compiler and associated toolchain is distributed in Atmel AVR Studio |
| 65 | * 5.x and Atmel Studio 6.x installation directories, as well as in many third party distribution packages. | 65 | * 5.x and Atmel Studio 6.x installation directories, as well as in many third party distribution packages. |
| 66 | * | 66 | * |
| 67 | * \section SSec_BuildModule_BUILD_Targets Targets | 67 | * \section SSec_BuildModule_BUILD_Targets Targets |
| 68 | * | 68 | * |
| 69 | * <table> | 69 | * <table> |
| 70 | * <tr> | 70 | * <tr> |
| 71 | * <td><tt>size</tt></td> | 71 | * <td><tt>size</tt></td> |
| 72 | * <td>Display size of the compiled application FLASH and SRAM segments.</td> | 72 | * <td>Display size of the compiled application FLASH and SRAM segments.</td> |
| 73 | * </tr> | 73 | * </tr> |
| 74 | * <tr> | 74 | * <tr> |
| 75 | * <td><tt>symbol-sizes</tt></td> | 75 | * <td><tt>symbol-sizes</tt></td> |
| 76 | * <td>Display a size-sorted list of symbols from the compiled application, in decimal bytes.</td> | 76 | * <td>Display a size-sorted list of symbols from the compiled application, in decimal bytes.</td> |
| 77 | * </tr> | 77 | * </tr> |
| 78 | * <tr> | 78 | * <tr> |
| 79 | * <td><tt>lib</tt></td> | 79 | * <td><tt>lib</tt></td> |
| 80 | * <td>Build and archive all source files into a library A binary file.</td> | 80 | * <td>Build and archive all source files into a library A binary file.</td> |
| 81 | * </tr> | 81 | * </tr> |
| 82 | * <tr> | 82 | * <tr> |
| 83 | * <td><tt>all</tt></td> | 83 | * <td><tt>all</tt></td> |
| 84 | * <td>Build and link the application into ELF debug and HEX binary files.</td> | 84 | * <td>Build and link the application into ELF debug and HEX binary files.</td> |
| 85 | * </tr> | 85 | * </tr> |
| 86 | * <tr> | 86 | * <tr> |
| 87 | * <td><tt>elf</tt></td> | 87 | * <td><tt>elf</tt></td> |
| 88 | * <td>Build and link the application into an ELF debug file.</td> | 88 | * <td>Build and link the application into an ELF debug file.</td> |
| 89 | * </tr> | 89 | * </tr> |
| 90 | * <tr> | 90 | * <tr> |
| 91 | * <td><tt>bin</tt></td> | 91 | * <td><tt>bin</tt></td> |
| 92 | * <td>Build and link the application and produce a BIN binary file.</td> | 92 | * <td>Build and link the application and produce a BIN binary file.</td> |
| 93 | * </tr> | 93 | * </tr> |
| 94 | * <tr> | 94 | * <tr> |
| 95 | * <td><tt>hex</tt></td> | 95 | * <td><tt>hex</tt></td> |
| 96 | * <td>Build and link the application and produce HEX and EEP binary files.</td> | 96 | * <td>Build and link the application and produce HEX and EEP binary files.</td> |
| 97 | * </tr> | 97 | * </tr> |
| 98 | * <tr> | 98 | * <tr> |
| 99 | * <td><tt>lss</tt></td> | 99 | * <td><tt>lss</tt></td> |
| 100 | * <td>Build and link the application and produce a LSS source code/assembly code mixed listing file.</td> | 100 | * <td>Build and link the application and produce a LSS source code/assembly code mixed listing file.</td> |
| 101 | * </tr> | 101 | * </tr> |
| 102 | * <tr> | 102 | * <tr> |
| 103 | * <td><tt>clean</tt></td> | 103 | * <td><tt>clean</tt></td> |
| 104 | * <td>Remove all intermediary files and binary output files.</td> | 104 | * <td>Remove all intermediary files and binary output files.</td> |
| 105 | * </tr> | 105 | * </tr> |
| 106 | * <tr> | 106 | * <tr> |
| 107 | * <td><tt>mostlyclean</tt></td> | 107 | * <td><tt>mostlyclean</tt></td> |
| 108 | * <td>Remove all intermediary files but preserve any binary output files.</td> | 108 | * <td>Remove all intermediary files but preserve any binary output files.</td> |
| 109 | * </tr> | 109 | * </tr> |
| 110 | * <tr> | 110 | * <tr> |
| 111 | * <td><tt><i><filename></i>.s</tt></td> | 111 | * <td><tt><i><filename></i>.s</tt></td> |
| 112 | * <td>Create an assembly listing of a given input C/C++ source file.</td> | 112 | * <td>Create an assembly listing of a given input C/C++ source file.</td> |
| 113 | * </tr> | 113 | * </tr> |
| 114 | * </table> | 114 | * </table> |
| 115 | * | 115 | * |
| 116 | * \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters | 116 | * \section SSec_BuildModule_BUILD_MandatoryParams Mandatory Parameters |
| 117 | * | 117 | * |
| 118 | * <table> | 118 | * <table> |
| 119 | * <tr> | 119 | * <tr> |
| 120 | * <td><tt>TARGET</tt></td> | 120 | * <td><tt>TARGET</tt></td> |
| 121 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 121 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 122 | * </tr> | 122 | * </tr> |
| 123 | * <tr> | 123 | * <tr> |
| 124 | * <td><tt>ARCH</tt></td> | 124 | * <td><tt>ARCH</tt></td> |
| 125 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> | 125 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> |
| 126 | * </tr> | 126 | * </tr> |
| 127 | * <tr> | 127 | * <tr> |
| 128 | * <td><tt>MCU</tt></td> | 128 | * <td><tt>MCU</tt></td> |
| 129 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 129 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 130 | * </tr> | 130 | * </tr> |
| 131 | * <tr> | 131 | * <tr> |
| 132 | * <td><tt>SRC</tt></td> | 132 | * <td><tt>SRC</tt></td> |
| 133 | * <td>List of relative or absolute paths to the application C (.c), C++ (.cpp) and Assembly (.S) source files.</td> | 133 | * <td>List of relative or absolute paths to the application C (.c), C++ (.cpp) and Assembly (.S) source files.</td> |
| 134 | * </tr> | 134 | * </tr> |
| 135 | * <tr> | 135 | * <tr> |
| 136 | * <td><tt>F_USB</tt></td> | 136 | * <td><tt>F_USB</tt></td> |
| 137 | * <td>Speed in Hz of the input clock frequency to the target's USB controller.</td> | 137 | * <td>Speed in Hz of the input clock frequency to the target's USB controller.</td> |
| 138 | * </tr> | 138 | * </tr> |
| 139 | * <tr> | 139 | * <tr> |
| 140 | * <td><tt>LUFA_PATH</tt></td> | 140 | * <td><tt>LUFA_PATH</tt></td> |
| 141 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> | 141 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> |
| 142 | * </tr> | 142 | * </tr> |
| 143 | * </table> | 143 | * </table> |
| 144 | * | 144 | * |
| 145 | * \section SSec_BuildModule_BUILD_OptionalParams Optional Parameters | 145 | * \section SSec_BuildModule_BUILD_OptionalParams Optional Parameters |
| 146 | * | 146 | * |
| 147 | * <table> | 147 | * <table> |
| 148 | * <tr> | 148 | * <tr> |
| 149 | * <td><tt>BOARD</tt></td> | 149 | * <td><tt>BOARD</tt></td> |
| 150 | * <td>LUFA board hardware drivers to use (see \ref Page_DeviceSupport).</td> | 150 | * <td>LUFA board hardware drivers to use (see \ref Page_DeviceSupport).</td> |
| 151 | * </tr> | 151 | * </tr> |
| 152 | * <tr> | 152 | * <tr> |
| 153 | * <td><tt>OPTIMIZATION</tt></td> | 153 | * <td><tt>OPTIMIZATION</tt></td> |
| 154 | * <td>Optimization level to use when compiling source files (see GCC manual).</td> | 154 | * <td>Optimization level to use when compiling source files (see GCC manual).</td> |
| 155 | * </tr> | 155 | * </tr> |
| 156 | * <tr> | 156 | * <tr> |
| 157 | * <td><tt>C_STANDARD</tt></td> | 157 | * <td><tt>C_STANDARD</tt></td> |
| 158 | * <td>Version of the C standard to apply when compiling C++ source files (see GCC manual).</td> | 158 | * <td>Version of the C standard to apply when compiling C++ source files (see GCC manual).</td> |
| 159 | * </tr> | 159 | * </tr> |
| 160 | * <tr> | 160 | * <tr> |
| 161 | * <td><tt>CPP_STANDARD</tt></td> | 161 | * <td><tt>CPP_STANDARD</tt></td> |
| 162 | * <td>Version of the C++ standard to apply when compiling C++ source files (see GCC manual).</td> | 162 | * <td>Version of the C++ standard to apply when compiling C++ source files (see GCC manual).</td> |
| 163 | * </tr> | 163 | * </tr> |
| 164 | * <tr> | 164 | * <tr> |
| 165 | * <td><tt>DEBUG_FORMAT</tt></td> | 165 | * <td><tt>DEBUG_FORMAT</tt></td> |
| 166 | * <td>Format of the debug information to embed in the generated object files (see GCC manual).</td> | 166 | * <td>Format of the debug information to embed in the generated object files (see GCC manual).</td> |
| 167 | * </tr> | 167 | * </tr> |
| 168 | * <tr> | 168 | * <tr> |
| 169 | * <td><tt>DEBUG_LEVEL</tt></td> | 169 | * <td><tt>DEBUG_LEVEL</tt></td> |
| 170 | * <td>Level of the debugging information to embed in the generated object files (see GCC manual).</td> | 170 | * <td>Level of the debugging information to embed in the generated object files (see GCC manual).</td> |
| 171 | * </tr> | 171 | * </tr> |
| 172 | * <tr> | 172 | * <tr> |
| 173 | * <td><tt>F_CPU</tt></td> | 173 | * <td><tt>F_CPU</tt></td> |
| 174 | * <td>Speed of the processor CPU clock, in Hz.</td> | 174 | * <td>Speed of the processor CPU clock, in Hz.</td> |
| 175 | * </tr> | 175 | * </tr> |
| 176 | * <tr> | 176 | * <tr> |
| 177 | * <td><tt>C_FLAGS</tt></td> | 177 | * <td><tt>C_FLAGS</tt></td> |
| 178 | * <td>Flags to pass to the C compiler only, after the automatically generated flags.</td> | 178 | * <td>Flags to pass to the C compiler only, after the automatically generated flags.</td> |
| 179 | * </tr> | 179 | * </tr> |
| 180 | * <tr> | 180 | * <tr> |
| 181 | * <td><tt>CPP_FLAGS</tt></td> | 181 | * <td><tt>CPP_FLAGS</tt></td> |
| 182 | * <td>Flags to pass to the C++ compiler only, after the automatically generated flags.</td> | 182 | * <td>Flags to pass to the C++ compiler only, after the automatically generated flags.</td> |
| 183 | * </tr> | 183 | * </tr> |
| 184 | * <tr> | 184 | * <tr> |
| 185 | * <td><tt>ASM_FLAGS</tt></td> | 185 | * <td><tt>ASM_FLAGS</tt></td> |
| 186 | * <td>Flags to pass to the assembler only, after the automatically generated flags.</td> | 186 | * <td>Flags to pass to the assembler only, after the automatically generated flags.</td> |
| 187 | * </tr> | 187 | * </tr> |
| 188 | * <tr> | 188 | * <tr> |
| 189 | * <td><tt>CC_FLAGS</tt></td> | 189 | * <td><tt>CC_FLAGS</tt></td> |
| 190 | * <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td> | 190 | * <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td> |
| 191 | * </tr> | 191 | * </tr> |
| 192 | * <tr> | 192 | * <tr> |
| 193 | * <td><tt>COMPILER_PATH</tt></td> | 193 | * <td><tt>COMPILER_PATH</tt></td> |
| 194 | * <td>Directory where the C/C++ toolchain is located, if not available in the system <tt>PATH</tt>.</td> | 194 | * <td>Directory where the C/C++ toolchain is located, if not available in the system <tt>PATH</tt>.</td> |
| 195 | * </tr> | 195 | * </tr> |
| 196 | * <tr> | 196 | * <tr> |
| 197 | * <td><tt>LD_FLAGS</tt></td> | 197 | * <td><tt>LD_FLAGS</tt></td> |
| 198 | * <td>Flags to pass to the linker, after the automatically generated flags.</td> | 198 | * <td>Flags to pass to the linker, after the automatically generated flags.</td> |
| 199 | * </tr> | 199 | * </tr> |
| 200 | * <tr> | 200 | * <tr> |
| 201 | * <td><tt>LINKER_RELAXATIONS</tt></td> | 201 | * <td><tt>LINKER_RELAXATIONS</tt></td> |
| 202 | * <td>Enables or disables linker relaxations when linking the application binary. This can reduce the total size | 202 | * <td>Enables or disables linker relaxations when linking the application binary. This can reduce the total size |
| 203 | * of the application by replacing full \c CALL instructions with smaller \c RCALL instructions where possible. | 203 | * of the application by replacing full \c CALL instructions with smaller \c RCALL instructions where possible. |
| 204 | * \note On some unpatched versions of binutils, this can cause link failures in some circumstances. If you | 204 | * \note On some unpatched versions of binutils, this can cause link failures in some circumstances. If you |
| 205 | * receive a link error <tt>relocation truncated to fit: R_AVR_13_PCREL</tt>, disable this setting.</td> | 205 | * receive a link error <tt>relocation truncated to fit: R_AVR_13_PCREL</tt>, disable this setting.</td> |
| 206 | * </tr> | 206 | * </tr> |
| 207 | * <tr> | 207 | * <tr> |
| 208 | * <td><tt>OBJDIR</tt></td> | 208 | * <td><tt>OBJDIR</tt></td> |
| 209 | * <td>Directory to place the generated object and dependency files. If set to "." the same folder as the source file will be used. | 209 | * <td>Directory to place the generated object and dependency files. If set to "." the same folder as the source file will be used. |
| 210 | * \note When this option is enabled, all source filenames <b>must</b> be unique.</td> | 210 | * \note When this option is enabled, all source filenames <b>must</b> be unique.</td> |
| 211 | * </tr> | 211 | * </tr> |
| 212 | * <tr> | 212 | * <tr> |
| 213 | * <td><tt>OBJECT_FILES</tt></td> | 213 | * <td><tt>OBJECT_FILES</tt></td> |
| 214 | * <td>List of additional object files that should be linked into the resulting binary.</td> | 214 | * <td>List of additional object files that should be linked into the resulting binary.</td> |
| 215 | * </tr> | 215 | * </tr> |
| 216 | * </table> | 216 | * </table> |
| 217 | * | 217 | * |
| 218 | * \section SSec_BuildModule_BUILD_ProvidedVariables Module Provided Variables | 218 | * \section SSec_BuildModule_BUILD_ProvidedVariables Module Provided Variables |
| 219 | * | 219 | * |
| 220 | * <table> | 220 | * <table> |
| 221 | * <tr> | 221 | * <tr> |
| 222 | * <td><i>None</i></td> | 222 | * <td><i>None</i></td> |
| 223 | * </tr> | 223 | * </tr> |
| 224 | * </table> | 224 | * </table> |
| 225 | * | 225 | * |
| 226 | * \section SSec_BuildModule_BUILD_ProvidedMacros Module Provided Macros | 226 | * \section SSec_BuildModule_BUILD_ProvidedMacros Module Provided Macros |
| 227 | * | 227 | * |
| 228 | * <table> | 228 | * <table> |
| 229 | * <tr> | 229 | * <tr> |
| 230 | * <td><i>None</i></td> | 230 | * <td><i>None</i></td> |
| 231 | * </tr> | 231 | * </tr> |
| 232 | * </table> | 232 | * </table> |
| 233 | */ | 233 | */ |
| 234 | 234 | ||
| 235 | /** \page Page_BuildModule_CORE The CORE build module | 235 | /** \page Page_BuildModule_CORE The CORE build module |
| 236 | * | 236 | * |
| 237 | * The core LUFA build system module, providing common build system help and information targets. | 237 | * The core LUFA build system module, providing common build system help and information targets. |
| 238 | * | 238 | * |
| 239 | * To use this module in your application makefile, add the following code: | 239 | * To use this module in your application makefile, add the following code: |
| 240 | * \code | 240 | * \code |
| 241 | * include $(LUFA_PATH)/Build/lufa_core.mk | 241 | * include $(LUFA_PATH)/Build/lufa_core.mk |
| 242 | * \endcode | 242 | * \endcode |
| 243 | * | 243 | * |
| 244 | * \section SSec_BuildModule_CORE_Requirements Requirements | 244 | * \section SSec_BuildModule_CORE_Requirements Requirements |
| 245 | * This module has no requirements outside a standard *nix shell like environment; the <tt>sh</tt> | 245 | * This module has no requirements outside a standard *nix shell like environment; the <tt>sh</tt> |
| 246 | * shell, GNU <tt>make</tt> and *nix CoreUtils (<tt>echo</tt>, <tt>printf</tt>, etc.). | 246 | * shell, GNU <tt>make</tt> and *nix CoreUtils (<tt>echo</tt>, <tt>printf</tt>, etc.). |
| 247 | * | 247 | * |
| 248 | * \section SSec_BuildModule_CORE_Targets Targets | 248 | * \section SSec_BuildModule_CORE_Targets Targets |
| 249 | * | 249 | * |
| 250 | * <table> | 250 | * <table> |
| 251 | * <tr> | 251 | * <tr> |
| 252 | * <td><tt>help</tt></td> | 252 | * <td><tt>help</tt></td> |
| 253 | * <td>Display build system help and configuration information.</td> | 253 | * <td>Display build system help and configuration information.</td> |
| 254 | * </tr> | 254 | * </tr> |
| 255 | * <tr> | 255 | * <tr> |
| 256 | * <td><tt>list_targets</tt></td> | 256 | * <td><tt>list_targets</tt></td> |
| 257 | * <td>List all available build targets from the build system.</td> | 257 | * <td>List all available build targets from the build system.</td> |
| 258 | * </tr> | 258 | * </tr> |
| 259 | * <tr> | 259 | * <tr> |
| 260 | * <td><tt>list_modules</tt></td> | 260 | * <td><tt>list_modules</tt></td> |
| 261 | * <td>List all available build modules from the build system.</td> | 261 | * <td>List all available build modules from the build system.</td> |
| 262 | * </tr> | 262 | * </tr> |
| 263 | * <tr> | 263 | * <tr> |
| 264 | * <td><tt>list_mandatory</tt></td> | 264 | * <td><tt>list_mandatory</tt></td> |
| 265 | * <td>List all mandatory parameters required by the included modules.</td> | 265 | * <td>List all mandatory parameters required by the included modules.</td> |
| 266 | * </tr> | 266 | * </tr> |
| 267 | * <tr> | 267 | * <tr> |
| 268 | * <td><tt>list_optional</tt></td> | 268 | * <td><tt>list_optional</tt></td> |
| 269 | * <td>List all optional parameters required by the included modules.</td> | 269 | * <td>List all optional parameters required by the included modules.</td> |
| 270 | * </tr> | 270 | * </tr> |
| 271 | * <tr> | 271 | * <tr> |
| 272 | * <td><tt>list_provided</tt></td> | 272 | * <td><tt>list_provided</tt></td> |
| 273 | * <td>List all variables provided by the included modules.</td> | 273 | * <td>List all variables provided by the included modules.</td> |
| 274 | * </tr> | 274 | * </tr> |
| 275 | * <tr> | 275 | * <tr> |
| 276 | * <td><tt>list_macros</tt></td> | 276 | * <td><tt>list_macros</tt></td> |
| 277 | * <td>List all macros provided by the included modules.</td> | 277 | * <td>List all macros provided by the included modules.</td> |
| 278 | * </tr> | 278 | * </tr> |
| 279 | * </table> | 279 | * </table> |
| 280 | * | 280 | * |
| 281 | * \section SSec_BuildModule_CORE_MandatoryParams Mandatory Parameters | 281 | * \section SSec_BuildModule_CORE_MandatoryParams Mandatory Parameters |
| 282 | * | 282 | * |
| 283 | * <table> | 283 | * <table> |
| 284 | * <tr> | 284 | * <tr> |
| 285 | * <td><i>None</i></td> | 285 | * <td><i>None</i></td> |
| 286 | * </tr> | 286 | * </tr> |
| 287 | * </table> | 287 | * </table> |
| 288 | * | 288 | * |
| 289 | * \section SSec_BuildModule_CORE_OptionalParams Optional Parameters | 289 | * \section SSec_BuildModule_CORE_OptionalParams Optional Parameters |
| 290 | * | 290 | * |
| 291 | * <table> | 291 | * <table> |
| 292 | * <tr> | 292 | * <tr> |
| 293 | * <td><i>None</i></td> | 293 | * <td><i>None</i></td> |
| 294 | * </tr> | 294 | * </tr> |
| 295 | * </table> | 295 | * </table> |
| 296 | * | 296 | * |
| 297 | * \section SSec_BuildModule_CORE_ProvidedVariables Module Provided Variables | 297 | * \section SSec_BuildModule_CORE_ProvidedVariables Module Provided Variables |
| 298 | * | 298 | * |
| 299 | * <table> | 299 | * <table> |
| 300 | * <tr> | 300 | * <tr> |
| 301 | * <td><i>None</i></td> | 301 | * <td><i>None</i></td> |
| 302 | * </tr> | 302 | * </tr> |
| 303 | * </table> | 303 | * </table> |
| 304 | * | 304 | * |
| 305 | * \section SSec_BuildModule_CORE_ProvidedMacros Module Provided Macros | 305 | * \section SSec_BuildModule_CORE_ProvidedMacros Module Provided Macros |
| 306 | * | 306 | * |
| 307 | * <table> | 307 | * <table> |
| 308 | * <tr> | 308 | * <tr> |
| 309 | * <td><i>None</i></td> | 309 | * <td><i>None</i></td> |
| 310 | * </tr> | 310 | * </tr> |
| 311 | * </table> | 311 | * </table> |
| 312 | */ | 312 | */ |
| 313 | 313 | ||
| 314 | /** \page Page_BuildModule_ATPROGRAM The ATPROGRAM build module | 314 | /** \page Page_BuildModule_ATPROGRAM The ATPROGRAM build module |
| 315 | * | 315 | * |
| 316 | * The ATPROGRAM programming utility LUFA build system module, providing targets to reprogram an | 316 | * The ATPROGRAM programming utility LUFA build system module, providing targets to reprogram an |
| 317 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. | 317 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. |
| 318 | * | 318 | * |
| 319 | * To use this module in your application makefile, add the following code: | 319 | * To use this module in your application makefile, add the following code: |
| 320 | * \code | 320 | * \code |
| 321 | * include $(LUFA_PATH)/Build/lufa_atprogram.mk | 321 | * include $(LUFA_PATH)/Build/lufa_atprogram.mk |
| 322 | * \endcode | 322 | * \endcode |
| 323 | * | 323 | * |
| 324 | * \section SSec_BuildModule_ATPROGRAM_Requirements Requirements | 324 | * \section SSec_BuildModule_ATPROGRAM_Requirements Requirements |
| 325 | * This module requires the <tt>atprogram.exe</tt> utility to be available in your system's <b>PATH</b> | 325 | * This module requires the <tt>atprogram.exe</tt> utility to be available in your system's <b>PATH</b> |
| 326 | * variable. The <tt>atprogram.exe</tt> utility is distributed in Atmel AVR Studio 5.x and Atmel Studio 6.x | 326 | * variable. The <tt>atprogram.exe</tt> utility is distributed in Atmel AVR Studio 5.x and Atmel Studio 6.x |
| 327 | * inside the application install folder's "\atbackend" subdirectory. | 327 | * inside the application install folder's "\atbackend" subdirectory. |
| 328 | * | 328 | * |
| 329 | * \section SSec_BuildModule_ATPROGRAM_Targets Targets | 329 | * \section SSec_BuildModule_ATPROGRAM_Targets Targets |
| 330 | * | 330 | * |
| 331 | * <table> | 331 | * <table> |
| 332 | * <tr> | 332 | * <tr> |
| 333 | * <td><tt>atprogram</tt></td> | 333 | * <td><tt>atprogram</tt></td> |
| 334 | * <td>Program the device FLASH memory with the application's executable data.</td> | 334 | * <td>Program the device FLASH memory with the application's executable data.</td> |
| 335 | * </tr> | 335 | * </tr> |
| 336 | * <tr> | 336 | * <tr> |
| 337 | * <td><tt>atprogram-ee</tt></td> | 337 | * <td><tt>atprogram-ee</tt></td> |
| 338 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> | 338 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> |
| 339 | * </tr> | 339 | * </tr> |
| 340 | * </table> | 340 | * </table> |
| 341 | * | 341 | * |
| 342 | * \section SSec_BuildModule_ATPROGRAM_MandatoryParams Mandatory Parameters | 342 | * \section SSec_BuildModule_ATPROGRAM_MandatoryParams Mandatory Parameters |
| 343 | * | 343 | * |
| 344 | * <table> | 344 | * <table> |
| 345 | * <tr> | 345 | * <tr> |
| 346 | * <td><tt>MCU</tt></td> | 346 | * <td><tt>MCU</tt></td> |
| 347 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 347 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 348 | * </tr> | 348 | * </tr> |
| 349 | * <tr> | 349 | * <tr> |
| 350 | * <td><tt>TARGET</tt></td> | 350 | * <td><tt>TARGET</tt></td> |
| 351 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 351 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 352 | * </tr> | 352 | * </tr> |
| 353 | * </table> | 353 | * </table> |
| 354 | * | 354 | * |
| 355 | * \section SSec_BuildModule_ATPROGRAM_OptionalParams Optional Parameters | 355 | * \section SSec_BuildModule_ATPROGRAM_OptionalParams Optional Parameters |
| 356 | * | 356 | * |
| 357 | * <table> | 357 | * <table> |
| 358 | * <tr> | 358 | * <tr> |
| 359 | * <td><tt>ATPROGRAM_PROGRAMMER</tt></td> | 359 | * <td><tt>ATPROGRAM_PROGRAMMER</tt></td> |
| 360 | * <td>Name of the Atmel programmer or debugger tool to communicate with (e.g. <tt>jtagice3</tt>).</td> | 360 | * <td>Name of the Atmel programmer or debugger tool to communicate with (e.g. <tt>jtagice3</tt>).</td> |
| 361 | * </tr> | 361 | * </tr> |
| 362 | * <tr> | 362 | * <tr> |
| 363 | * <td><tt>ATPROGRAM_INTERFACE</tt></td> | 363 | * <td><tt>ATPROGRAM_INTERFACE</tt></td> |
| 364 | * <td>Name of the programming interface to use when programming the target (e.g. <tt>spi</tt>).</td> | 364 | * <td>Name of the programming interface to use when programming the target (e.g. <tt>spi</tt>).</td> |
| 365 | * </tr> | 365 | * </tr> |
| 366 | * <tr> | 366 | * <tr> |
| 367 | * <td><tt>ATPROGRAM_PORT</tt></td> | 367 | * <td><tt>ATPROGRAM_PORT</tt></td> |
| 368 | * <td>Name of the communication port to use when when programming with a serially connected tool (e.g. <tt>COM2</tt>).</td> | 368 | * <td>Name of the communication port to use when when programming with a serially connected tool (e.g. <tt>COM2</tt>).</td> |
| 369 | * </tr> | 369 | * </tr> |
| 370 | * </table> | 370 | * </table> |
| 371 | * | 371 | * |
| 372 | * \section SSec_BuildModule_ATPROGRAM_ProvidedVariables Module Provided Variables | 372 | * \section SSec_BuildModule_ATPROGRAM_ProvidedVariables Module Provided Variables |
| 373 | * | 373 | * |
| 374 | * <table> | 374 | * <table> |
| 375 | * <tr> | 375 | * <tr> |
| 376 | * <td><i>None</i></td> | 376 | * <td><i>None</i></td> |
| 377 | * </tr> | 377 | * </tr> |
| 378 | * </table> | 378 | * </table> |
| 379 | * | 379 | * |
| 380 | * \section SSec_BuildModule_ATPROGRAM_ProvidedMacros Module Provided Macros | 380 | * \section SSec_BuildModule_ATPROGRAM_ProvidedMacros Module Provided Macros |
| 381 | * | 381 | * |
| 382 | * <table> | 382 | * <table> |
| 383 | * <tr> | 383 | * <tr> |
| 384 | * <td><i>None</i></td> | 384 | * <td><i>None</i></td> |
| 385 | * </tr> | 385 | * </tr> |
| 386 | * </table> | 386 | * </table> |
| 387 | */ | 387 | */ |
| 388 | 388 | ||
| 389 | /** \page Page_BuildModule_AVRDUDE The AVRDUDE build module | 389 | /** \page Page_BuildModule_AVRDUDE The AVRDUDE build module |
| 390 | * | 390 | * |
| 391 | * The AVRDUDE programming utility LUFA build system module, providing targets to reprogram an | 391 | * The AVRDUDE programming utility LUFA build system module, providing targets to reprogram an |
| 392 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. | 392 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. |
| 393 | * | 393 | * |
| 394 | * To use this module in your application makefile, add the following code: | 394 | * To use this module in your application makefile, add the following code: |
| 395 | * \code | 395 | * \code |
| 396 | * include $(LUFA_PATH)/Build/lufa_avrdude.mk | 396 | * include $(LUFA_PATH)/Build/lufa_avrdude.mk |
| 397 | * \endcode | 397 | * \endcode |
| 398 | * | 398 | * |
| 399 | * \section SSec_BuildModule_AVRDUDE_Requirements Requirements | 399 | * \section SSec_BuildModule_AVRDUDE_Requirements Requirements |
| 400 | * This module requires the <tt>avrdude</tt> utility to be available in your system's <b>PATH</b> | 400 | * This module requires the <tt>avrdude</tt> utility to be available in your system's <b>PATH</b> |
| 401 | * variable. The <tt>avrdude</tt> utility is distributed in the old WinAVR project releases for | 401 | * variable. The <tt>avrdude</tt> utility is distributed in the old WinAVR project releases for |
| 402 | * Windows (<a>http://winavr.sourceforge.net</a>) or can be installed on *nix systems via the project's | 402 | * Windows (<a>http://winavr.sourceforge.net</a>) or can be installed on *nix systems via the project's |
| 403 | * source code (<a>https://savannah.nongnu.org/projects/avrdude</a>) or through the package manager. | 403 | * source code (<a>https://savannah.nongnu.org/projects/avrdude</a>) or through the package manager. |
| 404 | * | 404 | * |
| 405 | * \section SSec_BuildModule_AVRDUDE_Targets Targets | 405 | * \section SSec_BuildModule_AVRDUDE_Targets Targets |
| 406 | * | 406 | * |
| 407 | * <table> | 407 | * <table> |
| 408 | * <tr> | 408 | * <tr> |
| 409 | * <td><tt>avrdude</tt></td> | 409 | * <td><tt>avrdude</tt></td> |
| 410 | * <td>Program the device FLASH memory with the application's executable data.</td> | 410 | * <td>Program the device FLASH memory with the application's executable data.</td> |
| 411 | * </tr> | 411 | * </tr> |
| 412 | * <tr> | 412 | * <tr> |
| 413 | * <td><tt>avrdude-ee</tt></td> | 413 | * <td><tt>avrdude-ee</tt></td> |
| 414 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> | 414 | * <td>Program the device EEPROM memory with the application's EEPROM data.</td> |
| 415 | * </tr> | 415 | * </tr> |
| 416 | * </table> | 416 | * </table> |
| 417 | * | 417 | * |
| 418 | * \section SSec_BuildModule_AVRDUDE_MandatoryParams Mandatory Parameters | 418 | * \section SSec_BuildModule_AVRDUDE_MandatoryParams Mandatory Parameters |
| 419 | * | 419 | * |
| 420 | * <table> | 420 | * <table> |
| 421 | * <tr> | 421 | * <tr> |
| 422 | * <td><tt>MCU</tt></td> | 422 | * <td><tt>MCU</tt></td> |
| 423 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 423 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 424 | * </tr> | 424 | * </tr> |
| 425 | * <tr> | 425 | * <tr> |
| 426 | * <td><tt>TARGET</tt></td> | 426 | * <td><tt>TARGET</tt></td> |
| 427 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 427 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 428 | * </tr> | 428 | * </tr> |
| 429 | * </table> | 429 | * </table> |
| 430 | * | 430 | * |
| 431 | * \section SSec_BuildModule_AVRDUDE_OptionalParams Optional Parameters | 431 | * \section SSec_BuildModule_AVRDUDE_OptionalParams Optional Parameters |
| 432 | * | 432 | * |
| 433 | * <table> | 433 | * <table> |
| 434 | * <tr> | 434 | * <tr> |
| 435 | * <td><tt>AVRDUDE_PROGRAMMER</tt></td> | 435 | * <td><tt>AVRDUDE_PROGRAMMER</tt></td> |
| 436 | * <td>Name of the programmer or debugger tool to communicate with (e.g. <tt>jtagicemkii</tt>).</td> | 436 | * <td>Name of the programmer or debugger tool to communicate with (e.g. <tt>jtagicemkii</tt>).</td> |
| 437 | * </tr> | 437 | * </tr> |
| 438 | * <tr> | 438 | * <tr> |
| 439 | * <td><tt>AVRDUDE_PORT</tt></td> | 439 | * <td><tt>AVRDUDE_PORT</tt></td> |
| 440 | * <td>Name of the communication port to use when when programming with the connected tool (e.g. <tt>COM2</tt>, <tt>/dev/ttyUSB0</tt> or <tt>usb</tt>).</td> | 440 | * <td>Name of the communication port to use when when programming with the connected tool (e.g. <tt>COM2</tt>, <tt>/dev/ttyUSB0</tt> or <tt>usb</tt>).</td> |
| 441 | * </tr> | 441 | * </tr> |
| 442 | * <tr> | 442 | * <tr> |
| 443 | * <td><tt>AVRDUDE_FLAGS</tt></td> | 443 | * <td><tt>AVRDUDE_FLAGS</tt></td> |
| 444 | * <td>Additional flags to pass to avrdude when programming, applied after the automatically generated flags.</td> | 444 | * <td>Additional flags to pass to avrdude when programming, applied after the automatically generated flags.</td> |
| 445 | * </tr> | 445 | * </tr> |
| 446 | * </table> | 446 | * </table> |
| 447 | * | 447 | * |
| 448 | * \section SSec_BuildModule_AVRDUDE_ProvidedVariables Module Provided Variables | 448 | * \section SSec_BuildModule_AVRDUDE_ProvidedVariables Module Provided Variables |
| 449 | * | 449 | * |
| 450 | * <table> | 450 | * <table> |
| 451 | * <tr> | 451 | * <tr> |
| 452 | * <td><i>None</i></td> | 452 | * <td><i>None</i></td> |
| 453 | * </tr> | 453 | * </tr> |
| 454 | * </table> | 454 | * </table> |
| 455 | * | 455 | * |
| 456 | * \section SSec_BuildModule_AVRDUDE_ProvidedMacros Module Provided Macros | 456 | * \section SSec_BuildModule_AVRDUDE_ProvidedMacros Module Provided Macros |
| 457 | * | 457 | * |
| 458 | * <table> | 458 | * <table> |
| 459 | * <tr> | 459 | * <tr> |
| 460 | * <td><i>None</i></td> | 460 | * <td><i>None</i></td> |
| 461 | * </tr> | 461 | * </tr> |
| 462 | * </table> | 462 | * </table> |
| 463 | */ | 463 | */ |
| 464 | 464 | ||
| 465 | /** \page Page_BuildModule_CPPCHECK The CPPCHECK build module | 465 | /** \page Page_BuildModule_CPPCHECK The CPPCHECK build module |
| 466 | * | 466 | * |
| 467 | * The CPPCHECK programming utility LUFA build system module, providing targets to statically | 467 | * The CPPCHECK programming utility LUFA build system module, providing targets to statically |
| 468 | * analyze C and C++ source code for errors and performance/style issues. | 468 | * analyze C and C++ source code for errors and performance/style issues. |
| 469 | * | 469 | * |
| 470 | * To use this module in your application makefile, add the following code: | 470 | * To use this module in your application makefile, add the following code: |
| 471 | * \code | 471 | * \code |
| 472 | * include $(LUFA_PATH)/Build/lufa_cppcheck.mk | 472 | * include $(LUFA_PATH)/Build/lufa_cppcheck.mk |
| 473 | * \endcode | 473 | * \endcode |
| 474 | * | 474 | * |
| 475 | * \section SSec_BuildModule_CPPCHECK_Requirements Requirements | 475 | * \section SSec_BuildModule_CPPCHECK_Requirements Requirements |
| 476 | * This module requires the <tt>cppcheck</tt> utility to be available in your system's <b>PATH</b> | 476 | * This module requires the <tt>cppcheck</tt> utility to be available in your system's <b>PATH</b> |
| 477 | * variable. The <tt>cppcheck</tt> utility is distributed through the project's home page | 477 | * variable. The <tt>cppcheck</tt> utility is distributed through the project's home page |
| 478 | * (<a>http://cppcheck.sourceforge.net</a>) for Windows, and can be installed on *nix systems via | 478 | * (<a>http://cppcheck.sourceforge.net</a>) for Windows, and can be installed on *nix systems via |
| 479 | * the project's source code or through the package manager. | 479 | * the project's source code or through the package manager. |
| 480 | * | 480 | * |
| 481 | * \section SSec_BuildModule_CPPCHECK_Targets Targets | 481 | * \section SSec_BuildModule_CPPCHECK_Targets Targets |
| 482 | * | 482 | * |
| 483 | * <table> | 483 | * <table> |
| 484 | * <tr> | 484 | * <tr> |
| 485 | * <td><tt>cppcheck</tt></td> | 485 | * <td><tt>cppcheck</tt></td> |
| 486 | * <td>Statically analyze the project source code for issues.</td> | 486 | * <td>Statically analyze the project source code for issues.</td> |
| 487 | * </tr> | 487 | * </tr> |
| 488 | * <tr> | 488 | * <tr> |
| 489 | * <td><tt>cppcheck-config</tt></td> | 489 | * <td><tt>cppcheck-config</tt></td> |
| 490 | * <td>Check the <tt>cppcheck</tt> configuration - scan source code and warn about missing header files and other issues.</td> | 490 | * <td>Check the <tt>cppcheck</tt> configuration - scan source code and warn about missing header files and other issues.</td> |
| 491 | * </tr> | 491 | * </tr> |
| 492 | * </table> | 492 | * </table> |
| 493 | * | 493 | * |
| 494 | * \section SSec_BuildModule_CPPCHECK_MandatoryParams Mandatory Parameters | 494 | * \section SSec_BuildModule_CPPCHECK_MandatoryParams Mandatory Parameters |
| 495 | * | 495 | * |
| 496 | * <table> | 496 | * <table> |
| 497 | * <tr> | 497 | * <tr> |
| 498 | * <td><tt>SRC</tt></td> | 498 | * <td><tt>SRC</tt></td> |
| 499 | * <td>List of source files to statically analyze.</td> | 499 | * <td>List of source files to statically analyze.</td> |
| 500 | * </tr> | 500 | * </tr> |
| 501 | * </table> | 501 | * </table> |
| 502 | * | 502 | * |
| 503 | * \section SSec_BuildModule_CPPCHECK_OptionalParams Optional Parameters | 503 | * \section SSec_BuildModule_CPPCHECK_OptionalParams Optional Parameters |
| 504 | * | 504 | * |
| 505 | * <table> | 505 | * <table> |
| 506 | * <tr> | 506 | * <tr> |
| 507 | * <td><tt>CPPCHECK_INCLUDES</tt></td> | 507 | * <td><tt>CPPCHECK_INCLUDES</tt></td> |
| 508 | * <td>Path of extra directories to check when attemting to resolve C/C++ header file includes.</td> | 508 | * <td>Path of extra directories to check when attemting to resolve C/C++ header file includes.</td> |
| 509 | * </tr> | 509 | * </tr> |
| 510 | * <tr> | 510 | * <tr> |
| 511 | * <td><tt>CPPCHECK_EXCLUDES</tt></td> | 511 | * <td><tt>CPPCHECK_EXCLUDES</tt></td> |
| 512 | * <td>Paths or path fragments to exclude when analyzing.</td> | 512 | * <td>Paths or path fragments to exclude when analyzing.</td> |
| 513 | * </tr> | 513 | * </tr> |
| 514 | * <tr> | 514 | * <tr> |
| 515 | * <td><tt>CPPCHECK_MSG_TEMPLATE</tt></td> | 515 | * <td><tt>CPPCHECK_MSG_TEMPLATE</tt></td> |
| 516 | * <td>Output message template to use when printing errors, warnings and information (see <tt>cppcheck</tt> documentation).</td> | 516 | * <td>Output message template to use when printing errors, warnings and information (see <tt>cppcheck</tt> documentation).</td> |
| 517 | * </tr> | 517 | * </tr> |
| 518 | * <tr> | 518 | * <tr> |
| 519 | * <td><tt>CPPCHECK_ENABLE</tt></td> | 519 | * <td><tt>CPPCHECK_ENABLE</tt></td> |
| 520 | * <td>Analysis rule categories to enable (see <tt>cppcheck</tt> documentation).</td> | 520 | * <td>Analysis rule categories to enable (see <tt>cppcheck</tt> documentation).</td> |
| 521 | * </tr> | 521 | * </tr> |
| 522 | * <tr> | 522 | * <tr> |
| 523 | * <td><tt>CPPCHECK_SUPPRESS</tt></td> | 523 | * <td><tt>CPPCHECK_SUPPRESS</tt></td> |
| 524 | * <td>Specific analysis rules to suppress (see <tt>cppcheck</tt> documentation).</td> | 524 | * <td>Specific analysis rules to suppress (see <tt>cppcheck</tt> documentation).</td> |
| 525 | * </tr> | 525 | * </tr> |
| 526 | * <tr> | 526 | * <tr> |
| 527 | * <td><tt>CPPCHECK_FAIL_ON_WARNING</tt></td> | 527 | * <td><tt>CPPCHECK_FAIL_ON_WARNING</tt></td> |
| 528 | * <td>Set to <b>Y</b> to fail the analysis job with an error exit code if warnings are found, <b>N</b> to continue without failing.</td> | 528 | * <td>Set to <b>Y</b> to fail the analysis job with an error exit code if warnings are found, <b>N</b> to continue without failing.</td> |
| 529 | * </tr> | 529 | * </tr> |
| 530 | * <tr> | 530 | * <tr> |
| 531 | * <td><tt>CPPCHECK_QUIET</tt></td> | 531 | * <td><tt>CPPCHECK_QUIET</tt></td> |
| 532 | * <td>Set to <b>Y</b> to suppress all output except warnings and errors, <b>N</b> to show verbose output information.</td> | 532 | * <td>Set to <b>Y</b> to suppress all output except warnings and errors, <b>N</b> to show verbose output information.</td> |
| 533 | * </tr> | 533 | * </tr> |
| 534 | * <tr> | 534 | * <tr> |
| 535 | * <td><tt>CPPCHECK_FLAGS</tt></td> | 535 | * <td><tt>CPPCHECK_FLAGS</tt></td> |
| 536 | * <td>Extra flags to pass to <tt>cppcheck</tt>, after the automatically generated flags.</td> | 536 | * <td>Extra flags to pass to <tt>cppcheck</tt>, after the automatically generated flags.</td> |
| 537 | * </tr> | 537 | * </tr> |
| 538 | * </table> | 538 | * </table> |
| 539 | * | 539 | * |
| 540 | * \section SSec_BuildModule_CPPCHECK_ProvidedVariables Module Provided Variables | 540 | * \section SSec_BuildModule_CPPCHECK_ProvidedVariables Module Provided Variables |
| 541 | * | 541 | * |
| 542 | * <table> | 542 | * <table> |
| 543 | * <tr> | 543 | * <tr> |
| 544 | * <td><i>None</i></td> | 544 | * <td><i>None</i></td> |
| 545 | * </tr> | 545 | * </tr> |
| 546 | * </table> | 546 | * </table> |
| 547 | * | 547 | * |
| 548 | * \section SSec_BuildModule_CPPCHECK_ProvidedMacros Module Provided Macros | 548 | * \section SSec_BuildModule_CPPCHECK_ProvidedMacros Module Provided Macros |
| 549 | * | 549 | * |
| 550 | * <table> | 550 | * <table> |
| 551 | * <tr> | 551 | * <tr> |
| 552 | * <td><i>None</i></td> | 552 | * <td><i>None</i></td> |
| 553 | * </tr> | 553 | * </tr> |
| 554 | * </table> | 554 | * </table> |
| 555 | */ | 555 | */ |
| 556 | 556 | ||
| 557 | /** \page Page_BuildModule_DFU The DFU build module | 557 | /** \page Page_BuildModule_DFU The DFU build module |
| 558 | * | 558 | * |
| 559 | * The DFU programming utility LUFA build system module, providing targets to reprogram an | 559 | * The DFU programming utility LUFA build system module, providing targets to reprogram an |
| 560 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. | 560 | * Atmel processor FLASH and EEPROM memories with a project's compiled binary output files. |
| 561 | * This module requires a DFU class bootloader to be running in the target, compatible with | 561 | * This module requires a DFU class bootloader to be running in the target, compatible with |
| 562 | * the DFU bootloader protocol as published by Atmel. | 562 | * the DFU bootloader protocol as published by Atmel. |
| 563 | * | 563 | * |
| 564 | * To use this module in your application makefile, add the following code: | 564 | * To use this module in your application makefile, add the following code: |
| 565 | * \code | 565 | * \code |
| 566 | * include $(LUFA_PATH)/Build/lufa_dfu.mk | 566 | * include $(LUFA_PATH)/Build/lufa_dfu.mk |
| 567 | * \endcode | 567 | * \endcode |
| 568 | * | 568 | * |
| 569 | * \section SSec_BuildModule_DFU_Requirements Requirements | 569 | * \section SSec_BuildModule_DFU_Requirements Requirements |
| 570 | * This module requires either the <tt>batchisp</tt> utility from Atmel's FLIP utility, or the open | 570 | * This module requires either the <tt>batchisp</tt> utility from Atmel's FLIP utility, or the open |
| 571 | * source <tt>dfu-programmer</tt> utility (<a>http://dfu-programmer.sourceforge.net/</a>) to be | 571 | * source <tt>dfu-programmer</tt> utility (<a>http://dfu-programmer.sourceforge.net/</a>) to be |
| 572 | * available in your system's <b>PATH</b> variable. On *nix systems the <tt>dfu-programmer</tt> utility | 572 | * available in your system's <b>PATH</b> variable. On *nix systems the <tt>dfu-programmer</tt> utility |
| 573 | * can be installed via the project's source code or through the package manager. | 573 | * can be installed via the project's source code or through the package manager. |
| 574 | * | 574 | * |
| 575 | * \section SSec_BuildModule_DFU_Targets Targets | 575 | * \section SSec_BuildModule_DFU_Targets Targets |
| 576 | * | 576 | * |
| 577 | * <table> | 577 | * <table> |
| 578 | * <tr> | 578 | * <tr> |
| 579 | * <td><tt>dfu</tt></td> | 579 | * <td><tt>dfu</tt></td> |
| 580 | * <td>Program the device FLASH memory with the application's executable data using <tt>dfu-programmer</tt>.</td> | 580 | * <td>Program the device FLASH memory with the application's executable data using <tt>dfu-programmer</tt>.</td> |
| 581 | * </tr> | 581 | * </tr> |
| 582 | * <tr> | 582 | * <tr> |
| 583 | * <td><tt>dfu-ee</tt></td> | 583 | * <td><tt>dfu-ee</tt></td> |
| 584 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>dfu-programmer</tt>.</td> | 584 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>dfu-programmer</tt>.</td> |
| 585 | * </tr> | 585 | * </tr> |
| 586 | * <tr> | 586 | * <tr> |
| 587 | * <td><tt>flip</tt></td> | 587 | * <td><tt>flip</tt></td> |
| 588 | * <td>Program the device FLASH memory with the application's executable data using <tt>batchisp</tt>.</td> | 588 | * <td>Program the device FLASH memory with the application's executable data using <tt>batchisp</tt>.</td> |
| 589 | * </tr> | 589 | * </tr> |
| 590 | * <tr> | 590 | * <tr> |
| 591 | * <td><tt>flip-ee</tt></td> | 591 | * <td><tt>flip-ee</tt></td> |
| 592 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>batchisp</tt>.</td> | 592 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>batchisp</tt>.</td> |
| 593 | * </tr> | 593 | * </tr> |
| 594 | * </table> | 594 | * </table> |
| 595 | * | 595 | * |
| 596 | * \section SSec_BuildModule_DFU_MandatoryParams Mandatory Parameters | 596 | * \section SSec_BuildModule_DFU_MandatoryParams Mandatory Parameters |
| 597 | * | 597 | * |
| 598 | * <table> | 598 | * <table> |
| 599 | * <tr> | 599 | * <tr> |
| 600 | * <td><tt>MCU</tt></td> | 600 | * <td><tt>MCU</tt></td> |
| 601 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 601 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 602 | * </tr> | 602 | * </tr> |
| 603 | * <tr> | 603 | * <tr> |
| 604 | * <td><tt>TARGET</tt></td> | 604 | * <td><tt>TARGET</tt></td> |
| 605 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 605 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 606 | * </tr> | 606 | * </tr> |
| 607 | * </table> | 607 | * </table> |
| 608 | * | 608 | * |
| 609 | * \section SSec_BuildModule_DFU_OptionalParams Optional Parameters | 609 | * \section SSec_BuildModule_DFU_OptionalParams Optional Parameters |
| 610 | * | 610 | * |
| 611 | * <table> | 611 | * <table> |
| 612 | * <tr> | 612 | * <tr> |
| 613 | * <td><i>None</i></td> | 613 | * <td><i>None</i></td> |
| 614 | * </tr> | 614 | * </tr> |
| 615 | * </table> | 615 | * </table> |
| 616 | * | 616 | * |
| 617 | * \section SSec_BuildModule_DFU_ProvidedVariables Module Provided Variables | 617 | * \section SSec_BuildModule_DFU_ProvidedVariables Module Provided Variables |
| 618 | * | 618 | * |
| 619 | * <table> | 619 | * <table> |
| 620 | * <tr> | 620 | * <tr> |
| 621 | * <td><i>None</i></td> | 621 | * <td><i>None</i></td> |
| 622 | * </tr> | 622 | * </tr> |
| 623 | * </table> | 623 | * </table> |
| 624 | * | 624 | * |
| 625 | * \section SSec_BuildModule_DFU_ProvidedMacros Module Provided Macros | 625 | * \section SSec_BuildModule_DFU_ProvidedMacros Module Provided Macros |
| 626 | * | 626 | * |
| 627 | * <table> | 627 | * <table> |
| 628 | * <tr> | 628 | * <tr> |
| 629 | * <td><i>None</i></td> | 629 | * <td><i>None</i></td> |
| 630 | * </tr> | 630 | * </tr> |
| 631 | * </table> | 631 | * </table> |
| 632 | */ | 632 | */ |
| 633 | 633 | ||
| 634 | /** \page Page_BuildModule_DOXYGEN The DOXYGEN build module | 634 | /** \page Page_BuildModule_DOXYGEN The DOXYGEN build module |
| 635 | * | 635 | * |
| 636 | * The DOXYGEN code documentation utility LUFA build system module, providing targets to generate | 636 | * The DOXYGEN code documentation utility LUFA build system module, providing targets to generate |
| 637 | * project HTML and other format documentation from a set of source files that include special | 637 | * project HTML and other format documentation from a set of source files that include special |
| 638 | * Doxygen comments. | 638 | * Doxygen comments. |
| 639 | * | 639 | * |
| 640 | * To use this module in your application makefile, add the following code: | 640 | * To use this module in your application makefile, add the following code: |
| 641 | * \code | 641 | * \code |
| 642 | * include $(LUFA_PATH)/Build/lufa_doxygen.mk | 642 | * include $(LUFA_PATH)/Build/lufa_doxygen.mk |
| 643 | * \endcode | 643 | * \endcode |
| 644 | * | 644 | * |
| 645 | * \section SSec_BuildModule_DOXYGEN_Requirements Requirements | 645 | * \section SSec_BuildModule_DOXYGEN_Requirements Requirements |
| 646 | * This module requires the <tt>doxygen</tt> utility from the Doxygen website | 646 | * This module requires the <tt>doxygen</tt> utility from the Doxygen website |
| 647 | * (<a>http://www.doxygen.org/</a>) to be available in your system's <b>PATH</b> variable. On *nix | 647 | * (<a>http://www.doxygen.org/</a>) to be available in your system's <b>PATH</b> variable. On *nix |
| 648 | * systems the <tt>doxygen</tt> utility can be installed via the project's source code or through | 648 | * systems the <tt>doxygen</tt> utility can be installed via the project's source code or through |
| 649 | * the package manager. | 649 | * the package manager. |
| 650 | * | 650 | * |
| 651 | * \section SSec_BuildModule_DOXYGEN_Targets Targets | 651 | * \section SSec_BuildModule_DOXYGEN_Targets Targets |
| 652 | * | 652 | * |
| 653 | * <table> | 653 | * <table> |
| 654 | * <tr> | 654 | * <tr> |
| 655 | * <td><tt>doxygen</tt></td> | 655 | * <td><tt>doxygen</tt></td> |
| 656 | * <td>Generate project documentation.</td> | 656 | * <td>Generate project documentation.</td> |
| 657 | * </tr> | 657 | * </tr> |
| 658 | * <tr> | 658 | * <tr> |
| 659 | * <td><tt>doxygen_create</tt></td> | 659 | * <td><tt>doxygen_create</tt></td> |
| 660 | * <td>Create a new Doxygen configuration file using the latest template.</td> | 660 | * <td>Create a new Doxygen configuration file using the latest template.</td> |
| 661 | * </tr> | 661 | * </tr> |
| 662 | * <tr> | 662 | * <tr> |
| 663 | * <td><tt>doxygen_upgrade</tt></td> | 663 | * <td><tt>doxygen_upgrade</tt></td> |
| 664 | * <td>Upgrade an existing Doxygen configuration file to the latest template</td> | 664 | * <td>Upgrade an existing Doxygen configuration file to the latest template</td> |
| 665 | * </tr> | 665 | * </tr> |
| 666 | * </table> | 666 | * </table> |
| 667 | * | 667 | * |
| 668 | * \section SSec_BuildModule_DOXYGEN_MandatoryParams Mandatory Parameters | 668 | * \section SSec_BuildModule_DOXYGEN_MandatoryParams Mandatory Parameters |
| 669 | * | 669 | * |
| 670 | * <table> | 670 | * <table> |
| 671 | * <tr> | 671 | * <tr> |
| 672 | * <td><tt>LUFA_PATH</tt></td> | 672 | * <td><tt>LUFA_PATH</tt></td> |
| 673 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> | 673 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> |
| 674 | * </tr> | 674 | * </tr> |
| 675 | * </table> | 675 | * </table> |
| 676 | * | 676 | * |
| 677 | * \section SSec_BuildModule_DOXYGEN_OptionalParams Optional Parameters | 677 | * \section SSec_BuildModule_DOXYGEN_OptionalParams Optional Parameters |
| 678 | * | 678 | * |
| 679 | * <table> | 679 | * <table> |
| 680 | * <tr> | 680 | * <tr> |
| 681 | * <td><tt>DOXYGEN_CONF</tt></td> | 681 | * <td><tt>DOXYGEN_CONF</tt></td> |
| 682 | * <td>Name and path of the base Doxygen configuration file for the project.</td> | 682 | * <td>Name and path of the base Doxygen configuration file for the project.</td> |
| 683 | * </tr> | 683 | * </tr> |
| 684 | * <tr> | 684 | * <tr> |
| 685 | * <td><tt>DOXYGEN_FAIL_ON_WARNING</tt></td> | 685 | * <td><tt>DOXYGEN_FAIL_ON_WARNING</tt></td> |
| 686 | * <td>Set to <b>Y</b> to fail the generation with an error exit code if warnings are found other than unsupported configuration parameters, <b>N</b> to continue without failing.</td> | 686 | * <td>Set to <b>Y</b> to fail the generation with an error exit code if warnings are found other than unsupported configuration parameters, <b>N</b> to continue without failing.</td> |
| 687 | * </tr> | 687 | * </tr> |
| 688 | * <tr> | 688 | * <tr> |
| 689 | * <td><tt>DOXYGEN_OVERRIDE_PARAMS</tt></td> | 689 | * <td><tt>DOXYGEN_OVERRIDE_PARAMS</tt></td> |
| 690 | * <td>Extra Doxygen configuration parameters to apply, overriding the corresponding config entry in the project's configuration file (e.g. <tt>QUIET=YES</tt>).</td> | 690 | * <td>Extra Doxygen configuration parameters to apply, overriding the corresponding config entry in the project's configuration file (e.g. <tt>QUIET=YES</tt>).</td> |
| 691 | * </tr> | 691 | * </tr> |
| 692 | * </table> | 692 | * </table> |
| 693 | * | 693 | * |
| 694 | * \section SSec_BuildModule_DOXYGEN_ProvidedVariables Module Provided Variables | 694 | * \section SSec_BuildModule_DOXYGEN_ProvidedVariables Module Provided Variables |
| 695 | * | 695 | * |
| 696 | * <table> | 696 | * <table> |
| 697 | * <tr> | 697 | * <tr> |
| 698 | * <td><i>None</i></td> | 698 | * <td><i>None</i></td> |
| 699 | * </tr> | 699 | * </tr> |
| 700 | * </table> | 700 | * </table> |
| 701 | * | 701 | * |
| 702 | * \section SSec_BuildModule_DOXYGEN_ProvidedMacros Module Provided Macros | 702 | * \section SSec_BuildModule_DOXYGEN_ProvidedMacros Module Provided Macros |
| 703 | * | 703 | * |
| 704 | * <table> | 704 | * <table> |
| 705 | * <tr> | 705 | * <tr> |
| 706 | * <td><i>None</i></td> | 706 | * <td><i>None</i></td> |
| 707 | * </tr> | 707 | * </tr> |
| 708 | * </table> | 708 | * </table> |
| 709 | */ | 709 | */ |
| 710 | 710 | ||
| 711 | /** \page Page_BuildModule_HID The HID build module | 711 | /** \page Page_BuildModule_HID The HID build module |
| 712 | * | 712 | * |
| 713 | * The HID programming utility LUFA build system module, providing targets to reprogram an | 713 | * The HID programming utility LUFA build system module, providing targets to reprogram an |
| 714 | * Atmel processor's FLASH memory with a project's compiled binary output file. This module | 714 | * Atmel processor's FLASH memory with a project's compiled binary output file. This module |
| 715 | * requires a HID class bootloader to be running in the target, using a protocol compatible | 715 | * requires a HID class bootloader to be running in the target, using a protocol compatible |
| 716 | * with the PJRC "HalfKay" protocol (<a>http://www.pjrc.com/teensy/halfkay_protocol.html</a>). | 716 | * with the PJRC "HalfKay" protocol (<a>http://www.pjrc.com/teensy/halfkay_protocol.html</a>). |
| 717 | * | 717 | * |
| 718 | * To use this module in your application makefile, add the following code: | 718 | * To use this module in your application makefile, add the following code: |
| 719 | * \code | 719 | * \code |
| 720 | * include $(LUFA_PATH)/Build/lufa_hid.mk | 720 | * include $(LUFA_PATH)/Build/lufa_hid.mk |
| 721 | * \endcode | 721 | * \endcode |
| 722 | * | 722 | * |
| 723 | * \section SSec_BuildModule_HID_Requirements Requirements | 723 | * \section SSec_BuildModule_HID_Requirements Requirements |
| 724 | * This module requires either the <tt>hid_bootloader_cli</tt> utility from the included LUFA HID | 724 | * This module requires either the <tt>hid_bootloader_cli</tt> utility from the included LUFA HID |
| 725 | * class bootloader API subdirectory, or the <tt>teensy_loader_cli</tt> utility from PJRC | 725 | * class bootloader API subdirectory, or the <tt>teensy_loader_cli</tt> utility from PJRC |
| 726 | * (<a>http://www.pjrc.com/teensy/loader_cli.html</a>) to be available in your system's <b>PATH</b> | 726 | * (<a>http://www.pjrc.com/teensy/loader_cli.html</a>) to be available in your system's <b>PATH</b> |
| 727 | * variable. | 727 | * variable. |
| 728 | * | 728 | * |
| 729 | * \section SSec_BuildModule_HID_Targets Targets | 729 | * \section SSec_BuildModule_HID_Targets Targets |
| 730 | * | 730 | * |
| 731 | * <table> | 731 | * <table> |
| 732 | * <tr> | 732 | * <tr> |
| 733 | * <td><tt>hid</tt></td> | 733 | * <td><tt>hid</tt></td> |
| 734 | * <td>Program the device FLASH memory with the application's executable data using <tt>hid_bootloader_cli</tt>.</td> | 734 | * <td>Program the device FLASH memory with the application's executable data using <tt>hid_bootloader_cli</tt>.</td> |
| 735 | * </tr> | 735 | * </tr> |
| 736 | * <tr> | 736 | * <tr> |
| 737 | * <td><tt>hid-ee</tt></td> | 737 | * <td><tt>hid-ee</tt></td> |
| 738 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>hid_bootloader_cli</tt> and | 738 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>hid_bootloader_cli</tt> and |
| 739 | * a temporary AVR application programmed into the target's FLASH. | 739 | * a temporary AVR application programmed into the target's FLASH. |
| 740 | * \note This will erase the currently loaded application in the target.</td> | 740 | * \note This will erase the currently loaded application in the target.</td> |
| 741 | * </tr> | 741 | * </tr> |
| 742 | * <tr> | 742 | * <tr> |
| 743 | * <td><tt>teensy</tt></td> | 743 | * <td><tt>teensy</tt></td> |
| 744 | * <td>Program the device FLASH memory with the application's executable data using <tt>teensy_loader_cli</tt>.</td> | 744 | * <td>Program the device FLASH memory with the application's executable data using <tt>teensy_loader_cli</tt>.</td> |
| 745 | * </tr> | 745 | * </tr> |
| 746 | * <tr> | 746 | * <tr> |
| 747 | * <td><tt>teensy-ee</tt></td> | 747 | * <td><tt>teensy-ee</tt></td> |
| 748 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>teensy_loader_cli</tt> and | 748 | * <td>Program the device EEPROM memory with the application's EEPROM data using <tt>teensy_loader_cli</tt> and |
| 749 | * a temporary AVR application programmed into the target's FLASH. | 749 | * a temporary AVR application programmed into the target's FLASH. |
| 750 | * \note This will erase the currently loaded application in the target.</td> | 750 | * \note This will erase the currently loaded application in the target.</td> |
| 751 | * </tr> | 751 | * </tr> |
| 752 | * </table> | 752 | * </table> |
| 753 | * | 753 | * |
| 754 | * \section SSec_BuildModule_HID_MandatoryParams Mandatory Parameters | 754 | * \section SSec_BuildModule_HID_MandatoryParams Mandatory Parameters |
| 755 | * | 755 | * |
| 756 | * <table> | 756 | * <table> |
| 757 | * <tr> | 757 | * <tr> |
| 758 | * <td><tt>MCU</tt></td> | 758 | * <td><tt>MCU</tt></td> |
| 759 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> | 759 | * <td>Name of the Atmel processor model (e.g. <tt>at90usb1287</tt>).</td> |
| 760 | * </tr> | 760 | * </tr> |
| 761 | * <tr> | 761 | * <tr> |
| 762 | * <td><tt>TARGET</tt></td> | 762 | * <td><tt>TARGET</tt></td> |
| 763 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> | 763 | * <td>Name of the application output file prefix (e.g. <tt>TestApplication</tt>).</td> |
| 764 | * </tr> | 764 | * </tr> |
| 765 | * </table> | 765 | * </table> |
| 766 | * | 766 | * |
| 767 | * \section SSec_BuildModule_HID_OptionalParams Optional Parameters | 767 | * \section SSec_BuildModule_HID_OptionalParams Optional Parameters |
| 768 | * | 768 | * |
| 769 | * <table> | 769 | * <table> |
| 770 | * <tr> | 770 | * <tr> |
| 771 | * <td><i>None</i></td> | 771 | * <td><i>None</i></td> |
| 772 | * </tr> | 772 | * </tr> |
| 773 | * </table> | 773 | * </table> |
| 774 | * | 774 | * |
| 775 | * \section SSec_BuildModule_HID_ProvidedVariables Module Provided Variables | 775 | * \section SSec_BuildModule_HID_ProvidedVariables Module Provided Variables |
| 776 | * | 776 | * |
| 777 | * <table> | 777 | * <table> |
| 778 | * <tr> | 778 | * <tr> |
| 779 | * <td><i>None</i></td> | 779 | * <td><i>None</i></td> |
| 780 | * </tr> | 780 | * </tr> |
| 781 | * </table> | 781 | * </table> |
| 782 | * | 782 | * |
| 783 | * \section SSec_BuildModule_HID_ProvidedMacros Module Provided Macros | 783 | * \section SSec_BuildModule_HID_ProvidedMacros Module Provided Macros |
| 784 | * | 784 | * |
| 785 | * <table> | 785 | * <table> |
| 786 | * <tr> | 786 | * <tr> |
| 787 | * <td><i>None</i></td> | 787 | * <td><i>None</i></td> |
| 788 | * </tr> | 788 | * </tr> |
| 789 | * </table> | 789 | * </table> |
| 790 | */ | 790 | */ |
| 791 | 791 | ||
| 792 | /** \page Page_BuildModule_SOURCES The SOURCES build module | 792 | /** \page Page_BuildModule_SOURCES The SOURCES build module |
| 793 | * | 793 | * |
| 794 | * The SOURCES LUFA build system module, providing variables listing the various LUFA source files | 794 | * The SOURCES LUFA build system module, providing variables listing the various LUFA source files |
| 795 | * required to be build by a project for a given LUFA module. This module gives a way to reference | 795 | * required to be build by a project for a given LUFA module. This module gives a way to reference |
| 796 | * LUFA source files symbolically, so that changes to the library structure do not break the library | 796 | * LUFA source files symbolically, so that changes to the library structure do not break the library |
| 797 | * makefile. | 797 | * makefile. |
| 798 | * | 798 | * |
| 799 | * To use this module in your application makefile, add the following code: | 799 | * To use this module in your application makefile, add the following code: |
| 800 | * \code | 800 | * \code |
| 801 | * include $(LUFA_PATH)/Build/lufa_sources.mk | 801 | * include $(LUFA_PATH)/Build/lufa_sources.mk |
| 802 | * \endcode | 802 | * \endcode |
| 803 | * | 803 | * |
| 804 | * \section SSec_BuildModule_SOURCES_Requirements Requirements | 804 | * \section SSec_BuildModule_SOURCES_Requirements Requirements |
| 805 | * None. | 805 | * None. |
| 806 | * | 806 | * |
| 807 | * \section SSec_BuildModule_SOURCES_Targets Targets | 807 | * \section SSec_BuildModule_SOURCES_Targets Targets |
| 808 | * | 808 | * |
| 809 | * <table> | 809 | * <table> |
| 810 | * <tr> | 810 | * <tr> |
| 811 | * <td><i>None</i></td> | 811 | * <td><i>None</i></td> |
| 812 | * </tr> | 812 | * </tr> |
| 813 | * </table> | 813 | * </table> |
| 814 | * | 814 | * |
| 815 | * \section SSec_BuildModule_SOURCES_MandatoryParams Mandatory Parameters | 815 | * \section SSec_BuildModule_SOURCES_MandatoryParams Mandatory Parameters |
| 816 | * | 816 | * |
| 817 | * <table> | 817 | * <table> |
| 818 | * <tr> | 818 | * <tr> |
| 819 | * <td><tt>LUFA_PATH</tt></td> | 819 | * <td><tt>LUFA_PATH</tt></td> |
| 820 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> | 820 | * <td>Path to the LUFA library core, either relative or absolute (e.g. <tt>../LUFA-000000/LUFA/</tt>).</td> |
| 821 | * </tr> | 821 | * </tr> |
| 822 | * <tr> | 822 | * <tr> |
| 823 | * <td><tt>ARCH</tt></td> | 823 | * <td><tt>ARCH</tt></td> |
| 824 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> | 824 | * <td>Architecture of the target processor (see \ref Page_DeviceSupport).</td> |
| 825 | * </tr> | 825 | * </tr> |
| 826 | * </table> | 826 | * </table> |
| 827 | * | 827 | * |
| 828 | * \section SSec_BuildModule_SOURCES_OptionalParams Optional Parameters | 828 | * \section SSec_BuildModule_SOURCES_OptionalParams Optional Parameters |
| 829 | * | 829 | * |
| 830 | * <table> | 830 | * <table> |
| 831 | * <tr> | 831 | * <tr> |
| 832 | * <td><i>None</i></td> | 832 | * <td><i>None</i></td> |
| 833 | * </tr> | 833 | * </tr> |
| 834 | * </table> | 834 | * </table> |
| 835 | * | 835 | * |
| 836 | * \section SSec_BuildModule_SOURCES_ProvidedVariables Module Provided Variables | 836 | * \section SSec_BuildModule_SOURCES_ProvidedVariables Module Provided Variables |
| 837 | * | 837 | * |
| 838 | * <table> | 838 | * <table> |
| 839 | * <tr> | 839 | * <tr> |
| 840 | * <td><tt>LUFA_SRC_USB</tt></td> | 840 | * <td><tt>LUFA_SRC_USB</tt></td> |
| 841 | * <td>List of LUFA USB driver source files.</td> | 841 | * <td>List of LUFA USB driver source files.</td> |
| 842 | * </tr> | 842 | * </tr> |
| 843 | * <tr> | 843 | * <tr> |
| 844 | * <td><tt>LUFA_SRC_USBCLASS</tt></td> | 844 | * <td><tt>LUFA_SRC_USBCLASS</tt></td> |
| 845 | * <td>List of LUFA USB Class driver source files.</td> | 845 | * <td>List of LUFA USB Class driver source files.</td> |
| 846 | * </tr> | 846 | * </tr> |
| 847 | * <tr> | 847 | * <tr> |
| 848 | * <td><tt>LUFA_SRC_TEMPERATURE</tt></td> | 848 | * <td><tt>LUFA_SRC_TEMPERATURE</tt></td> |
| 849 | * <td>List of LUFA temperature sensor driver source files.</td> | 849 | * <td>List of LUFA temperature sensor driver source files.</td> |
| 850 | * </tr> | 850 | * </tr> |
| 851 | * <tr> | 851 | * <tr> |
| 852 | * <td><tt>LUFA_SRC_SERIAL</tt></td> | 852 | * <td><tt>LUFA_SRC_SERIAL</tt></td> |
| 853 | * <td>List of LUFA Serial U(S)ART driver source files.</td> | 853 | * <td>List of LUFA Serial U(S)ART driver source files.</td> |
| 854 | * </tr> | 854 | * </tr> |
| 855 | * <tr> | 855 | * <tr> |
| 856 | * <td><tt>LUFA_SRC_TWI</tt></td> | 856 | * <td><tt>LUFA_SRC_TWI</tt></td> |
| 857 | * <td>List of LUFA TWI driver source files.</td> | 857 | * <td>List of LUFA TWI driver source files.</td> |
| 858 | * </tr> | 858 | * </tr> |
| 859 | * <tr> | 859 | * <tr> |
| 860 | * <td><tt>LUFA_SRC_PLATFORM</tt></td> | 860 | * <td><tt>LUFA_SRC_PLATFORM</tt></td> |
| 861 | * <td>List of LUFA architecture specific platform management source files.</td> | 861 | * <td>List of LUFA architecture specific platform management source files.</td> |
| 862 | * </tr> | 862 | * </tr> |
| 863 | * </table> | 863 | * </table> |
| 864 | * | 864 | * |
| 865 | * \section SSec_BuildModule_SOURCES_ProvidedMacros Module Provided Macros | 865 | * \section SSec_BuildModule_SOURCES_ProvidedMacros Module Provided Macros |
| 866 | * | 866 | * |
| 867 | * <table> | 867 | * <table> |
| 868 | * <tr> | 868 | * <tr> |
| 869 | * <td><i>None</i></td> | 869 | * <td><i>None</i></td> |
| 870 | * </tr> | 870 | * </tr> |
| 871 | * </table> | 871 | * </table> |
| 872 | */ | 872 | */ |
| 873 | 873 | ||
| 874 | /** \page Page_BuildTroubleshooting Troubleshooting Information | 874 | /** \page Page_BuildTroubleshooting Troubleshooting Information |
| 875 | * | 875 | * |
| 876 | * LUFA uses a lot of advanced features of the AVR-GCC compiler, linker, and surrounding binaries. This can sometimes lead to problems compiling applications if one of these | 876 | * LUFA uses a lot of advanced features of the AVR-GCC compiler, linker, and surrounding binaries. This can sometimes lead to problems compiling applications if one of these |
| 877 | * features is buggy in the version of the tools used in a build environment. Missing utilities and incorrectly set makefile configuration options can also result in different | 877 | * features is buggy in the version of the tools used in a build environment. Missing utilities and incorrectly set makefile configuration options can also result in different |
| 878 | * errors being produced when compilation or other operations are attempted. The table below lists a set of commonly encountered errors and their resolutions. | 878 | * errors being produced when compilation or other operations are attempted. The table below lists a set of commonly encountered errors and their resolutions. |
| 879 | * | 879 | * |
| 880 | * <table> | 880 | * <table> |
| 881 | * <tr> | 881 | * <tr> |
| 882 | * <th>Problem</th> | 882 | * <th>Problem</th> |
| 883 | * <th>Resolution</th> | 883 | * <th>Resolution</th> |
| 884 | * </tr> | 884 | * </tr> |
| 885 | * <tr> | 885 | * <tr> |
| 886 | * <td>Error "<b><tt>relocation truncated to fit: R_AVR_13_PCREL against symbol <i>{X}</i></tt></b>" shown when compiling.</td> | 886 | * <td>Error "<b><tt>relocation truncated to fit: R_AVR_13_PCREL against symbol <i>{X}</i></tt></b>" shown when compiling.</td> |
| 887 | * <td>Try compiling with the setting <tt>LINKER_RELAXATIONS=N</tt> in your LUFA Build System 2.0 makefile, or remove the line <tt>-Wl,--relax</tt> | 887 | * <td>Try compiling with the setting <tt>LINKER_RELAXATIONS=N</tt> in your LUFA Build System 2.0 makefile, or remove the line <tt>-Wl,--relax</tt> |
| 888 | * from other makefiles. Alternatively, make sure you have the latest version of the Atmel Toolchain installed for your system.</td> | 888 | * from other makefiles. Alternatively, make sure you have the latest version of the Atmel Toolchain installed for your system.</td> |
| 889 | * </tr> | 889 | * </tr> |
| 890 | * <tr> | 890 | * <tr> |
| 891 | * <td>Error "<b><tt>error: ld terminated with signal 11 [Segmentation fault]</tt></b>" shown when compiling.</td> | 891 | * <td>Error "<b><tt>error: ld terminated with signal 11 [Segmentation fault]</tt></b>" shown when compiling.</td> |
| 892 | * <td>Try compiling with the setting <tt>DEBUG_LEVEL=2</tt> in your LUFA Build System 2.0 makefile, or make sure you are using <tt>binutils</tt> version 2.22 or later.</td> | 892 | * <td>Try compiling with the setting <tt>DEBUG_LEVEL=2</tt> in your LUFA Build System 2.0 makefile, or make sure you are using <tt>binutils</tt> version 2.22 or later.</td> |
| 893 | * </tr> | 893 | * </tr> |
| 894 | * <tr> | 894 | * <tr> |
| 895 | * <td>Error "<b><tt>EMERGENCY ABORT: INFINITE RECURSION DETECTED</tt></b>" shown when compiling.</td> | 895 | * <td>Error "<b><tt>EMERGENCY ABORT: INFINITE RECURSION DETECTED</tt></b>" shown when compiling.</td> |
| 896 | * <td>Make sure you are using an up to date version of GNU Make when compiling. This error is a safety system added to the mid-level makefiles, to prevent an issue with | 896 | * <td>Make sure you are using an up to date version of GNU Make when compiling. This error is a safety system added to the mid-level makefiles, to prevent an issue with |
| 897 | * GNU make or other variants of Make causing an infinitely recursive build.</td> | 897 | * GNU make or other variants of Make causing an infinitely recursive build.</td> |
| 898 | * </tr> | 898 | * </tr> |
| 899 | * <tr> | 899 | * <tr> |
| 900 | * <td>Error "<b><tt>Unsupported architecture "<i>{X}</i>"</tt></b>" shown when compiling.</td> | 900 | * <td>Error "<b><tt>Unsupported architecture "<i>{X}</i>"</tt></b>" shown when compiling.</td> |
| 901 | * <td>Ensure your makefile's <tt>ARCH</tt> setting is set to one of the architecture names (case-sensitive) supported by the version of LUFA you are compiling against.</td> | 901 | * <td>Ensure your makefile's <tt>ARCH</tt> setting is set to one of the architecture names (case-sensitive) supported by the version of LUFA you are compiling against.</td> |
| 902 | * </tr> | 902 | * </tr> |
| 903 | * <tr> | 903 | * <tr> |
| 904 | * <td>Error "<b><tt>Makefile <i>{X}</i> value not set</tt></b>" shown when compiling.</td> | 904 | * <td>Error "<b><tt>Makefile <i>{X}</i> value not set</tt></b>" shown when compiling.</td> |
| 905 | * <td>The specified Makefile value was not configured in your project's makefile or on the command line, and the nominated setting is required by one or more LUFA | 905 | * <td>The specified Makefile value was not configured in your project's makefile or on the command line, and the nominated setting is required by one or more LUFA |
| 906 | * build system modules. Define the value in your project makefile and try again.</td> | 906 | * build system modules. Define the value in your project makefile and try again.</td> |
| 907 | * </tr> | 907 | * </tr> |
| 908 | * <tr> | 908 | * <tr> |
| 909 | * <td>Error "<b><tt>Makefile <i>{X}</i> option cannot be blank</tt></b>" shown when compiling.</td> | 909 | * <td>Error "<b><tt>Makefile <i>{X}</i> option cannot be blank</tt></b>" shown when compiling.</td> |
| 910 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to an empty value. For the nominated configuration | 910 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to an empty value. For the nominated configuration |
| 911 | * option, an empty value is not allowed. Define the nominated setting to a correct non-blank value and try again.</td> | 911 | * option, an empty value is not allowed. Define the nominated setting to a correct non-blank value and try again.</td> |
| 912 | * </tr> | 912 | * </tr> |
| 913 | * <tr> | 913 | * <tr> |
| 914 | * <td>Error "<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>" shown when compiling.</td> | 914 | * <td>Error "<b><tt>Makefile <i>{X}</i> option must be Y or N</tt></b>" shown when compiling.</td> |
| 915 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No"). | 915 | * <td>The specified Makefile value was configured in your project's makefile or on the command line, but was set to a value other than a Y (for "Yes") or "N" (for "No"). |
| 916 | * This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td> | 916 | * This configuration option is required to be one of the aforementioned boolean values, and other values are invalid. Set this option to either Y or N and try again.</td> |
| 917 | * </tr> | 917 | * </tr> |
| 918 | * <tr> | 918 | * <tr> |
| 919 | * <td>Error "<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>" shown when compiling.</td> | 919 | * <td>Error "<b><tt>Unknown input source file formats: <i>{X}</i></tt></b>" shown when compiling.</td> |
| 920 | * <td>The nominated source files, specified in your project's makefile in the <tt>SRC</tt> configuration option, has an extension that the LUFA build system does not | 920 | * <td>The nominated source files, specified in your project's makefile in the <tt>SRC</tt> configuration option, has an extension that the LUFA build system does not |
| 921 | * recognise. The file extensions are case sensitive, and must be one of the supported formats (<tt>*.c</tt>, <tt>*.cpp</tt> or <tt>*.S</tt>).</td> | 921 | * recognise. The file extensions are case sensitive, and must be one of the supported formats (<tt>*.c</tt>, <tt>*.cpp</tt> or <tt>*.S</tt>).</td> |
| 922 | * </tr> | 922 | * </tr> |
| 923 | * <tr> | 923 | * <tr> |
| 924 | * <td>Error "<b><tt>Cannot build with OBJDIR parameter set - one or more object file name is not unique</tt></b>" shown when compiling.</td> | 924 | * <td>Error "<b><tt>Cannot build with OBJDIR parameter set - one or more object file name is not unique</tt></b>" shown when compiling.</td> |
| 925 | * <td>When a project is built with a non-empty <tt>OBJDIR</tt> object directory name set, all input source files must have unique names, excluding extension and path. | 925 | * <td>When a project is built with a non-empty <tt>OBJDIR</tt> object directory name set, all input source files must have unique names, excluding extension and path. |
| 926 | * This means that input files that are named identically and differ only by their path or extension are invalid when this mode is used.</td> | 926 | * This means that input files that are named identically and differ only by their path or extension are invalid when this mode is used.</td> |
| 927 | * </tr> | 927 | * </tr> |
| 928 | * <tr> | 928 | * <tr> |
| 929 | * <td>Error "<b><tt>Source file does not exist: <i>{X}</i></tt></b>" shown when compiling.</td> | 929 | * <td>Error "<b><tt>Source file does not exist: <i>{X}</i></tt></b>" shown when compiling.</td> |
| 930 | * <td>The nominated input source file, specified in the user project's <tt>SRC</tt> parameter, could not be found. Ensure the source file exists and the absolute or | 930 | * <td>The nominated input source file, specified in the user project's <tt>SRC</tt> parameter, could not be found. Ensure the source file exists and the absolute or |
| 931 | * relative path given in the user project makefile is correct and try again.</td> | 931 | * relative path given in the user project makefile is correct and try again.</td> |
| 932 | * </tr> | 932 | * </tr> |
| 933 | * <tr> | 933 | * <tr> |
| 934 | * <td>Error "<b><tt>Doxygen configuration file <i>{X}</i> does not exist</tt></b>" shown when upgrading a Doxygen configuration file.</td> | 934 | * <td>Error "<b><tt>Doxygen configuration file <i>{X}</i> does not exist</tt></b>" shown when upgrading a Doxygen configuration file.</td> |
| 935 | * <td>The nominated Doxygen configuration file, specified in the user project's <tt>DOXYGEN_CONF</tt> parameter, could not be found. Ensure the configuration file exists | 935 | * <td>The nominated Doxygen configuration file, specified in the user project's <tt>DOXYGEN_CONF</tt> parameter, could not be found. Ensure the configuration file exists |
| 936 | * and the absolute or relative path given in the user project makefile is correct and try again, or run the appropriate makefile target to generate a new configuration | 936 | * and the absolute or relative path given in the user project makefile is correct and try again, or run the appropriate makefile target to generate a new configuration |
| 937 | * file.</td> | 937 | * file.</td> |
| 938 | * </tr> | 938 | * </tr> |
| 939 | * <tr> | 939 | * <tr> |
| 940 | * <td>Error "<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>" shown when compiling.</td> | 940 | * <td>Error "<b><tt>avr-gcc: error: unrecognized option '<i>{X}</i>'</tt></b>" shown when compiling.</td> |
| 941 | * <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration | 941 | * <td>An unrecognised option was supplied to the compiler, usually in the <tt>C_FLAGS</tt>, <tt>CPP_FLAGS</tt>, <tt>ASM_FLAGS</tt> or <tt>CC_FLAGS</tt> configuration |
| 942 | * options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or | 942 | * options. The nominated compiler switch may be invalid, or unsupported by the version of AVR-GCC on the host system. Remove the unrecognised flag if invalid, or |
| 943 | * upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td> | 943 | * upgrade to the latest AVR-GCC. If the option is a valid linker option, use the prefix "-Wl," to ensure it is passed to the linker correctly.</td> |
| 944 | * </tr> | 944 | * </tr> |
| 945 | * <tr> | 945 | * <tr> |
| 946 | * <td>Error "<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>" shown when make is invoked.</td> | 946 | * <td>Error "<b><tt>makefile:{X}: {Y}.mk: No such file or directory</tt></b>" shown when make is invoked.</td> |
| 947 | * <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or | 947 | * <td>The path to the nominated makefile module was incorrect. This usually indicates that the makefile <tt>LUFA_PATH</tt> option is not set to a valid relative or |
| 948 | * absolute path to the LUFA library core.</td> | 948 | * absolute path to the LUFA library core.</td> |
| 949 | * </tr> | 949 | * </tr> |
| 950 | * <tr> | 950 | * <tr> |
| 951 | * <td>Error "<b><tt>fatal error: LUFAConfig.h: No such file or directory</tt></b>" shown when compiling.</td> | 951 | * <td>Error "<b><tt>fatal error: LUFAConfig.h: No such file or directory</tt></b>" shown when compiling.</td> |
| 952 | * <td>The <tt>USE_LUFA_CONFIG_HEADER</tt> compile time option was set in the user project makefile, but the user supplied <tt>LUFAConfig.h</tt> header could not be | 952 | * <td>The <tt>USE_LUFA_CONFIG_HEADER</tt> compile time option was set in the user project makefile, but the user supplied <tt>LUFAConfig.h</tt> header could not be |
| 953 | * found. Ensure that the directory that contains this configuration file is correctly passed to the compiler via the -I switch in the makefile <tt>CC_FLAGS</tt> | 953 | * found. Ensure that the directory that contains this configuration file is correctly passed to the compiler via the -I switch in the makefile <tt>CC_FLAGS</tt> |
| 954 | * parameter.</td> | 954 | * parameter.</td> |
| 955 | * </tr> | 955 | * </tr> |
| 956 | * <tr> | 956 | * <tr> |
| 957 | * <td>Error "<b><tt>ld.exe: section .apitable_trampolines loaded at <i>{X}</i> overlaps section .text</tt></b>" shown when compiling a bootloader.</td> | 957 | * <td>Error "<b><tt>ld.exe: section .apitable_trampolines loaded at <i>{X}</i> overlaps section .text</tt></b>" shown when compiling a bootloader.</td> |
| 958 | * <td>The bootloader is compiling too large for the given <tt>FLASH_SIZE_KB</tt> and <tt>BOOT_SECTION_SIZE_KB</tt> parameters set in the bootloader makefile. This | 958 | * <td>The bootloader is compiling too large for the given <tt>FLASH_SIZE_KB</tt> and <tt>BOOT_SECTION_SIZE_KB</tt> parameters set in the bootloader makefile. This |
| 959 | * usually indicates that these values are incorrect for the specified device the bootloader is targeting. If these values are correct, a newer version of the | 959 | * usually indicates that these values are incorrect for the specified device the bootloader is targeting. If these values are correct, a newer version of the |
| 960 | * compiler may need to be used to ensure that the bootloader is built within the section size constraints of the target device.</td> | 960 | * compiler may need to be used to ensure that the bootloader is built within the section size constraints of the target device.</td> |
| 961 | * </tr> | 961 | * </tr> |
| 962 | * <tr> | 962 | * <tr> |
| 963 | * <td>Error "<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>" shown when compiling.</td> | 963 | * <td>Error "<b><tt>unknown MCU '<i>{X}</i>' specified</tt></b>" shown when compiling.</td> |
| 964 | * <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the | 964 | * <td>The specified microcontroller device model name set in the user application's makefile as the <tt>MCU</tt> parameter is incorrect, or unsupported by the |
| 965 | * version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td> | 965 | * version of the compiler being used. Make sure the model name is correct, or upgrade to the latest Atmel Toolchain to obtain newer device support.</td> |
| 966 | * </tr> | 966 | * </tr> |
| 967 | * <tr> | 967 | * <tr> |
| 968 | * <td>Error "<b><tt>undefined reference to `<i>{X}</i>'</tt></b>" shown when compiling.</td> | 968 | * <td>Error "<b><tt>undefined reference to `<i>{X}</i>'</tt></b>" shown when compiling.</td> |
| 969 | * <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA | 969 | * <td>This is usually caused by a missing source file in the user application's <tt>SRC</tt> configuration parameter. If the indicated symbol is one from the LUFA |
| 970 | * library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_SOURCES).</td> | 970 | * library, you may be missing a LUFA source makefile module (see \ref Page_BuildModule_SOURCES).</td> |
| 971 | * </tr> | 971 | * </tr> |
| 972 | * </table> | 972 | * </table> |
| 973 | * | 973 | * |
| 974 | * For troubleshooting other errors you encounter, please see \ref Sec_ProjectHelp. | 974 | * For troubleshooting other errors you encounter, please see \ref Sec_ProjectHelp. |
| 975 | */ | 975 | */ |
