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

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

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

Milk-V Duo開發(fā)板免費(fèi)體驗(yàn) 硬件使用-GPIO

范成功 ? 來源:wakojosin ? 作者:wakojosin ? 2023-07-11 09:43 ? 次閱讀

隨便看看

啟動(dòng)系統(tǒng)后板子上的LED燈就開始閃爍了,具體是什么燈呢,這個(gè)還不知道,正常有LED設(shè)備的話可以查看LED的所代表的行為,但是經(jīng)過查找一番,沒找到LED設(shè)備,那么就先看看有什么任務(wù)吧

[root@milkv]/sys/class/gpio# ps
PID   USER     COMMAND
    1 root     init
    2 root     [kthreadd]
    3 root     [rcu_gp]
    4 root     [rcu_par_gp]
    7 root     [kworker/u2:0-ev]
    8 root     [mm_percpu_wq]
    9 root     [ksoftirqd/0]
   10 root     [rcu_preempt]
   11 root     [kdevtmpfs]
   12 root     [rcu_tasks_kthre]
   13 root     [oom_reaper]
   14 root     [writeback]
   15 root     [kcompactd0]
   24 root     [kblockd]
   25 root     [watchdogd]
   27 root     [kworker/0:1H-kb]
   28 root     [rpciod]
   29 root     [kworker/u3:0]
   30 root     [xprtiod]
   31 root     [cfg80211]
   32 root     [kswapd0]
   33 root     [nfsiod]
   34 root     [stmmac_wq]
   35 root     [kworker/u2:1]
   68 root     [irq/43-cviusb-o]
   69 root     [irq/44-cd-gpio-]
   70 root     [sdhci]
   71 root     [irq/21-mmc0]
   73 root     [ion_system_heap]
   74 root     [mmc_complete]
   79 root     [jbd2/mmcblk0p2-]
   80 root     [ext4-rsv-conver]
   96 root     /sbin/syslogd -n
  100 root     /sbin/klogd -n
  128 root     [kworker/0:3-eve]
  146 root     /usr/sbin/dropbear -R
  151 nobody   /usr/sbin/dnsmasq
  161 root     [cvitask_isp_pre]
  162 root     [cvitask_isp_bla]
  163 root     [cvitask_isp_err]
  165 root     [cvitask_vpss_0]
  166 root     [cvitask_vpss_1]
  168 root     [gdc_work]
  173 root     [cvitask_tpu_wor]
  178 root     {S99user} /bin/sh /etc/init.d/S99user start
  183 root     [kworker/0:2H]
  187 root     -sh
  268 root     /usr/sbin/dropbear -R
  282 root     -sh
 2390 root     [kworker/0:0-eve]
 3097 root     [kworker/0:1-eve]
 3650 root     ps
 3651 root     sleep 0.5

在里面看到了一個(gè)S99user的啟動(dòng)腳本,那么看看內(nèi)容是什么呢?

[root@milkv]/sys/class/gpio# cat /etc/init.d/S99user
#!/bin/sh
${CVI_SHOPTS}
#
# Start firmware
#
export USERDATAPATH=/mnt/data/
export SYSTEMPATH=/mnt/system/

case "$1" in
  start)
        echo "init mpp system..."
        if [ -d $SYSTEMPATH/ko ]; then
                sh $SYSTEMPATH/ko/loadsystemko.sh
        fi

        echo "Starting app..."

        if [ -f $SYSTEMPATH/blink.sh ]; then
                . $SYSTEMPATH/blink.sh &
        fi

        if [ -f $SYSTEMPATH/rndis.sh ]; then
                . $SYSTEMPATH/rndis.sh &
        fi

        if [ -f $USERDATAPATH/auto.sh ]; then
                usleep 30000
                . $USERDATAPATH/auto.sh &
                exit 1
        fi
        if [ -f $SYSTEMPATH/auto.sh ]; then
                usleep 30000
                . $SYSTEMPATH/auto.sh &
        fi
        ;;
  stop)
        ;;
  restart|reload)
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?

通過查看腳本可以看到/mnt/data/下面會(huì)檢測(cè)auto.sh,/mnt/system/下面會(huì)檢測(cè)ko/loadsystemko.sh,blink.sh,rndis.sh,auto.sh

分別看看這些文件都有什么東西:

[root@milkv]/mnt# ls
system
[root@milkv]/mnt# cat system/ko/loadsystemko.sh
#!/bin/sh
${CVI_SHOPTS}
#
# Start to insert kernel modules
#
insmod /mnt/system/ko/cv180x_sys.ko
insmod /mnt/system/ko/cv180x_base.ko
insmod /mnt/system/ko/cv180x_rtos_cmdqu.ko
insmod /mnt/system/ko/cv180x_fast_image.ko
insmod /mnt/system/ko/cvi_mipi_rx.ko
insmod /mnt/system/ko/snsr_i2c.ko
insmod /mnt/system/ko/cv180x_vi.ko
insmod /mnt/system/ko/cv180x_vpss.ko
insmod /mnt/system/ko/cv180x_dwa.ko
#insmod /mnt/system/ko/cv180x_vo.ko
#insmod /mnt/system/ko/cv180x_mipi_tx.ko
insmod /mnt/system/ko/cv180x_rgn.ko

#insmod /mnt/system/ko/cv180x_wdt.ko
insmod /mnt/system/ko/cv180x_thermal.ko
insmod /mnt/system/ko/cv180x_clock_cooling.ko

insmod /mnt/system/ko/cv180x_tpu.ko
insmod /mnt/system/ko/cv180x_vcodec.ko
insmod /mnt/system/ko/cv180x_jpeg.ko
insmod /mnt/system/ko/cvi_vc_driver.ko MaxVencChnNum=9 MaxVdecChnNum=9
#insmod /mnt/system/ko/cv180x_rtc.ko
#insmod /mnt/system/ko/cv180x_ive.ko

echo 3 > /proc/sys/vm/drop_caches
dmesg -n 4

#usb hub control
#/etc/uhubon.sh host

exit $?
[root@milkv]/mnt# cat system/blink.sh
#!/bin/sh

LED_GPIO=/sys/class/gpio/gpio440

if test -d $LED_GPIO; then
    echo "GPIO440 already exported"
else
    echo 440 > /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
[root@milkv]/mnt# cat system/rndis.sh
#!/bin/sh

/etc/uhubon.sh device >> /tmp/rndis.log 2>&1
/etc/run_usb.sh probe rndis >> /tmp/rndis.log 2>&1
/etc/run_usb.sh start rndis >> /tmp/rndis.log 2>&1

sleep 0.5
ifconfig usb0 192.168.42.1

count=`ps | grep dnsmasq | grep -v grep | wc -l`
if [ ${count} -lt 1 ] ;then
  echo "/etc/init.d/S80dnsmasq start" >> /tmp/rndis.log 2>&1
  /etc/init.d/S80dnsmasq start >> /tmp/rndis.log 2>&1
fi
[root@milkv]/mnt# cat system/auto.sh
#!/bin/sh
${CVI_SHOPTS}

export LD_LIBRARY_PATH="/lib:/lib/3rd:/lib/arm-linux-gnueabihf:/usr/lib:/usr/local/lib:/mnt/system/lib:/mnt/system/usr/lib:/mnt/system/usr/lib/3rd:/mnt/data/lib"
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/mnt/system/usr/bin:/mnt/system/usr/sbin:/mnt/data/bin:/mnt/data/sbin"


if [ ! -f "/tmp/evb_init" ];then
   echo 1 > /tmp/evb_init
else
   exit 1
fi

GPIO

通過查看腳本看到了LED是通過腳本來控制的功能是周期1S的閃爍,RNDIS是在腳本里面設(shè)置的IP地址,直接設(shè)置為192.168.42.1

關(guān)于LED引腳,原理圖上面寫的是XGPIOC[24]

wKgZomSsEJKAaCYHAAEg3OZUWXo004.pngwKgZomSsESOAdcgUAAAuQQ9RBXo952.png

教程里面是用GPIOx(x=0,1,2…)來表示的,通過測(cè)試GPIOA=GPIO0,GPIOB=GPIO1以此類推,GPIOC[24]=416+24=440,與腳本的引腳號(hào)一致,所以把blink.sh腳本干掉之后手動(dòng)控制一下試試,發(fā)現(xiàn)輸出結(jié)果符合預(yù)期,但是輸出模式好像不能讀取電平,讀到的電平一直是0。

[root@milkv]/sys/class/gpio# ls
export       gpiochip352  gpiochip384  gpiochip416  gpiochip448  gpiochip480  unexport
[root@milkv]/sys/class/gpio# echo 440 > export
[root@milkv]/sys/class/gpio# ls
export       gpio440      gpiochip352  gpiochip384  gpiochip416  gpiochip448  gpiochip480  unexport
[root@milkv]/sys/class/gpio# cd gpio440/
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# ls
active_low  device      direction   edge        subsystem   uevent      value
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# cat direction
in
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# echo out >direction
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# cat value
0
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# echo 1 > value
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# cat value
0
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# echo 0 > value
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440# cat value
0
[root@milkv]/sys/devices/platform/3022000.gpio/gpiochip2/gpio/gpio440#

然后測(cè)試其他引腳,比如說GPIO14(GPIOA[14])和GPIO15(GPIOA[15]),即494和495

wKgaomSsEcyAR7tiAAGPUm7-gTQ783.png

結(jié)果與LED引腳不一樣,電平不受控制,原因未知,可能是受其他模塊影響吧,換GPIO6(GPIOA[23])和GPIO17(GPIOA[24]),即503和504試試,結(jié)果是符合預(yù)期的。

wKgZomSsGIiANvs5AAB62Via6wE990.png

至此GPIO的測(cè)試就完成了


審核編輯:湯梓紅

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

    關(guān)注

    240

    文章

    22907

    瀏覽量

    650121
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3113

    瀏覽量

    65849
  • 硬件設(shè)計(jì)
    +關(guān)注

    關(guān)注

    18

    文章

    372

    瀏覽量

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

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96176
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1175

    瀏覽量

    51515
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    382

    瀏覽量

    14761
  • Milk-V Duo
    +關(guān)注

    關(guān)注

    2

    文章

    28

    瀏覽量

    157
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能夠運(yùn)行基于LINUX和RTOS的操作系統(tǒng)。Milk-V Duo為專業(yè)人士、工業(yè)OEM企業(yè)、物聯(lián)網(wǎng)愛好者、業(yè)余愛好者、D
    的頭像 發(fā)表于 06-30 10:25 ?4533次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> <b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b>體驗(yàn)】小身板大能力RISC-<b class='flag-5'>V</b><b class='flag-5'>開發(fā)板</b>

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】+ 1、開箱

    Milk-V Duo是一個(gè)基于CV1800B芯片的超緊湊嵌入式開發(fā)平臺(tái)。它可以運(yùn)行Linux和RTOS,為專業(yè)人士、工業(yè)ODM、AIoT愛好者、DIY愛好者和創(chuàng)作者提供了一個(gè)可靠、低成本和高性能的平臺(tái)。
    的頭像 發(fā)表于 07-13 09:24 ?1266次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> <b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b>體驗(yàn)】+ 1、開箱

    Milk-V Duo】1、入門篇

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

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

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

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

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

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】Milk-V Duo之開箱初體驗(yàn)

    外接擴(kuò)展板) 這樣看來很適合做一些廣告機(jī)等多媒體設(shè)備。 三,軟件 除了強(qiáng)大的硬件性能,Milk-V Duo還具備良好的軟件支持。官方釋放了豐富的開發(fā)工具和庫,方便用戶進(jìn)行各種應(yīng)用程序的
    發(fā)表于 07-16 01:15

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】Milk-V Duo 開發(fā)板學(xué)習(xí)初體驗(yàn)

    第一次申請(qǐng)成功,心情很是喜悅,經(jīng)過幾天的等待收到了我心心念念的Milk-V Duo 開發(fā)小板。 迫不及待的開始了學(xué)習(xí)初體驗(yàn),先犧牲下愛車的行車記錄儀SD卡貢獻(xiàn)下 1、直接下載鏡像
    發(fā)表于 07-28 15:58

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】開發(fā)板使用3

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

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】milkv-duo 申請(qǐng)成功體驗(yàn)

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

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

    鏈接依賴過去即可了,后續(xù)可以直接修改文件系統(tǒng)去燒錄?!?b class='flag-5'>Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】OpenCV的交叉編譯 - RISC-V MCU
    發(fā)表于 08-01 12:49

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】初體驗(yàn)(一)---- 初識(shí)GPIO外掛點(diǎn)燈

    1、初識(shí)milk-v duo GPIO milk-v duoGPIO分為了五組,每組32個(gè)端口
    發(fā)表于 08-16 08:04

    Milk-V Duo 開發(fā)板免費(fèi)體驗(yàn)】Milk-V Duo 開發(fā)板初體驗(yàn)

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

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

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

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

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

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

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