Datasheet
ATmega164A/PA/324A/PA/644A/PA/1284/P
2018 Microchip Technology Inc. Data Sheet Complete DS40002070A-page 281
Note: 1. “1” means unprogrammed, “0” means programmed.
Note: 1. “1” means unprogrammed, “0” means programmed.
26.6 Entering the Boot Loader Program
Entering the Boot Loader takes place by a jump or call from the application program. This may be initiated by a
trigger such as a command received via USART, or SPI interface. Alternatively, the Boot Reset Fuse can be
programmed so that the Reset Vector is pointing to the Boot Flash start address after a reset. In this case, the
Boot Loader is started after a reset. After the application code is loaded, the program can start executing the
application code. Note that the fuses cannot be changed by the MCU itself. This means that once the Boot
Reset Fuse is programmed, the Reset Vector will always point to the Boot Loader Reset and the fuse can only
be changed through the serial or parallel programming interface.
Note: 1. “1” means unprogrammed, “0” means programmed.
Table 26-2. Boot Lock Bit0 protection modes (application section)
(1)
BLB0 Mode BLB02 BLB01 Protection
1 1 1
No restrictions for SPM or (E)LPM accessing the Application
section.
2 1 0 SPM is not allowed to write to the Application section.
3 0 0
SPM is not allowed to write to the Application section, and
(E)LPM executing from the Boot Loader section is not allowed to
read from the Application section. If Interrupt Vectors are placed
in the Boot Loader section, interrupts are disabled while
executing from the Application section.
4 0 1
(E)LPM executing from the Boot Loader section is not allowed to
read from the Application section. If Interrupt Vectors are placed
in the Boot Loader section, interrupts are disabled while
executing from the Application section.
Table 26-3. Boot Lock Bit1 protection modes (boot loader section)
(1)
BLB1 Mode BLB12 BLB11 Protection
1 1 1
No restrictions for SPM or (E)LPM accessing the Boot Loader
section.
2 1 0 SPM is not allowed to write to the Boot Loader section.
3 0 0
SPM is not allowed to write to the Boot Loader section, and
(E)LPM executing from the Application section is not allowed to
read from the Boot Loader section. If Interrupt Vectors are
placed in the Application section, interrupts are disabled while
executing from the Boot Loader section.
4 0 1
(E)LPM executing from the Application section is not allowed to
read from the Boot Loader section. If Interrupt Vectors are
placed in the Application section, interrupts are disabled while
executing from the Boot Loader section.
Table 26-4. Boot Reset fuse
(1)
BOOTRST Reset address
1 Reset Vector = Application Reset (address 0x0000)
0 Reset Vector = Boot Loader Reset (see Table 26-10 on page 290)