Amlogic(M801)平板电脑硬件调试指南_V0.1_131128
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Application Notes
Amlogic(M801)平板电脑硬件调试指南
Revision :V0.1
Owner:HW MID Team
Date:20131128
1.简介
本文主要针对Amlogic M801/M802的平板方案的硬件,进行调试方面的分析。本手册指导有一定调试知识、能够熟练使用万用表、示波器等基本设备的硬件、软件工程师在样机调试阶段的调试工作,主要包括以下几个方面的检查:
∙基本检查(短路、断路、电源、RESET、晶振、CLK等)
∙启动检查(无电流、无串口信息、uboot分析、无法升级、kernel死机或重启、Flash无法读写等)
∙显示检查(LCD无法显示、HDMI无输出等)
∙wifi检查(wifi无法连接、wifi信号质量不好等)
∙声音检查(喇叭没有声音输出,耳机没有声音输出,录音无声音、录音有杂音等)
∙其它检查(IR、传感器、摄像头、USB、OTG、触摸屏等)
2.基本检查
<注1> 调试时,请用稳压电源,限流500mA进行供电,避免有短路烧毁平台。
<注2> 若以上条件满足,系统约100mA @5V。
3.启动检查
电压正常后,确认系统的复位信号、24M晶振输出正常,就可以通过TF卡或PC工具对平台进行升级。
注:电压、电流正常,复位信号、24M晶振OK后,焊接串口上电,会有一句打印信息。(TF串口除外)
注1:可以从打印信息查看TF初始化是否成功。
3.1 u-boot的烧录
调试中,u-boot可能会损坏,或需要换u-boot,此时不必要再重新升级整个code,而是单独进行u-boot烧录即可。u-boot的读取:
a)把u-boot.bin文件放到TF卡中,输入:
mmcinfo;fatload mmc 0 12000000 u-boot.bin
注:u-boot.bin为u-boot的名字,如果名字不一样,需要作相应的更改。
b) 在串口命令行输入:loady,然后在串口上通过Ymode在PC上把u-boot传输到DDR3;
U-boot烧录到NAND Flash:store rom_write 12000000 0 60000
注:烧录完成后,需要输入:reset 来进行重启
3.2 u-boot的分析
u-boot的打印信息中可以分析很多东西:
EEEE I3000000032940xf100000003876510EEEE I400000004294_M8_BL1_969842730383EEEE
I3000000032940xbbbb000026A22525
no sdio debug board detected ——表示没有SDIO debug小板(注1)
TE : 128993
BT : 14:00:04 Nov 28 2013
voltage set from 0x18 to 0x24, addr:0x36
……
voltage set from 0x24 to 0x24, addr:0x50 ——PMU各路电源寄存器设置值
CPU clock is 792MHz ——目前CPU频率
Aml log : DDR0 - init pass with
PGSR0 : 0xc0000fff
Aml log : DDR1 - init pass with
PGSR0 : 0xc0000fff
DDR clock is 696MHz with 1T mode ——DDR频率,且1T模式
DDR check pass!
DDR init use : 17902 us
HHH
……
Image ucl-decompress done and time use : 36546 us
0x12345678
Boot from internal device 1st NAND ——从内部启动u-boot
Load UBOOT total use : 193393 us
……
U-boot-00000-gf3b7c06-dirty(m8_k100_v1@jb-mr2-amlogic) (Nov 28 2013 - 13:59:53) --版本及时间DRAM: 1 GiB ——DDR大小,1GB
relocation Offset is: 2fed0000
……
Nand PHY driver Version 2.01.001 (c) 2013 Amlogic Inc.
NAND device id: 2c 64 44 4b a9 0 0 0 ——NAND ID(注2)
detect NAND device: B revision NAND 8GiB MT29F64G08CBABA
detected 2 NAND chips ——检测到2PCS NAND
AML_NAND_NEW_OOB : new oob
bus_cycle=5, bus_timing=7,system=3.9ns,flash->T_REA =16,flash->T_RHOH=15
……
注1:有Debug小板时,打印信息从SDIO的Debug小板进行输出;
注2:通过NAND ID可以查看是否正确,并定位问题点。
3.3 Flash的读写
擦除Nand Flash:store erase 0
擦除Nand Flash:store scrub 0
注:store scrub 0会擦除nand原厂的标识,一般不建议使用。
擦除NAND的cache、data、media分区:把recovery.img文件放到TF卡里,u-boot串口界面下输入:mmcinfo; fatload mmc 0 12000000 recovery.img; bootm, 或者按升级键进入升级界面,手动选择擦除。
注:对于一些已经用过的NAND,再次使用时,如果用TF卡和PC工具都无法升级,nand scrub 0后,可用次方法清除nand的数据。此时不要放升级文件放到TF卡里面,否则会直接升级。
3.4 普通GPIO的读写方式
GPIO有输入、输出功能,首先必须设置OEN,OEN位为高,GPIO为输入功能,OEN位为低,为输出功能;输出功能时,0为输出低,1为输出高。
u-boot下GPIO的读写
读寄存器:md 寄存器地址
写寄存器:mw 寄存器地址寄存器值
BL_EN控制范例:
查找Pinmux知道,BL_EN(GPIOD_1)的OEN为2012[17]——寄存器2012的bit17,OUT为
2013[17];所以u-boot下OEN的控制地址为:c1100000 + 2012x4 = c1108048,OUT的地址为:c110 + 2013x4 = c110804c。
读取OEH的值:md c1108048
值为:c1108048: ffdfffff,bit[17]为1,所以OEH为输入状态;如果要控制BL_EN为输出,必须设置bit[17]为0;
写OEH的值:mw c1108048 ffddffff
读取OUT的值:md c110804c
写OUT的值:mw c1108048 xxxxxx
注1:为了确保正确控制,一般先控制OUT,在控制OEH。
注2:写寄存器的值时,只能更改需要更改的bit,否则更改其他,会造成其他异常情况。
系统启动后控制
方式一:
读取寄存器:echo rc0xaaaa>/sys/class/amhdmitx/amhdmitx0/debug
写寄存器:echo wc0xaaaa bbbbbbbb >/sys/class/amhdmitx/amhdmitx0/debug
方式二:
先输入:cat /sys/class/amlogic/debug