forked from mfulz_github/qmk_firmware
		
	Add description of AVR bootloader and boot section
This commit is contained in:
		
							parent
							
								
									6057e915b5
								
							
						
					
					
						commit
						192024124b
					
				| @ -11,12 +11,49 @@ | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| /* Boot Section Size in *BYTEs*
 | ||||
|  *   Teensy   halfKay    512 | ||||
|  *   Teensy++ halfKay    1024 | ||||
|  *   Atmel DFU loader    4096 | ||||
|  *   LUFA bootloader     4096 | ||||
|  *   USBaspLoader        2048 | ||||
| /* Bootloader Size in *bytes*
 | ||||
|  * | ||||
|  * AVR Boot section size are defined by setting BOOTSZ fuse in fact. Consult with your MCU datasheet. | ||||
|  * Note that 'Word'(2 bytes) size and address are used in datasheet while TMK uses 'Byte'. | ||||
|  * | ||||
|  * | ||||
|  * Size of Bootloaders in bytes: | ||||
|  *   Atmel DFU loader(ATmega32U4)   4096 | ||||
|  *   Atmel DFU loader(AT90USB128)   8192 | ||||
|  *   LUFA bootloader(ATmega32U4)    4096 | ||||
|  *   Arduino Caterina(ATmega32U4)   4096 | ||||
|  *   USBaspLoader(ATmega***)        2048 | ||||
|  *   Teensy   halfKay(ATmega32U4)   512 | ||||
|  *   Teensy++ halfKay(AT90USB128)   1024 | ||||
|  * | ||||
|  * | ||||
|  * AVR Boot section is located at the end of Flash memory like the followings. | ||||
|  * | ||||
|  * | ||||
|  * byte     Atmel/LUFA(ATMega32u4)          byte     Atmel(AT90SUB128) | ||||
|  * 0x0000   +---------------+               0x00000  +---------------+ | ||||
|  *          |               |                        |               | | ||||
|  *          |               |                        |               | | ||||
|  *          |  Application  |                        |  Application  | | ||||
|  *          |               |                        |               | | ||||
|  *          =               =                        =               = | ||||
|  *          |               | 32KB-4KB               |               | 128KB-8KB | ||||
|  * 0x6000   +---------------+               0x1FC00  +---------------+ | ||||
|  *          |  Bootloader   | 4KB                    |  Bootloader   | 8KB | ||||
|  * 0x7FFF   +---------------+               0x1FFFF  +---------------+ | ||||
|  * | ||||
|  * | ||||
|  * byte     Teensy(ATMega32u4)              byte     Teensy++(AT90SUB128) | ||||
|  * 0x0000   +---------------+               0x00000  +---------------+ | ||||
|  *          |               |                        |               | | ||||
|  *          |               |                        |               | | ||||
|  *          |  Application  |                        |  Application  | | ||||
|  *          |               |                        |               | | ||||
|  *          =               =                        =               = | ||||
|  *          |               | 32KB-512B              |               | 128KB-1KB | ||||
|  * 0x7E00   +---------------+               0x1FC00  +---------------+ | ||||
|  *          |  Bootloader   | 512B                   |  Bootloader   | 1KB | ||||
|  * 0x7FFF   +---------------+               0x1FFFF  +---------------+ | ||||
|  */ | ||||
| #ifndef BOOTLOADER_SIZE | ||||
| #warning To use bootloader_jump() you need to define BOOTLOADER_SIZE in config.h. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 tmk
						tmk