下面滾動條稍拉動一下,列會跳很遠(鼠標滾輪滾動時滾幾行總會往上跳動下)
861
2022-05-29
前言
本指導文檔適用開發環境:
Windows開發環境:Windows 7 64bit、Windows 10 64bit
Linux開發環境:Ubuntu 14.04.3 64bit
虛擬機:VMware14.1.1
U-Boot:U-Boot-2017.01
Kernel:Linux-4.9.65、Linux-RT-4.9.65
Linux Processor SDK:ti-processor-sdk-linux-rt-am437x-evm-04.03.00.05
進行本文檔操作前,請先按照調試工具安裝、Linux開發環境搭建相關文檔,安裝SecureCRT串口調試終端、VMware虛擬機、Linux Processor SDK等相關軟件。
本文檔主要提供評估板的硬件資源測試方法。無特殊說明情況下,默認使用UART0作為調試串口,使用Linux系統啟動卡啟動系統,通過路由器與PC機進行網絡連接。
1評估板快速測試
1.1系統啟動測試
接入電源,并使用Micro USB線連接PC機和評估板的USB TO UART0調試串口。
圖 1
打開設備管理器,確認評估板UART0調試串口對應的COM端口號。
圖 2
圖 3
打開串口調試終端SecureCRT,選擇對應的COM端口號,設置波特率為115200,8N1,無檢驗位。建立串口連接,如下圖所示。
圖 4
將Linux系統啟動卡插入評估板Micro SD卡槽,根據評估底板絲印將撥碼開關撥為00110(1~5),此檔位為SD卡啟動模式。將評估板上電啟動,串口終端會打印以下類似啟動信息。
圖 5
圖 6
圖 7
在系統啟動過程中的LED變化說明如下:
評估板上電后,電源指示燈D3點亮;隨后U-Boot第一階段啟動,D1點亮;緊接著U-Boot第二階段啟動,D2點亮;直到內核啟動運行時,D2熄滅,D1進行心跳閃爍;NAND FLASH進行讀寫時,D2閃爍。
系統啟動后會自動登陸root用戶,說明使用Linux系統啟動卡啟動評估板成功。
圖 8
1.2文件測試測試
PC機和評估板之間傳送文件的常見方式如下:
通過Linux系統啟動卡、U盤等存儲介質方式拷貝。
通過NFS、TFTP、OpenSSH等網絡方式拷貝。
1.2.1通過Linux系統啟動卡
將配套的系統啟動卡插到PC機,然后把需要拷貝到評估板的文件復制到系統啟動卡的BOOT分區,如下圖所示。
圖 9
將系統啟動卡插到評估板,啟動系統并執行如下命令查看分區信息。系統啟動卡的BOOT分區掛載在評估板文件系統”/run/media/mmcblk0p1”目錄下。
Target# df
Target# ls /run/media/mmcblk0p1
圖 10
1.2.2通過OpenSSH
OpenSSH是SSH(Secure SHell)協議的免費開源實現。SSH協議族可用來進行遠程控制,或在計算機之間傳送文件,評估板文件系統默認已支持SSH庫。
在Ubuntu中執行如下命令,查詢是否已安裝OpenSSH。
Host# ssh -v
圖 11
可看到系統已自帶OpenSSH。如未安裝,請先自行正確安裝OpenSSH。
將評估板RGMII ETH1網口通過網線連接到路由器。在評估板上執行如下命令可自動獲取到IP,如下圖所示。"-i"用于指定網卡,eth0為網卡名字,請根據實際情況修改。
Target# udhcpc -i eth0
圖 12
執行如下命令可查詢IP地址。本次查詢到的IP地址是192.168.0.106。
Target# ifconfig
圖 13
使用OpenSSH從PC機傳送文件到評估板
執行如下命令在Ubuntu中新建文件test1,并使用OpenSSH命令將test1文件拷貝到評估板文件系統根目錄。
Host# touch test1 //新建文件
Host# scp test1 root@192.168.0.106:/
圖 14
如出現提示”Are you sure you want to continue connecting (yes/no)?”,請輸入:yes。
在評估板上執行如下命令可看到從PC機拷貝過來的文件,如下圖所示。
Target# ls /
圖 15
使用OpenSSH從評估板傳送文件到PC機
執行如下命令在評估板文件系統根目錄新建一個測試文件test2。
Target# cd /
Target# touch test2 //新建文件
圖 16
在Ubuntu上執行如下OpenSSH命令將評估板測試文件test2拷貝到PC機”/home/tronlong/test/”目錄下。如果傳輸的是文件夾,請在scp后面添加參數”-r”。
Host# sudo scp root@192.168.0.106:/test2 /home/tronlong/test/
Host# ls /home/tronlong/test/
圖 17
使用OpenSSH登錄到評估板文件系統
在Ubuntu執行如下命令可通過OpenSSH登錄評估板文件系統。
Host# sudo ssh root@192.168.0.106
圖 18
如需退出登陸,請執行exit或者logout命令。
1.3LED測試
評估底板LED與GPIO對應關系如下表所示。
表 1
D8
D9
D10
D11
GPIO5[10]
GPIO5[11]
GPIO5[12]
GPIO5[13]
逐盞點亮LED
進入評估板文件系統,執行如下命令逐盞點亮、熄滅LED。
Target# echo 0 > /sys/class/leds/user-led0/brightness //控制D8滅
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制D8亮
Target# echo 0 > /sys/class/leds/user-led1/brightness //控制D9滅
Target# echo 1 > /sys/class/leds/user-led1/brightness //控制D9亮
Target# echo 0 > /sys/class/leds/user-led2/brightness //控制D10滅
Target# echo 1 > /sys/class/leds/user-led2/brightness //控制D10亮
Target# echo 0 > /sys/class/leds/user-led3/brightness //控制D11滅
Target# echo 1 > /sys/class/leds/user-led3/brightness //控制D11亮
圖 19
LED流水燈
將產品資料“4-軟件資料\Demo\platform-test-demos\led”目錄下的led_loop.sh腳本程序拷貝到評估板文件系統。進入腳本程序所在路徑,執行如下命令運行腳本程序,循環點亮LED。
Target# ./led_loop.sh
圖 20
可按”Ctrl+C”終止運行腳本程序。
在執行程序時,若提示”-ash: ./led_loop.sh: Permission denied”沒有權限,可執行命令”chmod 777 led_loop.sh”獲得執行權限。
1.4按鍵測試
評估板用戶按鍵與GPIO對應關系如下表。
表 2
KEY0
KEY1
GPIO3[7]
GPIO3[8]
進入評估板系統,執行以下命令查看按鍵事件號。
Target# cat /proc/bus/input/devices
圖 21
從上圖中可以看到按鍵事件號為event0,執行如下命令進行按鍵測試。
Target# od -x /dev/input/event0
先后按下評估板的2個用戶按鍵,可看到如下打印信息。按”Ctrl+C”可終止測試命令。
圖 22
1.5時鐘設置測試
Linux系統中分別有系統時鐘(軟件時鐘)和RTC時鐘(硬件時鐘),系統時鐘掉電即會消失,RTC時鐘在安裝電池的情況下會長期運行。
如需使用RTC時鐘,請先安裝RTC電池。以下為時鐘相關的常用命令。
查看系統時鐘
Target# date
圖 23
查看RTC時鐘
Target# hwclock -u
圖 24
設置系統時間
Target# date -s “2020-08-07?15:27:00”//設置時間:2020年8月7日15點27分00秒
Target# date
圖 25
同步系統時鐘到RTC時鐘
Target# hwclock --systohc -u
Target# hwclock -u
圖 26
同步RTC時鐘到系統時鐘
Target# hwclock --hctosys -u
圖 27
1.6CAN總線測試
評估板有兩個CAN接口,測試方法為:將兩個CAN接口連接,測試兩個CAN接口互相收發數據的正確性。
圖 28
請按如下方法連接兩個CAN接口。
CAN0接口H端子,連接CAN1接口H端子。
CAN0接口L端子,連接CAN1接口L端子。
CAN0接口GND端子,連接CAN1接口GND端子。
進入評估板文件系統,并執行如下命令查看CAN設備。
Target# cat /proc/net/dev
圖 29
執行如下命令可查看CAN配置命令的使用方法。
Target# canconfig --help
圖 30
將產品資料“4-軟件資料\Demo\platform-test-demos\can_test”文件夾下的兩個腳本程序canconfig-can0-1.sh和can0-to-can1-test.sh拷貝到評估板文件系統任意路徑下。在腳本程序所在路徑執行如下命令運行腳本程序,測試CAN接口通信功能。
Target# ./canconfig-can0-1.sh
圖 31
Target# ./can0-to-can1-test.sh
圖 32
腳本程序的任務是從CAN0發送20幀預設數據到CAN1,同時從CAN1發送20幀預設數據到CAN0,并保存此兩組數據到can0to1data.txt和can1to0data.txt文件。
圖 33
打開當前目錄下生成的can0to1data.txt和can1to0data.txt文件,查看文件內容數是否和下圖一致。如一致則表示CAN通信功能正常。
Target# cat can0to1data.txt
Target# cat can1to0data.txt
圖 34
1.7FRAM讀寫測試
本小節對評估板FRAM進行讀寫測試。
執行如下命令,將字符串數據寫到FRAM。
Target# echo "www.tronlong.com" > /sys/devices/platform/44000000.ocp/4819c000.i2c/i2c-2/2-0050/eeprom
執行如下命令,讀取寫入到FRAM的數據。
Target# head -c 16?/sys/class/i2c-adapter/i2c-2/2-0050/eeprom
圖 35
1.8DDR讀寫測試
Linux系統啟動時,在U-Boot階段完成DDR的初始化,并打印DDR實際容量,如下圖所示。
圖 36
DDR讀寫速度受實際情況影響,測試速率以具體情況為準,以下測試數據僅供參考。
DDR讀速度測試
進入評估板系統,執行如下命令對DDR讀速度測試。
Target# bw_mem 100M rd
圖 37
測試從DDR中讀取100MByte數據,可看到本次測試的讀速度約為:375.03MB/s。
DDR寫速度測試
進入評估板系統,執行如下命令對DDR寫速度測試。
Target# bw_mem 100M wr
圖 38
測試寫入100MByte數據到DDR中,可看到本次測試的寫速度約為:275.43MB/s。
DDR拷貝速度測試
進入評估板系統,執行如下命令對DDR拷貝速度測試。
Target# bw_mem 100M cp
圖 39
測試拷貝100MByte數據到DDR中,可看到本次測試的拷貝速度約為:195.63MB/s。
1.9SD卡讀寫測試
本小節使用評估板配套的Linux系統啟動卡來測試SD卡的讀寫速度。不同的SD卡以及不同大小的測試文件,對SD卡的測試結果會造成一定差異。評估板啟動后,Linux系統啟動卡的BOOT分區將會掛載在文件系統”/run/media/mmcblk0p1”目錄下。
Target# ls?/run/media/mmcblk0p1
圖 40
SD卡寫速度測試
進入評估板系統,執行以下命令測試SD寫速度。
Target# time dd if=/dev/zero of=/home/root/test bs=1024K count=200
time命令有計時作用,dd用于復制,從if(input file)文件讀出,寫到of(output file)指定的文件,bs是每次寫塊的大小,count是讀寫塊的數量。
“if=/dev/zero”不產生IO,即不斷輸出數據,可用來測試純寫速度。
圖 41
此處一共寫200MByte測試數據到SD卡的test文件,可看到本次測試的SD卡寫速度約為:200MB/12.70s=15.75MB/s。
SD卡讀速度測試
測完寫速度之后,重啟評估板,并執行以下命令測試SD卡讀速度。
Target# time dd if=/home/root/test of=/dev/null bs=1024K
“of=/dev/null”不產生IO,即不斷接收數據,可用來測試純讀速度。
圖 42
此處從test文件中一共讀出200MByte的數據,可看到本次測試的SD卡讀速度約為:200MB/9.93s=20.14MB/s。
1.10NAND FLASH讀寫測試
本小節對NAND FLASH的MTD6分區進行讀寫速度測試。MTD6是NAND FLASH的備份分區,一般存放小型文件系統,大小為32MByte。讀寫測試會將該分區內容擦除,請做好數據備份。
執行如下命令查詢NAND FLASH分區,確認MTD6分區大小(讀寫請勿超出分區大小),將該分區內容擦除。
Target# cat /proc/mtd
Target# flash_erase /dev/mtd6?0?0
圖 43
NAND FLASH寫速度測試
進入評估板系統,執行如下命令對NAND FLASH進行寫速度測試。
Target# time dd if=/dev/zero of=/dev/mtd6?bs=1024k?count=30
圖 44
此處一共寫30MByte測試數據到NAND FLASH的MTD6分區下,可看到本次測試的NAND FLASH寫速度約為:30MB/6.62s=4.53MB/s。
NAND FLASH讀速度測試
重啟評估板,進入評估板系統,執行如下命令對NAND FLASH進行讀速度測試。
Target# time dd if=/dev/mtd6?of=/dev/null?bs=1024k
圖 45
此處從NAND FLASH的MTD6分區讀取30MByte數據,可看到本次測試的NAND FLASH讀速度約為:30MB/2.59s=11.58MB/s。
1.11調試串口切換測試
1.11.1調試串口切換測試UART3
使用RS232交叉串口母線、USB轉RS232公頭串口線,將評估板的RS232串口連接到PC機的USB接口,如下圖所示。
圖 46
打開設備管理器,確認RS232串口的COM端口號,如下圖所示。
圖 47
打開串口調試終端,選擇正確的COM口,波特率為115200,8N1,無檢驗位,并建立串口連接,如下圖所示。
圖 48
進入評估板文件系統,執行如下命令將調試串口切換為RS232串口。
Target# setsid getty 115200?ttyS3
圖 49
執行命令后,將會在新建的RS232串口會話框中打印如下類似登錄信息,請輸入用戶名root并按回車鍵登陸,如下圖所示。
圖 50
1.11.2調試串口切換RS485串口UART4
使用RS232轉RS485模塊、USB轉RS232公頭串口線,將評估板的RS485串口連接到PC機的USB接口,如下圖所示。
圖 51
RS232轉RS485模塊與評估板上RS485串口連接方法如下:
RS232轉RS485模塊485+端子,連接評估板RS485串口A端子。
RS232轉RS485模塊485-端子,連接評估板RS485串口B端子。
RS232轉RS485模塊GND端子,連接評估板RS485串口GND端子。
打開設備管理器,確認RS485串口的COM端口號,如下圖所示。
圖 52
打開串口調試終端,選擇正確的COM口,波特率為115200,8N1,無檢驗位,并建立串口連接,如下圖所示。
圖 53
如需同時使用兩個調試串口,則進入評估板系統后執行如下命令創建一個新用戶(比如Tronlong),用戶密碼自定義。如無需同時使用兩個調試串口,則可不創建新用戶。
Target# adduser Tronlong
圖 54
執行如下命令將調試串口切換到RS485串口。
Target# setsid getty 115200 ttyS4
圖 55
執行命令后,會在新建的RS485串口會話框中打印類似如下登錄信息,請輸入用戶名root再按回車鍵登陸,或輸入用戶名Tronlong再輸入自定義密碼登陸,如下圖所示。
圖 56
1.12 7英寸LCD觸摸屏測試
評估板默認支持的7英寸LCD觸摸屏型號為Tronlong的TL070A,請通過FFC軟排線將LCD與評估板連接。
LCD觸摸屏顯示
評估板上電,進入文件系統后即可看到LCD顯示Matrix Qt界面,如下圖所示。
圖 57
LCD觸摸屏校準測試
在執行觸摸屏校準程序之前,執行如下命令關閉Matrix用戶界面程序,如有其它界面程序,請一并關閉。
Target# /etc/init.d/matrix-gui-2.0 stop
執行如下命令進行觸摸屏校準。
Target# ts_calibrate
執行命令后LCD會彈出校準界面,如下圖所示,請依次點擊校準準星。連續點擊五次之后,會在文件系統”/etc/”目錄下生成觸摸屏校準文件pointercal,校準后的信息記錄在pointercal文件中。
圖 58
圖 59
執行如下命令重新啟動系統界面。
Target# /etc/init.d/matrix-gui-2.0 start
圖 60
LCD觸摸屏亮度調節測試
LCD屏幕的背光支持8級變化,亮度級數為1~8,關閉為0,最亮為8。
進入評估板文件系統,執行如下命令查看最高亮度級數。
Target# cat /sys/class/backlight/backlight/max_brightness
查看當前亮度,執行如下命令。
Target# cat /sys/class/backlight/backlight/brightness
執行如下命令,通過修改亮度級數參數改變屏幕亮度。
Target# echo 6 > /sys/class/backlight/backlight/brightness
圖 61
基礎設備樹文件7英寸LCD顯示屏配置說明
評估板基礎設備樹文件為內核源碼”arch/arm/boot/dts/tl437x-evm.dts”,默認配置為7英寸LCD顯示。查看LCD顯示屏數據手冊,關鍵參數如下。
圖 62
圖 63
基礎設備樹文件tl437x-evm.dts的7英寸LCD顯示參數配置如下。
&lcd0 {
panel-timing {
clock-frequency = <33000000>;
hactive = <800>;
vactive = <480>;
hfront-porch = <40>;
hback-porch = <40>;
hsync-len = <48>;
vback-porch = <29>;
vfront-porch = <13>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
1.13 12.1英寸LVDS顯示屏測試
評估板基礎設備樹文件為內核源碼“arch/arm/boot/dts/tl437x-evm.dts”,默認配置為7英寸LCD顯示,可通過對設備樹文件進行修改以支持不同尺寸的顯示屏。
評估板支持的12.1英寸LVDS顯示屏型號為友達的G121SN014 V4。查看12.1英寸LVDS顯示屏數據手冊,關鍵參數如下。手冊中未說明Front-porch、Back-porch、Sync-len等典型值,僅給出總的行/幀同步時間Blanking,可將總同步時間合理劃分為對應的Front-porch、Back-porch、Sync-len時間。手冊并未說明Hsync、Vsync的極性,默認低電平有效。
圖 64
圖 65
根據以上關鍵參數,如需使用12.1英寸LVDS顯示屏,則基礎設備樹文件tl437x-evm.dts的LCD顯示參數需進行如下配置。
&lcd0 {
panel-timing {
clock-frequency = <40000000>;
hactive = <800>;
vactive = <600>;
hfront-porch = <100>;
hback-porch = <60>;
hsync-len = <96>;
vback-porch = <5>;
vfront-porch = <13>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>; ???/* 配置LCD像素時鐘下降沿傳輸數據,而不是直接根據
極性分析得出的上升沿*/
};
};
修改后請將tl437x-evm.dts文件重新編譯生成dtb文件,dtb文件編譯方法請查看Linux內核編譯手冊的設備樹文件編譯小節。
使用TL-LVDSLCD-A3轉接板將12.1英寸LVDS顯示屏與評估板連接,如下圖所示。
圖 66
使用新生成的dtb文件啟動評估板,進入文件系統后即可看到LVDS屏幕顯示Matrix Qt界面,如下圖所示。
圖 67
ARM 嵌入式 FPGA
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。