Closed5
opensuseでarmにクロスコンパイル、qemuで実行
(以前に色々入れてたので再現性不明)
sudo zypper in cross-arm-none-gcc10
arm-none-eabi-gcc -v tmp.c -o tmp.arm.o
zypper in
qemu-arm
libusb-1_0-devel
qemu-linux-user
qemu-arm tmp.arm.o
qemu では動いたがraspiにscp
./tmp.arm.o
Illegal instruction
動かん
arm-none-eabi-gcc -v tmp.c -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard
別のtoolchainいる
いったんtargetのassemblerが見れれば良い気がするのであきらめ
arm-none-eabi-gcc -S -v tmp.c -march=armv6 -mfpu=vfpv2 -mfloat-abi=hard
scp .s pi1:
gcc tmp.s
pi@pi1:~ $ readelf -A a.out
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "6"
Tag_CPU_arch: v6
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv2
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_rounding: Needed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
このスクラップは2021/01/11にクローズされました