Vkládání konstant
Jan Waclawek
wek@evona.sk
Středa Červen 6 14:31:32 CEST 2007
Trocha sme to predebatovali s kolegami, a vysvitlo, ze avr-gcc (co je
prekladac balika WinAVR) je v tomto tak trocha kripel. Na rozdiel od
ostatnych prekladacov priamo urcenych pre jednocipy totiz nedokaze
priamo pristupit k takymto premennym (tie pridavane atributy tam len
sposobia relokaciu premennej do specialneho segmentu, t.j. v konecnom
dosledku je to len symbol pre linker). Dosledkom je, ze je potrebne vzdy
pouzit nejaku spristupnovaciu funkciu, alebo, ako v tomto pripade,
specialnu verziu funkcie (tu: printf).
Pricinou zrejme je, ze gcc je primarne urceny pre "velke" procesory
(ktore aj ked su vo forme jednocipu, su navrhovane so sirokou adresou a
teda homogennym pristupom ku vsetkym formam pamati).
Bohuzial, vyvojova vetva AVR v SDCC "zakrpatela", a tak kedze avr-gcc je
jediny open source a free C-prekladac pre AVR, tento nedostatok (ako aj
ine, napr. totalne chaoticku dokumentaciu) treba strpiet...
wek
Další informace o konferenci Hw-list