Я слежу за книгой ржавчины для встроенных систем (эта глава https://rust -embedded.github.io / book / start / qemu.html )
Когда я "грузПостроить "примеры проекта, на которые есть ссылки в книге (https://github.com/rust-embedded/cortex-m-quickstart)). Я получаю много слов" Скайлейк не распознает процессор для этой цели (игнорируя процессор) "на терминале.
Выполняется"размер груза --bin app --release - -A ", как объяснено в книге, не дает того же результата, что и в главе, с которой я связан выше. Вместо этого я получаю:
app:
размер секции addr
.debug_str 11062 0x0
.debug_loc 171 0x0
.debug_abbrev 773 0x0
.debug_info 10121 0x0
.debug_ranges 40 0x0
.debug_macinfo 1 0x0
.debug_pubnames 1482 0x0
.debug_pubtypes 8247 0x0
.ARM.xtributes
.debug_frame 100 0x0
.debug_line 1048 0x0
.comment 18 0x0
Всего 33120
Tздесь нет упоминания таблицы векторов .text .rodata, .data..bss
И полученный файл не может быть загружен на доску.Поэтому я предполагаю, что он не смог выполнить кросс-компиляцию.
Редактировать: Я ничего не изменил в .cargo / config, поставляемом с проектом.Вот файл .cargo / config:
[target.thumbv7m-none-eabi]
# uncomment this to make `cargo run` execute programs on QEMU
# runner = "qemu-system-arm -cpu cortex-m3 -machine lm3s6965evb -nographic -semihosting-config enable=on,target=native -kernel"
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
# uncomment ONE of these three option to make `cargo run` start a GDB session
# which option to pick depends on your system
# runner = "arm-none-eabi-gdb -q -x openocd.gdb"
# runner = "gdb-multiarch -q -x openocd.gdb"
# runner = "gdb -q -x openocd.gdb"
rustflags = [
# LLD (shipped with the Rust toolchain) is used as the default linker
"-C", "link-arg=-Tlink.x",
# if you run into problems with LLD switch to the GNU linker by commenting out
# this line
#"-C", "linker=arm-none-eabi-ld",
# if you need to link to pre-compiled C libraries provided by a C toolchain
# use GCC as the linker by commenting out both lines above and then
# uncommenting the three lines below
# "-C", "linker=arm-none-eabi-gcc",
# "-C", "link-arg=-Wl,-Tlink.x",
# "-C", "link-arg=-nostartfiles",
]
[build]
# Pick ONE of these compilation targets
# target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+
target = "thumbv7m-none-eabi" # Cortex-M3
# target = "thumbv7em-none-eabi" # Cortex-M4 and Cortex-M7 (no FPU)
# target = "thumbv7em-none-eabihf" # Cortex-M4F and Cortex-M7F (with FPU)