riscv-gnu-toolchain是RISCV的交叉編譯工具鏈,在GitHub上的地址為:https://github.com/riscv-collab/riscv-gnu-toolchain,在國內Gitee上也有鏈接,每天同步一次:https://gitee.com/mirrors/riscv-gnu-toolchain。
第一步就是下載交叉編譯工具鏈:
git clone git@github.com:riscv/riscv-gnu-toolchain.git cdriscv-gnu-toolchain git submodule update --init --recursive第二步下載需要的庫文件:(我是ubuntu的環境)
sudoapt-getinstallautoconfautomakeautotools-devcurllibmpc-devlibmpfr-devlibgmp-devgawkbuild-essentialbisonflextexinfogperflibtoolpatchutilsbczlib1g-devlibexpat-dev第三步設置環境變量:
exportRISCV="your path"http://path指你自己下載的工具鏈的路徑 exportPATH=$PATH:$RISCV/bin source/etc/profile//可以讓關閉當前終端之后,設置的環境變量仍然有效第四步進行編譯:
mkdirbuild//新建一個文件夾,讓整個目錄結構更清晰一點 cd build //生成32位的編譯工具 riscv32-unknown-elf-*** ../configure --prefix=$RISCV --with-arch=rv32gc --with-abi=ilp32d make -j4 //64位的 riscv64-unknown-elf-*** ../configure --prefix=$RISCV make -j4 //64位的linux-gnu-gcc版本 ../configure --prefix=$RISCV make linux -j4以上按位數分可以編譯為32位和64位兩種,另外就是都可以編譯為elf版本和linux版本。
這個時候,你的交叉編譯工具鏈就做好了。那就寫個hello world來測試下吧。
正常編譯出來hello.o了。
因為是在ubuntu的環境下,我們是不能直接執行這個a.o的,因為他是riscv的交叉編譯工具編譯出來的。下面就安裝一下qemu這個運行環境吧。
git clone https://git.qemu.org/git/qemu.git cd qemu git submodule init git submodule update --recursiveriscv的qemu有兩種:
用戶模式,可以運行基于riscv指令集編譯的程序文件(target-list=riscv32-linux-user,target-list=riscv64-linux-user)
鏡像模擬器,可以運行基于riscv指令集編譯的linux鏡像(target-list=riscv32-softmmu,target-list=riscv64-softmmu)
因為我上面交叉編譯工具鏈就是32位的,所以qemu也使用32位的,這里要對應上,不然在qemu里面運行編譯好的結果的會報錯的。
cd qemu ./configure--target-list=riscv32-linux-user make-j4這個在編譯的時候可能會報錯,少庫啥的。 比如:
ERROR:CannotfindNinja //報上面這個錯誤可以通過 apt-get install ninja-build 解決 ERROR: glib-2.48 gthread-2.0 is required to compile QEMU //報上面這個錯誤可以通過 apt-get install libglib2.0-dev 解決總之一個原則:少啥裝啥。 下圖就是編譯好的,注意里面的路徑,我們需要qemu-riscv32這個去執行工具鏈編譯好的二進制文件。這里可以像上面一樣把他也放進環境變量里面,我們以后用起來會比較方便,不用每次都寫qemu-riscv32的路徑了。
最后就來看一下執行結果吧:
至此,RISCV的編譯和運行環境就弄好了。
-
Linux
+關注
關注
87文章
11125瀏覽量
207937 -
Ubuntu
+關注
關注
5文章
553瀏覽量
29308 -
環境搭建
+關注
關注
0文章
53瀏覽量
9027 -
RISC-V
+關注
關注
44文章
2142瀏覽量
45714
原文標題:RISC-V編譯環境搭建
文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論