AVR JTAG MCU - bootloader

Miroslav Šinko sinkomiro@gmail.com
Čtvrtek Prosinec 4 02:23:50 CET 2008


Nieco som si vsimol! Ten anglicky bootloader (prvy zo stranky
http://www.scienceprog.com/build-your-own-avr-jtagice-clone/ ) zacina
na adrese 3800h (v hex subore). Pre AVR treba adresu delit 2, aby sme
vedeli, kde je to vo flash, t.j. 1C00h.
V datasheete mega16 je kapitolka "ATmega16 Boot Loader Parameters",
ktora popisuje nastavitelny zaciatok sekcie pre bootloader. Z tabulky
potom vyplyva, ze pre zaciatok na adrese 1C00h musia byt fuses BOOTSZ0
a 1 nulove, co zase podla kapitoly "Fuse Bits" znamena, ze musia byt
naprogramovane: 0 (programmed).
Na tej anglickej stranke na screenshote su oba policka BOOTSZ
zaskrtnute, co je OK. Takto som to robil a tak mi to aj funguje.

Ine bootloadery, co som videl a aj ten, ktory presiel tymto vlaknom,
zacinaju na adrese 3C00h, t.j. 1E00h vo flash. Podla tabulky v
datasheete, ak ma bootloader zacinat od tejto adresy, musia byt fuses:
BOOTSZ0 = 1 (nezaskrtnuta v PonyProgu), BOOTSZ1 = 0 (zaskrtnuta v
PonyProgu).

Ked sa opat vratime ku kapitole "Fuse Bits", je tam uvedene, ze
defaultne nastavenie fuses z vyroby je prave 0 a 0, t.j. adresa 1C00h

Nebude problem od zaciatku v tomto? Ze teda treba prestavit BOOTSZ0
pre "vacsinove" bootloadery...
Ak po resete skoci kod na default adresu bootloadera, ktora je pod
nahratym kodom, su tam po vymazani same FF FF. Ak som nieco
neprehliadol, tak takyto opkod nepatri ziadnej instrukcii, t.j.
ktovie, co chudak MCU robi..

Tu je pekny zoznam instrukcii a ich opkodov (nizsie usporiadane prave
podla opkodov: http://fruttenboel.verhoeven272.nl/AVR/index.html

miro



Další informace o konferenci Hw-list