[elektro] Atmega 168 Bootloader helyhiány
Fuzesi Arnold
arnold.fuzesi.lista at gmail.com
Wed Nov 12 12:35:48 CET 2008
Abba hát....
Figyi, sztem itt vmi árulás van.
Belinkel vmi brutál könyvtári függvényt vagy tudjafene.
Amit írtál annak "harangoznia" kene a bootloader területen...
A.
----- Original Message -----
From: "Kardos Péter" <chiplev at freemail.hu>
To: <elektro at tesla.hu>
Sent: Wednesday, November 12, 2008 12:28 PM
Subject: Re: [elektro] Atmega 168 Bootloader helyhiány
Atmega 168-ba???
Azért különleges a soros port mert checksum számítás van benne aztán
Teljes memóriatartomány törlése funkció aztán nem csak a flasht hanem az
eeprom ot is lehessen a bootloader részből programozni.. Flash
visszaolvasás eeprom visszaolvasás... szóval egy univerzálisat írtam ami
az Atmega 128ba bele is fért de ebbe már nem fér bele. :((( Lehet hogy
túl nagyok az elvárásaim :)) De egyenlőre nem adtam fel. :)
Fuzesi Arnold írta:
> Hátööö
>
> Nekem soros port kezelés, spi kezelés, sd kartya kezeles, minimalis FAT
> kezeles, flash írás, titkosítás befért a bootloader részbe....
>
> Hmmm ennyire durva az a soros kommunikáció?!
>
> Aládolgozás: Nézegetni hogy generál kisebb kódot.... soktíz byte-okat
> lehet
> spórolni ha nem nagyvonalúskodik az ember.
> Pl egy egyszeru trukk:
>
> Ha vannak ismétlődő momentumok, akkor ugyan úgy írd egymás alá.
> Optimalizáció így tud erre egy cross call hívást csinálni, mert látja hogy
> többször szerepel ugyan az a kódrészlet.
> Azaz az egész kódot szubrutinokból összepakolni.
>
> Függetlenül attól hogy Te azt függvenybe tetted vagy sem.
> Függvényeket kerülni, vagy inline -okat használni.
> Egy db *.C forráskód, igy jobban tud optimalizálni....
> A linker file-ok ha elkészültek egy több forásos projektből azokban már
> nem
> fog, csak összefűzi és kész.
>
> Vagy:
> pl delay(50) egyik helyen.
>
> Masikon meg delay(100).
> Helyette két delay(50) delay(50) praktikusabb lehet.
>
> Vagy ugyan ez ciklusokra stb.
>
> Cross Call hívásokra koncentrálj! Ez a varázslat! Viszont ahhoz rengeteg
> stack kell, arra figyelj oda!
>
> A.
> ----- Original Message -----
> From: "Kardos Péter" <chiplev at freemail.hu>
> To: <elektro at tesla.hu>
> Sent: Wednesday, November 12, 2008 11:29 AM
> Subject: Re: [elektro] Atmega 168 Bootloader helyhiány
>
>
> Sajnos nem tudom és nincs is érteleme tovább tömöríteni mert a
> booatloader rész és a soros kommunkáció amin érkezik a leégetendő adat
> az kb 2x annyi mint a bootloader terület. :(
>
> És azt hogyan dolgozzam "alá" ??? Org direktívát hogyan lehet C ben
> használni??? nem az asm funkcióra gondolok!!! :) Vagy hol van egy jó gcc
> leírás???
>
> Üdv:
>
> Péter
>
> Fuzesi Arnold írta:
>
>> Illetve ha keves hely hijjan nem fér be, akkor érdemes jatszani a
>> fordítóval.
>> Sokat lehet gyurni ha kicsit "alá" dolgozol.
>> Ciklusok optimalizálása stb.
>>
>> Arnold
>> ----- Original Message -----
>> From: "Fuzesi Arnold" <arnold.fuzesi.lista at gmail.com>
>> To: <elektro at tesla.hu>
>> Sent: Tuesday, November 11, 2008 9:33 PM
>> Subject: Re: [elektro] Atmega 168 Bootloader helyhiány
>>
>>
>> IAR-ban siman a linker file-ban megadod h melyik szegmens meddig tart.
>> GCC eszempontbol baratibb... eziranyban keresgelj.
>>
>> Nalam is volt ilyen gond.
>> Mivel kb csak a timer IT-t hasznaltam igy a felette levo IT reszek
>> szabadok
>> lehettek a kódnak...
>>
>> Pár extra byte...épp befért így nagykinlodva, 1 byte maradt szabadon :)
>>
>> A.
>> ----- Original Message -----
>> From: "Kardos Péter" <chiplev at freemail.hu>
>> To: <elektro at tesla.hu>
>> Sent: Tuesday, November 11, 2008 3:44 PM
>> Subject: [elektro] Atmega 168 Bootloader helyhiány
>>
>>
>> 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]
>>
>>
>>
>>
>
> -----------------------------------------
> elektro[-flame|-etc]
>
> -----------------------------------------
> elektro[-flame|-etc]
>
>
>
-----------------------------------------
elektro[-flame|-etc]
More information about the Elektro
mailing list