Bootloader v mikrokontrolérech AVR

Transkript

Bootloader v mikrokontrolérech AVR
Bootloader v mikrokontrolérech AVR
Slinták Vlastimil
uArt.cz
http://uart.cz
29. listopad 2012
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
1 / 17
Obsah
1
Úvod
2
Základnı́ informace
3
Použitı́
4
Závěr
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
2 / 17
Úvod
Co to je bootloader?
Bootloader = zavadeč,
umožňuje zapisovat do paměti FLASH a EEPROM,
využı́vá instrukce SPM (Store Program Memory),
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
3 / 17
Úvod
K čemu je bootloader?
Umožňuje měnit program bez externı́ho programátoru,
zrychlı́ vývoj (neprogramuje se celá FLASH ale jen část),
umožnı́ update aplikace v běžı́cı́m zařı́zenı́.
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
4 / 17
Základnı́ informace
Která AVR podporujı́ bootloader?
ATmega i ATtiny s dostatkem paměti,
ATmega8, ATmega**8, ATmega**4,
ATtiny**1, ATtiny**3,
(obecně všechna AVR s instrukcı́ SPM).
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
5 / 17
Základnı́ informace
Jak funguje instrukce SPM?
Pracuje po stránkách,
k tomu využı́vá page buffer,
registr Z a
registry R0 a R1.
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
6 / 17
Základnı́ informace
Registr SPMCR
Bit 7
SPMIE
Slinták Vlastimil (uArt.cz)
Bit 0
RWWSB
-
RWWSRE
BLBSET
Bootloader v AVR
PGWRT
PGERS
SPMEN
29. listopad 2012
7 / 17
Základnı́ informace
Rozdělenı́ paměti
Flash Memory
Page 13
Application Section
Page 14
32, 64 or 128
Words
Page 15
Page 16
Boot Loader Section
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
8 / 17
Základnı́ informace
Rozdělenı́ paměti
Flash Memory
RWW Section
Boot Loader Alternatives
NRWW Section
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
9 / 17
Základnı́ informace
Rozdělenı́ paměti
Read-While-Write
(RWW) Section
Z-pointer
Addresses RWW
Section
Z-pointer
Addresses NRWW
Section
No Read-While-Write
(NRWW) Section
CPU is Halted
During the Operation
Code Located in
NRWW Section
Can be Read During
the Operation
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
10 / 17
Základnı́ informace
Rozdělenı́ paměti v ATMega1284
Boot size
Boot loader
flash section
End application
section
Boot reset
address
(start boot
loader section)
0xFE00
BOOTSZ1
BOOTSZ0
1
1
512 words
4
0x0000 - 0xFDFF
0xFE00 - 0xFFFF
0xFDFF
1
0
1024 words
8
0x0000 - 0xFBFF
0xFC00 - 0xFFFF
0xFBFF
0xFC00
0
1
2048 words
16
0x0000 - 0xF7FF
0xF800 - 0xFFFF
0xF7FF
0xF800
0
0
4096 words
32
0x0000 - 0xEFFF
0xF000 - 0xFFFF
0xEFFF
0xF000
Slinták Vlastimil (uArt.cz)
Pages
Application
flash section
Bootloader v AVR
29. listopad 2012
11 / 17
Základnı́ informace
Překlad pomocı́ GCC
avr-gcc ... -Wl,--section-start=.text=0xFC00 ...
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
12 / 17
Základnı́ informace
Hex soubor od adresy 0xFC00
:10FC0000CF92DF92EF92FF920F931F93CF93DF93E8
:10FC1000DA01DFB6F894F999FECF23E0FB01809377
:10FC20005B0020935700E89507B600FCFDCF9B01D1
:10FC3000AC0100E010E0CC24C394EC911196FC9050
:10FC40001197EE24E701CE0FD11D12960E01F90196
...
:06FD100000C00000EBCF73
:040000030000FC00FD
:00000001FF
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
13 / 17
Použitı́
ATMega328 a UART bootloader
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
14 / 17
Použitı́
Fantasii se meze nekladou. . .
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
15 / 17
Použitı́
Fantasii se meze nekladou. . .
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
16 / 17
Závěr
Děkuji za pozornost
Slinták Vlastimil (uArt.cz)
Bootloader v AVR
29. listopad 2012
17 / 17

Podobné dokumenty

nz06_mont_navod_1.1

nz06_mont_navod_1.1 b. PonyProg připojit na LPT port a zapojit napájení c. zdroj připojit na externí zdroj 28V s proudovým omezením max. 0,5A d. připojit na systémový konektor vlevo od AtMegy u krystalu 16MHz e. správ...

Více

Mikroprocesorová technika, prednáška c. 6

Mikroprocesorová technika, prednáška c. 6 Funkce, struktura a provedenı́ pomocných obvodů Napájenı́, hodinový signál, obvod reset Zámkové bity, propojky Vnitřnı́ struktura a využı́tı́ základnı́ch perifériı́ Vstupně/výstupnı́ p...

Více

ridici jednotka

ridici jednotka magnetických čidel je asi 12 V, proto i napájení řídicí jednotky by mělo být 12 V. Proudové odběry jednotky se pohybují řadově kolem 500 mA v závislosti na vytížení sběrnice RS-485, podsvícení disp...

Více

Foto - Vojtěch Myslivec

Foto - Vojtěch Myslivec MODERNIZACE VÝUKY SPŠ A VOŠ PÍSEK S PODPOROU POLYTECHNICKÉHO VZDĚLÁVÁNÍ MLÁDEŢE - CZ.1.07/1.1.10/01.0079

Více

Web51-C - první kroky

Web51-C - první kroky Programování paměti FLASH a EEPROM se provádí metodou ISP přes sériový port mikroprocesoru viz kapitola „Programování firmwaru do modulu Charon I“. Tato metoda nevyžaduje žádný další podpůrný hardw...

Více

31 SCS - České vysoké učení technické v Praze

31 SCS - České vysoké učení technické v Praze čtení a zápis do paměti EEPROM jsou popsány v kapitole 5.2) pomocí procedury EER a porovná ji s maximálním krokem, který je po inicializaci uložen v registru R17(MAX). Tato hodnota definuje maximál...

Více