查看: 4080|回复: 0

瑞芯微RK3399嵌入式开发板调试方法

[复制链接]
  • TA的每日心情
    慵懒
    2017-10-13 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-11-17 08:58:30 | 显示全部楼层 |阅读模式
    分享到:
    RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。
            友坚科技最新研发的RK3399开发板,搭建了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸,搭配8.4寸高清IPS屏。RK3399开发板主板尺寸为:155*104mm,设计有非常丰富的接口,板载3路TTL UART,2路USB2.0接口,一路USB3.0接口,WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

    调试方法:
    1. 查看 codec 寄存器,I²S 寄存器,spdif 寄存器等等,出现问题时,往往需要常看寄存
    器的状态是否正常,来定位分析问题。
    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 模拟端导入,然后录制波形,
    可以通过回放来确认波形是否正常,无失真,或者使用电脑上的软件工具 adobe
    audition 来分析底噪等等基本指标。
    7. 基本功能过完后,需要使用音频分析仪进行 codec 后续的指标测试以及调优。
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-20 16:11 , Processed in 0.127437 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.