<div dir="ltr"><div><div><div><div><div><div><div><div>No jo, pro vás je to známá chyba, ale mě to stálo skoro dva dny života ((::<br></div>Teď se pustím do toho make, nebyl jsem doma. <br><br></div>Ano souhlasím s vámi, 8051 je architektura, vhodná pro mikrokontroler.<br>
</div>Je ale otázka, jestli se mikrokontrolery maji programovat v Cčku. <br></div>Když jsem tady byl zoufalý z té chyby a pořád jsem se soustřeďoval na ty<br></div>procedury okolo EEPROM, tak jsem nakonec studoval i asm file, jak že se to v tom<br>
starém SDCC přeložilo. Když jsem viděl , kolik instrukcí je potřeba na vyzvednutí<br> jednoho byte z EEPROM, kde by v assembleru stačily tak asi čtyři , tak jsem zíral.<br></div>V assembleru 8051 jsem programoval asi tři roky v letech 1985 - 1989, takže<br>
trochu mi to v paměti zůstalo.<br><br></div>Ten můj současný projekt, který upravuji, má jen asi 1050 řádků, takže je pro 8051<br></div>určitě vhodný. Nebýt té potřeby přestěhovat to na NB s W7/64, už to mohlo <br>být tři dny hotové.<br>
<div><div><br></div><div>Díky všem za pomoc, bez vás bych to asi neprolomil.<br></div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/4 Jan Waclawek <span dir="ltr"><<a href="mailto:konfera@efton.sk" target="_blank">konfera@efton.sk</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Aha, to je znama chyba<br>
<a href="https://sourceforge.net/p/sdcc/bugs/2059/" target="_blank">https://sourceforge.net/p/sdcc/bugs/2059/</a><br>
aj ked by bolo treba asi k tomu bugu reportovat, ze to hlasi zle cislo<br>
riadku.<br>
<br>
Faktom je, ze takto by som to ja osobne nikdy neinicializoval a dovolene je<br>
to len vdaka explicitnej vynimke v norme, ktora zrejme v sdcc nie je<br>
implementovana. Zase berte do uvahy, ze na rozdiel od GCC, SDCC udrziavaju<br>
dohromady 4 ludia, vsetko amateri (pozor, rozhodne nie diletanti - len su<br>
to ludia ktori su normalne zamestnani a sdcc je ich konicek). Viacmenej je<br>
zazrak, ze to funguje tak, ako to funguje.<br>
<br>
S tym make, skuste z cmd v danom adresari spustit samotne make, pripadne<br>
make -f Makefile<br>
<br>
Ak to ani tak nepojde, skuste spustit<br>
<br>
make -d >xxx.txt<br>
<br>
a poslite obsah xxx.txt<br>
<br>
A nedokazem si odpustit :-) : '51 je najuzasnejsia architektura pre<br>
8-bitovy mikrokontroler, ktora poskytuje maximum uzitkovej hodnoty za<br>
minimalnu cenu (pocet hradiel/plocha kremika), a pouziva sa dodnes v<br>
stovkach aplikacii a v stovkach milionov kusov na miestach, o ktorych<br>
vacsina ludi aj od fachu vobec ani netusi. Problemom je, ak sa pouzije<br>
sposobom, na ktory urceny nebol (privelke projekty - toto sa stavalo v<br>
minulosti kvoli lahkej dostupnosti a moznosti pripajat externe pamate).<br>
Druhym "problemom" je, ze ta architektura nie je trivialna a treba ju<br>
nastudovat a pochopit, a tak ju aj potom pouzivat.<br>
<br>
wek<br>
<br>
<br>
<br>
<br>
----- Original Message ---------------<br>
>Tak na tu chybu jsem pøišel. Vùbec nešlo o tu definici pole, SDCC poslední<br>
<div class="im">>verze<br>
>nesnáší takovoto definici pole.<br>
><br>
>volatile char LED_bfr[] = {"AH 0J"};  // vystupni buffer pro 4 mistny LED<br>
><br>
</div>>Toto je na zaèátku programu a chybu to hlásilo až na posledním øádku, hned<br>
>za<br>
<div class="im">>rutinami pro ètení a zápis do EEPROM.<br>
</div>>Je to tedy klasická zxavleèená chyba se vším všudy.<br>
>Tak teï už jen ten make .<br>
<div class="HOEnZb"><div class="h5">><br>
<br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Zdravi<br>Jirka OK1MWW
</div>