瑞芯微RK3399嵌入式板卡PCBA測(cè)試工具開(kāi)發(fā)指南
OK3399-C PCBA測(cè)試
PCBA 測(cè)試工具用于幫助在量產(chǎn)的過(guò)程中快速的甄別PCBA的好壞,提高生產(chǎn)效率。RK官方說(shuō)明文檔位于external/rk-pcba-test/doc/RockChipPCBA測(cè)試工具說(shuō)明V3.0.pdf目錄。
目前PCBA支持的測(cè)試項(xiàng)包括DDR\EMMC、屏幕(LCD)、實(shí)時(shí)時(shí)鐘(RTC)、無(wú)線(wifi)、SD卡(sdcard)、U盤、按鍵(KEY)等測(cè)試項(xiàng)目。
這些測(cè)試項(xiàng)目包括自動(dòng)測(cè)試項(xiàng)和手動(dòng)測(cè)試項(xiàng),DDR\EMMC、RTC、wifi為自動(dòng)測(cè)試項(xiàng),KEY、LCD、SD卡、U盤為手動(dòng)測(cè)試項(xiàng)目。
該工具支持通過(guò)配置文件test_config.cfg對(duì)測(cè)試項(xiàng)進(jìn)行配置,具體的配置說(shuō)明請(qǐng)參第3部分“配置文件”
一、編譯PCBA固件
PCBA測(cè)試程序位于Android源碼/extenal/rk-pcba-test目錄下,編譯會(huì)生成pcba_core可執(zhí)行文件,pcba_core和rk-pcab-test/res下的相關(guān)文件在編譯的時(shí)候會(huì)被自動(dòng)拷貝到recovery的sbin目錄下。
默認(rèn)PCBA測(cè)試功能是關(guān)閉的,需要修改代碼打開(kāi)PCBA支持。
修改:device/rockchip/rk3399/rk3399_all.mk
TARGET_ROCKCHIP_PCBATEST=true
source build/envsetup.sh
lunch rk3399_all-userdebug
make recoveryimage
./mkimage.sh
./mkupdate.sh
這樣,支持PCBA測(cè)試的固件制作完成,位于:rockdev/Image-rk3399_all/update.img
二、制作PCBA測(cè)試卡
下面,我們來(lái)制作一張專門用于PCBA測(cè)試的TF卡,這樣,每當(dāng)飛凌RK3399主板插入該TF卡時(shí)都將自動(dòng)進(jìn)入PCBA測(cè)試。
將前面一節(jié)制作的PCBA固件拷貝到windows上,以管理員權(quán)限打開(kāi)SD_Firmware_Tool.exe
選擇TF卡并勾選“PCBA測(cè)試”選項(xiàng),選擇你的PCBA固件,點(diǎn)擊“開(kāi)始創(chuàng)建”。創(chuàng)建完成后將TF卡插入飛凌RK3399開(kāi)發(fā)板并重新啟動(dòng),系統(tǒng)將自動(dòng)進(jìn)入PCBA測(cè)試流程。
三、PCBA項(xiàng)說(shuō)明
測(cè)試項(xiàng)分為 “自動(dòng)測(cè)試項(xiàng)” 和 “手動(dòng)測(cè)試項(xiàng)”
自動(dòng)測(cè)試項(xiàng):由系統(tǒng)自動(dòng)進(jìn)行測(cè)試并判斷測(cè)試結(jié)果,如:網(wǎng)絡(luò),內(nèi)存,時(shí)鐘等。
手動(dòng)測(cè)試項(xiàng):需要由人工配合完成或者配合判斷測(cè)試結(jié)果。如:錄音,按鍵,U盤,SD卡等。
測(cè)試項(xiàng)分別有 “紅”,“黃”,“綠” 三種顏色表示不同的測(cè)試狀態(tài)
黃色:未測(cè)試項(xiàng)或者正在測(cè)試的項(xiàng)
綠色:測(cè)試通過(guò)項(xiàng)
紅色:測(cè)試未通過(guò)項(xiàng)
PCBA所有的測(cè)試項(xiàng)目通過(guò)一個(gè)配置腳本test_config.cfg來(lái)配置,位于/external/rk-pcba-test/res/test_config.cfg,用戶可以根據(jù)項(xiàng)目的硬件配置來(lái)配置test_config.cfg文件,決定要對(duì)哪些模塊進(jìn)行測(cè)試,以及給自己的測(cè)試程序傳遞相關(guān)的參數(shù)。當(dāng)然,目前支持的測(cè)試項(xiàng)是有限的,您可以參考代碼自行添加想要的測(cè)試項(xiàng)。
該腳本使用ini文件格式,由段、鍵和值三者組成,通常一個(gè)段表示一個(gè)模塊配置。目前要求該配置文件使用UTF-8編碼,其他編譯格式可能會(huì)導(dǎo)致未知錯(cuò)誤。
模塊配置示例:
測(cè)試模塊配置模板
[example]
display_name= "Example"
activated = 1
program = "example.sh"
category = 0
Example 表示一個(gè)配置模塊的名稱,如果是cfg文件中自帶的模塊名稱,則 不能改動(dòng),否則會(huì)導(dǎo)致某個(gè)測(cè)試項(xiàng)不被測(cè)試系統(tǒng)啟動(dòng)。
display_name表示該測(cè)試模塊在屏幕上顯示的名稱,可以根據(jù)自己的需要修改。該名稱最長(zhǎng)為64字節(jié),如果為空,則測(cè)試程序不會(huì)運(yùn)行。
activated表示是否測(cè)試該模塊
0:不測(cè)試該模塊
1:測(cè)試該模塊
program該鍵值目前沒(méi)用到,可以不用配置
category 表示測(cè)試方式
0:自動(dòng)測(cè)試
1:手動(dòng)測(cè)試