页次: 1
过程记录
200百左右DIY一个安卓板
http://whycan.com/t_5747.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)
PCB和原理图
https://github.com/caichengwu/GwCard.git
镜像
补丁
ad 3d库
先睡觉。。。后面的有空在上传
以下由 @哇酷小二 添加:
-------------------------------------------
感谢楼主分享!
不方便github下载的朋友可以在此处下载: gwcard_20210104.7z
因为只买了3片ddr颗粒,一片焊盘掉了,两片没贴好,所以搞来钢网植锡,虽然植锡的没有原装丰满,但也不算太平基本可用
终究没有都夭折,还是有一块坚强的活了下来
编译android7.0/4.0
环境:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
1.下载sdk
这里用的orangepi的sdk,可以到官网下载
orange官网
下载地址 4hsp
2.下载安装make-3.82(android4.0编译需要这个版本)
后续会和补丁包一起发出来
cd make-3.82
vim env_config
export PATH=/home/kerson/H3/make-3.82:$PATH #自己make-3.82路径
source env_config
make -v
GNU Make 3.82
Built for x86_64-unknown-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
3.安装jdk
android4.0
cd jdk1.6.0_31
vim env_config
JAVA_HOME=/home/kerson/H3/jdk1.6.0_31
JRE_HOME=/home/kerson/H3/jdk1.6.0_31/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
source env_config
java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
android7.0
sudo apt-get install openjdk-8-jdk
java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~16.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
4.kernel编译
复制
H3-Androidx.0/lichee/tools/pack/chips/sun8iw7p1/configs/dolphin-p1
H3-Androidx.0/lichee/tools/pack/chips/sun8iw7p1/configs/dolphin-gw
H3-Androidx.0/lichee$ ./build.sh config
选:sun8iw7p1
选:android
选:dolphin
./build.sh
5.编译Android
复制
H3-Androidx.0/android/device/softwinner/dolphin-fvd-p1
H3-Androidx.0/android/device/softwinner/dolphin-fvd-gw
vscode打开dolphin-fvd-gw全局查找代替
dolphin_fvd-p1 => dolphin_fvd_gw
dolphin-fvd-p1 => dolphin-fvd-gw
dolphin-pi => dolphin-gw
H3-Androidx.0/android$ source ./build/envsetup.sh
如果不是第一编译添加的没出来先:make installclean
lunch dolphin_fvd_gw-eng // eng 是root版本
extract-bsp
make -j4 .............................
我这电脑配置基本上是乌龟爬,睡觉.........
都扎堆玩h3呀,这芯片能耗比太低,比较看好rk3326
RK3326 Quad-core Cortex-A35 up to 1.5GHz Mali-G31MP2 GPU DDR4/DDR3/DDR3L/LPDDR3/LPDDR2 1080P H.265/H.264/VC-1/MPEG/VP8 video decoder 1080P H.264/VP8 video encoder LVDS/MIPI-DSI/RGB interface 1x8ch I2S/TDM, 1x8ch PDM, 2x2ch I2S
瑞芯微确实挺香的,想玩没有找到合适的资源
无法识别到usb我一般都会检测三个地方:
1.检测电源电压是否正常;
2.检测usb是否有虚焊情况;
方法:二极管档红表笔对地,黑表笔看usb io口是否有固定阻值;
3.检测晶振是否起震动;
方法:示波器看波形是否正常、如果没有用万用表看晶振两边的电容一般是1.4v;
电源输出正常->usb也没有虚焊->问题出在在晶振虚焊了这个脚的值无穷
上风抢吹,往旁边搞点助焊剂,用镊子轻轻的碰一下靠近晶振这边的边中间
上电成功识别到了usb
接下来焊接SD卡座
做一个TF引导卡,启动以后会有串口输出,并停在DDR初始化失败的地方;
如果没有串口输出:
1.测量调试串口是否虚焊;
2.看SD卡供电是否正常;
3.SD卡是否存在虚焊,我这里就踩了个坑,测量座子焊盘移植有阻值,后面量上面才发现虚焊;
4.固件调试端口是否和自己端口匹配;
5.uboot是否有被拉低;
这时候串口一直会跑到DDR初始化识别
贴DDR
贴片前:
因为BGA和DDR都是看不到腿的,然后我对自己的焊接技术实在是不敢恭维,所以先测量DDR到BGA的引脚确定是否有虚焊情况,每个点都测,因为后续如果一直出现DDR初始化失败,就可以很明确的定位大多数问题在与DDR,直接重新吹DDR就好了;
DDR初始化失败
1. 电源是否正确;
2. 重新吹不要拿下来,还是用镊子轻轻的推一下边的中间位置,让他像大奶牛波波一样来回轻轻晃动,还有每次从吹以后记得看看是否短路;
3. 如果是自己画的ddr需要看一下,等长,差分,阻抗,参考平面等。
玩了个寂寞,焊盘都干下来了
接续贴片
AD导出一个贴片图,去掉标号只显示value,因为没有买元器件盒子,直接把电容电阻用盒子装置排列好方便贴
个人焊接思路分享:
因为一个一个元器件袋拿物料很麻烦,所以可以一次焊两快,反正都会出问题,先给板子上锡,然后安装模块把电阻按照布局摆放在桌上,然后开始吹吹吹...
贴片顺序->电源->BGA最小系统->DDR->外设
电源
先贴电源部分,贴好以后不急着上电
1. 先用万用表二极管档测量是否存在短路;
2. 测量电源输出是否正确;
贴片主控BGA最小系统(DDR不焊接)
1.BGA吹上去以后,用镊子轻轻推一下一条边的中间,如果BGA像工人挤奶一样来回飘动,大概率就焊接好了;
2.测量是否短路;
3.上电;
无法识别到usb,量了一下电源供电是正常的。。。。。
偶忘了祝大家平安夜快乐,这两天感冒了,小命要紧睡觉
喜欢这种花里胡哨的东西,之前读书的时候研究过一段时间用SW画AD的3D库
推荐两个不错的素材网站,基本上直接下下来用SW改改就好:
https://www.3dcontentcentral.cn/
https://grabcad.com/
还有一个非常优秀的库原创客库
后期如果板子没凉软硬件库都会开源
之前看了稚晖君的视频也想动手DIY一块板子玩玩,但是对我这么一个吃泡面都要分两次,早上吃面,中午喝汤的人来说大佬的板子打样太贵了。
于是它来了.....:
打板:
买材料:
分享一些画板需要注意的点,不足请各位大佬指点
打板便宜的几个点:
1、不要有啥特殊工艺老老实实的做个乞丐板;
2、嘉立创最小孔0.2/0.45mm=7.87400mil/17.71650,小于这个就要加钱了;
3、能两层的就别四层能四层的就别六层;
自己画DDR需要注意的几个点:
1、布局尽量靠近CPU;
4、完整的参考平面;
5、满足3W
2、阻抗匹配;
3、等长,差分;
DQS0-7 :相对于DQS0等长,误差小于50mil
DQS8-15:相对于DQS1等长,误差小于50mil
DQSx:相对于CK 做等长 误差为800mil
Ax\BAx\CAS\RAS\WE\CSx\ODTx\CKE:相对于CK做等长 误差600mil
DQS、CK:差分对内等长误差小于10mil
HDMI:
1、线宽不宜小于4mil,否则损耗过大。
2、需要控制差分阻抗90-100ohm。
3、差分走线参考面完整。
4、两差分对之间的间距不小于12mil。
5、HDMI信号线总长度应该 < 3000mil。
6、差分线对内、对间尽量等长,对内误差<10mils,对间误差<200mil
7、HDMI差分走线拐角45度,最好为圆弧。过孔不超过2个,
若有4Kx2K应用和CTS认证需求,最好没有过孔
USB:
1、差分90Ω;
2、等长;
单端阻抗:
1、50Ω。
DVP:
1、等长;
2、时钟线包地。
晶振:
1、包地。
电容:
1、靠近IC。
电容:
1、靠近IC。
BGA:
1、0.65PINCH间距四层所以前两排能拉出来就拉出来;
2、焊盘一定要盖油哈;
3、焊盘可以拉倒空间处打过孔就打过孔,4个焊盘中间下过孔小于0.4靠太近可是可以但是怕出问题;
4、AD有个快速散孔功能Auto Route->Fanout->Component,在空间充足下打出来挺漂亮;
贴片:
睡觉深圳这天气太冷了拿着烙铁的手微微颤抖虚得很。。。。
我也碰到了这个问题找了好久:
C参考:
1、https://github.com/lvgl/lvgl/issues/628
2、https://forum.lvgl.io/t/how-to-set-tab-buttons-smaller/2425
static lv_style_t style_tv_btn_rel;
lv_style_copy(&style_tv_btn_rel, &lv_style_btn_rel);
style_tv_btn_rel.text.font = &lv_font_dejavu_10;
/*The vertical padding of the released button is applied to all buttons*/
style_tv_btn_rel.body.padding.ver = 5;
lv_obj_t * tv = lv_tabview_create(lv_scr_act(), NULL);
lv_tabview_set_style(tv, LV_TABVIEW_STYLE_BTN_REL, &style_tv_btn_rel);
lv_tabview_add_tab(tv, "First");
lv_tabview_add_tab(tv, "Second");
micropython参考C:
self.styles = lv.style_t()
lv.style_copy(self.styles,lv.style_btn_rel)
self.styles.text.font = lv.font_roboto_16
self.styles.body.padding.left = 0
self.styles.body.padding.right = 0
self.styles.body.padding.top = 0
self.styles.body.padding.bottom = 0
self.tabview = lv.tabview(self)
#self.tabview.set_btns_hidden(True)
self.tabview.set_style(self.tabview.STYLE.BTN_REL, self.styles);
#self.tabview.set_pos(5, 10);
self.tabview.align(self.cont, lv.ALIGN.OUT_BOTTOM_MID, 0, 0)
self.decode = Decode_Simple(self.app, self.tabview.add_tab('decode'))
self.Pcompile = Pcompile_Simple(self.app, self.tabview.add_tab('Pcompile'))
micropython运行
硬件环境:芯片v3s ,用的Lichee Nano开发板
软件环境:裸机
问题:
usb otg作host(地址:0x01C1 9000不是OHCI)的时候插入HID设备能够枚举成功并且获取设备的PID与VID,
但是枚举成功以后端点2会一直循环触发INT中断,无法接受HID发送过来的数据。
日志:自己猜测有问题的地方注解
start v3s usb host
controllerId:0
usbHostPointer->pUSB_Otg:0x1c19000
open_usb_clock
pDebugOTG->USBC_REG_HSEOF|0x00
pDebugOTG->FIFOx|0x1c19000
pDebugOTG->Power|40:0x20
pDebugOTG->DevCtl|41:0x98
pDebugOTG->Index|42:0x03
pDebugOTG->VEND0|43:0x01
pDebugOTG->IntrTx1|44:0x00
pDebugOTG->IntrTx2|45:0x00
pDebugOTG->IntrRx1|46:0x00
pDebugOTG->IntrRx2|47:0x00
pDebugOTG->InTrTx1E|48:0x00
pDebugOTG->InTrTx2E|49:0x00
pDebugOTG->InTrRx1E|4a:0x00
pDebugOTG->InTrRx2E|4b:0x00
pDebugOTG->IntrUSBE|50:0x3e
pDebugOTG->Frame1|54:0x00
pDebugOTG->Frame2|55:0x00
pDebugOTG->TxMaxP1|80:0x00
pDebugOTG->TxMaxP2|81:0x00
pDebugOTG->CtrlSts0_Union.CSR0|82:0x00
pDebugOTG->CtrlSts0_Union.TxCSR1|82:0x00
pDebugOTG->CtrlSts1_Union.CSR02|83:0x00
pDebugOTG->CtrlSts1_Union.TxCSR2|83:0x00
pDebugOTG->RxMaxP1|84:0x00
pDebugOTG->RxMaxP2|85:0x00
pDebugOTG->RxCSR1|86:0x00
pDebugOTG->RxCSR2|87:0x00
pDebugOTG->Count_Union.Count0|88:0x00
pDebugOTG->Count_Union.RxCount1|88:0x00
pDebugOTG->RxCount2|89:0x00
pDebugOTG->TxType|8c:0x00
pDebugOTG->IntvNAKLmt0_Union.NAKLmt0|8d:0x00
pDebugOTG->IntvNAKLmt0_Union.TxIntv|8d:0x00
pDebugOTG->RxType|8e:0x00
pDebugOTG->RxIntv|8f:0x00
pDebugOTG->DyTxFIFO1|90:0x10
pDebugOTG->DyTxFIFO2|92:0x60
pDebugOTG->DyRxFIFO1|94:0x00
pDebugOTG->FIFO_Union.DyRxFIFO2|96:0x60
pDebugOTG->FIFO_Union.FIFOSize|96:0x60
pDebugOTG->FAddr|98:0x00
host init done
pDebugOTG->USBC_REG_HSEOF|0x00
pDebugOTG->FIFOx|0x1c19000
pDebugOTG->Power|40:0x60
pDebugOTG->DevCtl|41:0x19
pDebugOTG->Index|42:0x03
pDebugOTG->VEND0|43:0x01
pDebugOTG->IntrTx1|44:0x00
pDebugOTG->IntrTx2|45:0x00
pDebugOTG->IntrRx1|46:0x00
pDebugOTG->IntrRx2|47:0x00
pDebugOTG->InTrTx1E|48:0x00
pDebugOTG->InTrTx2E|49:0x00
pDebugOTG->InTrRx1E|4a:0x00
pDebugOTG->InTrRx2E|4b:0x00
pDebugOTG->IntrUSBE|50:0x3e
pDebugOTG->Frame1|54:0x00
pDebugOTG->Frame2|55:0x00
pDebugOTG->TxMaxP1|80:0x00
pDebugOTG->TxMaxP2|81:0x00
pDebugOTG->CtrlSts0_Union.CSR0|82:0x00
pDebugOTG->CtrlSts0_Union.TxCSR1|82:0x00
pDebugOTG->CtrlSts1_Union.CSR02|83:0x00
pDebugOTG->CtrlSts1_Union.TxCSR2|83:0x00
pDebugOTG->RxMaxP1|84:0x00
pDebugOTG->RxMaxP2|85:0x00
pDebugOTG->RxCSR1|86:0x00
pDebugOTG->RxCSR2|87:0x00
pDebugOTG->Count_Union.Count0|88:0x00
pDebugOTG->Count_Union.RxCount1|88:0x00
USB_OTG_INTRUSB_CON
pDebugOTG->RxCount2|89:0x00
pDebugOTG->TxType|8c:0x00
pDebugOTG->IntvNAKLmt0_Union.NAKLmt0|8d:0x00
pDebugOTG->IntvNAKLmt0_Union.TxIntv|8d:0x00
pDebugOTG->RxType|8e:0x00
pDebugOTG->RxIntv|8f:0x00
pDebugOTG->DyTxFIFO1|90:0x00
pDebugOTG->DyTxFIFO2|92:0x00
pDebugOTG->DyRxFIFO1|94:0x00
pDebugOTG->FIFO_Union.DyRxFIFO2|96:0x00
pDebugOTG->FIFO_Union.FIFOSize|96:0x00
pDebugOTG->FAddr|98:0x00
usb attach event
Full Speed Device connected
获取描述符
write[8]:80-06-00-01-00-00-08-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=8
read[8]:12-01-00-02-00-00-00-40-
transferResult = 8
write[0]:
in epnum=0,epint=0x00
transferResult = 0
设置地址
write[8]:00-05-01-00-00-00-00-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult = 0
获取描述符
write[8]:80-06-00-01-00-00-12-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=18
read[18]:12-01-00-02-00-00-00-40-84-04-51-57-00-02-01-02-03-01-
transferResult = 18
write[0]:
in epnum=0,epint=0x00
transferResult = 0
获取9个字节的配置状态
write[8]:80-06-00-02-00-00-09-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=9
read[9]:09-02-29-00-01-01-00-e0-32-
transferResult = 9
write[0]:
in epnum=0,epint=0x00
transferResult = 0
配置状态
write[8]:80-06-00-02-00-00-29-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=41
read[41]:09-02-29-00-01-01-00-e0-32-09-04-00-00-02-03-01-01-00-09-21-11-01-00-01-22-3f-00-07-05-81-03-40-00-03-07-05-01-03-40-00-03-
transferResult = 41
write[0]:
in epnum=0,epint=0x00
transferResult = 0
设置配置状态
write[8]:00-09-01-00-00-00-00-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult = 0
枚举完成
pDebugOTG->USBC_REG_HSEOF|0x00
pDebugOTG->FIFOx|0x1c19000
pDebugOTG->Power|40:0x60
pDebugOTG->DevCtl|41:0x5d
pDebugOTG->Index|42:0x00
pDebugOTG->VEND0|43:0x01
pDebugOTG->IntrTx1|44:0x00
pDebugOTG->IntrTx2|45:0x00
pDebugOTG->IntrRx1|46:0x00
pDebugOTG->IntrRx2|47:0x00
pDebugOTG->InTrTx1E|48:0x00
pDebugOTG->InTrTx2E|49:0x00
pDebugOTG->InTrRx1E|4a:0x00
pDebugOTG->InTrRx2E|4b:0x00
pDebugOTG->IntrUSBE|50:0x3e
pDebugOTG->Frame1|54:0xb2
pDebugOTG->Frame2|55:0x01
pDebugOTG->TxMaxP1|80:0x00
pDebugOTG->TxMaxP2|81:0x00
pDebugOTG->CtrlSts0_Union.CSR0|82:0x00
pDebugOTG->CtrlSts0_Union.TxCSR1|82:0x00
pDebugOTG->CtrlSts1_Union.CSR02|83:0x00
pDebugOTG->CtrlSts1_Union.TxCSR2|83:0x00
pDebugOTG->RxMaxP1|84:0x00
pDebugOTG->RxMaxP2|85:0x00
pDebugOTG->RxCSR1|86:0x00
pDebugOTG->RxCSR2|87:0x00
pDebugOTG->Count_Union.Count0|88:0x00
pDebugOTG->Count_Union.RxCount1|88:0x00
pDebugOTG->RxCount2|89:0x00
pDebugOTG->TxType|8c:0x00
//这里NAK超时是不是应该不为零
pDebugOTG->IntvNAKLmt0_Union.NAKLmt0|8d:0x00
pDebugOTG->IntvNAKLmt0_Union.TxIntv|8d:0x00
pDebugOTG->RxType|8e:0x00
pDebugOTG->RxIntv|8f:0x00
pDebugOTG->DyTxFIFO1|90:0x00
pDebugOTG->DyTxFIFO2|92:0x00
pDebugOTG->DyRxFIFO1|94:0x00
pDebugOTG->FIFO_Union.DyRxFIFO2|96:0x00
pDebugOTG->FIFO_Union.FIFOSize|96:0x00
pDebugOTG->FAddr|98:0x01
hid keyboard attached:pid=0x5751vid=0x484 address=1
keyboard attached
write[8]:21-0a-00-00-00-00-00-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult = 0
write[8]:81-06-00-22-00-00-3f-00-
in epnum=0,epint=0x00
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=63
read[63]:05-01-09-06-a1-01-05-07-19-e0-29-e7-15-00-25-01-75-01-95-08-81-02-95-01-75-08-81-03-95-05-75-01-05-08-19-01-29-05-91-02-95-01-75-03-91-03-95-06-75-08-15-00-25-ff-05-07-19-00-29-65-81-00-c0-
transferResult = 63
write[0]:
in epnum=0,epint=0x00
transferResult = 0
write[8]:21-0b-01-00-00-00-00-00-
in epnum=0,epint=0x00
/*这里中断没有SETUPPKT位,SETUPPKT位回去设置Naklimit0*/
transferResult = 8
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult = 0
endpoint type 3, direction: 1//按道理来说我从机没有发送数据给主机的时候会停在这里,不会循环触发下面的读数据中断
/*下面端点2一直都是循环触发中断,但事实上我从机没有发送任何数据*/
/*
数据手册描述RxCSR1 = 0x04 = 位2 Error
The USB sets this bit when 3 attempts have been made to receive a packet and no data packet has
been received. The CPU should clear this bit. An interrupt is generated when the bit is set.
Note: This bit is only valid when the Rx endpoint is operating in Bulk or Interrupt mode. In ISO mode, it always
returns zero.
*/
in epnum=2,epint=0x04
4 : 0x4
2 2
transferResult = -512
endpoint type 3, direction: 1
in epnum=2,epint=0x04
4 : 0x4
2 2
transferResult = -512
endpoint type 3, direction: 1
in epnum=2,epint=0x04
4 : 0x4
2 2
transferResult = -512
endpoint type 3, direction: 1
in epnum=2,epint=0x04
4 : 0x4
2 2
transferResult = -512
endpoint type 3, direction: 1
in epnum=2,epint=0x04
4 : 0x4
2 2
transferResult = -512
endpoint type 3, direction: 1
in epnum=2,epint=0x04
4 : 0x4
2 2
transferResult = -512
endpoint type 3, direction: 1
/********************************************我在其他平台下正常日志********************************************/
pDebugOTG->FAddr|0x50000000
pDebugOTG->Power|01:0x60
pDebugOTG->DevCtl|0f:0x0d
pDebugOTG->Index|0e:0x03
pDebugOTG->IntrTx1|02:0x01
pDebugOTG->IntrTx2|03:0x00
pDebugOTG->IntrRx1|04:0x00
pDebugOTG->IntrRx2|05:0x00
pDebugOTG->InTrTx1E|07:0x0f
pDebugOTG->InTrTx2E|08:0x00
pDebugOTG->InTrRx1E|09:0x0e
pDebugOTG->InTrRx2E|0a:0x00
pDebugOTG->IntrUSBE|0b:0x3e
pDebugOTG->Frame1|0c:0x00
pDebugOTG->Frame2|0d:0x00
pDebugOTG->TxMaxP1|10:0x00
pDebugOTG->CtrlSts0_Union.CSR0|11:0x00
pDebugOTG->CtrlSts0_Union.TxCSR1|11:0x00
pDebugOTG->CtrlSts1_Union.CSR02|12:0x00
pDebugOTG->CtrlSts1_Union.TxCSR2|12:0x00
pDebugOTG->RxMaxP1|13:0x00
pDebugOTG->RxCSR1|14:0x00
pDebugOTG->RxCSR2|15:0x00
pDebugOTG->Count_Union.Count0|16:0x00
pDebugOTG->Count_Union.RxCount1|16:0x00
pDebugOTG->RxCount2|17:0x00
pDebugOTG->TxType|18:0x00
pDebugOTG->IntvNaKLmt0_Union.NAKLmt0|19:0x00
pDebugOTG->IntvNaKLmt0_Union.TxIntv|19:0x00
pDebugOTG->RxType|1a:0x00
pDebugOTG->RxIntv|1b:0x00
pDebugOTG->DyTxFIFO1|1c:0x50
pDebugOTG->DyTxFIFO2|1d:0x60
pDebugOTG->DyRxFIFO1|1e:0x60
pDebugOTG->FIFO_Union.DyRxFIFO2|1f:0x60
pDebugOTG->FIFO_Union.FIFOSize|1f:0x60
pDebugOTG->Faddr|00:0x00
host0init done
USB_OTG_INTRUSB_CON
in0epnum=0,epint=0x00
pDebugOTG->Faddr|0x50000000
pDebugOTG->Power|01:0x60
pDebugOTG->DevCtl|0f:0x4d
pDebugOTG->Index|0e:0x00
pDebugOTG->IntrTx1|02:0x00
pDebugOTG->IntrTx2|03:0x00
pDebugOTG->IntrRx1|04:0x00
pDebugOTG->IntrRx2|05:0x00
pDebugOTG->InTrTx1E|07:0x0f
pDebugOTG->InTrTx2E|08:0x00
pDebugOTG->InTrRx1E|09:0x0e
pDebugOTG->InTrRx2E|0a:0x00
pDebugOTG->IntrUSBE|0b:0x3e
pDebugOTG->Frame1|0c:0x00
pDebugOTG->Frame2|0d:0x00
pDebugOTG->TxMaxP1|10:0x00
pDebugOTG->CtrlSts0_Union.CSR0|11:0x00
pDebugOTG->CtrlSts0_Union.TxCSR1|11:0x00
pDebugOTG->CtrlSts1_Union.CSR02|12:0x00
pDebugOTG->CtrlSts1_Union.TxCSR2|12:0x00
pDebugOTG->RxMaxP1|13:0x00
pDebugOTG->RxCSR1|14:0x00
pDebugOTG->RxCSR2|15:0x00
pDebugOTG->Count_Union.Count0|16:0x00
pDebugOTG->Count_Union.RxCount1|16:0x00
pDebugOTG->RxCount2|17:0x00
pDebugOTG->TxType|18:0x00
pDebugOTG->IntvNaKLmt0_Union.NAKLmt0|19:0x00
pDebugOTG->IntvNaKLmt0_Union.TxIntv|19:0x00
pDebugOTG->RxType|1a:0x00
pDebugOTG->RxIntv|1b:0x00
pDebugOTG->DyTxFIFO1|1c:0x00
pDebugOTG->DyTxFIFO2|1d:0x00
pDebugOTG->DyRxFIFO1|1e:0x00
pDebugOTG->FIFO_Union.DyRxFIFO2|1f:0x00
pDebugOTG->FIFO_Union.FIFOSize|1f:0x00
pDebugOTG->Faddr|00:0x00
usb attach event
Full0Speed0Device0connected0
process0enumeration0state machine
获取描述符
write[8]:80-06-00-01-00-00-08-00-
in0epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult0=08
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=8
read[8]:12-01-00-02-00-00-00-40-
transferResult0= 80
write[0]:
in epnum=0,epint=0x40
USB_OTG_CSR0_STaTUSPKT
transferResult0= 00
process0the0new state
设置地址
write[8]:00-05-01-00-00-00-00-00-
in0epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult =080
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult0=00
process the0new0state
获取描述符
write[8]:80-06-00-01-00-00-12-00-
in epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult =080
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=18
read[18]:12-01-00-02-00-00-00-40-84-04-51-57-00-02-01-02-03-01-
transferResult0=018
write[0]:
in epnum=0,epint=0x40
USB_OTG_CSR0_STaTUSPKT
transferResult0=00
process the0new0state
获取9个字节的配置状态
write[8]:80-06-00-02-00-00-09-00-
in0epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult =080
in epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=9
read[9]:09-02-29-00-01-01-00-e0-32-
transferResult =090
write[0]:
in0epnum=0,epint=0x40
USB_OTG_CSR0_STATUSPKT
transferResult =000
process0the new0state
配置状态
write[8]:80-06-00-02-00-00-29-00-
in epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult0= 80
in0epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=41
read[41]:09-02-29-00-01-01-00-e0-32-09-04-00-00-02-03-01-01-00-09-21-11-01-00-01-22-3f-00-07-05-81-03-40-00-03-07-05-01-03-40-00-03-
transferResult0= 410
write[0]:
in0epnum=0,epint=0x40
USB_OTG_CSR0_STaTUSPKT
transferResult =000
process0the0new0state
设置配置状态
write[8]:00-09-01-00-00-00-00-00-
in0epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult0= 80
in0epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult0=000
process0the new0state
枚举完成
pDebugOTG->Faddr|0x50000000
pDebugOTG->Power|01:0x60
pDebugOTG->DevCtl|0f:0x4d
pDebugOTG->Index|0e:0x00
pDebugOTG->IntrTx1|02:0x00
pDebugOTG->IntrTx2|03:0x00
pDebugOTG->IntrRx1|04:0x00
pDebugOTG->IntrRx2|05:0x00
pDebugOTG->InTrTx1E|07:0x0f
pDebugOTG->InTrTx2E|08:0x00
pDebugOTG->InTrRx1E|09:0x0e
pDebugOTG->InTrRx2E|0a:0x00
pDebugOTG->IntrUSBE|0b:0x3e
pDebugOTG->Frame1|0c:0x15
pDebugOTG->Frame2|0d:0x02
pDebugOTG->TxMaxP1|10:0x00
pDebugOTG->CtrlSts0_Union.CSR0|11:0x00
pDebugOTG->CtrlSts0_Union.TxCSR1|11:0x00
pDebugOTG->CtrlSts1_Union.CSR02|12:0x00
pDebugOTG->CtrlSts1_Union.TxCSR2|12:0x00
pDebugOTG->RxMaxP1|13:0x00
pDebugOTG->RxCSR1|14:0x00
pDebugOTG->RxCSR2|15:0x00
pDebugOTG->Count_Union.Count0|16:0x00
pDebugOTG->Count_Union.RxCount1|16:0x00
pDebugOTG->RxCount2|17:0x00
pDebugOTG->TxType|18:0x00
pDebugOTG->IntvNAKLmt0_Union.NaKLmt0|19:0xc8
pDebugOTG->IntvNaKLmt0_Union.TxIntv|19:0xc8
pDebugOTG->RxType|1a:0x00
pDebugOTG->RxIntv|1b:0x00
pDebugOTG->DyTxFIFO1|1c:0x00
pDebugOTG->DyTxFIFO2|1d:0x00
pDebugOTG->DyRxFIFO1|1e:0x00
pDebugOTG->FIFO_Union.DyRxFIFO2|1f:0x00
pDebugOTG->FIFO_Union.FIFOSize|1f:0x00
pDebugOTG->Faddr|00:0x01
hid0keyboard attached:pid=0x5751vid=0x484 address=1
keyboard attached
write[8]:21-0a-00-00-00-00-00-00-
in0epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult =080
in0epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult0= 00
write[8]:81-06-00-22-00-00-3f-00-
in epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult =080
in0epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=63
read[63]:05-01-09-06-a1-01-05-07-19-e0-29-e7-15-00-25-01-75-01-95-08-81-02-95-01-75-08-81-03-95-05-75-01-05-08-19-01-29-05-91-02-95-01-75-03-91-03-95-06-75-08-15-00-25-ff-05-07-19-00-29-65-81-00-c0-
transferResult =063
write[0]:
in0epnum=0,epint=0x40
USB_OTG_CSR0_STaTUSPKT
transferResult0=00
write[8]:21-0b-01-00-00-00-00-00-
in0epnum=0,epint=0x08
USB_OTG_CSR0_SETUPPKT
transferResult0= 80
in0epnum=0,epint=0x01
USB_OTG_CSR0_RXPKTRDY
cnt=0
read[0]:
transferResult =000
endpoint0type03,0direction:01
/********上面是插入HID设备没有发送数据就停在这里,发送数据就进来下面中断读数据****************/
in epnum=2,epint=0x03
read[8]:00-00-22-00-00-00-00-00-
2020
transferResult = 80
5endpoint type03, direction: 1
in epnum=2,epint=0x03
read[8]:00-00-25-00-00-00-00-00-
2020
transferResult0=080
8endpoint0type03, direction: 1
in epnum=2,epint=0x03
read[8]:00-00-23-00-00-00-00-00-
2 2
参考1: https://whycan.cn/t_682.html
参考2: http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/bsp_cam.html
参考3: https://whycan.cn/t_2039.html
使用环境:参考1晕哥的linux3.4.39与uboot文件系统
根据参考2:官网BSP内核摄像头使用配置摄像头驱动
make ARCH=arm menuconfig
--- V4L platform devices
< > Support for timberdale Video In/LogiWIN
<*> SoC camera support
< > imx074 support
< > mt9m001 support
< > mt9m111, mt9m112 and mt9m131 support
< > mt9t031 support
< > mt9t112 support
< > mt9v022 support
< > rj54n1cb0c support
< > tw9910 support
< > platform camera support
<M> ov2640 camera support
<M> ov5642 camera support
< > ov6650 sensor support
< > ov772x camera support
< > ov9640 camera support
< > ov9740 camera support
<M> SuperH Mobile MIPI CSI-2 Interface driver
< > SuperH Mobile CEU Interface driver
<*> sunxi video front end (camera and etc)driver
<*> v4l2 driver for SUNXI
Sensor CSI --->
<M> ov5647_mipi
< > ov4689
< > ov4689 60fps
< > ar0330 mipi
< > ov4689 sdv
< > gc1004_mipi
<M> h22_mipi
< > nt99231_mipi
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j16 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j16 INSTALL_MOD_PATH=out modules_install
参考:晕哥 https://whycan.cn/t_682.html 烧入
问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题 问题
启动日志没有挂载成功,请教我需要如何去解决它
[ 1.217706] i2c /dev entries driver
[ 1.222178] usbcore: registered new interface driver i2c-diolan-u2c
[ 1.229256] i2c-parport-light: adapter type unspecified
[ 1.235758] [VFE]cci probe start cci_sel = 0!
[ 1.240791] [VFE]cci probe end cci_sel = 0!
[ 1.245575] [VFE]cci_init end
[ 1.249096] [VFE]Welcome to Video Front End driver
[ 1.254817] [VFE]pdev->id = 0
[ 1.258227] [VFE]dev->mipi_sel = 0
[ 1.262138] [VFE]dev->vip_sel = 0
[ 1.265925] [VFE]dev->isp_sel = 0
[ 1.275844] [VFE_WARN]vfe vpu clock is null
[ 1.287262] [VFE]vfe_init end
[ 1.290834] [VFE]probe_work_handle start!
[ 1.295395] [VFE]..........................vfe clk open!.......................
[ 1.304723] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[ 1.313611] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 1.322818] [VFE]v4l2 subdev register input_num = 0
[ 1.328451] [VFE_ERR]get regulator csi_avdd error!
[ 1.333932] [VFE_ERR]vfe_device_regulator_get error at input_num = 0
参考官网的启动日志 参考官网的启动日志 参考官网的启动日志
//cci.ko加载,即摄像头控制器初始化
[ 0.808628] [VFE]cci probe start cci_sel = 0!
[ 0.813793] [VFE]cci probe end cci_sel = 0!
[ 0.818593] [VFE]cci_init end
//VFE驱加载
[ 0.822038] [VFE]Welcome to Video Front End driver
[ 0.827986] [VFE]pdev->id = 0
[ 0.831435] [VFE]dev->mipi_sel = 0
[ 0.835324] [VFE]dev->vip_sel = 0
[ 0.839114] [VFE]dev->isp_sel = 0
[ 0.849164] [VFE_WARN]vfe vpu clock is null
[ 0.849164] [VFE_WARN]vfe vpu clock is null
[ 0.860599] [VFE]pdev->id = 1
[ 0.864021] [VFE]dev->mipi_sel = 1
[ 0.868014] [VFE]dev->vip_sel = 1
[ 0.871864] [VFE]dev->isp_sel = 0
[ 0.875672] [VFE]probe_work_handle start!
[ 0.880358] [VFE]..........................vfe clk open!.......................
[ 0.880358] [VFE]..........................vfe clk open!.......................
[ 0.889010] [VFE]v4l2 subdev register input_num = 0
[ 0.894683] [VFE_WARN]vfe vpu clock is null
[ 0.894683] [VFE_WARN]vfe vpu clock is null
[ 0.899688] [VFE_ERR]vip1 request pinctrl handle for device [csi1] failed!
[ 0.907603] [VFE_ERR]get regulator csi_avdd error!
[ 0.913056] [VFE_ERR]vfe_device_regulator_get error at input_num = 0
[ 0.913056] [VFE_ERR]vfe_device_regulator_get error at input_num = 0
[ 0.920482] [VFE]vfe_init end
[ 0.920482] [VFE]vfe_init end
//V4L2设备注册,生成video0
[ 0.933586] [VFE]V4L2 device registered as video0
[ 0.938969] [VFE]..........................vfe clk close!.......................
[ 0.938969] [VFE]..........................vfe clk close!.......................
[ 0.956440] [VFE]probe_work_handle end!
[ 0.960938] [VFE]probe_work_handle start!
[ 0.965515] [VFE]..........................vfe clk open!.......................
[ 0.965515] [VFE]..........................vfe clk open!.......................
[ 0.991682] [VFE]v4l2 subdev register input_num = 0
[ 0.997227] [VFE]vfe sensor detect start! input_num = 0
[ 0.997227] [VFE]vfe sensor detect start! input_num = 0
[ 1.003274] [VFE]Find sensor name is "ov2640", i2c address is 60, type is "YUV" !
[ 1.011824] [VFE]Sub device register "ov2640" i2c_addr = 0x60 start!
[ 1.018998] [VFE_ERR]Error registering v4l2 subdevice No such device!
[ 1.026388] [VFE_ERR]vfe sensor register check error at input_num = 0
[ 1.026388] [VFE_ERR]vfe sensor register check error at input_num = 0
[ 1.079242] [VFE]V4L2 device registered as video1
[ 1.084960] [VFE]..........................vfe clk close!.......................
[ 1.084960] [VFE]..........................vfe clk close!.......................
[ 1.116779] [VFE]probe_work_handle end!
[ 5.012110] [VFE]vfe_open
[ 5.012110] [VFE]vfe_open
[ 5.043465] [VFE]vfe_open
[ 5.043465] [VFE]vfe_open
[ 5.058511] [VFE]..........................vfe clk open!.......................
[ 5.058511] [VFE]..........................vfe clk open!.......................
[ 5.082179] [VFE]..........................vfe clk open!.......................
[ 5.082179] [VFE]..........................vfe clk open!.......................
[ 5.112320] [VFE]vfe_open ok
[ 5.112320] [VFE]vfe_open ok
[ 5.115853] [VFE]vfe_close
[ 5.115853] [VFE]vfe_close
[ 5.118958] [VFE]vfe select input flag = 0, s_input have not be used .
[ 5.118958] [VFE]vfe select input flag = 0, s_input have not be used .
[ 5.126480] [VFE]..........................vfe clk close!.......................
[ 5.126480] [VFE]..........................vfe clk close!.......................
[ 5.144821] [VFE]vfe_open ok
[ 5.144821] [VFE]vfe_open ok
[ 5.148348] [VFE]vfe_close
[ 5.148348] [VFE]vfe_close
[ 5.151598] [VFE]vfe select input flag = 0, s_input have not be used .
[ 5.151598] [VFE]vfe select input flag = 0, s_input have not be used .
[ 5.158972] [VFE]..........................vfe clk close!.......................
[ 5.158972] [VFE]..........................vfe clk close!.......................
[ 5.224773] [VFE]vfe_close end
[ 5.224773] [VFE]vfe_close end
[ 5.282919] [VFE]vfe_close end
[ 5.282919] [VFE]vfe_close end
我的启动日志 我的启动日志 我的启动日志 我的启动日志
U-Boot SPL 2017.01-rc2-00073-gdd6e874 (Jul 11 2018 - 16:05:42)
DRAM: 64 MiB
Trying to boot from MMC1
U-Boot 2017.01-rc2-00073-gdd6e874 (Jul 11 2018 - 16:05:42 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
U-Boot 2017.01-rc2-00073-gdd6e874 (Jul 11 2018 - 16:05:42 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
290 bytes read in 14 ms (19.5 KiB/s)
## Executing script at 41900000
reading uImage
2906488 bytes read in 168 ms (16.5 MiB/s)
reading script.bin
35240 bytes read in 24 ms (1.4 MiB/s)
## Booting kernel from Legacy Image at 41000000 ...
Image Name: Linux-3.4.39
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2906424 Bytes = 2.8 MiB
Load Address: 40008000
Entry Point: 40008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Using machid 0x1029 from environment
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.39 (root@book-virtual-machine) (gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29) ) #11 Fri Aug 30 10:23:09 CST 2019
[ 0.000000] Initialized persistent memory from 41d20800-41d307ff
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 64MB = 64MB total
[ 0.000000] Memory: 28764k/28764k available, 36772k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0589000 (5636 kB)
[ 0.000000] .init : 0xc0589000 - 0xc05b0000 ( 156 kB)
[ 0.000000] .data : 0xc05b0000 - 0xc062fe30 ( 512 kB)
[ 0.000000] .bss : 0xc062fe54 - 0xc0713db4 ( 912 kB)
[ 0.000000] NR_IRQS:544
[ 0.000000] Architected local timer running at 24.00MHz.
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000160] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.00 BogoMIPS (lpj=24000000)
[ 0.000180] pid_max: default: 32768 minimum: 301
[ 0.000323] Mount-cache hash table entries: 512
[ 0.000905] CPU: Testing write buffer coherency: ok
[ 0.001179] Setting up static identity map for 0x403f72e8 - 0x403f7340
[ 0.001861] devtmpfs: initialized
[ 0.003622] pinctrl core: initialized pinctrl subsystem
[ 0.004115] NET: Registered protocol family 16
[ 0.004450] DMA: preallocated 128 KiB pool for atomic coherent allocations
[ 0.004499] script_sysfs_init success
[ 0.005290] gpiochip_add: registered GPIOs 0 to 223 on device: sunxi-pinctrl
[ 0.006225] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[ 0.006601] gpiochip_add: registered GPIOs 1024 to 1031 on device: axp-pinctrl
[ 0.007430] persistent_ram: found existing buffer, size 20222, start 20222
[ 0.099347] console [ram-1] enabled
[ 0.100226] Not Found clk pll_isp in script
[ 0.100359] Not Found clk pll_video in script
[ 0.100590] Not Found clk pll_ve in script
[ 0.100715] Not Found clk pll_periph0 in script
[ 0.100839] Not Found clk pll_de in script
[ 0.105932] bio: create slab <bio-0> at 0
[ 0.106334] pwm module init!
[ 0.108596] SCSI subsystem initialized
[ 0.109070] usbcore: registered new interface driver usbfs
[ 0.109262] usbcore: registered new interface driver hub
[ 0.109634] usbcore: registered new device driver usb
[ 0.109996] twi_chan_cfg()340 - [twi0] has no twi_regulator.
[ 0.110027] twi_chan_cfg()340 - [twi1] has no twi_regulator.
[ 0.110988] sunxi_i2c_do_xfer()985 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x34)
[ 0.111234] axp20_board 0-0034: failed reading at 0x03
[ 0.111386] axp20_board: probe of 0-0034 failed with error -70
[ 0.111737] Linux video capture interface: v2.00
[ 0.111960] gpiochip_add: gpios 1024..1028 (axp_pin) failed to register
[ 0.112538] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.113350] Switching to clocksource arch_sys_counter
[ 0.119979] NET: Registered protocol family 2
[ 0.119979] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.120383] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.120554] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.120805] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.121037] TCP: reno registered
[ 0.121162] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.121299] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.121779] NET: Registered protocol family 1
[ 0.122349] RPC: Registered named UNIX socket transport module.
[ 0.122587] RPC: Registered udp transport module.
[ 0.122711] RPC: Registered tcp transport module.
[ 0.122937] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.123410] standby_mode = 1.
[ 0.123537] wakeup src cnt is : 3.
[ 0.123682] pmu1_enable = 0x1.
[ 0.123805] pmux_id = 0x1.
[ 0.123938] config_pmux_para: script_parser_fetch err.
[ 0.124167] pmu2_enable = 0x0.
[ 0.124292] add_sys_pwr_dm: get ldo name failed
[ 0.124415] add_sys_pwr_dm: get ldo name failed
[ 0.124642] add_sys_pwr_dm: get ldo name failed
[ 0.124769] add_sys_pwr_dm: get ldo name failed
[ 0.124997] add_sys_pwr_dm: get ldo name failed
[ 0.125119] add_sys_pwr_dm: get ldo name failed
[ 0.125243] add_sys_pwr_dm: get ldo name failed
[ 0.125472] add_sys_pwr_dm: get ldo name failed
[ 0.125593] add_sys_pwr_dm: get ldo name failed
[ 0.125819] add_sys_pwr_dm: get ldo name failed
[ 0.125942] after inited: sys_mask config = 0x0.
[ 0.126065] dynamic_standby enalbe = 0x0.
[ 0.126338] sunxi_reg_init enter
[ 0.128435] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.128725] NFS: Registering the id_resolver key type
[ 0.129237] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.129501] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.129844] msgmni has been set to 56
[ 0.131106] io scheduler noop registered
[ 0.131246] io scheduler deadline registered
[ 0.131456] io scheduler cfq registered (default)
[ 0.132119] [DISP]disp_module_init
[ 0.132645] cmdline,disp=
[ 0.133326] [DISP] disp_get_rotation_sw,line:68:disp 0 out of range? g_rot_sw=0
[ 0.133676] [DISP] disp_init_connections,line:289:NULL pointer: 0, 0
[ 0.136226] [DISP] Fb_map_kernel_logo,line:924:Fb_map_kernel_logo failed!
[ 0.138898] [DISP] disp_sys_power_enable,line:387:some error happen, fail to get regulator
[ 0.140086] [DISP]disp_module_init finish
[ 0.140515] sw_uart_get_devinfo()1503 - uart0 has no uart_regulator.
[ 0.141116] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI
[ 0.141251] sw_uart_pm()890 - uart0 clk is already enable
[ 0.141490] sw_console_setup()1233 - console setup baud 115200 parity n bits 8, flow n
[ 0.255195] console [ttyS0] enabled
[ 0.814836] sunxi_spi_chan_cfg()1376 - [spi-0] has no spi_regulator.
[ 0.822761] spi spi0: master is unqueued, this is deprecated
[ 0.829388] m25p_probe()982 - Use the Dual Mode Read.
[ 0.835287] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.842226] partitions_register()869 - Invalid partitions count: -482082762
[ 0.850606] Creating 4 MTD partitions on "spi0.0":
[ 0.856159] 0x000000000000-0x000000080000 : "u-boot"
[ 0.862803] 0x000000080000-0x000000100000 : "sys_config"
[ 0.869717] 0x000000100000-0x000000400000 : "kernel"
[ 0.876381] 0x000000400000-0x000001000000 : "rootfs"
[ 0.884472] Failed to alloc md5
[ 0.888231] eth0: Use random mac address
[ 0.892816] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.920510] sunxi-ehci sunxi-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.929559] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus number 1
[ 0.938324] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf1c1a000
[ 0.960038] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[ 0.967577] hub 1-0:1.0: USB hub found
[ 0.971919] hub 1-0:1.0: 1 port detected
[ 0.976925] sunxi-ehci sunxi-ehci.1: remove, state 1
[ 0.982614] usb usb1: USB disconnect, device number 1
[ 0.989095] sunxi-ehci sunxi-ehci.1: USB bus 1 deregistered
[ 1.005555] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.032762] sunxi-ohci sunxi-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 1.041539] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus number 1
[ 1.050236] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf1c1a400
[ 1.114700] hub 1-0:1.0: USB hub found
[ 1.119130] hub 1-0:1.0: 1 port detected
[ 1.124036] sunxi-ohci sunxi-ohci.1: remove, state 1
[ 1.129782] usb usb1: USB disconnect, device number 1
[ 1.136125] sunxi-ohci sunxi-ohci.1: USB bus 1 deregistered
[ 1.152580] Initializing USB Mass Storage driver...
[ 1.158302] usbcore: registered new interface driver usb-storage
[ 1.165102] USB Mass Storage support registered.
[ 1.170808] file system registered
[ 1.176283] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 1.184222] android_usb gadget: Number of LUNs=1
[ 1.189462] lun0: LUN: removable file: (no medium)
[ 1.195555] android_usb gadget: android_usb ready
[ 1.201065] sunxikbd_script_init: key para not found, used default para.
[ 1.210077] sunxi-rtc sunxi-rtc: rtc core: registered sunxi-rtc as rtc0
[ 1.217706] i2c /dev entries driver
[ 1.222178] usbcore: registered new interface driver i2c-diolan-u2c
[ 1.229256] i2c-parport-light: adapter type unspecified
[ 1.235758] [VFE]cci probe start cci_sel = 0!
[ 1.240791] [VFE]cci probe end cci_sel = 0!
[ 1.245575] [VFE]cci_init end
[ 1.249096] [VFE]Welcome to Video Front End driver
[ 1.254817] [VFE]pdev->id = 0
[ 1.258227] [VFE]dev->mipi_sel = 0
[ 1.262138] [VFE]dev->vip_sel = 0
[ 1.265925] [VFE]dev->isp_sel = 0
[ 1.275844] [VFE_WARN]vfe vpu clock is null
[ 1.287262] [VFE]vfe_init end
[ 1.290834] [VFE]probe_work_handle start!
[ 1.295395] [VFE]..........................vfe clk open!.......................
[ 1.304723] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[ 1.313611] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 1.322818] [VFE]v4l2 subdev register input_num = 0
[ 1.328451] [VFE_ERR]get regulator csi_avdd error!
[ 1.333932] [VFE_ERR]vfe_device_regulator_get error at input_num = 0
[ 1.341269] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[ 1.350061] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[ 1.358813] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[ 1.367695] [VFE]V4L2 device registered as video0
[ 1.373100] [VFE]..........................vfe clk close!.......................
[ 1.381562] [VFE]probe_work_handle end!
[ 1.386142] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[ 1.394910] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[ 1.403848] sunxi_wdt_init_module: sunxi WatchDog Timer Driver v1.0
[ 1.411229] sunxi_wdt_probe: devm_ioremap return wdt_reg 0xf1c20ca0, res->start 0x01c20ca0, res->end 0x01c20cbf
[ 1.422687] sunxi_wdt_probe: initialized (g_timeout=16s, g_nowayout=0)
[ 1.430385] wdt_enable, write reg 0xf1c20cb8 val 0x00000000
[ 1.436801] wdt_set_tmout, write 0x000000b0 to mode reg 0xf1c20cb8, actual timeout 16 sec
[ 1.448792] no led_3, ignore it!
[ 1.452577] no led_4, ignore it!
[ 1.456273] no led_5, ignore it!
[ 1.459963] no led_6, ignore it!
[ 1.463774] no led_7, ignore it!
[ 1.468827] leds-gpio: probe of leds-gpio failed with error -16
[ 1.475812] usbcore: registered new interface driver usbhid
[ 1.482246] usbhid: USB HID core driver
[ 1.487383] ashmem: initialized
[ 1.491289] logger: created 256K log 'log_main'
[ 1.496559] logger: created 32K log 'log_events'
[ 1.502268] logger: created 32K log 'log_radio'
[ 1.507660] logger: created 32K log 'log_system'
[ 1.514455] script_get_item return type err, consider it no ldo
[ 1.522459] asoc: sndcodec <-> sunxi-codec mapping ok
[ 1.532328] *******************Try sdio*******************
[ 1.540267] TCP: cubic registered
[ 1.544082] NET: Registered protocol family 17
[ 1.549207] Registering the dns_resolver key type
[ 1.554920] VFP support v0.3: [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 5, RTO !!
[ 1.565201] ThumbEE CPU extension supported.
[ 1.570113] Registering SWP/SWPB emulation handler
[ 1.576455] *******************Try sd *******************
[ 1.582844] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[ 1.591889] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[ 1.601918] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[ 1.612792] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[ 1.621399] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[ 1.629969] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 1.638865] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[ 1.647773] sunxi-rtc sunxi-rtc: setting system clock to 1970-01-01 01:43:56 UTC (6236)
[ 1.658701] ALSA device list:
[ 1.662284] #0: audiocodec
[ 1.666014] Waiting for root device /dev/mmcblk0p2...
[ 1.672847] mmc0: new high speed SD card at address 2163
[ 1.679372] mmcblk0: mmc0:2163 122 MiB
[ 1.685205] mmcblk0: p1 p2
[ 1.689195] mmcblk mmc0:2163: Card claimed for testing.
[ 1.695290] mmc0:2163: 122 MiB
[ 1.699106] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[ 1.707996] *******************sd init ok*******************
[ 1.714486] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 1.723366] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[ 1.732040] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[ 1.740616] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[ 1.749267] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[ 1.757944] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[ 1.780878] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[ 1.790825] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
[ 1.962365] EXT4-fs (mmcblk0p2): recovery complete
[ 1.970860] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 1.980177] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 1.989613] devtmpfs: mounted
[ 1.993378] Freeing init memory: 156K
[ 2.113999] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Starting logging: OK
Initializing random number generator... done.
Starting network: OK
Welcome to Buildroot
buildroot login:
页次: 1