Я пытаюсь подписаться на этот блог , но на Windows и с последней версией Rust.Мне кажется, что правильный способ делать подобные вещи очень часто меняется с Rust, поэтому я надеюсь на современную адаптацию Windows.
То, что я до сих пор пробовал:
Я установил gcc-arm-embedded .
У меня был непроверенный частичный успех при ручной кросс-компиляции libcore, но затем я переключился на использование рекомендуемой xargo
функциональностииз которых (я читал) находится на пути к тому, чтобы быть в конечном итоге включенным в Cargo.Хотя я не очень хорошо разбираюсь в этом, я надеюсь перейти к той части, где я смогу написать / запустить код, а затем, возможно, вернусь к лучшему пониманию компиляции.
С Удивительная помощь * japaric , мне удалось заставить целевую сборку "aarch64" работать для генерации файла .o ( с данного конкретного коммита ).
И эта часть кажетсячтобы проверить:
$ file target/aarch64-raspi3-none-elf/release/deps/rust_rasp-ed0c2377e0a7df81.o
target/aarch64-raspi3-none-elf/release/deps/rust_rasp-ed0c2377e0a7df81.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not stripped
Когда я пытаюсь использовать компоновщик *1025* для встроенного инструментария GNU Arm, я получаю:
$ arm-none-eabi-gcc -O0 -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles target/aarch64-raspi3-none-elf/release/deps/rust_rasp-ed0c2377e0a7df81.o -o kernel.elf target/aarch64-raspi3-none-elf/release/deps/rust_rasp-ed0c2377e0a7df81.o: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
И подсказки в чате #rust IRC сообщили мнечто rpi3 это aarch64, а не arm, поэтому мне нужно найти компоновщик aarch64 ...