評測二、Linux最小系統驗證
控制GPIO有3種方式,shell命令、用戶態函數或者腳本、內核態函數,詳細見https://doc.sophgo.com/cvitek-develop-docs/master/docs_latest_release/CV180x_CV181x/zh/01.software/OSDRV/Peripheral_Driver/build/html/7_GPIO_Operation_Guide.html#id5。
1.shell命令
不妨以GPIOA26為例,外接一上拉電阻和LED。由文檔可知XGPIOA組號為480,所以GPIOA26組好值為480+25=506,敲擊echo 506 > /sys/class/gpio/export申請資源,稍后就能看到/sys/class/gpio下新建了一gpio506文件,敲擊echo out > /sys/class/gpio/gpio506/direction設置方向,敲擊echo 0 > /sys/class/gpio/gpio506/value輸出0電平,echo 1 > /sys/class/gpio/gpio506/value輸出1電平,不停切換就能實現電平切換達到blinky目的:

圖1創建設備文件以及配置GPIO方向

圖2實際切換效果
2.用戶態函數或腳本
上述不用手動輸命令太費事,提高效率的方法就是用腳本或函數來作業處理,先touch main.sh,然后vi main.sh用戶態腳本可以如下:
#!/bin/sh LED_GPIO=/sys/class/gpio/gpio506 if test -d $LED_GPIO; then echo "GPIOA26 already exported" else echo 506 > /sys/class/gpio/export fi echo out > $LED_GPIO/direction while true; do echo 0 > $LED_GPIO/value sleep 0.5 echo 1 > $LED_GPIO/value sleep 0.5 done
敲擊./main.sh執行就能看到效果:

圖3 shell腳本作業處理
腳本語法不熟,可以C語言控制:

圖4傳統C語言控制
但發現沒有帶gcc編譯器,安裝發現回到上篇評測的問題了,網絡問題沒解決暫時無法安裝軟件,于是Windows主機SDK交叉編譯,執行文件上傳Milkv,再運行,弊端就是無法調試。首先WSL命令輸入:git clone --recursive https://github.com/sophgo/cvi_mmf_sdk,再敲擊sudo apt install dialog python3-dev make git bc gcc flex bison ninja-build libssl-dev rsync pkg-config device-tree-compiler squashfs-tools parted dosfstools安裝,缺依賴裝依賴。然后去https://developer.sophgo.com/site/index/material/32/all.html下載工具鏈并解壓到剛才cvi_mmf_sdk目錄下,再敲擊source build/cvisetup.sh,此時riscv64-unknown-linux-gnu-gcc還未生效,再敲擊defconfig cv1800b_sophpi_duo_sd再輸入riscv64-unknown-linux-gnu-gcc –version就能愉快玩耍了:

圖5 SDK開發編譯環境搭建
再Windows下輸入riscv64-unknown-linux-gnu-gcc -static -o blink blink.c交叉編譯生成RISC-V環境固件,由于Milkv的外網一直未解決包括Ethernet或WiFi,由于SSH有scp和rsync傳輸工具,就臨時解決了通信問題,輸入scp F:ElectronicsMilk-Vcvi_mmf_sdkblink root@192.168.42.1:/mxj,然后Milkv就有可執行文件了:

圖6 scp上傳執行文件至Milkv
輸入chmod +x ./blink,再./blink但一直報錯“Segmentation fault”,可能程序問題,因為用網友https://community.milkv.io/t/duo-shell-c/46的例子驗證就能成功點燈,不妨本地hello world交叉編譯再上傳milkv運行發現果然可行:

圖7經典hello world
3.內核態函數
這個沒測試,待做,第1章節的鏈接有講怎么注冊進內核并運行
審核編輯:湯梓紅
-
Linux
+關注
關注
87文章
11373瀏覽量
211295 -
開發板
+關注
關注
25文章
5210瀏覽量
99126 -
最小系統
+關注
關注
9文章
252瀏覽量
29241 -
RISC-V
+關注
關注
46文章
2390瀏覽量
47212
發布評論請先 登錄
相關推薦
評論