WinAVR - mensi problemek se starup kodem
Jan Matejka
matejka@cat.cz
Středa Listopad 2 19:18:31 CET 2005
ctors je sekce obsahujici volani konstruktoru statickych objeku (zalezitost
C++).
Zkusil jsem si to. S parametry linkeru -nostartfiles,-nostdlib mi to neslo
slinkovat. Pokud jsem pouzil pouze -nostdlib tak to funguje kupodivu dobre i
bez tech nesmyslne posazenych ctor.
Aby fungoval dobre zasobnik musel jsem ho inicializovat na RAMEND nikoliv
RAMEND-1
Projektove soubory posilam soukrome
void kuk(unsigned char tt)
{PORTA = (1<<tt);
}
void xmain(void) __attribute__ ((naked)) __attribute__ ((section
(".init0")));
void xmain (void)
{unsigned char cnt;
asm volatile ( "clr __zero_reg__" ); // r1 set to 0
SPL = (RAMEND)&0xFF;
SPH = (RAMEND)>>8;
cnt=7;
do
{kuk(cnt);
} while(--cnt);
}
Další informace o konferenci Hw-list