Стырил я syscalls.c, serials.h, serials.c с рабочего примера, который шел с WinARM. Пример называется at91sam7s64_Hello, сунул в свой проект:
arm-elf-as -Wa -amhls=out/Cstartup.lst -ahls -mapcs-32 source/Cstartup.s -o out/Cstartup.o
arm-elf-gcc -c -MD -O0 source/adc.c -o out/adc.o
arm-elf-gcc -c -MD -O0 source/Cstartup_SAM7.c -o out/Cstartup_SAM7.o
arm-elf-gcc -c -MD -O0 source/int.c -o out/int.o
arm-elf-gcc -c -MD -O0 source/Keyboard.c -o out/Keyboard.o
arm-elf-gcc -c -MD -O0 source/main.c -o out/main.o
arm-elf-gcc -c -MD -O0 source/serial.c -o out/serial.o
arm-elf-gcc -c -MD -O0 source/syscalls.c -o out/syscalls.o
arm-elf-gcc -c -MD -O0 source/timers.c -o out/timers.o
arm-elf-ld -TAT91SAM7S64-ROM.ld -Map=out/mit.map -lc out/Cstartup.o out/adc.o out/Cstartup_SAM7.o out/int.o out/Keyboard.o out/main.o out/serial.o out/syscalls.o out/timers.o -o out/mit.out
out/main.o: In function `main':
main.c:(.text+0x7c8): undefined reference to `iprintf'
make: *** [out/mit.out] Error 1
хобанца а вот так получилось)):
arm-elf-as -Wa -amhls=out/Cstartup.lst -ahls -mapcs-32 source/Cstartup.s -o out/Cstartup.o
arm-elf-gcc -c -MD -O0 source/adc.c -o out/adc.o
arm-elf-gcc -c -MD -O0 source/Cstartup_SAM7.c -o out/Cstartup_SAM7.o
arm-elf-gcc -c -MD -O0 source/int.c -o out/int.o
arm-elf-gcc -c -MD -O0 source/Keyboard.c -o out/Keyboard.o
arm-elf-gcc -c -MD -O0 source/main.c -o out/main.o
arm-elf-gcc -c -MD -O0 source/serial.c -o out/serial.o
arm-elf-gcc -c -MD -O0 source/syscalls.c -o out/syscalls.o
arm-elf-gcc -c -MD -O0 source/timers.c -o out/timers.o
arm-elf-gcc -Wl,-TAT91SAM7S64-ROM.ld,-Map=out/mit.map,--cref -lc -lm -lc -lgcc out/Cstartup.o out/adc.o out/Cstartup_SAM7.o out/int.o out/Keyboard.o out/main.o out/serial.o out/syscalls.o out/timers.o -o out/mit.out
arm-elf-objcopy --output-target=binary out/mit.out out/mit.bin
arm-elf-gcc out/Cstartup.o out/adc.o out/Cstartup_SAM7.o out/int.o out/Keyboard.o out/main.o out/serial.o out/syscalls.o out/timers.o -mcpu=arm7tdmi -nostartfiles -TAT91SAM7S64-ROM.ld -Wl,--no-warn-mismatch -o out/mit.elf
arm-elf-size out/mit.out
text data bss dec hex filename
20336 2176 100 22612 5854 out/mit.out
Только исходник вырос на 17 кБ