Cteni EEPROM u T89C51RD2

Andrej Jancura aj.hwlist na gmail.com
Úterý Leden 21 21:49:04 CET 2014


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>

> 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> 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>
>>
>>> >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
>>> 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
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140121/29a6d80f/attachment.html>


Další informace o konferenci Hw-list