[elektro] AVR (re)boot
vfx
info at vfx.hu
Wed Oct 17 23:58:41 CEST 2012
Hali!
> Az AVR boot része (amire a bootloaderek épülnek) képes a kovetkezõkre?
>
> - "Gyári" SPI felprogramozáskor megkapja a default Firmware-t + egy boot részt
>
> - Reset vektor a boot-ra mutat, a boot pedig átadja a vezérlést a FW-nek
>
> - Ha a FW frissebb FW-t talál az "éterben" (hogy hol, az mellékes), akkor egy byte-ot átüt az EEPROM-ban és reboot-ol
>
> - Induláskor a boot megállapítja (az átütött byte alapján), hogy neki most dolga van és letölti+beírja az új FW-t
Igen ezt mind tudja. Én úgy használom, ha a user prog update-et észlel,
akkor elugrik a BOOTrészre és megcsinálja a frissítést. Nem kell csak
ezért reboot. Hogy ne változzon a frissítõ rutin címe én az ISR tábla
mögé szoktam berakni a jmp amolyan SYStem hívásként.
> Most kezdtem el foglalkozni az AVR boot részével, de egyelõre ott akadtam
> el, hogy hiába ütöm be 0-ba a BOOTRST-t (FUSEH), ugyanúgy a 0x0000 címen
> kezdi (Mega644).
>
> BOOTSZ0=1, BOOTSZ0=1 (Boot loader: 0x7E00 - 0x7FFF)
>
> Mi egyéb furmányra kell még ügyelni?
>
Ha a bootrst és a bootsize megvan, és a boot kódot le is töltötted,
akkor és mégis a 0000-n kezd, akkor néz meg a boot kodot, hogy nem-e
egybõl 0000-ra ugrik, vagy nem állitja át az IT és reset vektorokat a
0000-ra (az IT tábla állítható SW-bõl is nem csak fuse bittel).
ÜDV. VFX.
http://www.vfx.hu
More information about the Elektro
mailing list