A40i T3開發板外擴介面的功能測試

ningmengzier發表於2020-12-24

A40i T3 開發板功能測試

硬體平臺:飛凌嵌入式OKA40i-C/OKT3-C開發板, 基於國產晶片 A40i(工業級) T3(車規級)設計研發。

此章節主要說明A40i T3開發板外擴介面的使用方法。本章節測試所用到的測試程式在飛凌提供的Demo中已有整合,故不做檔案來源說明,直接進行命令操作。所有命令均以#標識,請客戶使用前將#去除再進行輸入。

一、 WIFI測試

RTL8723bu—USB WIFI、SDIO-WIFI 8189ES使用方法如下。

1、 板載WIFI的使用

如果開發板有板載的WIFI無線區域網卡,則焊接在評估板如圖所示位置:

步驟1:檢查開發板是否已經焊接該模組,正確焊接如上圖。連線上天線。

步驟2:開發板上電,啟動Linux系統。手動載入模組:

#insmod /lib/modules/$(uname -r)/8723bu.ko

檢視模組是否載入:

#lsmod

8723bu 1920908 0 - Live 0xbf19a000

步驟3:自動分配IP

#wifi.sh -i 8723 -s ciscosbwifi -p abcdefghijklmn

其中-i:8189或者8723,-s:wifi ssid,-p:wifi password或者NONE

wifi 8723ssid ciscosbwifipasw abcdefghijklmnSuccessfully initialized wpa_supplicantrfkill: Cannot open RFKILL control devicewlan0: Trying to associate with bc:67:1c:41:2e:3c (SSID='ciscosbwifi' freq=2437 MHz)wlan0: Associated with bc:67:1c:41:2e:3cwlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0wlan0: WPA: Key negotiation completed with bc:67:1c:41:2e:3c [PTK=CCMP GTK=CCMP]wlan0: CTRL-EVENT-CONNECTED - Connection to bc:67:1c:41:2e:3c completed [id=0 id_str=]udhcpc: started, v1.25.1udhcpc: sending discoverudhcpc: sending select for 192.168.1.131udhcpc: lease of 192.168.1.131 obtained, lease time 86400deleting routersadding dns 222.222.202.202adding dns 222.222.222.222Finshed!

步驟4:ping ip或者域名,命令如下。

#ifconfig eth0 down

#ping www.forlinx.com

步驟5:解除安裝已經加入核心的模組。

#rmmod 8723bu

注意解除安裝模組前,請將wpa_supplicant與udhcpc -i wlan0程式kill。否則會載入一些資訊。

注:本小節中是一個WIFI連線路由的示例。由於網路環境的不同,所以在您做本實驗時,請根據實際情況進行設定。

2、 SDIO-WIFI RTL8189的使用

步驟1:插入模組,開發板上電。

步驟2:手動載入模組

#insmod /lib/modules/$(uname -r)/8189es.ko

步驟3:自動分配IP

#/usr/sbin/wifi.sh -i 8189 -s ciscosbwifi -p abcdefghijklmn

其中-i:8189或者8723,-s:wifi ssid,-p:wifi password或者NONE

 

[ 540.748544] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not readyudhcpc (v1.18.3) startedSending discover...[ 542.214046] RTL871X: rtw_set_802_11_connect(wlan0) fw_state=0x00000008[ 542.240264] RTL871X: start auth[ 542.260150] RTL871X: auth success, start assoc[ 542.280348] RTL871X: assoc success[ 542.284224] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready[ 542.294711] RTL871X: send eapol packet[ 542.310877] RTL871X: send eapol packet[ 542.315351] RTL871X: set pairwise key camid:4, addr:bc:67:1c:41:2e:3c, kid:0, type:AES[ 542.324851] RTL871X: set group key camid:5, addr:bc:67:1c:41:2e:3c, kid:1, type:AESSending discover...Sending select for 192.168.1.127...Lease of 192.168.1.127 obtained, lease time 86400deleting routersroute: SIOCDELRT: No such processadding dns 222.222.202.202adding dns 222.222.222.222

 

步驟4:ping ip或者域名,命令如下。

#ifconfig eth0 down

#ping www.forlinx.com

步驟5:解除安裝已經加入核心的模組。

#rmmod 8189es

注意解除安裝模組前,請將wpa_supplicant與udhcpc -i wlan0程式kill。否則會載入一些資訊。

注:本小節中是一個WIFI連線路由的示例。由於網路環境的不同,所以在您做本實驗時,請根據實際情況進行設定。

3、 熱點測試

WiFi熱點:

#insmod /lib/modules/$(uname -r)/8723bu.ko

#/usr/sbin/wifiap.sh

生成ssid為forlinx_a40i,密碼為12345678的AP節點,手機連線forlinx_a40i,可連線外網。

注意:有線網路卡要連線一個有開啟dhcp服務的網路路由器,並且可以訪問網際網路。

 

二、 SDHC/TF卡驅動測試

開發板支援SD或TF卡熱插拔。插上SD或者TF卡後系統自動將其掛載到/mnt/sdcard/mmcblk1p1目錄下,移除時,將sd卡或TF卡解除安裝。

檢視SD卡中的檔案,命令如下:

# ls -la /mnt/sdcard/mmcblk1p1/

total 5

drw-rw-rw- 2 root root 4096 Jan 1 00:00 .

drwxrwxrwx 4 root root 1024 Jan 1 00:30 ..

-rw-rw-rw- 1 root root 0 Jul 5 2019 sdcard.txt

往 SD 卡中寫入檔案,命令如下,寫1到test.txt 檔案中:

# echo 1 > /mnt/sdcard/mmcblk1p1/test.txt

# sync

讀取 SD 卡中test.txt 檔案,命令如下:

# cat /mnt/sdcard/mmcblk1p1/test.txt

1

會讀到剛才我們寫入的1。

注意:同時插入sd卡與tf卡時,只掛載第一個插入的卡,掛載另一個卡,可使用mount命令掛載。

 

三、 USB介面測試

1、 USB Host介面儲存測試

這裡用掛載U盤為例進行演示,目前U盤測試支援到32G,32G以上並未測試。U盤與開發板物理連線如圖:

 

同時終端會列印關於U盤的資訊,由於存在很多種U盤,顯示的資訊可能會有差別。

步驟1:連線USB 介面u盤到USB host介面,會自動掛載到/mnt/usb/sdx1目錄下。

步驟2:檢視usb儲存裝置

# ls -l /mnt/usb/

total 21

drwxrwxrwx 7 root root 16384 Jan 1 00:00 sda1

drwxr-xr-x 2 root root 1024 Jan 1 00:38 sda4

drwxrwxrwx 2 root root 4096 Jan 1 00:00 sdb1

# ls -la /mnt/usb/sdb1/

total 5

drwxrwxrwx 2 root root 4096 Jan 1 00:41 .

drwxrwxrwx 5 root root 1024 Jan 1 00:38 ..

-rwxrwxrwx 1 root root 0 Jul 5 2019 sdcard.txt

步驟3:往U盤中寫入檔案

#echo 1 > /mnt/usb/sdb1/test.txt //寫1到test.txt 檔案

#sync //將內容從記憶體同步到U盤中

步驟4:讀取U盤中內容

#cat /mnt/usb/sdb1/test.txt

1

會讀到剛才我們寫入的1。

2、 OTG轉Host測試

使用otg轉host線連線到otg口,插入u盤能讀取u盤內容。將U盤掛載到/mnt/usb/sdx1目錄下。操作同U盤操作。

3、 OTG預設成Host埠功能

修改/adb.sh

#kill -9 $(pidof adb-service)

#mkdir -p /system

#ln -s /bin /system/bin

cat /sys/bus/platform/devices/usbc0.2/usb_host

#echo 0 > /sys/class/android_usb/android0/enable

#echo 1f3a > /sys/class/android_usb/android0/idVendor

#echo 1002 > /sys/class/android_usb/android0/idProduct

#echo "mass_storage,adb" > /sys/class/android_usb/android0/functions

#echo 1 > /sys/class/android_usb/android0/enable

#. /qt5.9.sh

#/bin/adb-service &

4、 USB轉4串列埠

插上usb轉串列埠到開發板的usb host埠

可選:生成和板子usb host絲印號相關的串列埠名字

# create_xr_usb_serial.sh

說明:usb轉4串列埠生成的名字預設是/dev/ttyXRUSB*;

四、 乙太網驅動測試

網路相關配置宣告:

每個開發板的網路使用環境未必相同,本節測試示例中,網路環境如下。實際使用中,請按照實際網路環境自行進行配置。

OKA40i有eth0 網路卡。開機已設定預設eth0的IP地址為192.168.0.232。如果修改預設IP請修改/etc/init.d/auto_config_network。

下面以eth0為例進行命令說明。

1、手動配置eth0

01. 在Linux系統下,使用ifconfig命令可以顯示或配置網路裝置,其常用的組合命令格式如下:

#ifconfig 網路埠 IP地址 hw<HW> ether MAC地址 netmask 掩碼地址 broadcast 廣播地址 [up|down]

02. 設定IP地址

# ifconfig eth0 192.168.1.120(將eth0設定IP為192.168.1.120)

# ifconfig eth0 (檢視當前網路狀況)

03. 修改mac地址

i.先關閉網路卡裝置

#ifconfig eth0 down

ii.修改MAC

# ifconfig eth0 hw ether 36:C9:E3:F1:B8:05

iii.重新開啟網路卡

#ifconfig eth0 up

04. 設定子網掩碼

#ifconfig eth0 netmask 255.255.255.0

 

 

05. 設定廣播地址

#ifconfig eth0 broadcast 192.168.0.255

6. 新增/刪除預設閘道器

新增預設閘道器:

#route add default gw 192.168.0.1

刪除預設閘道器:

#route del default gw 192.168.0.1

07. 關閉開啟網路卡

關閉eth0網路卡

#ifconfig eth0 down

開啟eth0網路卡

#ifconfig eth0 up

08. ethtool檢視網路資訊

# ethtool eth0

Settings for eth0:

Supported ports: [ TP MII ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Advertised pause frame use: No

Advertised auto-negotiation: Yes

Speed: 100Mb/s

Duplex: Full

Port: MII

PHYAD: 1

Transceiver: external

Auto-negotiation: on

Link detected: yes

2、動態設定IP地址

如果您的開發板與路由器連線,且路由器支援DHCP自動IP地址分配可以在超級終端裡面輸入命令:

#udhcpc -i eth0

用來動態獲取IP地址,“-i” 引數用來指定網路卡名稱,飛凌開發板有線網路的網路卡名稱為eth0。

/etc/resolv.conf檔案中有dns伺服器資訊會被自動新增。

五、 乙太網相關服務

乙太網相關服務測試之前,確保已經設定好IP。設定IP請參考乙太網驅動測試部分。

1、 Telnet服務

OKA40i-C開發板已經啟動了telnet服務,設定好IP地址後就可以作為一臺telnet伺服器了。

檢視是否啟動可以輸入命令:

#netstat -al

例如,開發板IP地址為192.168.0.232,在Windows的命令視窗下輸入telnet 192.168.0.232 ,使用者名稱輸入root,密碼為root(具體根據自己的設定)(開始->執行,輸入cmd回車,即可進入Windows的命令視窗)

之後就輸入Ctrl +C終止服務載入。

2、 sshd服務

OKA40i-C開發板在/etc/init.d/rcS 指令碼檔案中已經啟動了ssh服務,設定好IP地址後就可以作為一臺sshd sftp-server 伺服器了。

測試前,設定root的密碼比如為123,同時修改sshd的配置檔案/etc/ssh/sshd_config,允許root登入。將#PermitRootLogin prohibit-password 修改為PermitRootLogin yes,儲存退出之後,重啟,需要將開發板設定為當前UTC時間。並且使用者名稱和密碼不能寫成一樣。

檢視是否啟動可以輸入命令:

#netstat -al

例如,開發板IP地址為192.168.0.232,在Windows開啟putty, 192.168.0.232,輸入使用者名稱root,密碼123,如下圖;

 

登入後如下圖;

sftp-server檔案服務

開發板IP地址為192.168.0.232,在Windows開啟WinScp, 192.168.0.232 ,使用者名稱輸入root,root,如下圖;

登入成功後的介面如下圖

注意:出現登入成功後介面之前需要等待一段時間;

3、 Web服務

我們在開發板上移植了一個webserver:boa;

boa webserver是一個小巧高效的web伺服器,可執行在Unix或Linux平臺,支援CGI,原始碼開放;是一個非常適合於嵌入式系統的單任務http伺服器。

如果系統沒有預設IP,臨時使用ifconfig配置。

系統啟動時已經自動啟動了boa服務,在IE中輸入開發板的IP地址即可瀏覽開發板webserver中的網頁。下圖是在IE中瀏覽的截圖:

4、 VSFTP

開發板作為伺服器

系統啟動時已經自動啟動了ftp服務,可在電腦上用ftp軟體訪問,使用者名稱root,密碼root(測試前,需先使用passwd命令設定密碼,這裡設定為root);

下圖是在PC機上用ftp://192.168.0.232訪問ftp 的截圖:

開發板作為客戶端

假設ftp伺服器的IP地址為192.168.0.72,採用ftp命令傳輸下載檔案,可以使用如下命令。

ftpput -u root -p root 192.168.0.72 test.mp4 test.mp4使用此命令將開發板檔案傳輸到ftp伺服器。

ftpget -u root -p root 192.168.0.72 test.mp4 test.mp4 使用此命令將伺服器端檔案下載到開發板

六、 看門狗測試

看門狗是嵌入式系統中經常用到的功能。看門狗驅動指定系統最大為16s倒數計時重啟。為了防止系統復位,可在計數的16s內向watchdog寫入清零命令,重新計數。

1.執行10s復位命令:

#/usr/bin/watchdog /dev/watchdog settimeout 10 &

10s後系統重啟。

2.週期喂狗

#/usr/bin/watchdog /dev/watchdog keepalive 10 &

一直迴圈喂狗,系統不重啟。10表示10s喂狗

七、 放/錄音測試

使用者可以使用檔案系統內帶的ALSA音訊錄製、播放、配置工具進行測試。

1.耳機放音測試

如果耳機與喇叭同時開啟時,預設從喇叭輸出。需拔出喇叭。

#aplay -Dhw:0,0 /root/wo.wav 播放音訊檔案

串列埠資訊:

Playing WAVE '/usr/bin/Rear_Center.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo

1. speaker放音測試

#amixer cset numid=15,iface=MIXER,name='Phone Out Mixer LOMIX Switch' on

#amixer cset numid=16,iface=MIXER,name='Phone Out Mixer ROMIX Switch' on

#amixer cset numid=48,iface=MIXER,name='Phoneout Speaker Switch' on

#amixer cset numid=2,iface=MIXER,name='digital volume' 50 /*設定音量*/

播放音訊檔案:

#aplay -Dhw:0,0 /root/wo.wav 播放音訊檔案

串列埠資訊:

Playing WAVE '/usr/bin/Rear_Center.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo

2. 錄音測試

# killall -9 Launcher

# killall -9 MediaUI

# killall -9 CameraUI

#arecord -Dhw:0,0 -r 44100 -f S16_LE -d 10 record.wav 錄音

串列埠資訊:

Recording WAVE 'record.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

播放錄音

#aplay -Dhw:0,0 record.wav 播放錄音

串列埠資訊:

Playing WAVE 'record.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

八、 攝像頭測試

1、 USB攝像頭測試

一般USB攝像頭插入之後,自動載入驅動。

01. 插入USB攝像頭,在除錯串列埠輸入命令檢視USB狀態。

# lsusb

串列埠資訊:

Bus 001 Device 004: ID 0909:0824

檢視USB攝像頭的ID資訊。

02. 輸入命令檢視USB攝像頭的裝置節點,可見裝置節點video0

# ls /dev/video*

串列埠資訊:

/dev/video /dev/video0 其中/dev/video0為剛才插入的usb裝置。

03. 另外還可以採用uvccamera測試程式,預覽影像:

注意:uvccamera預覽不能先使用自帶qt應用測試CameraUI測試,如果測試後必須先重啟。

#ps

1312 root /Launcher

1313 root /MediaUI

1314 root /CameraUI

將上述3個程式kill。

#kill -9 1312 1313 1314

#fbinit 0

#fbinit 1

#fbinit 2

#uvccamera

devpth: /dev/video0

width: 800

height: 600

position: (0, 0)

frame: (800, 600)

format: 69

[ION] map success: base 0xb6d14000, physical 59200000

00000001 00000001

00000001 00000001

04. 採用自帶Qt應用測試CameraUI

測試前,插入SD或者TF卡,開機自啟動之後,預設啟動Launcher,MediaUI,CameraUI。採用CameraUI測試。點選下面圖示:

點選

選擇節點為video0,確定,開啟預覽,可檢視usb攝像頭畫面。

2 、CMOS-OV5640測試

cmos ov5640還可以使用cameratest預覽

注意:使用uvccamera預覽不能先使用自帶qt應用測試CameraUI測試,如果測試後必須先重啟。

#ps

1312 root /Launcher

1313 root /MediaUI

1314 root /CameraUI

將上述3個程式kill。

#kill -9 1312 1313 1314

#fbinit 0

#fbinit 1

#fbinit 2

# cameratest -d /dev/video1

其中video1是對應的節點。

devpth: /dev/video1

width: 640

height: 480

position: (0, 0)

frame: (640, 480)

format: 76

fps: 30

dragonboard(debug): the window: x: 0,y: 0,width: 640,height: 480

dragonboard(debug): the output type: 0

OKA40i平臺支援OV5640預覽。採用自帶qt應用測試CameraUI

測試前,插入SD或者TF卡,開機自啟動之後,預設啟動Launcher,MediaUI,CameraUI。採用CameraUI測試。點選下面圖示:

點選

選擇節點為video1(video1為ov5640產生的節點,具體根據實際選擇),確定,開啟預覽,可檢視ov5640的攝像頭預覽畫面。

3、 模擬攝像頭測試

飛凌自制模擬攝像頭模組如下圖:

 

video4-7為tvin產生的節點,左上角對應video7,左下角對應video6,右下角對應video5,右上角對應video4,根據實際情況選擇 。

01. 採用自帶qt應用測試CameraUI

測試前,插入SD或者TF卡,開機自啟動之後,預設啟動Launcher,MediaUI,CameraUI。採用 CameraUI測試。點選下面圖示:

點選

選擇節點為video4,確定,開啟預覽,可檢視tvin的攝像頭預覽畫面。其中CameraUI支援PAL格式。

02. 還可以採用sdktest進行測試。

#ps

1312 root /Launcher

1313 root /MediaUI

1314 root /CameraUI

將上述3個程式kill。

#kill -9 1312 1313 1314

#fbinit 0

#fbinit 1

#fbinit 2

# /sdktest 1 4可以採用PAL或者NTSC格式均可以。

03. 模擬攝像頭還可以使用tvdcamtester進行測試,此方式支援PAL方式。

# tvincamera -d /dev/video7

devpth: /dev/video7 width: 720 height: 576 position: (0, 0) frame: (640, 480) format: 77dragonboard(debug): v40 tvin test v1 version 2016.1.20dragonboard(debug): the output type: 0dragonboard(debug): screen width: 1024, height: 600dragonboard(debug): inp.index: 0dragonboard(debug): *********image source width = 720, height = 576********

九、 RTC時鐘驅動測試

RTC測試,主要通過使用date和hwclock工具設定檢視軟、硬體時間,測試當作業系統重啟的時候,軟體時鐘讀取RTC時鐘是否同步(注意:確保板子上已經安裝了鈕釦電池)。

設定時間命令幫助如下:

# date -help

串列埠資訊:

Usage: date [OPTIONS] [+FMT] [TIME]

Display time (using +FMT), or set time

[-s,--set] TIME Set time to TIME

-u,--utc Work in UTC (don't convert to local time)

-R,--rfc-2822 Output RFC-2822 compliant date string

-I[SPEC] Output ISO-8601 compliant date string

SPEC='date' (default) for date only,

'hours', 'minutes', or 'seconds' for date and

time to the indicated precision

-r,--reference FILE Display last modification time of FILE

-d,--date TIME Display TIME, not 'now'

-D FMT Use FMT for -d TIME conversion

Recognized TIME formats:

hh:mm[:ss]

[YYYY.]MM.DD-hh:mm[:ss]

YYYY-MM-DD hh:mm[:ss]

[[[[[YY]YY]MM]DD]hh]mm[.ss]

'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead

設定時間如下命令

#date -s 2015.05.29-09:47:13

串列埠資訊:

Fri May 29 09:47:13 UTC 2015

說明:date設定的格式:MMDDhhmm[[YY]YY][.ss], MM是月份,DD是日期,hh是小時,mm是分鐘, 年份可以寫2位的YY或4位YYYY,秒可以用.ss表示。

hwclock —檢視下硬體時間

#hwclock –help

串列埠資訊:

Usage: hwclock [-r|--show] [-s|--hctosys] [-w|--systohc] [-t|--systz] [-l|--localtime] [-u|--utc] [-f|--rtc FILE]

Query and set hardware clock (RTC)

-r Show hardware clock time

-s Set system time from hardware clock

-w Set hardware clock from system time

-t Set in-kernel timezone, correct system time

if hardware clock is in local time

-u Assume hardware clock is kept in UTC

-l Assume hardware clock is kept in local time

-f FILE Use specified device (e.g. /dev/rtc2)

# hwclock -w

hwclock -w —將系統時間設定到時鐘晶片裡面。如果沒有這步,下次啟動時,系統時間是不會更新的。

斷電重啟

#date

檢視時間是否儲存。

十、 4G模組測試

注:4G模組是選配模組,如有需要,請聯絡飛凌銷售。

準備一張移動4G SIM卡,4G EC20模組一個,將SIM卡插入4G模組卡槽中固定好,將天線接到主ipex天線座,開機上電。

1、 檢視節點是否存在:

[root@sun8i ~]# ls -la /dev/qcqmi0

存在qcqmi0節點,且識別usb0節點,則4g模組正確識別並載入。

2、 撥號:

#/usr/bin/quectel-CM &

[01-01_00:33:08:257] WCDMA<E_QConnectManager_Linux&Android_V1.1.34

[01-01_00:33:08:258] quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)

[01-01_00:33:08:263] Find /sys/bus/usb/devices/1-1.3 idVendor=2c7c idProduct=0125

[01-01_00:33:08:263] Find /sys/bus/usb/devices/1-1.3:1.4/net/usb0

[01-01_00:33:08:263] Find usbnet_adapter = usb0

[01-01_00:33:08:264] Find /sys/bus/usb/devices/1-1.3:1.4/GobiQMI/qcqmi0

[01-01_00:33:08:264] Find qmichannel = /dev/qcqmi0

[01-01_00:33:08:288] Get clientWDS = 7

[01-01_00:33:08:320] Get clientDMS = 8

[01-01_00:33:08:351] Get clientNAS = 9

[01-01_00:33:08:385] Get clientUIM = 10

[01-01_00:33:08:416] Get clientWDA = 11

[01-01_00:33:08:448] requestBaseBandVersion EC20CEHCR06A03M1G

[01-01_00:33:08:545] requestGetSIMStatus SIMStatus: SIM_READY

[01-01_00:33:08:576] requestGetProfile[1] ctnet///0

[01-01_00:33:08:608] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE

[01-01_00:33:08:640] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED

[01-01_00:33:08:704] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE

[01-01_00:33:08:736] requestSetupDataCall WdsConnectionIPv4Handle: 0x86ad3a90

[01-01_00:33:08:832] requestQueryDataCall IPv4ConnectionStatus: CONNECTED

[01-01_00:33:08:865] ifconfig usb0 up

[01-01_00:33:08:884] busybox udhcpc -f -n -q -t 5 -i usb0

[01-01_00:33:08:898] udhcpc (v1.18.3) started

[01-01_00:33:08:970] Sending discover...

[01-01_00:33:09:071] Sending select for 10.51.194.11...

[01-01_00:33:09:190] Lease of 10.51.194.11 obtained, lease time 7200

[01-01_00:33:09:210] deleting routers

route: SIOCDELRT: No such process

[01-01_00:33:09:225] adding dns 222.222.222.222

[01-01_00:33:09:226] adding dns 222.222.202.202

3、 測試網路通斷

輸入指令:

# ifconfig eth0 down

#ping -c 3 www.baidu.com

除錯串列埠輸出如下資訊:

ping www.baidu.com -c 3

PING www.baidu.com (220.181.38.149): 56 data bytes

64 bytes from 220.181.38.149: seq=0 ttl=51 time=44.181 ms

64 bytes from 220.181.38.149: seq=1 ttl=51 time=58.372 ms

64 bytes from 220.181.38.149: seq=2 ttl=51 time=66.671 ms

--- www.baidu.com ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 44.181/56.408/66.671 ms

4、4G熱點:

# /usr/bin/quectel-CM &

#echo 1 > /proc/sys/net/ipv4/ip_forward

#iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE

#insmod /lib/modules/$(uname -r)/8723bu.ko

#ifconfig wlan0 192.168.18.1

#udhcpd -f /etc/udhcpd.conf &

#/usr/sbin/hostapd -d /etc/hostapd.conf &

生成ssid為forlinx_a40i,密碼為12345678的AP節點,手機連線forlinx_a40i,可連線外網。

十一、 UART串列埠測試

1. OKA40I-C開發板設定6個UART口,在開發板上分別為DEGUG(RS232)、UART2(TTL)、UART3(TTL)、UART4(TTL)、UART5(RS485)、UART7(TTL),其中UART0作為Debug使用,與板載232介面功能一樣。UART2、 UART3作為五線串列埠使用。UART4、UART7用作普通串列埠引出。UART5用作RS485。

2.把飛凌的TTL轉RS232模組接到開發板UART2(ttyS2)或者UART3(ttyS3)上,串列埠線連線到RS232裝置,連線好硬體後開發板上電。

3.以UART3為例,終端中輸入如下命令,tty_test啟動後會不斷的向外傳送“abcdefg”。將收發短接進行測試。UART2口類似,修改為對應裝置號即可。

# uart /dev/ttyS3 9600

 

Welcome to TTYtest! Press Ctrl + 'c' to stop.

 

/dev/ttyS3,creat thread 3068421232 sucess

/dev/ttyS3,creat thread 3060032624 sucess

sendTotal= 9 num = 1 send = abcdefgh

recvTotal= 8 num = 1 recv = abcdefgh

hex:0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68

sendTotal= 18 num = 2 send = abcdefgh

recvTotal= 16 num = 2 recv = abcdefgh

hex:0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68

sendTotal= 27 num = 3 send = abcdefgh

recvTotal= 24 num = 3 recv = abcdefgh

hex:0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68

 

/dev/ttyS3,Send: 3 ,Receive: 3

十二、 RS485測試

預設UART5用作RS485功能,對應節點為/dev/ttyS5。採用RS485轉232模組,與電腦相連。

終端中輸入如下命令,tty_test啟動後會不斷的向外傳送“abcdefg”。

#uart /dev/ttyS5 9600

電腦端串列埠助手(在使用者資料\工具\串列埠助手中),傳送abcdefg後,接收到RS485傳送過來的abcdefg。

 

十三、 資料庫測試

開啟資料庫,輸入sqlite3,如下:

#sqlite3

SQLite version 3.15.0 2016-10-14 10:20:30

Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

sqlite> create table tbl1 (one varchar(10), two smallint); //建立資料庫tbl1

sqlite> insert into tbl1 values('hello!',10);//資料庫中插入hello!|10

sqlite> insert into tbl1 values('goodbye', 20);//資料庫中插入goodbye|20

sqlite> select * from tbl1; //讀取資料庫tbl1中所有內容如下

hello!|10

goodbye|20

sqlite> .quit //退出

 

十四、 SPI測試

預設支援1路SPI片選,分別對應節點為/dev/spidev2.0。

短接MOSI與MISO,對應SPI串列埠的8,10引腳

# /usr/bin/spi -D /dev/spidev2.0

spi mode: 0

bits per word: 8

max speed: 500000 Hz (500 KHz)

 

FF FF FF FF FF FF

40 00 00 00 00 95

FF FF FF FF FF FF

FF FF FF FF FF FF

FF FF FF FF FF FF

DE AD BE EF BA AD

F0 0D

 

十五、 按鍵測試

# keytest

Input driver version is 1.0.1

Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100

Input device name: "sunxi-keyboard"

Supported events:

Event type 0 (Sync)

Event type 1 (Key)

Event code 28 (K5)

Event code 102 (Home)

Event code 114 (K1)

Event code 115 (VolumeUp)

Event code 139 (K2)

Key, K5(102, 01)//K5按下

Key, K5(102, 00)//K5抬起

Key, K2(28, 01)//K2按下

Key, K2(28, 00) //K2抬起

Key, K1(114, 01) //K1按下

Key, K1(114, 00) //K1抬起

 

十六、 顯示測試

Lcd顯示目前支援飛凌並行24bit 1024x600,飛凌lvds介面1280x800顯示電容觸控一體屏,支援hdmi1080p@60Hz,Tvout顯示輸出。

1、背光測試

檢視觸控驅動是否存在,如果不存在的話就加入驅動模組到系統

# lsmod

mali 278345 0 - Live 0xbf010000 (O)

gt9xxnew_ts 44460 0 - Live 0xbf000000

1.匯出qt和tslib環境變數

# source /qt5.9.sh

2. 背光調節

#ps

1312 root /Launcher

1313 root /MediaUI

1314 root /CameraUI

將上述3個程式kill。

# kill -9 1312 1313 1314

#fbinit 0

#fbinit 1

#fbinit 2

# backlight_gui

滑動進度條,調節背光亮滅。

 

2、觸控測試

注意:

開發板預設支援ft5xxx和gt9xx兩種觸控驅動;可通過命令列呼叫指令碼方式切換兩種觸控;執行指令碼切換後要重啟開發板。

ts_module_ft5xxx.sh 呼叫ft5xxx驅動;

ts _module_gt9xx.sh 呼叫gt9xx驅動。

檢視觸控驅動是否存在,如果不存在的話就加入驅動模組到系統。

# lsmod

mali 278345 0 - Live 0xbf010000 (O)

gt9xxnew_ts 44460 0 - Live 0xbf000000

1.匯出qt和tslib環境變數

# source /qt5.9.sh

2. Tslib測試程式測試觸控

#ts_print

1434592025.966377: 560 446 255

1434592025.976749: 560 446 0

觸控任意一點,檢視上報座標值,是否正確。

相關文章