ARM-OS-Dev Teil 4 – Hello World — Änderungen 9775 → 9856

Zeile 85: Zeile 85:
 
LD = /usr/cross/arm/bin/arm-unknown-linux-gnu-ld
 
LD = /usr/cross/arm/bin/arm-unknown-linux-gnu-ld
  
−
ASFLAGS = -march=armv5t
+
ASFLAGS = -march=armv5t -mfloat-abi=hard -mfpu=fpa
−
CFLAGS = -march=armv5t -O3 -ffreestanding -nostartfiles -nostdinc -nodefaultlibs -Wall -Wextra -fno-stack-protector
+
CFLAGS = -march=armv5t -O3 -ffreestanding -nostartfiles -nostdinc -nodefaultlibs -Wall -Wextra -fno-stack-protector -mfloat-abi=hard -mfpu=fpa
 
LDFLAGS = -e 0x00000000 -T link.ld
 
LDFLAGS = -e 0x00000000 -T link.ld
  
Zeile 137: Zeile 137:
  
 
Wie auch vom Kernel der x86-Reihe gibt es ein [https://gitorious.org/arm-os-dev/kernel git-Repository von diesem Kernel], in dem der Code dieser und der folgenden Teile zu finden ist. Den Code für diesen Teil findet man [https://gitorious.org/arm-os-dev/kernel/trees/e692519a643cca9a65e7c424d364a1be095b5c36 hier], [https://gitorious.org/arm-os-dev/kernel/trees/9dbeaa7b606627787e3681bb5415acd1f074ec28 hier] ist dann noch ein kprintf hinzugefügt worden.
 
Wie auch vom Kernel der x86-Reihe gibt es ein [https://gitorious.org/arm-os-dev/kernel git-Repository von diesem Kernel], in dem der Code dieser und der folgenden Teile zu finden ist. Den Code für diesen Teil findet man [https://gitorious.org/arm-os-dev/kernel/trees/e692519a643cca9a65e7c424d364a1be095b5c36 hier], [https://gitorious.org/arm-os-dev/kernel/trees/9dbeaa7b606627787e3681bb5415acd1f074ec28 hier] ist dann noch ein kprintf hinzugefügt worden.
 +
 +
''Achtung:'' Das Makefile in diesem Repository besitzt CFLAGS und ASFLAGS ohne „-mfloat-abi=hard -mfpu=fpa“. Es kann sein, dass LD sich aufgrunddessen weigert, die Objektdateien zusammenzulinken (mit einer Meldung wie „error: foo.o uses VFP instructions, whereas bar does not“). Dann müssen die genannten Optionen an CFLAGS und ASFLAGS (wie oben im Beispielmakefile gezeigt) angefügt werden.
  
 
[[Kategorie:OS-Dev_für_Einsteiger]]
 
[[Kategorie:OS-Dev_für_Einsteiger]]
 
[[Kategorie:ARM]]
 
[[Kategorie:ARM]]