Kod kompiluje sie z warning'ami, ale poprawinie. Chcial bym sie tych dodatkow pozbyc. Wczescniej jak ta metoda robilem funkce ktora byla pozniej podpinana jako przerywanie to wszystko bylo ok, a teraz nie :/
A otrzymuje takie cos:
A jedyne o co mi chodzi z attribute by na koncu funkcji byl rozkaz RETI a nie RET :/
Wie ktos jak to poprawic?
void time_fireInt(void) __attribute__ ((signal));
// Obsluga tykniecia licznika
void time_fireInt()
{
time_statusRealTick++;
}A otrzymuje takie cos:
# Kompilacja zrodel
avr-gcc -Wall -mmcu=atmega88 -c -x assembler-with-cpp -o work/entry.o source/entry.asm
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/init.o source/init.c
#avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/ir.o source/ir.c
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/led.o source/led.c
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/core.o source/core.c
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/interrupt.o source/interrupt.c
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/engine.o source/engine.c
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/wait.o source/wait.c
In file included from source/wait.c:12:
source/time.h:14: warning: ‘time_fireInt’ appears to be a misspelled signal handler
avr-gcc -Wall -O2 -mmcu=atmega88 -c -std=gnu99 -o work/time.o source/time.c
In file included from source/time.c:11:
source/time.h:14: warning: ‘time_fireInt’ appears to be a misspelled signal handler
# Linkowanie obiektow
avr-ld -T firmware.ld -nodefaultlibs -nostartfiles -o binary/firmware.elf work/entry.o work/init.o work/led.o work/core.o work/interrupt.o work/engine.o work/wait.o work/time.o
# Tworzenie plikow wynikowych
avr-objcopy -O binary binary/firmware.elf binary/firmware.bin
avr-objcopy -O ihex binary/firmware.elf binary/firmware.hex
# Listing rozkazow procesora
avr-objdump -h -S -z binary/firmware.elf > binary/firmware.ls
# Rozmiar sekcji
avr-size binary/firmware.elf
text data bss dec hex filename
450 0 8 458 1ca binary/firmware.elf
A jedyne o co mi chodzi z attribute by na koncu funkcji byl rozkaz RETI a nie RET :/
Wie ktos jak to poprawic?
