iT邦幫忙

2021 iThome 鐵人賽

DAY 30
4
Software Development

Port Alpine Linux to open source RISC-V platform系列 第 30

Wrap-up : Alpine Linux on LiteX/VexRiscv

今天到了第三十天,也是該總結這將近一個月來的辛勞的時節了。
在我的Google Drive 資料夾中 ,我有提供bootstrap好給QEMU的、以及給FPGA的檔案。

QEMU的使用方式相對簡單,解壓縮完tarball後,在該資料夾內執行 run.sh 即可。

要真的在FPGA上面要運行,首先你需要買一張 OrangeCrab ,或著於 Linux-on-Litex/VexRiscv 官方repo上,有列出支援SDCard的FPGA開發板(不可為打星號的,打星的是指PCB上有sdcard socket、但FPGA SoC上(預設)沒有populate)。

若您跟我一樣選擇OrangeCrab,因為他出廠就有預載DFU(Device Firmware Update)的bootloader,請按住板子上唯一一顆按鈕後、將USB cable插上電腦。此時您就可以將tarball中的FPGA bitstream上傳至OrangeCrab上的configuration flash中:
dfu-util -D /path/to/extracted/orangecrab.bit.dfu
完成後,請準備一張FAT16/FAT32格式的microsd card,將tarball中剩餘的檔案 (boot.jsonImage_rtc_fakealp.cpio.gzrv32.dtb)放置進microsd card根目錄中。

緊接著,將板子拔下、將microsd card放置進OrangeCrab的背後插槽中,再一次地將板子插入電腦上,此時,請選擇可以接受非標準baudrate的terminal emulator,例如picocom、進行連接:

picocom -b 1000000 /dev/ttyACM0 # or the serial dev name populated by your system

此時,您應該就會看到SoC上的Litex BIOS在抓取sdcard上的boot.json、並且開始將該檔案記載的檔案擺放到memory上,緊接著就會從OpenSBI開始kickoff。然而,進入Alpine Init時,因為SPI-SDcard的傳輸速率限制,導致開機會花一些時間、請耐心等候。看到login prompt時,可以直接使用root帳號登入、沒有密碼:

https://ithelp.ithome.com.tw/upload/images/20211009/20140421K8cuvqUQIa.jpg


是說後來我有去跟LiteX的作者Florent還有VexRiscv的作者Dolu哭腰一段時間,說我實在很想在OrangeCrab-25F上跑RV32GC啊,這麼棒的開源教材這樣實在可惜了......

在各種fine tune後 - -
https://ithelp.ithome.com.tw/upload/images/20211009/20140421u3DRooopAn.png
To be continued? :-)


上一篇
Alpine Linux Porting (2.11) clock is _sorta_ ticking
系列文
Port Alpine Linux to open source RISC-V platform30

1 則留言

0
高魁良
iT邦新手 4 級 ‧ 2021-10-09 13:17:02

恭喜完結!享受一下連假,然後有想吃什麼的話建議一下~

我要留言

立即登入留言