IAR problema
VF
vf at elte.hu
Tue Sep 9 02:46:23 CEST 2003
Hi!
Van egy kis gondom ezzel az IAR assemblerrel.
Elso ranezesre nagyon kenyelmes hogy lefoglalja a helyet az interrupt-
vektoroknak, feltolti RETI-vel az egeszet stb...
De ma mar tobb ora fejtorest okozott.
Eloszor is az ATmega128-ban 35 vektor van, ugye? Ha mind a 35-re
rateszek egy JMP-t, akkor sir hogy nincs eleg hely a vektoroknak.
Ha az utolsot kihagyom, akkor mukodik. Ezt miert csinalja?
Masodszor nem tud olyan lokalis cimkeket mint az m68k assemblerek,
de a PUBLIC kulcsszoval nyilvanossa nem tett cimkek alapbol lokalisak
a modulban ahol definialva vannak. Gondoltam jo lesz az is, szetbontottam
az egyre terjengosebbe valo progit modulokra. Eloszor a modulokat kulon
fajlba akartam tenni, de mivel nem lehet a foprogramban olyan cimkeket
definialni, melyek az osszes fajlban ervenyesek, letettem errol.
Minden definiciot ki kellett volna raknom header fajlokba, es azokat
minden modulban, amely hasznalja, beincludolni. Gaz.
Tehat maradt az a megoldas, hogy 1 fajlban sok modul.
Ez sem mukodik. Ha a legelso modul, amely PROGRAM, tartalmaz EXTERN-nel
kivulre hivatkozasokat, szinten az interrupt-vektor szegmens betelesere
hivatkozva nem fordit. Aranyos, valami olyasmit vakeral hogy nem tud
lefoglalni 0 bajtot, mert meg legalabb 0 bajt kene. A vege nem olvashato,
levagodik a message ablakban. Ha a foprogrammal egy modulban van az
osszes fuggveny, melyre a foprogram kozvetlenul hivatkozik, es nincs
egyetlen EXTERN sem, akkor mukodik. Ugyanakkor masik modulbol tudok
hivatkozni a foprogramban PUBLIC-ca tett fuggvenyekre...
Mit rontok el, vagy a fordito hibas?
Hogy lehet letiltani az interrupt-vektorok automatikus lefoglalasat?
Az is lehet, hogy en alkalmazom rosszul ezt a modulos, szegmenses,
externes, publicos mokat, eddig meg sohasem probaltam.
A helpje nagyon gagyi, pelda assembly forrasok egyaltalan nincsenek
hozza. Mivel alapbol szar volt az ATmega128-hoz valo include fajl is
hozza, siman el tudom kepzelni hogy nem en vagyok a hulye.
Nem tud valaki segiteni? Pl egy garantaltan mukodo, szegmenses-modulos
forras jol jonne.
Ja meg valami, a default inherent beallitassal egyaltalan nem is fordit
kodot, csak a mexakitas-vektorok helyere rak RETI-t. At kell allitani
load as program-ra. Nem ertem hogy miert, elmeletileg a legelso modulom
program, annak akkor is linkelodnie kene, ha nem hivatkozik ra senki...
Valami nagyon nem franko.
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
"A lamerek egyik fo ismertetojele, hogy maniakusan felnek a virusoktol"
More information about the Elektro
mailing list