以前用CH552G做过烧录器,5V 3.3V芯片都可以用,支持页读写,
CH552很不错的,
http://www.wch.cn/bbs/thread-66188-1.html
这是我自己做的软件截图
好强大!
包邮不是随便说说的,哈哈
晕哥 说:matrix_keypad需要IO支持中断才行吧,如果用LCD的IO口,好像没有中断功能,会报错
看了一下代码,应该是会出错, PB,PG有中断,这组应该可以用。
此处下载: TouchADC.zip
用Xboot验证了一下,硬件连接没有问题......
https://whycan.cn/files/members/1308/1281336563.jpg
xboo触摸屏可以使用对吗?
https://whycan.cn/files/members/719/2019-02-12-17-04-17.png
https://whycan.cn/files/members/719/2019-02-12-17-05-37.png
试了一下 还能打开 看到轨迹有点漂移
有漂移是正常,因为没有用电子罗盘修正航偏角,但是图上这么大的漂移其实是我的IMU融合搞得不好,我的师弟把我的融合改成四元素之后,漂移用这个上位机是看不出来的
好厉害,
这是 GUI是 tkinter 组建做的?
山无棱 说:这几处都已经修改了,还是不行。。。
请问发到这里来看,是linux内核问题,还是rootfs问题?
这就有点尴尬了, 肯定不是 rootfs 问题, rootfs 会提示运行 /init /linuxrc 失败之类的信息
smartcar 说:这东西这么重, 在国内保修都是一个麻烦事, 别说国际保修.
一般这种东西除非当地买不到, 否则这种工具都不会在网上购买.现在大件的家电洗衣机/电冰箱什么都可以网上购买, 因为售后服务器特别方便, 客服都会上门维修或者安装.
电子产品保修问题相当严重等问题。
不幸的是,即使像我购买的焊机这样的德国产品也不好,它只是停止工作......
这种大件的,专业/偏门的产品保修都是非常麻烦,我相信每个国家都差不多。
现在中国国内的小家电产品基本不修了,
维修的报价还挺高,
修好的东西还不一定好用,
算算不如买新的了,
现国内京东买东西服务非常好,
有问题换货相当容易。
http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO4/zh
RK3399 当然没有问题
硬件特性
主控芯片: Rockchip RK3399
CPU: big.LITTLE大小核架构,双Cortex-A72大核(up to 2.0GHz)+四Cortex-A53小核结构(up to 1.5GHz)
GPU: Mali-T864 GPU,支持OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11, 支持AFBC(帧缓冲压缩)
VPU: 支持4K VP9 and 4K 10bits H265/H264 视频解码,高达60fps, 双VOP显示等视频编解码功能
电源管理单元: RK808-D PMIC, 搭配独立DC/DC, 支持动态调压, 软件关机, 按键开机, RTC唤醒, 睡眠唤醒等功能
内存: 单通道1GB DDR3-1866
Flash: 支持扩展eMMC模块
有线网络: 原生千兆以太网
Wi-Fi/蓝牙: 802.11 b/g/n, Bluetooth 4.0 Wi-Fi蓝牙模块
视频输入: 1个4线MIPI-CSI, 高达13MP
视频输出
HDMI: HDMI 2.0a, 支持4K@60Hz显示,支持HDCP 1.4/2.2
Audio Out: HDMI输出
USB 3.0: 1个原生USB 3.0 Host A型接口
USB 2.0: 2路原生USB 2.0 Host 接口, 1路通过标准A型口引出, 另一路通过2.54排针引出
USB Type-C: 支持USB2.0 OTG 和 5V电源输入
microSD Slot x 1
GPIO1,40Pin GPIO 扩展接口:
2 X 3V I2C, 1x 3V UART/SPI, 1 x SPDIF_TX, up to 8 x 3V GPIOs
PCIe x2
PWM x1, PowerKey
GPIO2:
1 x 1.8V 8通道 I2S
GPIO3:
调试串口: 4 Pin 2.54mm 调试串口, 3V电平, 波特率为1500000
USB 2.0 x1
LED: 1 x power LED and 1 x GPIO Controled LED
RTC电池座子: 2 Pin 2.54mm RTC备份电池接口
供电电源: DC 5V/3A
PCB: 8 Layer, 60 mm x 45 mm
环境工作温度: -20℃ to 70℃
光看这些参数就是一台很强悍的电脑了
https://iot.stackexchange.com/questions/970/receiving-error-message-from-sim800c-module
AT+CEER - Extended error report
看下 SIM800C 是否支持这个命令, 可以用这个命令读出具体的错误信息.
山无棱 说:FEL 是芯片内置的 BROM 代码实现的, 是不是为了考虑兼容性强制进入 USB 1.0 模式?
全志官方的烧录软件都是先下载一个 u-boot 到芯片里面运行, 然后u-boot通过USB口与烧录软件通讯.
BROM进入FEL模式的枚举过程,通过bus hound可以抓到,里面的设备描述符显示的是USB 1.1协议。我所不理解的是为何实际使用的USB 1.0。
另外,你所说的全志官方烧录软件用到的这个u-boot有源码吗。感谢回复。
V3s 的官方 bsp camdroid 里面的 u-boot 貌似不开源, 反正我只能找到 boot0 和 u-boot 的二进制文件.
倒是 f1c100s 的 bsp 能找到 u-boot 源码,
里面有关于 USB 部分.
山无棱 说:添加环境变量应该也可以解决这个问题:
export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QWS_FONTDIR=/usr/share/fonts能详细说下添加到哪个文件里面吗?
1. 可以放这个文件 etc/profile.d/run.sh
export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QWS_FONTDIR=/usr/share/fonts
/usr/bin/your_qt_app
2. 可以直接这样执行:
QT_QPA_FONTDIR=/usr/share/fonts QT_QWS_FONTDIR=/usr/share/fonts /usr/bin/your_qt_app
真的是很烦 说:看log, flash已经识别, 应该可以正常读操作了.
do_mount做的事情很简单, 就是用支持的各个文件系统去试而已.
比较好奇, 为什么mount不成功为什么会跟那个选项有关 ? 百撕不得骑姐, 莫非读操作不成功?
是呀,都能正常启动到内核了, 我也是按你的方法, 没往cpu方面排查。initramfs 看似都正常,也没死机。
是读flash不成功, 读出来的是随机数,每次都不一样,不是所有的字节都能正常读出来。
后来了解, 内核启动后cpu,外设的频率重新设定。
也就是说启动 CONFIG_CPU_FREQ 改变了外设的频率, 可能导致spi nand读出了随机数?
而屏蔽了这个 CONFIG_CPU_FREQ, spi nand 就正常了?
https://github.com/littlevgl/lv_fs_if
littlefs 把文件系统也封装了一下.
根据这个帖子, 发现上面那个错误和我的 TF卡无关, 而是另外一组 SDIO(WIFI) 错误。
https://whycan.cn/t_2050.html#p14059
解决 SD NAND / TF卡 启动全志芯片出错问题, 在 u-boot 里面多加几次初始化.
U-Boot SPL 2017.01-rc2 (Jan 11 2019 - 17:25:09)
DRAM: 64 MiB
SPL: Unsupported Boot Device!
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
\0
U-Boot SPL 2017.01-rc2 (Jan 12 2019 - 10:19:17)
DRAM: 64 MiB
Trying to boot from MMC1spl: mmc init failed with error: -110
mmc clock = 2000000
U-Boot 2017.01-rc2 (Jan 12 2019 - 10:19:17 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Blueberry Pi
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
mmc clock = 2000000
*** Warning - bad CRC, using default environment
Error need 3072kB for fb, but only 2048kB is reserved
In: serial@1c28000
Out: serial@1c28000
Err: serial@1c28000
U-Boot 2017.01-rc2 (Jan 12 2019 - 10:19:17 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Blueberry Pi
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
mmc clock = 2000000
*** Warning - bad CRC, using default environment
Error need 3072kB for fb, but only 2048kB is reserved
In: serial@1c28000
Out: serial@1c28000
Err: serial@1c28000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 2 1 0
mmc clock = 2000000
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
284 bytes read in 18 ms (14.6 KiB/s)
## Executing script at 41900000
reading zImage
5492552 bytes read in 5680 ms (943.4 KiB/s)
reading sun8i-v3s-blueberrypi-csi-ov2640.dtb
12240 bytes read in 45 ms (265.6 KiB/s)
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42dfa000, end 42dfffcf ... OK
Cannot setup simplefb: node not found
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.20.0-02953-g5694cecdb092-dirty (marcel@workpad) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #2 SMP Wed Dec 26 11:14:42 CET 2018
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Blueberry PI
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 16 MiB at 0x43000000
[ 0.000000] random: get_random_bytes called from start_kernel+0xa0/0x3f4 with crng_init=0
[ 0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s34508 r8192 d22836 u65536
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 earlyprintk rw
[ 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: 35344K/65536K available (8192K kernel code, 510K rwdata, 2228K rodata, 1024K init, 260K bss, 13808K reserved, 16384K cma-reserved, 0K highmem)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (9184 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 511 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 261 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000011] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000030] Switching to timer-based delay loop, resolution 41ns
[ 0.000344] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000706] Console: colour dummy device 80x30
[ 0.000803] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000827] pid_max: default: 32768 minimum: 301
[ 0.001067] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001091] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.002228] CPU: Testing write buffer coherency: ok
[ 0.003067] /cpus/cpu@0 missing clock-frequency property
[ 0.003108] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.004318] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.004742] rcu: Hierarchical SRCU implementation.
[ 0.005806] smp: Bringing up secondary CPUs ...
[ 0.005841] smp: Brought up 1 node, 1 CPU
[ 0.005857] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.005867] CPU: All CPU(s) started in SVC mode.
[ 0.007330] devtmpfs: initialized
[ 0.012743] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.013204] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.013259] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.014484] pinctrl core: initialized pinctrl subsystem
[ 0.016428] NET: Registered protocol family 16
[ 0.018207] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.020337] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.020369] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.042549] SCSI subsystem initialized
[ 0.043814] usbcore: registered new interface driver usbfs
[ 0.043905] usbcore: registered new interface driver hub
[ 0.044041] usbcore: registered new device driver usb
[ 0.044420] media: Linux media interface: v0.10
[ 0.044523] videodev: Linux video capture interface: v2.00
[ 0.044723] pps_core: LinuxPPS API ver. 1 registered
[ 0.044736] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.044769] PTP clock support registered
[ 0.045092] Advanced Linux Sound Architecture Driver Initialized.
[ 0.046055] Bluetooth: Core ver 2.22
[ 0.046186] NET: Registered protocol family 31
[ 0.046200] Bluetooth: HCI device and connection manager initialized
[ 0.046236] Bluetooth: HCI socket layer initialized
[ 0.046251] Bluetooth: L2CAP socket layer initialized
[ 0.046288] Bluetooth: SCO socket layer initialized
[ 0.047372] clocksource: Switched to clocksource arch_sys_counter
[ 0.064114] NET: Registered protocol family 2
[ 0.065146] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[ 0.065198] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.065234] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.065266] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.065522] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.065614] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.066016] NET: Registered protocol family 1
[ 0.067701] RPC: Registered named UNIX socket transport module.
[ 0.067735] RPC: Registered udp transport module.
[ 0.067743] RPC: Registered tcp transport module.
[ 0.067751] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.071647] Initialise system trusted keyrings
[ 0.072271] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.084025] NFS: Registering the id_resolver key type
[ 0.084112] Key type id_resolver registered
[ 0.084129] Key type id_legacy registered
[ 0.084630] JFS: nTxBlock = 404, nTxLock = 3233
[ 0.108209] Key type asymmetric registered
[ 0.108248] Asymmetric key parser 'x509' registered
[ 0.108425] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.108447] io scheduler noop registered
[ 0.108459] io scheduler deadline registered
[ 0.108624] io scheduler cfq registered (default)
[ 0.108641] io scheduler mq-deadline registered
[ 0.108652] io scheduler kyber registered
[ 0.115472] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.213976] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.219132] printk: console [ttyS0] disabled
[ 0.239539] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A
[ 0.880600] printk: console [ttyS0] enabled
[ 0.890068] libphy: Fixed MDIO Bus: probed
[ 0.894206] CAN device driver interface
[ 0.899233] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[ 0.905075] dwmac-sun8i 1c30000.ethernet: No regulator found
[ 0.911747] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[ 0.919124] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[ 0.926347] dwmac-sun8i 1c30000.ethernet: COE Type 2
[ 0.931346] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[ 0.938151] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[ 0.943809] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[ 0.949844] libphy: stmmac: probed
[ 0.954332] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[ 0.960896] libphy: mdio_mux: probed
[ 0.964535] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[ 0.970977] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[ 0.979263] usbcore: registered new interface driver mt7601u
[ 0.985013] usbcore: registered new interface driver mt76x0u
[ 0.990967] usbcore: registered new interface driver mt76x2u
[ 0.996698] usbcore: registered new interface driver rt2500usb
[ 1.002739] usbcore: registered new interface driver rt73usb
[ 1.008521] usbcore: registered new interface driver rt2800usb
[ 1.014405] usbcore: registered new interface driver rtl8187
[ 1.020275] usbcore: registered new interface driver rtl8192cu
[ 1.026162] usbcore: registered new interface driver rtl8xxxu
[ 1.031962] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.038507] ehci-platform: EHCI generic platform driver
[ 1.044484] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.050858] ohci-platform: OHCI generic platform driver
[ 1.056896] usbcore: registered new interface driver cdc_acm
[ 1.062693] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.070833] usbcore: registered new interface driver usblp
[ 1.076371] usbcore: registered new interface driver cdc_wdm
[ 1.082133] usbcore: registered new interface driver usbtmc
[ 1.087786] usbcore: registered new interface driver uas
[ 1.093208] usbcore: registered new interface driver usb-storage
[ 1.099334] usbcore: registered new interface driver ums-realtek
[ 1.105396] usbcore: registered new interface driver mdc800
[ 1.111004] mdc800: v0.7.5 (30/10/2000):USB Driver for Mustek MDC800 Digital Camera
[ 1.118731] usbcore: registered new interface driver microtekX6
[ 1.124838] usbcore: registered new interface driver usbserial_generic
[ 1.131501] usbserial: USB Serial support registered for generic
[ 1.137594] usbcore: registered new interface driver ch341
[ 1.143146] usbserial: USB Serial support registered for ch341-uart
[ 1.149510] usbcore: registered new interface driver cp210x
[ 1.155121] usbserial: USB Serial support registered for cp210x
[ 1.161121] usbcore: registered new interface driver usb_debug
[ 1.166988] usbserial: USB Serial support registered for debug
[ 1.172888] usbserial: USB Serial support registered for xhci_dbc
[ 1.179040] usbcore: registered new interface driver ftdi_sio
[ 1.184819] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 1.192197] usbcore: registered new interface driver pl2303
[ 1.197856] usbserial: USB Serial support registered for pl2303
[ 1.203823] usbcore: registered new interface driver usb_serial_simple
[ 1.210436] usbserial: USB Serial support registered for carelink
[ 1.216564] usbserial: USB Serial support registered for zio
[ 1.222290] usbserial: USB Serial support registered for funsoft
[ 1.228350] usbserial: USB Serial support registered for flashloader
[ 1.234731] usbserial: USB Serial support registered for google
[ 1.240702] usbserial: USB Serial support registered for libtransistor
[ 1.247307] usbserial: USB Serial support registered for vivopay
[ 1.253348] usbserial: USB Serial support registered for moto_modem
[ 1.259666] usbserial: USB Serial support registered for motorola_tetra
[ 1.266305] usbserial: USB Serial support registered for novatel_gps
[ 1.272697] usbserial: USB Serial support registered for hp4x
[ 1.278493] usbserial: USB Serial support registered for suunto
[ 1.284458] usbserial: USB Serial support registered for siemens_mpi
[ 1.292845] sun4i-a10-lradc-keys 1c22800.lradc: Linked as a consumer to regulator.1
[ 1.301296] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[ 1.311380] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 1.318423] sun6i-rtc 1c20400.rtc: RTC enabled
[ 1.323340] i2c /dev entries driver
[ 3.447366] i2c i2c-1: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 5.527336] i2c i2c-1: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 7.607317] i2c i2c-1: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 9.687308] i2c i2c-1: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 11.767310] i2c i2c-1: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 11.773842] ov2640 1-0030: Product ID error 92:92
[ 11.781449] Driver for 1-wire Dallas network protocol.
[ 11.788390] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 11.796419] Bluetooth: HCI UART driver ver 2.3
[ 11.800988] Bluetooth: HCI UART protocol H4 registered
[ 11.806129] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[ 11.813169] sunxi-mmc 1c0f000.mmc: Linked as a consumer to regulator.2
[ 11.847014] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 11.854862] sunxi-mmc 1c10000.mmc: Linked as a consumer to regulator.2
[ 11.886334] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[ 11.895587] ledtrig-cpu: registered to indicate activity on CPUs
[ 11.903255] usbcore: registered new interface driver usbhid
[ 11.909003] usbhid: USB HID core driver
[ 11.916044] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered
[ 11.923798] sun4i-codec 1c22c00.codec: Failed to register our card
[ 12.677301] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 12.684179] NET: Registered protocol family 17
[ 12.688856] can: controller area network core (rev 20170425 abi 9)
[ 12.695247] NET: Registered protocol family 29
[ 12.699797] can: raw protocol (rev 20170425)
[ 12.704073] can: broadcast manager protocol (rev 20170425 t)
[ 12.709777] can: netlink gateway (rev 20170425) max_hops=1
[ 12.716234] Bluetooth: RFCOMM TTY layer initialized
[ 12.721351] Bluetooth: RFCOMM socket layer initialized
[ 12.726567] Bluetooth: RFCOMM ver 1.11
[ 12.730611] Key type dns_resolver registered
[ 12.735143] Registering SWP/SWPB emulation handler
[ 12.741703] Loading compiled-in X.509 certificates
[ 12.756066] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 12.761990] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 13.517305] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 13.523763] ehci-platform 1c1a000.usb: irq 27, io mem 0x01c1a000
[ 13.529972] mmc0: host does not support reading read-only switch, assuming write-enable
[ 14.287291] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 15.037284] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 15.043231] mmc0: Problem switching card into high-speed mode!
[ 15.049311] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 15.057170] hub 1-0:1.0: USB hub found
[ 15.061276] hub 1-0:1.0: 1 port detected
[ 15.065459] mmc0: new SD card at address 2135
[ 15.072679] mmcblk0: mmc0:2135 APPSD 120 MiB
[ 15.080269] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 15.086977] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 15.097535] ohci-platform 1c1a400.usb: irq 28, io mem 0x01c1a400
[ 15.103919] mmcblk0: p1 p2
[ 15.173086] hub 2-0:1.0: USB hub found
[ 15.177025] hub 2-0:1.0: 1 port detected
[ 15.183178] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 15.194357] usb_phy_generic usb_phy_generic.0.auto: Linked as a consumer to regulator.0
[ 16.167847] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 16.173636] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 16.183341] hub 3-0:1.0: USB hub found
[ 16.187241] hub 3-0:1.0: 1 port detected
[ 16.937310] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 17.687286] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 17.695992] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered
[ 17.703773] sun4i-codec 1c22c00.codec: Failed to register our card
[ 17.711855] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered
[ 17.719589] sun4i-codec 1c22c00.codec: Failed to register our card
[ 17.726272] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 01:06:54 UTC (4014)
[ 17.734916] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 17.748199] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 17.754933] vcc5v0: disabling
[ 17.758076] ALSA device list:
[ 17.761051] No soundcards found.
[ 18.507317] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 18.514997] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 18.523904] cfg80211: failed to load regulatory.db
[ 19.277311] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 20.027321] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 20.777311] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 21.527286] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 21.609918] random: fast init done
[ 21.700774] EXT4-fs (mmcblk0p2): recovery complete
[ 21.709798] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 21.718117] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 21.726449] devtmpfs: mounted
[ 21.731927] Freeing unused kernel memory: 1024K
[ 21.736725] Run /sbin/init as init process
[ 21.950382] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Starting logging: OK
Populating /dev using udev: [ 22.166482] udevd[118]: starting version 3.2.5
[ 22.180958] random: udevd: uninitialized urandom read (16 bytes read)
[ 22.190998] random: udevd: uninitialized urandom read (16 bytes read)
[ 22.198789] random: udevd: uninitialized urandom read (16 bytes read)
[ 22.270610] udevd[119]: starting eudev-3.2.5
[ 23.317320] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 24.067285] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 27.607314] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 28.367316] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
done
[ 29.137322] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
Starting watchdog...
[ 29.917322] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 30.667288] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
Initializing random number generator... [ 30.727052] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting system message bus: [ 30.806421] random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
[ 30.816570] random: dbus-uuidgen: uninitialized urandom read (8 bytes read)
done
Starting network: OK
Starting dhcpcd...
all: IPv6 kernel autoconf disabled
no interfaces have a carrier
forked to background, child pid 174
[ 31.233025] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered
[ 31.240859] sun4i-codec 1c22c00.codec: Failed to register our card
[ 31.251079] Generic PHY 0.1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0.1:01, irq=POLL)
[ 31.276230] dwmac-sun8i 1c30000.ethernet eth0: No Safety Features support found
[ 31.283867] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[ 31.291610] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
Starting dropbear sshd: OK
Welcome to Buildroot
Blueberry-PI login: [ 32.517310] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 33.267287] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 34.027320] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 34.787317] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 35.537317] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 36.287322] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 37.037296] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 38.837320] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 39.587290] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 40.347319] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 41.107318] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 41.867319] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 42.617312] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 43.367285] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 45.157320] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 45.907288] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 46.667318] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 47.427310] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 48.177318] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 48.937321] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 49.687286] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 51.477321] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 52.227288] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 52.987321] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 53.747308] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 54.497307] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 55.247327] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 55.997289] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 57.797320] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 58.547288] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 59.307316] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 60.067322] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 60.817306] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 61.567316] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
[ 62.317288] sunxi-mmc 1c10000.mmc: fatal err update clk timeout
配合前面的 2M 时钟, 终于把 Linux 引导起来了
只是后面 Linux 驱动里面还有一点问题 sunxi-mmc 1c10000.mmc: fatal err update clk timeout
根据晕哥提示, 我改成这样了:
int spl_mmc_load_image(struct spl_image_info *spl_image,
struct spl_boot_device *bootdev)
{
struct mmc *mmc = NULL;
u32 boot_mode;
int err = 0;
__maybe_unused int part;err = spl_mmc_find_device(&mmc, bootdev->boot_device);
if (err)
return err;int try_count = 0;
do
{
err = mmc_init(mmc);if (err)
{
#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
printf("spl: mmc init failed with error: %d\n", err);
#endif
try_count++;if(try_count > 10)
{
return err;
}
}
else
{
break;
}}while(1);
编译烧录中
同一张 TF 卡插荔枝派zero 里面是可以正常启动的:
U-Boot SPL 2017.01-rc2 (Jan 12 2019 - 08:49:37)
DRAM: 64 MiB
Trying to boot from MMC1mmc clock = 2000000U-Boot 2017.01-rc2 (Jan 12 2019 - 08:49:37 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Blueberry Pi
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
mmc clock = 2000000
*** Warning - bad CRC, using default environmentError need 3072kB for fb, but only 2048kB is reserved
In: serial@1c28000
Out: serial@1c28000
Err: serial@1c28000U-Boot 2017.01-rc2 (Jan 12 2019 - 08:49:37 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Blueberry Pi
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
mmc clock = 2000000
*** Warning - bad CRC, using default environmentError need 3072kB for fb, but only 2048kB is reserved
In: ser閍l@1c28000
Out: serial@1c28000
Err: serial@1c28000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 2
但是插入我们公司的板子就不行:
U-Boot SPL 2017.01-rc2 (Jan 12 2019 - 08:49:37)
DRAM: 64 MiB
Trying to boot from MMC1spl: mmc init failed with error: -110
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
我还把 MMC 的时钟速度降到 2M 了.
被坑了一把, 里面有个德语字母, 在一般的软件里面和 l(小写L) 渲染一模一样
用过W5500,STM32F103C8T6驱动,还行。
W5500 快速 SPI 以太网控制器
特征:
支持高速SPI总线(SPI Mode 0,3)
支持硬件TCP/IP协议:TCP,UDP,ICMP,IGMP,IPv4,ARP,PPPoE
内嵌10/100Mbps以太网物理层
支持自动应答(全双/半双工模式)
多种指示灯信号输出(Full/Half duplex.Link, Speed)
支持8个独立的端口(sockets)同时连接
内部32K字节存储器作TX/RX缓存
支持休眠模式和网络唤醒
3.3V工作电压,I/O口可承受5V电压
极小巧的48 Pin LQFP无铅封装
但是现在这种网卡一点性价比都没有了,
一般新方案都会选用带ethernet mac的片子,
外面加一片 lan8720a,rtl8201f, 或者 ksz8041这种1块多钱人民币的片子即可,
更绝的是原来越多芯片带ethernet phy了,
直接接网卡座子就可以, 感觉好吊