VS-RK3399嵌入式主板調試方法
RK3399的CPU采用big.LITTLE大小核架構,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、內存等作了大幅優化,在整體性能、功耗及核心面積三個方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端圖像處理器Mali-T860,集成更多帶寬壓縮技術:如智能迭加、ASTC、本地像素存儲等,還支持更多的圖形和計算接口,總體性能比上一代提升45%。
調試方法:
1. 查看 codec 寄存器,I?S 寄存器,spdif 寄存器等等,出現問題時,往往需要??醇拇嫫鞯臓顟B是否正常,來定位分析問題。
a, 凡是使用 regmap 的驅動, 在/sys/kernel/debug/regmap 都有相應的查詢入口,如下:
root@rk3366:/sys/kernel/debug/regmap # ls
0-001c
0-0040
1-001c
ff880000.spdif
ff898000.i2s-8ch
例如:1-001c 為 rt5640 的 i2c 地址,掛載在 i2c1, codec 地址為 0x1c,那么此目錄中的registers 即為 codec 的 register,其他類似。
2. Xrun debug, 一般用于 debug underrun 或者 overrun,出現此兩者情況時內核會打印 log 協助問題的定位分析。Menuconfig 中需要開啟如下選項:
Advanced Linux Sound Architecture ---》
Debug
More verbose debug
Enable PCM ring buffer overrun/underrun debugging
然后在對應聲卡/proc/asound/card0/xrun 中寫入相應的值,值如下:
#define XRUN_DEBUG_BASIC (1《《0)
#define XRUN_DEBUG_STACK (1《《1) /* dump also stack */
#define XRUN_DEBUG_JIFFIESCHECK (1《《2) /* do jiffies check */
比如 echo 1 》 xrun 或者 echo 3 》 xrun 或者 echo 7 》 xrun 開啟所有 debug 信息檢測。
3. 通過查看 clk tree 確認相應的 audio clk 是否正常,比如 mclk:如下為采樣率為
44100hz 的 mclk: 11.2896M。
c at /sys/kernel/debug/clk/clk_summary | grep i2s
i2s_2ch_src 0 0 576000000
0 0
i2s_2ch_frac 0 0 28800000
0 0
i2s_8ch_src 0 0 576000000
0 0
i2s_8ch_frac 0 0 11289600
0 0
i2s_8ch_pre 0 0 11289600
0 0
sclk_i2s_8ch 0 0 11289600
0 0
i2s_8ch_clkout 0 0 11289600
0 0
4. 要學會使用示波器測量音頻的信號, 軟件方式的確認有時會有誤差,最精確最根本的方式就是確認音頻 clk 是否正常,滿足規范。音頻的信號包含 mclk, bclk, lrck, data。需要確認信號幅度是否正常,如果 io 電壓為 3.3v,測試出來的信號幅值應當在 3.3v
左右。如果幅值太低,則會照成采集不到數據而無聲。Clk 的頻偏也不宜過大,有可能會照成雜音。Bclk, lrck 要符合設置的采樣率,如果不相符,則會照成音頻快進或者播放緩慢。
5. 播放測試:一般播放 1khz 0db 正弦波,然后使用示波器確認輸出是否有削頂失真,相位失真,雜音等。
6. 錄音測試:可使用信號發生器產生 1khz 的波形從 codec 模擬端導入,然后錄制波形,可以通過回放來確認波形是否正常,無失真,或者使用電腦上的軟件工具 adobeaudition 來分析底噪等等基本指標。
7. 基本功能過完后,需要使用音頻分析儀進行 codec 后續的指標測試以及調優。
-
嵌入式
+關注
關注
5141文章
19526瀏覽量
314857 -
主板
+關注
關注
53文章
2079瀏覽量
72606
發布評論請先 登錄
小身材大能量:解讀小尺寸嵌入式主板

RK3399處理器:高性能多核異構計算平臺
RK3576單板發布倒計時:RK3399與RK3576對比

評論