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