[elektro] Atmega 168 Bootloader helyhiány

Acs Gabor agabor at electrodesign.hu
Wed Nov 12 14:24:04 CET 2008


Csak a partszélről szóltam, az én PIC (C) fordítómban van


Gábor

----- Original Message ----- 
From: "Kardos Péter" <chiplev at freemail.hu>
To: <elektro at tesla.hu>
Sent: Tuesday, November 11, 2008 8:50 PM
Subject: Re: [elektro] Atmega 168 Bootloader helyhiány


Szia!

Köszönöm a válaszod ezeket már mind használom és használnám csak az a
gond hogy a bootloader kód olyan nagy lett hogy már nem fér bele a
Bootloader területre és emiatt kellene segítség, hogy akkor hogyan
tudnám valahogy megoldani vagy például a bootloader interrupt vektorait
átcímezni? mert ha azt adom meg a fordítónak hogy 0x1C00 (ez az eredeti
bootloader kezdő cím) helyett 0x1800 ról indul a programmemória terület
akkor az a gond hogy a fodító az interruptvektorokat is az 0x1800 tól
kezdi kiosztani. :(((

Egy korábbi levélre a válasz:
Az ORG# -et nem tudom hogy kell használni a fodító nem tudja értelmezni,
de ezt már jobban:
     asm volatile(".org 0x1c00"); de ez nem sokat segít a problémámon :(

Üdv:

Péter

Lukács Ákos írta:
> 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]
>>
>>
> -----------------------------------------
>           elektro[-flame|-etc]
>
>
>

-----------------------------------------
          elektro[-flame|-etc]

 _____________ NOD32 3600 (20081110) Információ _____________

Az üzenetet a NOD32 antivirus system megvizsgálta.
http://www.nod32.hu




More information about the Elektro mailing list