[elektro] Atmega 168 Bootloader helyhiány

Lukács Ákos lukrskywalkman at gmail.com
Tue Nov 11 20:15:43 CET 2008


Fusebit (BOOTRST) beállítással állíthatod, hogy a bootloader részből
induljon a program(bár gondolom ezt tudod).
Lehet külön interruptvektora a bootloadernek, és a főprogramnak is. Az, hogy
az interrupt vektor táblát a bootloader, vagy a "rendes" flash részből
veszi-e, az MCUCR regiszter IVSEL bitjével lehet állítgatni. Adatlap 60.
oldal környéke, 11.4, 11.5 rész, és a "Table 11-5. Reset and Interrupt
Vectors Placement in ATmega168".

Ákos

2008/11/11 Kardos Péter <chiplev at freemail.hu>

> Sziasztok!
>
> Már régen voltam itt tag és akkor is inkább mint olvasó, eddig PIC-ekkel
> foglalkoztam, de most már AVR-ekkel is foglakozom, és most nekem is
> szükségem van az AVR guruk segítségére. :))
>
> Atmega 168-ast használok AVR GCC fordítóval.
> Egy Bootloader programot írtam C-ben ami már nem fér bele az Atmega168
> ban meghatározott bootloader területre. :(
> Szeretném haszálni a bootloader területén a megszakításvektorokat és
> szeretném ha a uC a bootloder részről tudna indulni nem pedig a 0x0000-ról.
> És itt most nagyon elakadtam.
>
> Egyik ötletem, hogy elindul a bootloader területén a kód és a folytatása
> az előző "szegmensrészen van" de ezt hogyan lehet megadni a fordítónak???
> A másik ötletem hogy a bootloader kezdőcímétől ugrik elöbbre a tényleges
> bootloader címre de akkor még a megszakításvektorokat is át kell
> címezni. Ezt hogyan lehet?
> A harmadik ami kivitelezhető de nem ezt akarom hogy a 0x0000 címről
> indul a program egy ugróutasítással a Bootloader elejére ugrik és nem
> használok megszakításvektorokat.
> Megvalósítási ötleteket, vagy egyéb ötleteket várok.
>
> Köszönöm!
>
> Kardos Péter
>
> -----------------------------------------
>          elektro[-flame|-etc]
>


More information about the Elektro mailing list