搭建riscv虛擬環境可以理解為擁有兩個功能就可以了:
其一是編譯,即將c語言代碼(目前好像只支持c語言)編譯成能在riscv指令架構下運行的匯編語言和機器語言。
其二是riscv的虛擬,模擬一個riscv板,運行riscv指令,這里使用qemu。
本人環境
面對一個剛剛裝好的Ubuntu環境,首先當然是更新
sudo apt update
sudo apt upgrade
安裝編譯環境本人這里是安裝sifive的交叉編譯工具鏈
sifive官網:https://www.sifive.com/software
可根據自己操作系統找 如圖 比如我的是Ubuntu
安裝包你可以先下下來再傳到你的Ubuntu,但是云服務器有大小限制,這里就直接在命令行里下載了
為了看起來方便 我先建立了一個riscv文件夾 方法
mkdir riscv
cd riscv
然后從官網下載
wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz?_ga=2.5551280.2018998367.1669891766-2030521401.1668046281
下載好了就可以解壓
tar zxvf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz\?_ga\=2.5551280.2018998367.1669891766-2030521401.1668046281
解壓之后就多出來一個文件夾,可以把安裝包刪掉了,rm + 名稱
為方便以后,可以把文件夾名稱改短一點 ,mv 原名稱 現名
我改成了toolchain
mv riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/ toolchain
再進入toolchain文件夾之后,可以看到有 如圖
進入bin文件夾中,可以看到有很編譯工具了 如圖
這時候 我們只需設置一下環境變量 就可以直接使用這些工具了
設置環境變量
可以先進入在bin文件夾查看路徑
比如我的
然后復制路徑
vim ~/.bashrc
打開bashrc 將光標移動到最后面 按一下 “i”鍵 變成insert模式 添加內容如下 根據自己的路徑改一下 格式是 export PATH=路徑:$PATH
export PATH=/home/lighthouse/riscv/toolchain/bin:$PATH
按esc 然后 :wq 退出 要是不大會 可以自行搜索vim使用方法
然后再輸入以下指令 使環境變量生效
source ~/.bashrc
可以回到riscv文件夾路徑下 使用riscv64-unknown-elf-gcc --version
驗證是否設置成功
如圖 則表示成功
下載網址:https://download.qemu.org/
我現在的最新版本是7.1
可以右擊復制鏈接地址 再用wget方法下載 比如我的命令(注意回到riscv文件路徑,養成好習慣)wget https://download.qemu.org/qemu-7.1.0.tar.xz
同樣下載好了之后解壓
順帶刪除安裝包、改名
注意根據你的實際名稱操作~
tar xvf qemu-7.1.0.tar.xz
rm qemu-7.1.0.tar.xz
mv qemu-7.1.0/ qemu
完成后進入qemu文件夾 最后只需要安裝編譯qemu就好了
./configure
在執行的過程會碰到一些依賴包沒有報錯的情況 依次下載就好了
比如 (可以自行百度安裝方法)
以下是我安裝的一些安裝包以及方法
sudo apt-get install ninja-build
sudo apt-get install libglib2.0-dev
sudo apt-get install libpixman-1-dev
最后進入build文件夾
執行
sudo make
sudo make install
這個過程有一些些久 耐心等待就好了
結束之后 可以回到根目錄 通過qemu-riscv64 --version
驗證
如下表示成功 接下來 我用一個簡單的C語言程序 驗證環境是否搭建完成
在根目錄下 新建一個文件夾 workplace 并新建一個hello.c文件
mkdir workplace
cd workplace
touch hello.c
vim hello.c
將代碼放入
#includeint main(void){printf("hello\n");
}
分別使用進行riscv64-unknown-elf-gcc
和qemu-riscv64
編譯和執行,結果如下
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
名稱欄目:riscv虛擬環境搭建基于Ubuntu20服務器-創新互聯
分享鏈接:http://vcdvsql.cn/article40/pppho.html
成都網站建設公司_創新互聯,為您提供靜態網站、虛擬主機、品牌網站設計、搜索引擎優化、面包屑導航、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯