色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

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

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

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

零、學習參考網址:

一、需構建部分說明:

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

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

下面,我們就一步一步,來進行每個部分的構建。

二、編譯環境基礎系統準備:

為了順利構建上面的各個部分,我們需要在Ubuntu操作系統下進行各項操作。

官方推薦的是Ubuntu 18.04 LTS。雖然Canonical官方把Ubuntu 18.04 LTS的支持結束日期從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秒鐘之內啟動Ubuntu 20.04 LTS基礎環境。


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

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


# 可以執行sudo指令,如果沒有安裝,則先安裝,否則可以跳過install sudo % apt update % apt install -y sudo % sudo apt update % sudo apt upgrade # 安裝后續操作過程中,需要的軟件 % 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

三、跨平臺預編譯環境準備:

進入Ubuntu 20.04 LTS基礎環境后,我們需要首先安裝跨平臺預編譯環境,官方提供了對應文件的下載地址: 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,以備被后續操作調用:


% 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能夠成功運行,說明跨平臺預編譯設置正確,可以開始后續的操作了。

四、Boot_recovery編譯:

代碼網址: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編譯:

代碼網址: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編譯:

代碼網址: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編譯:

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


# 首先檢查riscv64-linux-gnu-gcc能否正常運行 顯示以上最后一條信息,表示能夠正常運行,可以繼續操作了。 % 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文件,將會用于后續的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)

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

九、編譯Linux 內核:

代碼網址: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即為內核文件,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內核

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

其調用參數如下:

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

# 將之前生成的文件集中到一起 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恢復了。 參考《昉·星光單板計算機軟件技術參考手冊》,我們可以更新Kernel以及內核模塊了!

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

    關注

    45

    文章

    2300

    瀏覽量

    46261
  • 賽昉科技
    +關注

    關注

    3

    文章

    154

    瀏覽量

    14312
收藏 人收藏

    評論

    相關推薦

    科技亮相世界互聯網大會,精彩呈現RISC-V創新成果

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

    預售啟動!·星光 2 AI套件正式發布,基于RISC-V構建AI算力

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

    Ubuntu現已適配RISC-V單板計算機Milk-V Mars

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

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

    方案。通過科技與開源社區的共同努力,·星光2(VisionFive2)RISC-V單板計算機
    的頭像 發表于 06-04 08:19 ?991次閱讀
    暢玩<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)設計并推出,搭載科技
    發表于 04-12 16:39

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

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

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

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

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

    。近期,科技在·星光2(VisionFive2)RISC-V單板計算機上成功運行OpenW
    的頭像 發表于 02-23 08:18 ?702次閱讀
    <b class='flag-5'>RISC-V</b>智能化網絡解決方案|<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 官方并沒有提供基于
    發表于 02-21 18:07

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

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

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

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

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

    ·星光2 RISC-V單板計算機體驗(三) - SSH連接 一、官方資料 RISC-V官網: [https://rvspace.org]
    的頭像 發表于 02-21 10:21 ?513次閱讀
    <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單板計算機體驗(二) - 系統環境

    ·星光2 RISC-V單板計算機體驗(二) - 系統環境 一、官方資料 RISC-V官網: [
    的頭像 發表于 02-21 10:15 ?675次閱讀
    <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'>系統</b>環境

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

    ·星光2 RISC-V單板計算機體驗(一) - 開箱 一、開箱 ·星光2( VisionFi
    的頭像 發表于 02-21 10:10 ?733次閱讀
    <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系統

    上周收到了·星光 2高性能RISC-V單板計算機開發板,在此非常感謝科技提供的
    發表于 01-24 00:32
    主站蜘蛛池模板: 99er热精品视频国产免费| 国产亚洲日韩另类在线观看| 精品高潮呻吟99AV无码视频| 夜色帮首页| 蜜柚视频在线观看全集免费观看| writeas雷狮直播| 午夜伦理电影在线观免费| 精品无码久久久久久动漫| 91偷偷久久做嫩草电影院| 日韩精品卡1卡2三卡四卡乱码| 欧美极品尿交| 动漫美女脱小内内露尿口| 免费果冻传媒2021在线观看| 白丝美女被狂躁免费漫画| 胸太大被男同桌吃好爽| 老师你奶真大下面水真多| 成 人 网 站毛片| 亚洲欧美日韩精品自拍| 欧美最猛12teevideos欧美| 国产视频这里只有精品| 91热久久免费频精品动漫99| 无码欧美XXXXX在线观看裸| 看美女大腿中间的部分| 国产成年网站v片在线观看| 曰本女人牲交视频免费| 色欲国产麻豆一精品一AV一免费| 精品国产成a人在线观看| 成年人视频在线免费| 亚洲永久在线观看| 熟妇内谢69XXXXXA片| 美女扒开尿孔| 黑人猛挺进小莹的体内视频| 一边亲着一面膜下奶韩剧免费 | 久久欧洲AV无码精品色午夜麻豆| 成电影人免费网站| 中国农村妇女真实BBWBBWBBW| 午夜伦理:伦理片| 日本xxxxx按摩19| 国产精品99| 亚洲国产精品无码AV久久久| 飘雪韩国在线观看免费高清完整版|