一、壓測(cè)的重要性與核心目的
1.為什么必須做壓測(cè)?
RK平臺(tái)多應(yīng)用于嵌入式設(shè)備(如工業(yè)控制器、智能終端、消費(fèi)電子),這類(lèi)設(shè)備常面臨復(fù)雜工況(高低溫、高負(fù)載、長(zhǎng)期運(yùn)行)與嚴(yán)苛可靠性要求,壓測(cè)是量產(chǎn)前不可或缺的“風(fēng)險(xiǎn)攔截環(huán)節(jié)”,核心原因包括:

1.硬件隱患提前暴露:避免因IO電壓不匹配、DDR信號(hào)干擾、電源紋波超標(biāo)等問(wèn)題,導(dǎo)致設(shè)備量產(chǎn)后面臨死機(jī)、重啟、硬件燒毀等故障;
2.軟件穩(wěn)定性驗(yàn)證:排查多模塊協(xié)同(如CPU+DDR+Wi-Fi)、長(zhǎng)期高負(fù)載下的內(nèi)存泄漏、線程死鎖、驅(qū)動(dòng)兼容性問(wèn)題;
3.性能達(dá)標(biāo)保障:確保磁盤(pán)讀寫(xiě)、GPU渲染、CPU算力等關(guān)鍵指標(biāo)滿足產(chǎn)品設(shè)計(jì)需求,避免用戶使用時(shí)出現(xiàn)卡頓、響應(yīng)慢等體驗(yàn)問(wèn)題;
4.成本風(fēng)險(xiǎn)控制:若未做壓測(cè),設(shè)備量產(chǎn)后面臨售后維修、召回,成本是前期壓測(cè)投入的10-100倍,且損害品牌口碑。
2.壓測(cè)的核心價(jià)值
5.從“被動(dòng)修復(fù)”轉(zhuǎn)為“主動(dòng)預(yù)防”:在實(shí)驗(yàn)室環(huán)境模擬設(shè)備全生命周期可能遇到的極端場(chǎng)景,提前解決90%以上的穩(wěn)定性問(wèn)題;
6.量化設(shè)備可靠性:通過(guò)“10臺(tái)設(shè)備×24小時(shí)”“高低溫循環(huán)”等標(biāo)準(zhǔn)化壓測(cè),驗(yàn)證設(shè)備連續(xù)運(yùn)行無(wú)故障時(shí)長(zhǎng),為量產(chǎn)提供數(shù)據(jù)支撐;
7.適配場(chǎng)景拓展:通過(guò)用戶場(chǎng)景壓測(cè),確保設(shè)備在真實(shí)使用場(chǎng)景(如詞典筆“掃描-翻譯-待機(jī)”、工業(yè)設(shè)備“數(shù)據(jù)采集-傳輸-存儲(chǔ)”)下穩(wěn)定運(yùn)行。
二、壓測(cè)前準(zhǔn)備
8.開(kāi)啟測(cè)試工具配置:在Buildroot中啟用所需測(cè)試包,執(zhí)行如下配置命令,確保CPU、內(nèi)存、音頻、Wi-Fi等測(cè)試功能可用:
# 啟用CPU和內(nèi)存壓力測(cè)試工具BR2_PACKAGE_STRESSAPPTEST=y# 啟用內(nèi)存正確性測(cè)試工具BR2_PACKAGE_MEMTESTER=y# 啟用包含多模塊測(cè)試的套件BR2_PACKAGE_ROCKCHIP_TEST=y
1.配置測(cè)試目錄權(quán)限:確保/userdata/rockchip-test目錄具備可讀寫(xiě)權(quán)限,用于存儲(chǔ)壓測(cè)日志和數(shù)據(jù)。
2.開(kāi)啟串口日志保存:連接產(chǎn)品串口,開(kāi)啟串口上位機(jī)的“保存所有日志”功能,便于后續(xù)問(wèn)題分析。
三、軟件穩(wěn)定性壓測(cè)
1.基礎(chǔ)工具使用
(1)stressapptest(內(nèi)存/磁盤(pán)壓力測(cè)試)
?典型執(zhí)行命令:測(cè)試256MB內(nèi)存,運(yùn)行8個(gè)“熱復(fù)制”線程,20秒后退出,命令如下:
stressapptest-s20-M256-m8-W
?常用參數(shù)說(shuō)明:-M指定測(cè)試RAM大小,-s指定運(yùn)行秒數(shù),-m指定內(nèi)存復(fù)制線程數(shù),-l指定日志輸出文件。
?關(guān)閉測(cè)試:執(zhí)行killall stressapptest。
(2)memtester(內(nèi)存正確性測(cè)試)
?執(zhí)行命令格式:指定測(cè)試內(nèi)存大?。▎挝?/span>B/K/M/G)和循環(huán)次數(shù),示例如下:
memtester[-p 物理地址基址 [-d 設(shè)備]] <內(nèi)存大小>[B/K/M/G][循環(huán)次數(shù)]
?測(cè)試項(xiàng)包含:Stuck Address、Random Value、Compare XOR等18項(xiàng)內(nèi)存校驗(yàn)。
?注意事項(xiàng):memtester出錯(cuò)不會(huì)自動(dòng)停止,需實(shí)時(shí)觀測(cè)程序打??;關(guān)閉測(cè)試執(zhí)行killall memtester。
2.多模塊專(zhuān)項(xiàng)測(cè)試(基于Rockchip test套件)
(1)DDR測(cè)試
?執(zhí)行方式一:通過(guò)套件腳本啟動(dòng)
a.運(yùn)行套件入口腳本:bash /rockchip-test/rockchip_test.sh;
b.輸入“1”選擇DDR測(cè)試,再根據(jù)設(shè)備變頻能力選場(chǎng)景(不支持變頻選“3”,支持選“5”);
c.輸入“1”選擇memtester測(cè)試,開(kāi)始執(zhí)行。
?執(zhí)行方式二:直接運(yùn)行腳本:執(zhí)行bash /rockchip-test/ddr/memtester_test.sh,默認(rèn)測(cè)試系統(tǒng)可用內(nèi)存的一半。
?DDR變頻測(cè)試:
?自動(dòng)變頻:bash /rockchip-test/ddr/ddr_freq_scaling.sh,腳本會(huì)循環(huán)切換頻率(如528000000 Hz、324000000 Hz);
?指定頻率:bash /rockchip-test/ddr/ddr_freq_scaling.sh 528000000,頻率需在支持列表內(nèi),否則會(huì)打印可用頻率;
?關(guān)閉變頻測(cè)試:killall bash。
(2)CPU測(cè)試
?啟動(dòng)測(cè)試:運(yùn)行bash /rockchip-test/rockchip_test.sh,輸入“2”選擇CPU測(cè)試,根據(jù)變頻能力選場(chǎng)景(不支持選“1”,支持選“3”)。
?CPU變頻測(cè)試:
?自動(dòng)變頻:bash /rockchip-test/cpu/cpu_freq_scaling.sh,切換頻率如816000 KHz、1104000 KHz;
?指定頻率:bash /rockchip-test/cpu/cpu_freq_scaling.sh 1104000,頻率不在支持列表時(shí)會(huì)打印可用值;
?關(guān)閉測(cè)試:killall bash。
(3)Flash測(cè)試
?執(zhí)行邏輯:在$test_dir/src_test_data生成7個(gè)5MB以內(nèi)隨機(jī)源數(shù)據(jù),拷貝到$test_dir/des_test_data的5個(gè)子目錄,對(duì)比MD5值,循環(huán)200次。
(4)待機(jī)喚醒測(cè)試
?前提條件:系統(tǒng)需有正常工作的RTC;
?執(zhí)行邏輯:默認(rèn)循環(huán)10000次,每次待機(jī)喚醒時(shí)間為3-6秒隨機(jī)值。
(5)reboot測(cè)試
?執(zhí)行邏輯:默認(rèn)重啟10000次,每次啟動(dòng)后8秒自動(dòng)關(guān)機(jī);若開(kāi)啟CONFIG_PSTORE_RAM,會(huì)檢查每次關(guān)機(jī)日志是否有崩潰異常;
?提前關(guān)閉:執(zhí)行echo off > /userdata/rockchip_test/reboot_cnt。
(6)Camera測(cè)試
?方式一:rkisp_demo腳本
a.啟用配置:
BR2_PACKAGE_CAMERA_ENGINE_RKAIQ_RKISP_DEMO=y;
b.執(zhí)行腳本:
bash /rockchip-test/camera/camera_stresstest_rkisp_demo.sh,循環(huán)抓取ISP CIF接口數(shù)據(jù)各100幀。
?方式二:v4l2腳本
a.啟用配置:
BR2_PACKAGE_LIBV4L_UTILS=y;
b.執(zhí)行腳本:
bash /rockchip-test/camera/camera_stresstest_v4l2.sh,以640x480分辨率循環(huán)抓取USB ISP CIF接口數(shù)據(jù)各5幀,校驗(yàn)文件大小。
(7)Video測(cè)試
?準(zhǔn)備工作:將測(cè)試視頻文件放入/userdata/videos(優(yōu)先)或/mnt/udisk/videos;
?執(zhí)行測(cè)試:運(yùn)行Video測(cè)試腳本,循環(huán)播放目標(biāo)目錄下的視頻文件。
(8)Wi-Fi Bt測(cè)試
?執(zhí)行邏輯:運(yùn)行對(duì)應(yīng)測(cè)試腳本,自動(dòng)循環(huán)執(zhí)行Wi-Fi和Bt的開(kāi)啟、關(guān)閉操作。
四、性能測(cè)試
1.磁盤(pán)讀寫(xiě)測(cè)試
(1)eMMC讀寫(xiě)
?前提:用fdisk -l查看可讀寫(xiě)分區(qū)(如mmcblk0p8);
?寫(xiě)測(cè)試:
dd if=/dev/zero of=/dev/mmcblk0p8 bs=1M count=2000 oflag=direct,nonblock;
?讀測(cè)試:
dd if=/dev/mmcblk0p8 of=/dev/null bs=1M count=2000 iflag=direct,nonblock。
(2)U盤(pán)讀寫(xiě)
?寫(xiě)測(cè)試:
dd if=/dev/zero of=/dev/sda1 bs=1M count=2000 oflag=direct,nonblock(/dev/sda1為U盤(pán)分區(qū));
?讀測(cè)試:
dd if=/dev/sda1 of=/dev/null bs=1M count=2000 iflag=direct,nonblock。
2.性能模式設(shè)置
?開(kāi)啟高性能模式:echo performance | tee $(find /sys/ -name *governor)。
3. CPU/DDR頻率查看
?執(zhí)行命令:cat /sys/kernel/debug/clk/clk_summary |grep -E "cpu|arm|ddr"。
4. GPU跑分
?全屏跑分:sh /rockchip-test/gpu/test_fullscreen_glmark2.sh;
?后臺(tái)跑分(不顯示畫(huà)面):sh /rockchip-test/gpu/test_offscreen_glmark2.sh。
五、硬件穩(wěn)定性測(cè)試
1. IO-DOMAINS檢查
?核心要求:確保所有GPIO電源域的軟件配置電壓與硬件供電一致(如軟件設(shè)1.8V則硬件需供1.8V);
?參考文檔:對(duì)應(yīng)芯片平臺(tái)文檔(如RK3568參考Rockchip_RK356X_Introduction_IO_Power_Domains_Configuration_CN.pdf)。
2.電源測(cè)試
?測(cè)試內(nèi)容:若電源方案偏離參考設(shè)計(jì)(如用分立電源),需測(cè)試?yán)鋯?dòng)/重啟時(shí)的上電時(shí)序、高負(fù)載下電源紋波,重點(diǎn)關(guān)注VDD_LOGIC、VDD_ARM等核心電源。
3.信號(hào)測(cè)試
?設(shè)計(jì)要求:DDR設(shè)計(jì)按對(duì)應(yīng)模板,顆粒選AVL列表(通過(guò)redmine獲?。?;
?圖紙審核:硬件圖紙完成后,提交審核(如通過(guò)redmine)。
4.高低溫測(cè)試
?測(cè)試環(huán)境:產(chǎn)品工作溫度的高溫上限和低溫下限;
?測(cè)試內(nèi)容:在高低溫下執(zhí)行CPU壓力測(cè)試、DDR壓力測(cè)試、reboot測(cè)試、冷啟動(dòng)測(cè)試。
六、用戶場(chǎng)景壓測(cè)
?構(gòu)建邏輯:結(jié)合產(chǎn)品實(shí)際功能,用基礎(chǔ)腳本組合場(chǎng)景;
?示例(詞典筆場(chǎng)景):
whiletrue;do# 模擬掃描識(shí)別(采圖)v4l2-ctl --stream-mmap --stream-to=/tmp/scan.jpg --stream-count=1# 模擬播放翻譯結(jié)果aplay /tmp/translate.wav# 模擬待機(jī)pm-suspend# 模擬RTC喚醒(10秒后喚醒)rtcwake -m no -s 10# 隨機(jī)開(kāi)關(guān)Wi-Fiif[ $((RANDOM %2)) -eq 0 ];thennmcli r wifi onelsenmcli r wifi offfidone
?核心思路:覆蓋“開(kāi)機(jī)-核心功能-待機(jī)-喚醒-輔助功能(如Wi-Fi)”的完整用戶操作鏈。
-
嵌入式
+關(guān)注
關(guān)注
5209文章
20679瀏覽量
337290 -
Linux
+關(guān)注
關(guān)注
88文章
11821瀏覽量
219595
發(fā)布評(píng)論請(qǐng)先 登錄
Linux操作系統(tǒng)怎么移植到ARM平臺(tái)?
怎樣在RK3399平臺(tái)上去制作一種linux系統(tǒng)呢
怎樣去搭建基于rk3288的android(和linux)平臺(tái)軟件運(yùn)行環(huán)境呢
怎樣去編譯RK3288平臺(tái)上的Android系統(tǒng)源碼呢
RK3568開(kāi)發(fā)板Linux系統(tǒng)如何修改異顯呢
Linux操作系統(tǒng)
Linux快速入門(mén)之安裝Linux操作系統(tǒng)及小結(jié)
linux中g(shù)pio復(fù)用設(shè)置操作步驟
RK平臺(tái)Linux系統(tǒng)壓測(cè)操作步驟
評(píng)論