在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

【賽昉科技昉·星光RISC-V單板計算機試用體驗】昉·星光RISC-V單板計算機上手之基礎系統(tǒng)編譯

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-15 15:21 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2280585_1_1.html

拿到昉·星光RISC-V單板計算機后,我們可以從官方直接下載對應的鏡像文件,進行燒錄。但是我們往往想稍微挑戰(zhàn)一下,從頭開始構(gòu)建系統(tǒng)。

零、學習參考網(wǎng)址:

一、需構(gòu)建部分說明:

通過《昉·星光單板計算機快速入門指南》,我們可以了解到,需要進行如下部分的構(gòu)建:

  1. 賽昉科技 固件:
    • Boot_recovery:用于恢復 SPI flash 的二進制文件
    • secondboot:第一階段 bootloader
    • ddrinit:第一階段 ddrinit
  2. Bootloader:u-boot,通用Bootloader
  3. OpenBSI:RISC-V SBI
  4. Kernel:Linux內(nèi)核
  5. Fedora:Fedora33

下面,我們就一步一步,來進行每個部分的構(gòu)建。

二、編譯環(huán)境基礎系統(tǒng)準備:

為了順利構(gòu)建上面的各個部分,我們需要在Ubuntu操作系統(tǒng)下進行各項操作。

官方推薦的是Ubuntu 18.04 LTS。雖然Canonical官方把Ubuntu 18.04 LTS的支持結(jié)束日期從2023年5月延長到2028年5月,但我選擇的是主流的版本的Ubuntu 20.04 LTS。

你可以在電腦上安裝Ubuntu 20.04 LTS,或者在虛擬機里面安裝Ubuntu 20.04 LTS(Vmware或者VirtualBox等);如果你熟悉WSL2,那么也可以在WSL2中運行Ubuntu 20.04 LTS。

我使用的是運行Docker中的Ubuntu 20.04 LTS,可以在10秒鐘之內(nèi)啟動Ubuntu 20.04 LTS基礎環(huán)境。


% docker run -it --name ubuntu ubuntu /bin/bash

進入Ubuntu 20.04 LTS基礎環(huán)境后,我們需要安裝下面的基礎組件:


# 可以執(zhí)行sudo指令,如果沒有安裝,則先安裝,否則可以跳過install sudo % apt update % apt install -y sudo % sudo apt update % sudo apt upgrade # 安裝后續(xù)操作過程中,需要的軟件 % sudo apt install -y wget % sudo apt install -y git git-lfs subversion % sudo apt install -y vim % sudo apt install -y make gcc % sudo apt install -y bison flex % sudo apt install -y gcc-riscv64-linux-gnu % sudo apt install -y libssl-dev pkg-config libncurses-dev # 設置bash為默認shell:選擇No即可 sudo dpkg-reconfigure dash # 如果沒有生成過id_rsa,則使用下面指令,并將生成的pub填寫到github對應設置中;否則不用: % ssh-keygen -t rsa

三、跨平臺預編譯環(huán)境準備:

進入Ubuntu 20.04 LTS基礎環(huán)境后,我們需要首先安裝跨平臺預編譯環(huán)境,官方提供了對應文件的下載地址: https://github.com/sifive/freedom-tools/releases/tag/v2020.12.0

從以上地址,下載如下三個壓縮包:

  • riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz
  • riscv-openocd-0.10.0-2020.12.1-x86_64-linux-ubuntu14.tar.gz
  • sdk-utilities-1.0.1-2020.12.1-x86_64-linux-ubuntu14.tar.gz

具體操作如下:


% mkdir ~/VisionFive/freedom-tools % cd ~/VisionFive/freedom-tools % 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 % wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv-openocd-0.10.0-2020.12.1-x86_64-linux-ubuntu14.tar.gz % wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/sdk-utilities-1.0.1-2020.12.1-x86_64-linux-ubuntu14.tar.gz

下載完成后,我們需要解壓,并設置對應的PATH,以備被后續(xù)操作調(diào)用:


% tar xzvf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz % tar xzvf riscv-openocd-0.10.0-2020.12.1-x86_64-linux-ubuntu14.tar.gz % tar xzvf sdk-utilities-1.0.1-2020.12.1-x86_64-linux-ubuntu14.tar.gz % echo "$(pwd)/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin:$(pwd):riscv-openocd-0.10.0-2020.12.1-x86_64-linux-ubuntu14/bin:$(pwd)/sdk-utilities-1.0.1-2020.12.1-x86_64-linux-ubuntu14/bin" # 將以上的部分的部分,按照如下設置,注意最好的:$PATH % export PATH=/root/VisionFive/freedom-tools/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin:/root/VisionFive/freedom-tools:riscv-openocd-0.10.0-2020.12.1-x86_64-linux-ubuntu14/bin:/root/VisionFive/freedom-tools/sdk-utilities-1.0.1-2020.12.1-x86_64-linux-ubuntu14/bin:$PATH # 并將上一條語句,添加到~/.bashrc的最后 % riscv64-unknown-elf-gcc -v ... gcc version 10.2.0 (SiFive GCC-Metal 10.2.0-2020.12.8)

riscv64-unknown-elf-gcc能夠成功運行,說明跨平臺預編譯設置正確,可以開始后續(xù)的操作了。

四、Boot_recovery編譯:

代碼網(wǎng)址:starfive-tech/bootloader_recovery (github.com)


# 獲取Boot_recovery對應的代碼: % cd ~/VisionFive % git clone git@github.com:starfive-tech/bootloader_recovery.git % cd bootloader_recovery % make ... Finished building target: debug/jh7100_recovery_boot.elf

顯示以上最后一條信息,表示編譯成功,debug/jh7100_recovery_boot.bin即為編譯得到的Boot_recovery文件

五、secondboot編譯:

代碼網(wǎng)址:starfive-tech/JH7100_secondBoot (github.com)


% cd ~/VisionFive % git clone https://github.com/starfive-tech/JH7100_secondBoot.git % cd JH7100_secondBoot/build % make ... riscv64-unknown-elf-objdump -S bootloader-JH7100-220515.elf > bootloader-JH7100-220515.asm

顯示以上最后一條信息,表示編譯成功,bootloader-JH7100-220515.bin.out即為編譯得到的secondboot文件。

六、ddrinit編譯:

代碼網(wǎng)址:starfive-tech/JH7100_ddrinit (github.com)


% cd ~/VisionFive % git clone https://github.com/starfive-tech/JH7100_ddrinit.git % cd JH7100_ddrinit/build % make ... riscv64-unknown-elf-objdump -S ddrinit-2133-220515.elf > ddrinit-2133-220515.asm

顯示以上最后一條信息,表示編譯成功,ddrinit-2133-220515.bin.out即為編譯得到的ddrinit文件。

七、u-boot編譯:

代碼網(wǎng)址:starfive-tech/u-boot (github.com)


# 首先檢查riscv64-linux-gnu-gcc能否正常運行 顯示以上最后一條信息,表示能夠正常運行,可以繼續(xù)操作了。 % cd ~/VisionFive % git clone https://github.com/starfive-tech/u-boot % cd u-boot % make starfive_jh7100_visionfive_smode_defconfig ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- % make u-boot.bin u-boot.dtb ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- ... CAT u-boot-dtb.bin COPY u-boot.bin

顯示以上最后兩條信息,表示編譯成功,u-boot.dtb、u-boot.bin即為編譯得到的u-boot文件,將會用于后續(xù)的OpenSBI編譯。

八、OpenBSI編譯:

代碼地址:riscv-software-src/open***i: RISC-V Open Source Supervisor Binary Interface (github.com)


% cd ~/VisionFive % git clone https://github.com/riscv/open***i.git % make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- PLATFORM=generic FW_PAYLOAD_PATH=~/VisionFive/u-boot/u-boot.bin FW_FDT_PATH=~/VisionFive/u-boot/u-boot.dtb ... OBJCOPY platform/generic/firmware/fw_payload.bin

顯示以上最后一條信息,表示編譯成功,build/platform/generic/firmware/fw_payload.bin即為編譯得到的openbsi文件。

但是這個文件大于2M,還需要進行一些處理,才可以使用,具體操作如下:


% mkdir ~/VisionFive/payload % cp -a build/platform/generic/firmware/fw_payload.bin ~/VisionFive/payload/ % cd ~/VisionFive/payload % svn export https://github.com/starfive-tech/freelight-u-sdk.git/branches/starfive/fsz.sh % chmod +x fsz.sh % ./fsz.sh fw_payload.bin fw_payload.bin.out inFile: fw_payload.bin inSize: 3022552 (0x002e1ed8, LE:0xd81e2e00) outFile: fw_payload.bin.out outSize: 3022556 (0x002e1edc)

調(diào)用fsz.sh處理fw_payload.bin后,顯示如上信息,表示處理成功,fw_payload.bin.out即為實際需要使用的文件。

九、編譯Linux 內(nèi)核:

代碼網(wǎng)址:starfive-tech/linux (github.com)


% cd ~/VisionFive % git clone https://github.com/starfive-tech/linux % cd linux % make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv visionfive_defconfig % make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv menuconfig % make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv -j2 ... Kernel: arch/riscv/boot/Image.gz is ready

iShot_2022-05-15_23.11.54.png

顯示以上最后三條信息,表示編譯成功,arch/riscv/boot/Image.gz即為內(nèi)核文件,arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dtd即為需要的dtb文件。

十、使用:

通過以上的步驟,我們就能夠編譯得到所需要的如下文件:

  1. 賽昉科技 固件:
    • Boot_recovery:用于恢復 SPI flash 的二進制文件
    • secondboot:第一階段 bootloader
    • ddrinit:第一階段 ddrinit
  2. Bootloader:u-boot,通用Bootloader
  3. OpenBSI:RISC-V SBI
  4. Kernel:Linux內(nèi)核

recovery_boot、secondboot、ddrinit的燒錄,可以使用JH7100-tools進行。該工具需要在Linux上使用。

代碼倉庫:kprasadvnsi/JH71xx-tools: Bootloader recovery and updater tool for StarFive JH71x0 SoCs. (github.com)


cd ~/VisionFive git clone git@github.com:kprasadvnsi/JH71xx-tools.git cd JH71xx-tools gcc -o jh7100-recover jh7100-recover.c ./jh7100-recover Need serial device path. Usage: ./jh7100-recover [OPTION]... -D, --device : Serial tty device path. -r, --recovery : Bootloader recovery firmware. -b, --bootloader : Second stage bootloader. -d, --ddrinit : DRAM initialization firmware. -h, --help : Show this help.

編譯成功后,將會生成jh7100-recover,該工具將會用于recovery_boot、secondboot、ddrinit的燒錄。
iShot_2022-05-16_10.11.33.png

其調(diào)用參數(shù)如下:

  • -D 指定串口設備,使用USB轉(zhuǎn)串口轉(zhuǎn)換器的跳線連接到昉·星光的 40-Pin GPIO Header 上
  • -r Boot_recovery編譯結(jié)果文件
  • -b secondboot編譯結(jié)果文件
  • -d ddrinit編譯結(jié)果文件

# 將之前生成的文件集中到一起 mkdir ~/VisionFive/images cp -a ~/VisionFive/debug/jh7100_recovery_boot.bin ~/VisionFive/images/ cp -a ~/VisionFive/JH7100_secondBoot/build/bootloader-JH7100-220515.bin.out ~/VisionFive/images/ cp -a ~/VisionFive/JH7100_ddrinit/build/ddrinit-2133-220515.bin.out ~/VisionFive/images/ # 更新第一階段 bootloader ./jh7100-recover -D /dev/ttyUSB0 -r ~/VisionFive/images/jh7100_recovery_boot.bin -b ~/VisionFive/images/bootloader-JH7100-220515.bin.out # 更新DRAM初始化固件 ./jh7100-recover -D /dev/ttyUSB0 -r ~/VisionFive/images/jh7100_recovery_boot.bin -d ~/VisionFive/images/ddrinit-2133-buildroot.bin.out # 同時更新第二階段引導加載程序和DRAM初始化固件 ./jh7100-recover -D /dev/ttyUSB0 -r ~/VisionFive/images/jh7100_recovery_boot.bin -b ~/VisionFive/images/bootloader-JH7100-220515.bin.out -d ~/VisionFive/images/ddrinit-2133-220515.bin.out

以上的具體操作,可參考:《昉·星光單板計算機快速入門指南》。如果Bootlaber不慎損壞,我們也可以參考《昉·星光單板計算機快速入門指南》進行Boot_recovery恢復了。 參考《昉·星光單板計算機軟件技術(shù)參考手冊》,我們可以更新Kernel以及內(nèi)核模塊了!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RISC-V
    +關注

    關注

    45

    文章

    2277

    瀏覽量

    46159
  • 賽昉科技
    +關注

    關注

    3

    文章

    153

    瀏覽量

    14279
收藏 人收藏

    評論

    相關推薦

    科技亮相世界互聯(lián)網(wǎng)大會,精彩呈現(xiàn)RISC-V創(chuàng)新成果

    豐富的RISC-V創(chuàng)新成果,包括·驚鴻-7110(JH-7110)RISC-V應用處理器,·星光2(VisionFive2)
    的頭像 發(fā)表于 11-28 15:14 ?338次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技亮相世界互聯(lián)網(wǎng)大會,精彩呈現(xiàn)<b class='flag-5'>RISC-V</b>創(chuàng)新成果

    預售啟動!·星光 2 AI套件正式發(fā)布,基于RISC-V構(gòu)建AI算力

    10月24日,·星光2(VisionFive2)AI套件正式開啟預售。該套件由中國RISC-V軟硬件生態(tài)領導者科技攜手邊緣人工智能(A
    的頭像 發(fā)表于 10-25 08:05 ?226次閱讀
    預售啟動!<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2 AI套件正式發(fā)布,基于<b class='flag-5'>RISC-V</b>構(gòu)建AI算力

    Ubuntu現(xiàn)已適配RISC-V單板計算機Milk-V Mars

    近期,Canonical宣布優(yōu)化的Ubuntu24.04鏡像已可用于RISC-V單板計算機Milk-VMars。Milk-VMars由深圳市群芯閃耀科技有限公司(Milk-V)設計并推出,搭載
    的頭像 發(fā)表于 06-12 08:19 ?464次閱讀
    Ubuntu現(xiàn)已適配<b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機</b>Milk-<b class='flag-5'>V</b> Mars

    暢玩·星光 2|手把手教你搭建基于RISC-V的家用NAS

    方案。通過科技與開源社區(qū)的共同努力,·星光2(VisionFive2)RISC-V單板計算機
    的頭像 發(fā)表于 06-04 08:19 ?953次閱讀
    暢玩<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2|手把手教你搭建基于<b class='flag-5'>RISC-V</b>的家用NAS

    信用卡大小的 RISC-V 單板計算機介紹

    信用卡大小的 RISC-V 單板計算機 —— Mars Mars 由深圳市群芯閃耀科技有限公司(Milk-V)設計并推出,搭載科技
    發(fā)表于 04-12 16:39

    科技為RISC-V人才培育賦能

    中國RISC-V軟硬件生態(tài)領導者,科技受邀在峰會發(fā)表主題演講,并正式加入RISC-V國際人才培養(yǎng)認證中心。
    的頭像 發(fā)表于 04-02 08:18 ?508次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技為<b class='flag-5'>RISC-V</b>人才培育賦能

    科技VisionFive 2生態(tài)進展雙周報(2.1-2.29)

    Image for VisionFive 2) 社區(qū)開發(fā)者發(fā)布4篇【·星光 2高性能RISC-V單板計算機體驗】系列文章,內(nèi)容包括:為Ubuntu安裝Docker及常用軟件;以容器
    發(fā)表于 02-29 15:45

    RISC-V智能化網(wǎng)絡解決方案|科技·星光 2成功運行OpenWrt

    。近期,科技在·星光2(VisionFive2)RISC-V單板計算機上成功運行OpenW
    的頭像 發(fā)表于 02-23 08:18 ?678次閱讀
    <b class='flag-5'>RISC-V</b>智能化網(wǎng)絡解決方案|<b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2成功運行OpenWrt

    ·星光 2 高性能RISC-V單板計算機體驗】以容器的方式安裝 HomeAssistant

    ·星光 2 高性能RISC-V單板計算機體驗】以容器的方式安裝 HomeAssistant 下載并啟動容器 HomeAssisatant 官方并沒有提供基于
    發(fā)表于 02-21 18:07

    ·星光 2 高性能RISC-V單板計算機體驗】為 Ubuntu 安裝 Docker 及常用軟件

    ·星光 2 高性能RISC-V單板計算機體驗】為 Ubuntu 安裝 Docker 及常用軟件 目的 為了更好的利用星光2,決定使用容器
    發(fā)表于 02-21 17:54

    ·星光 2 高性能RISC-V單板計算機體驗】VisionFive2開箱+安裝Ubuntu

    ·星光 2 高性能RISC-V單板計算機體驗】VisionFive2開箱+安裝Ubuntu 前言 很感謝
    發(fā)表于 02-21 17:49

    ·星光2 RISC-V單板計算機體驗(三) - SSH連接

    ·星光2 RISC-V單板計算機體驗(三) - SSH連接 一、官方資料 RISC-V官網(wǎng): [https://rvspace.org]
    的頭像 發(fā)表于 02-21 10:21 ?502次閱讀
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機</b>體驗(三) - SSH連接

    ·星光2 RISC-V單板計算機體驗(二) - 系統(tǒng)環(huán)境

    ·星光2 RISC-V單板計算機體驗(二) - 系統(tǒng)環(huán)境 一、官方資料 RISC-V官網(wǎng): [
    的頭像 發(fā)表于 02-21 10:15 ?663次閱讀
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機</b>體驗(二) - <b class='flag-5'>系統(tǒng)</b>環(huán)境

    ·星光2 RISC-V單板計算機體驗(一) - 開箱

    ·星光2 RISC-V單板計算機體驗(一) - 開箱 一、開箱 ·星光2( VisionFi
    的頭像 發(fā)表于 02-21 10:10 ?719次閱讀
    <b class='flag-5'>昉</b>·<b class='flag-5'>星光</b>2 <b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機</b>體驗(一) - 開箱

    ·星光 2 高性能RISC-V單板計算機試用體驗】開箱及裝載Debian系統(tǒng)

    上周收到了·星光 2高性能RISC-V單板計算機開發(fā)板,在此非常感謝科技提供的
    發(fā)表于 01-24 00:32
    主站蜘蛛池模板: 精品久久久久久午夜| 国产精品一区二区三区四区五区 | 香蕉婷婷| 免费在线播放毛片| 久久久精品免费国产四虎| 午夜毛片免费观看视频| 黄色网址网站在线观看| 丝袜美腿一区| 午夜免费福利影院| 国产黄页| 日操| 超h高h文污肉| 狠狠色丁香婷婷第六色孕妇| 在线观看二区三区午夜| 欧美黑人性受xxxx精品| 色综合久久久久久久久五月| 欧美日韩色综合网站| 天天操天天舔天天干| 美女被免费网站在线视频九色| 四虎免费久久影院| 国产亚洲3p无码一区二区| 天天搞天天操| 色135综合网| 伊人网络| 美女污污网站| 久久久www免费人成看片| 日本一区二区在线不卡| 免费恐怖片| 国产精品资源在线观看网站| 禁漫画羞羞动漫入口| 日本www高清| 免费啪| 天堂种子| 天天射天天怕| 一级特级aaa毛片| 6969精品视频在线观看| 天天躁夜夜躁狠狠躁2021| 精品少妇一区二区三区视频| 奇米影视奇米色777欧美| 亚洲三级小视频| 狠狠色欧美亚洲狠狠色www|