一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-15 15:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

拿到昉·星光RISC-V單板計算機后,我們可以從官方直接下載對應(yīng)的鏡像文件,進行燒錄。但是我們往往想稍微挑戰(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)境基礎(chǔ)系統(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基礎(chǔ)環(huán)境。


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

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


# 可以執(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 # 設(shè)置bash為默認shell:選擇No即可 sudo dpkg-reconfigure dash # 如果沒有生成過id_rsa,則使用下面指令,并將生成的pub填寫到github對應(yīng)設(shè)置中;否則不用: % ssh-keygen -t rsa

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

進入Ubuntu 20.04 LTS基礎(chǔ)環(huán)境后,我們需要首先安裝跨平臺預編譯環(huán)境,官方提供了對應(yīng)文件的下載地址: 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

下載完成后,我們需要解壓,并設(shè)置對應(yīng)的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" # 將以上的部分的部分,按照如下設(shè)置,注意最好的:$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能夠成功運行,說明跨平臺預編譯設(shè)置正確,可以開始后續(xù)的操作了。

四、Boot_recovery編譯:

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


# 獲取Boot_recovery對應(yīng)的代碼: % 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 指定串口設(shè)備,使用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
    +關(guān)注

    關(guān)注

    46

    文章

    2573

    瀏覽量

    48848
  • 賽昉科技
    +關(guān)注

    關(guān)注

    3

    文章

    165

    瀏覽量

    14913
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【VisionFive 2單板計算機試用體驗】VisionFive 2一個霸氣的游戲機

    單板計算機,搭載·驚鴻-7110(型號:JH-7110)RISC-V應(yīng)用處理器,擁有極強的計算能力和圖形處理能力。開源的·
    發(fā)表于 07-13 20:41

    【VisionFive 2單板計算機試用體驗】RISC-V架構(gòu)卡片計算機初體驗

    2h........無奈) 參考文獻: 全球首款集成3D GPU的高性能量產(chǎn)RISC-V 單板計算機,·星光 2 開發(fā)實踐![全球首款集成3D GPU的高性能量產(chǎn)
    發(fā)表于 07-06 23:28

    權(quán)威評測:Orange Pi RV2等5?款?RISC-V?單板計算機測試-性能、基準測試、功能和見解

    的生態(tài)系統(tǒng)正在挑戰(zhàn)ARM和x86平臺的主導地位。RISC-V單板計算機采用模塊化設(shè)計,軟件支持不斷增加,并承諾提供定制服務(wù),正吸引著各地技術(shù)愛好者的目光。但它們在實際
    的頭像 發(fā)表于 06-30 13:35 ?337次閱讀
    權(quán)威評測:Orange Pi RV2等5?款?<b class='flag-5'>RISC-V</b>?<b class='flag-5'>單板計算機</b>測試-性能、基準測試、功能和見解

    【VisionFive 2單板計算機試用體驗】 + 開箱體驗

    在x86與ARM架構(gòu)主導的單板計算機市場,中國團隊打造的VisionFive 2(防星光2)如同一顆新星,憑借開源開放的RISC-V架構(gòu)和成熟的桌面體驗,為開發(fā)者與極客提供了全新的選擇。經(jīng)過
    發(fā)表于 06-27 09:06

    進迭時空推出全新1.8寸RISC-V單板計算機MUSE Pi Pro

    感謝海內(nèi)外開發(fā)者的使用反饋和建議,進迭時空針對MUSEPi進行了全面升級,推出全新1.8寸單板計算機--MUSEPiPro(以下簡稱PiPro)。升級后的PiPro將RISC-VAICPU芯片K1
    的頭像 發(fā)表于 06-06 16:55 ?431次閱讀
    進迭時空推出全新1.8寸<b class='flag-5'>RISC-V</b><b class='flag-5'>單板計算機</b>MUSE Pi Pro

    共建生態(tài),賦能應(yīng)用 | 科技精彩亮相中國RISC-V生態(tài)大會

    2025中國RISC-V生態(tài)大會于近日在北京圓滿落幕。大會以“共建生態(tài),共享未來”為主題,匯聚了中外產(chǎn)學研界各方代表,共同探討RISC-V的最新發(fā)展趨勢和產(chǎn)業(yè)機遇。作為中國RISC-V軟硬件生態(tài)
    的頭像 發(fā)表于 03-04 11:03 ?917次閱讀
    共建生態(tài),賦能應(yīng)用 | <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技精彩亮相中國<b class='flag-5'>RISC-V</b>生態(tài)大會

    科技RISC-V家庭云解決方案:NAS存儲性能升級,隱私安全雙保障

    (VisionFive2)單板計算機,推出全新RISC-V家庭云(NAS)解決方案,為用戶提供高性能、高安全性的私有云存儲服務(wù),滿足家庭及輕量級企業(yè)場景需求。方案亮點01高性能硬件支持
    的頭像 發(fā)表于 02-18 17:50 ?880次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技<b class='flag-5'>RISC-V</b>家庭云解決方案:NAS存儲性能升級,隱私安全雙保障

    首屆RISC-V產(chǎn)業(yè)發(fā)展大會成功舉辦,攜手產(chǎn)業(yè)伙伴共繪RISC-V新藍圖

    12月28日,由中國電子工業(yè)標準化技術(shù)協(xié)會RISC-V工作委員會(以下簡稱“RISC-V工作委員會”)主辦的首屆“RISC-V產(chǎn)業(yè)發(fā)展大會”在北京成功舉辦。作為推動RISC-V生態(tài)發(fā)展
    的頭像 發(fā)表于 12-30 14:14 ?662次閱讀
    首屆<b class='flag-5'>RISC-V</b>產(chǎn)業(yè)發(fā)展大會成功舉辦,<b class='flag-5'>賽</b><b class='flag-5'>昉</b>攜手產(chǎn)業(yè)伙伴共繪<b class='flag-5'>RISC-V</b>新藍圖

    科技發(fā)布全新RISC-V處理器內(nèi)核Dubhe-83

    RISC-V軟硬件生態(tài)企業(yè)科技近日宣布,正式推出其全新RISC-V處理器內(nèi)核——Dubhe-83(?天樞-83),該內(nèi)核專為AI應(yīng)用與
    的頭像 發(fā)表于 12-13 10:59 ?683次閱讀

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

    豐富的RISC-V創(chuàng)新成果,包括·驚鴻-7110(JH-7110)RISC-V應(yīng)用處理器,·星光2(VisionFive2)
    的頭像 發(fā)表于 11-28 15:14 ?615次閱讀
    <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)領(lǐng)導者科技攜手邊緣人工智能(A
    的頭像 發(fā)表于 10-25 08:05 ?728次閱讀
    預售啟動!<b class='flag-5'>昉</b>·<b class='flag-5'>星光</b> 2 AI套件正式發(fā)布,基于<b class='flag-5'>RISC-V</b>構(gòu)建AI算力

    科技產(chǎn)品亮相RISC-V開源創(chuàng)新中心,雙方達成戰(zhàn)略合作

    RISC-V開源創(chuàng)新中心:“我們非常高興能與賽科技公司建立戰(zhàn)略合作伙伴關(guān)系。科技的技術(shù)創(chuàng)新,結(jié)合中心的教育資源,將為雙方帶來巨大的協(xié)同效應(yīng)。”
    的頭像 發(fā)表于 10-11 09:46 ?884次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技產(chǎn)品亮相<b class='flag-5'>RISC-V</b>開源創(chuàng)新中心,雙方達成戰(zhàn)略合作

    使用邏輯和轉(zhuǎn)換優(yōu)化單板計算機(SBC)系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《使用邏輯和轉(zhuǎn)換優(yōu)化單板計算機(SBC)系統(tǒng).pdf》資料免費下載
    發(fā)表于 09-21 11:28 ?0次下載
    使用邏輯和轉(zhuǎn)換優(yōu)化<b class='flag-5'>單板計算機</b>(SBC)<b class='flag-5'>系統(tǒng)</b>

    如何讓RISC-V企業(yè)賺錢?科技展現(xiàn)全場景RISC-V解決方案

    今年的RISC-V中國峰會,圓桌論壇的主題格外引人注目——如何讓RISC-V企業(yè)賺錢?科技給出的答案是“應(yīng)用”。如果把RISC-V浪潮比
    的頭像 發(fā)表于 08-30 12:33 ?961次閱讀
    如何讓<b class='flag-5'>RISC-V</b>企業(yè)賺錢?<b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技展現(xiàn)全場景<b class='flag-5'>RISC-V</b>解決方案

    科技RVspace生態(tài)社區(qū)雙周報(8月刊)

    持續(xù)與各方伙伴攜手共建RISC-V生態(tài)社區(qū),為RISC-V生態(tài)建設(shè)貢獻力量。rvspace.orgRVspace社區(qū)動態(tài)01將VisionFive2單板計算機改造為
    的頭像 發(fā)表于 08-30 12:33 ?554次閱讀
    <b class='flag-5'>賽</b><b class='flag-5'>昉</b>科技RVspace生態(tài)社區(qū)雙周報(8月刊)