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

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

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

【Milk-V Duo開發(fā)板免費體驗】評測二、Linux最小系統(tǒng)驗證

史逸如 ? 來源:史逸如 ? 作者:史逸如 ? 2023-07-10 09:05 ? 次閱讀

評測二、Linux最小系統(tǒng)驗證

控制GPIO有3種方式,shell命令、用戶態(tài)函數(shù)或者腳本、內(nèi)核態(tài)函數(shù),詳細見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設(shè)置方向,敲擊echo 0 > /sys/class/gpio/gpio506/value輸出0電平,echo 1 > /sys/class/gpio/gpio506/value輸出1電平,不停切換就能實現(xiàn)電平切換達到blinky目的:

wKgZomSpGISAJvfVAACYw4joHf8802.png

圖1創(chuàng)建設(shè)備文件以及配置GPIO方向

wKgaomSpGCaAJHqOAU8f8FUHcik866.png

圖2實際切換效果

2.用戶態(tài)函數(shù)或腳本

上述不用手動輸命令太費事,提高效率的方法就是用腳本或函數(shù)來作業(yè)處理,先touch main.sh,然后vi main.sh用戶態(tài)腳本可以如下:

#!/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執(zhí)行就能看到效果:

wKgZomSpGB-ASnfZAK9b1_SK3VE275.png

圖3 shell腳本作業(yè)處理

腳本語法不熟,可以C語言控制:

wKgZomSpGBiAM6DrAACbEiU9atI319.png

圖4傳統(tǒng)C語言控制

但發(fā)現(xiàn)沒有帶gcc編譯器,安裝發(fā)現(xiàn)回到上篇評測的問題了,網(wǎng)絡(luò)問題沒解決暫時無法安裝軟件,于是Windows主機SDK交叉編譯,執(zhí)行文件上傳Milkv,再運行,弊端就是無法調(diào)試。首先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就能愉快玩耍了:

wKgaomSpGBiAIAm9AAIZLytok4c348.png

圖5 SDK開發(fā)編譯環(huán)境搭建

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

wKgaomSpGBiAFbwlAAA4qwL1siY315.png

圖6 scp上傳執(zhí)行文件至Milkv

輸入chmod +x ./blink,再./blink但一直報錯“Segmentation fault”,可能程序問題,因為用網(wǎng)友https://community.milkv.io/t/duo-shell-c/46的例子驗證就能成功點燈,不妨本地hello world交叉編譯再上傳milkv運行發(fā)現(xiàn)果然可行:

wKgaomSpGBiAV-JLAACXavwYmY8072.png

圖7經(jīng)典hello world

3.內(nèi)核態(tài)函數(shù)

這個沒測試,待做,第1章節(jié)的鏈接有講怎么注冊進內(nèi)核并運行

審核編輯:湯梓紅

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

    關(guān)注

    87

    文章

    11329

    瀏覽量

    209970
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5096

    瀏覽量

    97825
  • 最小系統(tǒng)
    +關(guān)注

    關(guān)注

    9

    文章

    252

    瀏覽量

    29122
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2307

    瀏覽量

    46301
收藏 人收藏

    評論

    相關(guān)推薦

    Milk-V Duo 開發(fā)板免費體驗】小身板大能力RISC-V開發(fā)板

    Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能夠運行基于LINUX和RTOS的操作系統(tǒng)Milk-V
    的頭像 發(fā)表于 06-30 10:25 ?4991次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> <b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b>體驗】小身板大能力RISC-<b class='flag-5'>V</b><b class='flag-5'>開發(fā)板</b>

    Milk-V Duo】1、入門篇

    入門milk-V Duo開發(fā)板
    的頭像 發(fā)表于 07-07 11:21 ?1680次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b>】1、入門篇

    Milk-V Duo開發(fā)板免費體驗】Milk-V初次使用

    Milk-V Duo開發(fā)板免費體驗】Milk-V初次使用
    的頭像 發(fā)表于 08-08 09:03 ?2529次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b>體驗】<b class='flag-5'>Milk-V</b>初次使用

    Milk-V Duo 開發(fā)板免費體驗】 + 系統(tǒng)鏡像燒錄以及登錄

    Milk-V Duo 開發(fā)板免費體驗】+系統(tǒng)鏡像燒錄以及登錄 一.Milk-V
    發(fā)表于 07-11 11:43

    Milk-V Duo 開發(fā)板免費體驗】Milk-V Duo之開箱初體驗

    STM32103C8T6核心的體積能與之媲美了,但是前者在同樣的體積下塞進去了更強的功能。 ,外設(shè) Milk-V Duo是一個基于CV1800B芯片的超緊湊嵌入式
    發(fā)表于 07-16 01:15

    Milk-V Duo 開發(fā)板免費體驗】Milk-V Duo 開發(fā)板學習初體驗

    milkv-duo-20230616-2232.img自制成linux啟動盤 3、通過Type-C數(shù)據(jù)線連接電腦,小板系統(tǒng)順暢的啟動了 登錄Milk-V
    發(fā)表于 07-28 15:58

    Milk-V Duo 開發(fā)板免費體驗】開發(fā)板使用3

    接上文 【Milk-V Duo 開發(fā)板免費體驗】開發(fā)板使用1 |和接上文 【Milk-V
    發(fā)表于 07-29 08:17

    Milk-V Duo 開發(fā)板免費體驗】milkv-duo 申請成功體驗

    。 引腳圖 總結(jié) Milk-V Duo開發(fā)板的小巧精致設(shè)計和強悍的性能確實為創(chuàng)客和開發(fā)者提供了一個優(yōu)秀的平臺。它的緊湊設(shè)計使得它適用于各種空間有限的場景,同時強大的性能可以支持復(fù)雜
    發(fā)表于 07-29 14:31

    Milk-V Duo 開發(fā)板免費體驗】初步體驗 + 搭建開發(fā)環(huán)境

    鏈接依賴過去即可了,后續(xù)可以直接修改文件系統(tǒng)去燒錄。【Milk-V Duo 開發(fā)板免費體驗】OpenCV的交叉編譯 - RISC-
    發(fā)表于 08-01 12:49

    Milk-V Duo 開發(fā)板免費體驗】Milk-V Duo 開發(fā)板初體驗

    今天收到 ,打開快遞的第一感覺就是非常精致小巧,一個黑色的小盒子及一塊非常小巧但功能非常完善的開發(fā)板。 Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能夠運行基于LINUX
    發(fā)表于 08-18 00:26

    Milk-V Duo 開發(fā)板免費體驗】Milk-V Duo 開發(fā)板Linux環(huán)境準備

    先來看看Milk-V Duo開發(fā)板,開發(fā)板是一款基于CV1800B芯片的MPU。CV1800B芯片由算能提供,它采用了兩顆RISC-V內(nèi)核,
    發(fā)表于 08-18 00:38

    Milk-V Duo 開發(fā)板免費體驗】3-Linux控制小車方向

    接上兩篇:【Milk-V Duo 開發(fā)板免費體驗】2控制螺旋槳電路https://bbs.elecfans.com/jishu_2371054_1_1.html 【
    發(fā)表于 08-20 23:57

    Milk-V Duo 開發(fā)板免費體驗】4-Linux控制小車動作(原創(chuàng))首發(fā)

    接上三篇: [接上兩篇:【Milk-V Duo 開發(fā)板免費體驗】3-Linux控制小車方向https://bbs.elecfans.com/
    發(fā)表于 08-21 02:11

    Milk-V Duo 開發(fā)板免費體驗】初體驗及開箱視頻

    剛剛收到開發(fā)板,給大家做個視頻來初步了解以下Milk-V Duo 開發(fā)板Milk-V Duo
    發(fā)表于 08-22 23:59

    Milk-V Duo 開發(fā)板免費體驗】②、ssh連接Milk-V Duo開發(fā)板

    承接上期的開箱貼,此次將Milk-V Duo開發(fā)板運行linux系統(tǒng)。在此之前需要手頭準備一張8GB以上的TF卡,并使用讀卡器將TF燒錄
    發(fā)表于 08-29 00:53