Cteni EEPROM u T89C51RD2
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Středa Leden 22 05:39:36 CET 2014
naked funkce by proste mela byt hola funkce, prekladac by nemel pridat
do funkce nic, zadna inicializace a uhovani registru.... to musi
zajistit programator sam.
Je velmi dobre a casto to delam, podivat se, jaky ASM z prekladace
vypadne, treba v debuggeru pri ladeni kodu.
Dne 21.1.2014 21:49, Andrej Jancura napsal(a):
> Dobry vecer,
>
> nie je nahodou direktiva __naked na to, aby kompilator nepredaval
> parametre v pracovnych registroch pri call-return z funkcii? Nieco
> take sa mi zda, ze bolo aj v keili, ale je to uz velmi davno co som s
> tym robil, takze sa mozem aj mylit.
>
> A.
>
>
> 2014/1/21 Jirka Mww <jirka.mww na gmail.com <mailto:jirka.mww na gmail.com>>
>
> Tak jsem zrusil oznaceni __naked u prerusovaci procedury a SDCC
> korektne
> priradi urcenou registrovou banku podle parametru __using. Je to
> pomerne intelignetni,
> neuklada to na stack registry, ktere nejsou potreba, takze celkovy
> kod neni
> delsi nez muj puvodni s __naked. Byla to pro mne zajimava
> zkusenost, hrabat se
> v ASM kodu, vytvorenem prekladacem. Nikdy driv jsem to nepotreboval.
> Budto jsem psal primo v assembleru a nebo jsem veril tomu, co
> prekladac udela.
>
> Diky za konzultace, povazoval bych to zatim za vyresene.
>
>
>
> Dne 21. ledna 2014 17:55 Jirka Mww <jirka.mww na gmail.com
> <mailto:jirka.mww na gmail.com>> napsal(a):
>
> Dobrý den,
>
> tak po tom zákazu přerušení během čtení EEPROM to přežilo celý
> den,
> což se před tím nikdy nestalo. Chyba je evidentně někde
> tady. Večer se na to podívám, teď jsem přišel z práce.
>
> Překladači je úplně jedno, jestli tam ty závorky za
> __interrupt a __using jsou nebo ne, přeloží to úplně stejně.
> Jakmile tam je __naked, tak to informaci o registrové bance
> ignoruje, prostě tam dá jen to, co je
> v kódu, v mém případě je celý kód přerušení v assembleru a
> zkopíruje to tam 1:1. Co bych taky čekal, že ?.
> Někde by mělo být ale napsané ,že pokud použiji __naked, tak
> nemůžu nic čekat. Je to logické, ale není to
> úplně zřejmé.
>
>
>
> 2014/1/21 Jan Waclawek <konfera na efton.sk
> <mailto:konfera na efton.sk>>
>
> >Zajimave je, ze v navodu se pise, ze to ma byt takto :
> >void timer_isr (void) __interrupt (1) __using (1)
> >a ja tam ty zavorky za interrupt a using nemam - bylo to
> takto ve stare
> >verzi,
> >ale prekladac zadnou chybu nehlasi.
>
> A prelozi dobre?
>
> >Divam se do kodu v assembleru a zacinam tomu zase rozumet.
> >To p?erušení od SW UARTu mám napsané v assembleru a
> oznacene jako
> >__naked . Prestoze tam mam i using 1 , tak to prepnuti
> registrove banky
> >ignoruje,
> >V assembleru tam nic neni, na rozdil od ostatnich preruseni.
> >Je to hloupe, ze prekladac akceptuje to using 1 a zaroven
> to naked.
>
>
> Tak to je fakt hlupe. Chcelo by to asi reportnut. Pozriem
> sa na to, ak bude
> cas.
>
> wek
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> <http://www.HW.cz>
> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> --
> Zdravi
> Jirka OK1MWW
>
>
>
>
> --
> Zdravi
> Jirka OK1MWW
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
---
Tato zpráva neobsahuje viry ani jiný škodlivý kód - avast! Antivirus je aktivní.
http://www.avast.com
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140122/a5b8e23c/attachment-0001.html>
Další informace o konferenci Hw-list