Спасибо за помощь всем!
Я думаю, что у меня было две проблемы:
Во-первых, я не понял, что переключатели, которые я добавляю в файл build.sh, предназначены для конфигурации, поэтому я мог просто взглянутьв файл конфигурации каждого каталога RISC-V, чтобы увидеть, какие коммутаторы доступны и что они делают.
Во-вторых, я, вероятно, не позволил моим программам работать достаточно долго, потому что по сравнению с общей архитектурой это былоЭто заняло слишком много времени, и мой лог-файл стал действительно большим.
Извините, пожалуйста, за эти проблемы новичков ...
Если кому-то интересно, это то, что я сделал в конце и что сработалодля меня: я использовал набор инструкций IMA.Я не знаю, были ли мои проблемы из-за расширения C или я сделал некоторые другие ошибки.В любом случае, это то, что я использую для генерации цепочки инструментов и других инструментов RISC-V:
build_project riscv-fesvr --prefix=$RISCV
build_project riscv-isa-sim --prefix=$RISCV --with-fesvr=$RISCV --with-isa=RV64IMA
build_project riscv-gnu-toolchain --prefix=$RISCV --with-arch=RV64IMA --disable-float
CC= CXX= build_project riscv-pk --prefix=$RISCV --host=riscv64-unknown-elf
build_project riscv-tests --prefix=$RISCV/riscv64-unknown-elf
, и я компилирую и связываю с опциями:
-msoft-float -march=rv64ima
Вероятно, там должно бытьтакже можно указать опцию -mabi=lp64
, но в моей архитектуре это не поддерживается, у меня есть немного более старая версия репо ...