1.使用工具stressapptest和memtester
一般buildroot中有這兩工具,make menuconfig選擇一下,然后make一下。把生成的工具放到板卡上輸入以下名字就行了
先運行stressapptest -s 43200 -i 4 -C 4 -W --stop_on_errors -M 64
其中-s是跑多長時間,單位是秒。根據需求設置。
跑完后成功串口會打印Status: PASS - please verify no corrected errors
測試失敗打印 Status: FAIL - test discovered HW problems。
上一個運行成功后再跑memtester 64m。有發現錯誤會自動停止測試,持續測試 12 小
時以上后,memtester 仍在繼續運行,說明測試過程沒有發現錯誤
stressapptest 關鍵參數說明:
-M mbytes,指定申請測試的內存空間大小,單位為MB。一般申請總容量的八分之一進行測試,如果總
容量是 1GB 則申請 128MB 進行 測試,如果總容量是 2GB 則申請 256MB 進行測試。
-s seconds,指定測試運行時間,單位是秒。運行時間12小時則參數為43200。
Eg:
內存總容量 1GB 則申請 128MB 進行 stressapptest,運行時間12小時(43200秒),執行命令如下:
確認拷機結果
拷機結束,確認機器是否正常,捕魚達人是否正常運行,stressapptest 結果是 PASS 還是 FAIL。
stressapptest 每隔 10 秒會打印一條 log,log 顯示測試剩余時間。測試完成后會打印測試結果,如果測試
通過打印 Status: PASS - please verify no corrected errors,如果測試失敗打印 Status: FAIL - test discovered
HW problems。
6. memtester 拷機,拷機時間 12 小時以上
執行 memtester 程序
memtester 關鍵參數說明:
<mem>m,指定申請測試的內存空間大小,單位為MB。一般申請總容量的八分之一進行測試,如果總容
量是 1GB 則申請 128MB 進行 測試,如果總容量是 2GB 則申請 256MB 進行測試。
<rkxxxx:/ #> /data/ddr_freq_scan.sh 933000000
<rkxxxx:/ #> /data/ddr_freq_scan.sh 800000000
<rkxxxx:/ #> /data/ddr_freq_scan.sh 600000000
130|rkxxxx:/ # /data/ddr_freq_scan.sh 800000000
already change to 800000000 done.
change frequency to available max frequency done.
<rkxxxx:/ #> /data/stressapptest -s 43200 -i 4 -C 4 -W --stop_on_errors -M 128
Eg:
內存總容量 1GB 則申請 128MB 進行 memtester,執行命令如下:
確認拷機結果
拷機結束,確認機器是否正常,捕魚達人是否正常運行,memtester 是否在正常運行。DDR 測試資源文
件目錄里的 memtester 程序進行過修改,測試過程如果有發現錯誤會自動停止測試,如果持續測試 12 小
時以上后,memtester 仍在繼續運行,說明測試過程沒有發現錯誤。
memtester 運行過程如果沒有發現錯誤,會持續打印如下 log:
memtester 運行過程如果有發現錯誤,會自動停止測試並退出,退出時打印如下 log:
2.5 Linux 4.xx 變頻拷機
1. 開啟捕魚達人 APK(未運行 Android 系統的設備請跳過此步驟)
2. 先輸入 su 命令
3. 后台執行 memtester
memtester 關鍵參數說明:
<mem>m,指定申請測試的內存空間大小,單位為MB。一般申請總容量的八分之一進行測試,如果總容
量是 1GB 則申請 128MB 進行 測試,如果總容量是 2GB 則申請 256MB 進行測試。
Eg:
如果總容量是 1GB 則申請 128MB 進行 memtester,執行命令如下:
<rkxxxx:/ #> /data/memtester 128m
Loop 10:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
FAILURE: 0xffffffff != 0xffffbfff at offset 0x03b7d9e4.
EXIT_FAIL_OTHERTEST
2.查看當前cpu的DDR頻率
cat /sys/kernel/debug/clk/clk_summary | grep ddr
其中sclk_ddrc就是DDR的頻率