隨便看看
啟動系統后板子上的LED燈就開始閃爍了,具體是什么燈呢,這個還不知道,正常有LED設備的話可以查看LED的所代表的行為,但是經過查找一番,沒找到LED設備,那么就先看看有什么任務吧
[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
在里面看到了一個S99user的啟動腳本,那么看看內容是什么呢?
[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/
下面會檢測auto.sh,/mnt/system/
下面會檢測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是在腳本里面設置的IP地址,直接設置為192.168.42.1
關于LED引腳,原理圖上面寫的是XGPIOC[24]
而教程里面是用GPIOx(x=0,1,2…)來表示的,通過測試GPIOA=GPIO0,GPIOB=GPIO1以此類推,GPIOC[24]=416+24=440,與腳本的引腳號一致,所以把blink.sh腳本干掉之后手動控制一下試試,發現輸出結果符合預期,但是輸出模式好像不能讀取電平,讀到的電平一直是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#
然后測試其他引腳,比如說GPIO14(GPIOA[14])和GPIO15(GPIOA[15]),即494和495
結果與LED引腳不一樣,電平不受控制,原因未知,可能是受其他模塊影響吧,換GPIO6(GPIOA[23])和GPIO17(GPIOA[24]),即503和504試試,結果是符合預期的。
至此GPIO的測試就完成了
審核編輯:湯梓紅
-
led
+關注
關注
242文章
23308瀏覽量
661596 -
硬件
+關注
關注
11文章
3348瀏覽量
66303 -
硬件設計
+關注
關注
18文章
398瀏覽量
44591 -
開發板
+關注
關注
25文章
5081瀏覽量
97699 -
GPIO
+關注
關注
16文章
1211瀏覽量
52179 -
腳本
+關注
關注
1文章
391瀏覽量
14891 -
Milk-V Duo
+關注
關注
2文章
28瀏覽量
213
發布評論請先 登錄
相關推薦
評論