1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openarkcompiler-incubator-mapleall

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
setup_riscv_qemu_env.md 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 3 месяцев назад 591c2a4

Настройка среды QEMU для кросс-компиляции и выполнения на RISC-V

последнее обновление: 2020-11-10

Здесь приведены пошаговые инструкции по настройке. Мы выполнили эту демонстрацию в указанной ниже среде:

Операционная система: Ubuntu 18.04.5 LTS
Ядро: 4.15.0
GCC: 7.5.0

Примечание: также работает Ubuntu 16.04.4 LTS с GCC 5.4.0.

Сборка инструментальной цепочки Linux GNU для RISC-V

  1. Обновите среду необходимыми пакетами для сборки инструментальной цепочки GNU.

     sudo apt install -y autoconf automake autotools-dev bc bison bison build-essential curl flex gawk gperf libexpat-dev libgmp-dev libmpc-dev libmpfr-dev libtool patchutils python3 texinfo zlib1g-dev
  2. Клонируйте репозиторий из gitee в локальную среду.

     git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
    
     sudo mkdir /usr/riscv64-linux-gnu
     export PATH=/usr/riscv64-linux-gnu/bin:$PATH
    
     cd riscv-gnu-toolchain/
     ./configure --prefix=/usr/riscv64-linux-gnu
     sudo make -j linux
    
     sudo ln -s /usr/riscv64-linux-gnu/sysroot/lib/ld-linux-riscv64-lp64d.so.1 /lib

Сборка QEMU

  1. Обновите среду необходимыми пакетами для сборки QEMU.

     sudo apt install -y libglib2.0-dev libpixman-1-dev pkg-config zlib1g-dev
  2. Соберите QEMU.

     cd qemu
    
     ./configure --static --disable-system --target-list=riscv64-linux-user
     make -j
    
     sudo cp riscv64-linux-user/qemu-riscv64 /usr/bin

Тестирование

  1. Подготовьте исходный файл C с содержимым ниже и назовите его hello_world.c
#include <stdio.h>

int main() {
printf("Hello World from RISC-V QEMU!\n");
return 0;
}
  1. Скомпилируйте приведённый выше пример hello-world и запустите его для развлечения.

     /usr/riscv64-linux-gnu/bin/riscv64-unknown-linux-gnu-gcc hello_world.c
     LD_LIBRARY_PATH=/usr/riscv64-linux-gnu/sysroot/lib qemu-riscv64 ./a.out

Вывод будет следующим:

    qemu $ LD_LIBRARY_PATH=/usr/riscv64-linux-gnu/sysroot/lib qemu-riscv64 ./a.out
    Hello World from RISC-V QEMU!
    qemu $

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openarkcompiler-incubator-mapleall.git
git@gitlife.ru:oschina-mirror/openarkcompiler-incubator-mapleall.git
oschina-mirror
openarkcompiler-incubator-mapleall
openarkcompiler-incubator-mapleall
dev