OT Tak ma ti norski studenti zasa raz vytocili...
Jaroslav Buchta
jaroslav.buchta@gmail.com
Pondělí Prosinec 1 19:29:28 CET 2008
Ja s nejnovejsim AVR studiem nemam problem, nejake starsi ovsem neumelo
uspani pocitace, to uz cely system nerozchodil, ted OK.
Ta nova syntaxe ASM ma docela blizko k C-cku, resp. da se udelat jednotny
soubor jako include do ASM a .h pro C, coz se mi libi...
Ze to neumi r00 mi je fakt uplne fuk.
S WinAVR C-ckem jsem taky max. spokojen, AVR se mi libi velmi ;-)
Udelal jsem si takovy univerzalni bootloader, ktery pouziva stejny protokol,
jako ostatni zarizeni v domacim systemy pripojenem na neco jako 1wire bus,
Takze staci otevrit NB, pripojit se k siti pres BT a prehrat firmware v
jakemkoli modulu. (Ted uz mam verzi I pro AT91SAM7xxx, ktery chci pouzit v
hlavnim ridicim modulu). A assembler pro ARM, to je dilo, 2 dny jsem se to
snazil pochopit. Ale taky zajimava rada MCU.
-----Original Message-----
From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
Behalf Of Karel Minarčík
Sent: Monday, December 01, 2008 7:08 PM
To: hw-list@list.hw.cz
Subject: OT Tak ma ti norski studenti zasa raz vytocili...
Zdravim
kratce jsem se mrkl na ten Vas kod:
mam par pripominek, nevim presne jaky ten Vas staro/novy kompiler pouzivate,
ale:
pro generovani listingu je treba to sdelit kompileru prepinacem -l, nebo v
AVRstudiu nastavit: Project >> Assembler options >> a zaskrtnout Create list
file
co se tyce r00 versus r0, neodpovim Vam presne, ale co vam brani pouzit v
celem programu misto r00 r0 ? (staci dat najit/nahradit)
Karel
bylo/bolo:
Tak som si to skusil aj s nejakym vlanajsim vydanim AVRStudia... Bleeee....
Predovsetkym, je tam novy asembler. Dokumentacia k nemu je strasna, kapitola
"known issues" nahana hrozu - len tak namatkovo: "Increment/decrement
operators (++/--) are recognized by the assembler and may cause
surprises[...]"
Uprimne, nahnevalo by ma to, ale neprekvapilo...
No ale podstatne je, ze mi to moj vcerajsi zdrojak - ktory som s tou avra
rozchodil bez problemov - neprelozilo vobec. Vyhodi jednu chybu a zdochne.
Asembler co zdochne hned po prvej chybe som videl naposledy v roku 1996, a
to som bol jeden zo spoluautorov, tak si to viete predstavit.
Ta chyba spocivala v tom, ze ja pouzivam mena registrov ako r00, r01, r02
atd. Robim to odkedy robim na AVRkach, a este nikdy som s tym problem nemal.
Je to okrem estetickosti aj prakticke - ak chcem replacnut register r1
trebars za nejake symbolicke meno, tak pri mojom zapise nemusim bojovat s
tym, ze bude replacovat aj "zaciatok" r10-r19. No ale norski studenti maju
na to iny nazor.
Tak skusam fintu ako .def r00 = r0, ale kedze v dalsom mam .def X0_0 = r00,
to mi uz nezozerie.
Ale kupodivu zozerie #define r00 r0 ... takze dopisujem dalsie #define a uz
to prelozi a aj spravne, makra su OK.
Dalsia finta je, ze nemam listing aj ked mam uvedenu direktivu .list. Znova
norski studenti nechapu, ze ak si dam namahu tam tu direktivu napisat, tak
asi ten listing chcem mat, bez ohladu na to co je nastavene v AVRStudiu (a
teda co sa odovzdava ako parameter asembleru). Nehovoriac o tom, ze ja som
vcera to vytvaranie listingu mal v projekte zakliknute, no ale to by som asi
chcel vela, prenositelnost parametrov projektu, ze?
OK, zaklikavam v projekte ze chcem listing, a pozrel som do toho listingu...
a na spodku je veleuzitocna statistika, ze kolkokrat bola ktora instrukcia
pouzita (plus ze ake percento zo vsetkych instrukcii vyuzivam), a kolkokrat
ktory register... To je kvoli nejakej direktive EU, ze sa musia programy
pisat tak, aby sa procesor opotrebovaval rovnomerne, alebo sa to ma zaslat
statistickemu uradu?
Este som si pre uplnost som sa prepol do "stareho" asemblera (ale novsia
verzia ako mam doma), tomu sice tie #define kupodivu nevadili, ale ich aj
ignoroval, a zato mu tie r0x vadili, takze som ich prepisal rucne a
prelozilo to spravne, makra boli OK.
Ja som uz asi fakt stary ufrflanec, ze mi taketo malickosti vadia, ze?
wek
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list