RISC-V GNU Toolchain工具鏈安裝保姆級教程 Ubuntu系統親測可用 避坑指南


前言 

  本人最近在做有關RISC-V的項目開發,需要用到RISC-V下的GNU Toolchain,在安裝的過程中可以說是極其痛苦,一方面是網上的相關資料實在是少之又少,另一方面是用着僅有的資料安裝時出現了太多的問題,而解決這些問題又不知如何下手,搜也搜不到,困擾了我很久。

  在老師的幫助下,我最終通過Github上的一個項目,成功安裝上了該工具鏈,實在是不易,特此來發布一篇文章來幫助廣大同學。

安裝過程與方法

  首先給出官方倉庫的鏈接 https://github.com/riscv/riscv-gnu-toolchain

  在最開始安裝時,我先參考了這篇文章 https://blog.csdn.net/weiqi7777/article/details/88045720,然而在clone RISC-V GNU Toolchain官方倉庫時出現了各種各樣的問題,反復重試了很多次都未能解決。

  最終我在https://github.com/cliffordwolf/picorv32#linking-binaries-with-newlib-for-picorv32這個項目的README文件中找到了整個工具鏈的自動安裝腳本,省時省力。具體操作如下:

准備工作

  1)完成工具鏈的安裝之前,需要先安裝如下的包,執行下面的命令即可。

sudo apt-get install autoconf automake autotools-dev curl libmpc-dev \
            libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo \
            gperf libtool patchutils bc zlib1g-dev git libexpat1-dev

  本人在安裝時,除了在安裝texinfo這個包時出現了問題,其他包都非常順利,但最后發現即使沒有texinfo也沒有什么大礙。

  2)還需要用到picorv32這個項目中的Makefile文件,需提前下載好。

安裝

  1)cd到picorv32項目文件夾下,執行:

make download-tools

  便開始了漫長的下載過程,期間在安裝完一個子模塊后可能會卡住然后報錯,這種情況絕大多數是因為網絡原因造成的,如果失敗了可以再執行一次上述的命令,當一個子模塊安裝好,重新執行命令時會自動跳過安裝好的模塊,繼續下一個模塊的安裝,這一點還是讓我很欣慰的。

  2)在安裝完所有的模塊后,執行如下命令,便可以構建一個針對純RV32I CPU的完整工具鏈了:

make -j$(nproc) build-tools

  如果想要自定義安裝想要的ISA,可以將上述命令替換成下表中的命令,安裝的路徑默認在/opt目錄下

  回車后在命令行中輸入:y或yes或YES即可執行

  該步驟會等待得比較久,在執行的前半部分同樣會出現由於網絡問題造成的報錯,重復執行上述步驟即可,在后半部分會很順暢。

安裝結果 

  本人安裝的是RV32IM,在執行命令的目錄下生成了riscv-gnu-toolchain-riscv32im文件夾,下面包含了所有庫和工具。
 

  對應的opt目錄下便生成了riscv32im文件夾,至此,RISC-V GNU Toolchain安裝全部完成。 

 

工具鏈的使用 

  具體的使用方法可以參考B站上的這個視頻,發現它簡直是意外之喜,給了我很大的幫助,這個視頻還介紹了工具鏈的相關基礎知識,非常適合初學者學習,作為為數不多的網絡資源,簡直太寶貴了。

  這位作者安裝的是64位版本的,想安裝該版本的同學同樣可以參照這期視頻來進行安裝,同樣也是寫好的自動安裝腳本,非常方便。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM