页次: 1
最近这一两年,AI搞得也是比较火热,3588这个性价比,说实在话,不是太好,千把块的核心板还不如买个手机摆着,估计瑞芯微自个也看到了问题,出了一个3567,综合来看,性价比还可以,感觉还是有市场的,业余期间搞一下
花了两个礼拜,断断续续的搞,终于是把线拉通了,接下来把等长和差分捋一下,再把电源好好扯一下,就打个样试试看
目前主要问题就是个头有点大,不过考虑到是首版,先把线走通,然后慢慢缩小吧
关于接口,当时考虑了邮票孔,金手指和BTB,各有各的优缺点,也是纠结了一通
邮票孔的话,这个芯片出线多,做太多的引脚核心板就很大了,不太合适
金手指在考虑内,不过类似DDR的那种,也是比较长
最后选择了BTB,不过回头贴片是个值得担忧的问题,就怕歪了
ps:这个月感觉有点克我,干啥啥不行,也是**了






情况:使用orangepi的源码,生成的img镜像,开启内核日志和关闭内核日志两个情况下,emmc分配到的mmcblk编号会发生变化
硬件设计:SD卡连接SDC0,XR819连接SDC1,EMMC连接SDC2,是数据手册上这么写的
留意到的问题
第一个是uboot启动阶段
MMC: Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
其中mmc@1c11000是SDC2上的EMMC, mmc@1c10000是SDC1上的XR819 WIFI
第二个是内核启动阶段的,我调整WIFI的启动时间post-power-on-delay-ms = <200>;,发现EMMC的启动是跟着它走的,按理来说不应该一起才对
供应商那边指导说是没有关联,但我看着这个信息和日志对不上,不知道哪个是对的
请问哪位知道他们是不是有关联么
可以了,现在能正常跑在400多M了
以打印信息为为证
pi@NanoPi-NEO-Core:~$
U-Boot SPL 2017.11-g73e3bbb-dirty (Jan 02 2021 - 09:13:55)
DRAM: 512 MiB(408MHz)
CPU Freq: 408MHz
memory test: 1
Pattern 55aa Writing...Reading...OK
Trying to boot from MMC1
Boot device: sd
U-Boot 2017.11-g73e3bbb-dirty (Jan 02 2021 - 09:13:55 +0800) Allwinner Technology
CPU: Allwinner H3 (SUN8I 1680)
Model: FriendlyElec NanoPi H3
DRAM: 512 MiB
CPU Freq: 1008MHz
MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: No ethernet found.
BOARD: nanopi-neo-core
starting USB...
No controllers found
Hit any key to stop autoboot: 0
reading boot.scr
1478 bytes read in 19 ms (75.2 KiB/s)
## Executing script at 43100000
running boot.scr
reading uEnv.txt
968 bytes read in 19 ms (48.8 KiB/s)
reading zImage
5901592 bytes read in 297 ms (18.9 MiB/s)
reading rootfs.cpio.gz
5880768 bytes read in 293 ms (19.1 MiB/s)
reading sun8i-h3-nanopi-neo-core.dtb
34556 bytes read in 26 ms (1.3 MiB/s)
overlays is empty
reading overlays/sun8i-h3-fixup.scr
4109 bytes read in 35 ms (114.3 KiB/s)
## Executing script at 44500000
## Flattened Device Tree blob at 48000000
Booting using the fdt blob at 0x48000000
Loading Ramdisk to 49a64000, end 49fffbc0 ... OK
reserving fdt memory region: addr=48000000 size=6e000
Loading Device Tree to 499f3000, end 49a63fff ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.111 (root@ubuntu) (gcc version 4.9.3 (ctng-1.21.0-229g-FA)) #1 SMP Thu Dec 19 15:23:22 CST 2019
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=30c5387d
[ 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: FriendlyElec NanoPi-NEO-Core
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000005bc00000, size 64 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: Using PSCI v0.1 Function IDs from DT
[ 0.000000] percpu: Embedded 17 pages/cpu @dff5b000 s37120 r8192 d24320 u69632
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129920
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 rw rootwait fsck.repair=yes panic=10 fbcon=map:0 data=/dev/mmcblk0p3 snd-soc-core.pmdown_time=3600000
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 429860K/524288K available (10240K kernel code, 391K rwdata, 2080K rodata, 2048K init, 303K bss, 28892K reserved, 65536K 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 : 0xe0800000 - 0xff800000 ( 496 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0c00000 (12256 kB)
[ 0.000000] .init : 0xc1000000 - 0xc1200000 (2048 kB)
[ 0.000000] .data : 0xc1200000 - 0xc1261f00 ( 392 kB)
[ 0.000000] .bss : 0xc126a884 - 0xc12b6850 ( 304 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000007] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000019] Switching to timer-based delay loop, resolution 41ns
[ 0.000215] Console: colour dummy device 80x30
[ 0.000251] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=120000)
[ 0.000266] pid_max: default: 32768 minimum: 301
[ 0.000438] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000451] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001178] CPU: Testing write buffer coherency: ok
[ 0.001642] CPU0: update cpu_capacity 1024
[ 0.001654] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002030] Setting up static identity map for 0x40200000 - 0x40200060
[ 0.002155] Hierarchical SRCU implementation.
[ 0.002726] smp: Bringing up secondary CPUs ...
[ 0.013522] CPU1: update cpu_capacity 1024
[ 0.013529] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.024404] CPU2: update cpu_capacity 1024
[ 0.024410] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.035190] CPU3: update cpu_capacity 1024
[ 0.035195] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.035280] smp: Brought up 1 node, 4 CPUs
[ 0.035309] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[ 0.035316] CPU: All CPU(s) started in HYP mode.
[ 0.035321] CPU: Virtualization extensions available.
[ 0.036167] devtmpfs: initialized
[ 0.042857] random: get_random_u32 called from bucket_table_alloc+0xf0/0x240 with crng_init=0
[ 0.043495] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.043792] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 9556302231375000 ns
[ 0.043815] futex hash table entries: 1024 (order: 4, 65536 bytes)
[ 0.046551] xor: measuring software checksum speed
[ 0.095037] arm4regs : 1372.000 MB/sec
[ 0.145082] 8regs : 769.600 MB/sec
[ 0.195127] 32regs : 850.400 MB/sec
[ 0.245176] neon : 1283.200 MB/sec
[ 0.245184] xor: using function: arm4regs (1372.000 MB/sec)
[ 0.245205] pinctrl core: initialized pinctrl subsystem
[ 0.246187] NET: Registered protocol family 16
[ 0.247865] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.248680] cpuidle: using governor ladder
[ 0.248722] cpuidle: using governor menu
[ 0.249145] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.249157] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.268227] SCSI subsystem initialized
[ 0.268673] usbcore: registered new interface driver usbfs
[ 0.268718] usbcore: registered new interface driver hub
[ 0.268811] usbcore: registered new device driver usb
[ 0.268996] media: Linux media interface: v0.10
[ 0.269033] Linux video capture interface: v2.00
[ 0.269160] pps_core: LinuxPPS API ver. 1 registered
[ 0.269168] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.269187] PTP clock support registered
[ 0.269479] Advanced Linux Sound Architecture Driver Initialized.
[ 0.271117] clocksource: Switched to clocksource arch_sys_counter
[ 0.271310] VFS: Disk quotas dquot_6.6.0
[ 0.271397] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.271555] FS-Cache: Loaded
[ 0.278606] NET: Registered protocol family 2
[ 0.279247] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.279304] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.279366] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.279480] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.279524] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.279727] NET: Registered protocol family 1
[ 0.280222] RPC: Registered named UNIX socket transport module.
[ 0.280234] RPC: Registered udp transport module.
[ 0.280240] RPC: Registered tcp transport module.
[ 0.280245] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.280462] Unpacking initramfs...
[ 0.577849] Freeing initrd memory: 5744K
[ 0.578290] kvm [1]: 8-bit VMID
[ 0.578995] kvm [1]: vgic interrupt IRQ16
[ 0.579096] kvm [1]: Hyp mode initialized successfully
[ 0.582039] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[ 0.586731] zbud: loaded
[ 0.588333] FS-Cache: Netfs 'nfs' registered for caching
[ 0.588851] NFS: Registering the id_resolver key type
[ 0.588889] Key type id_resolver registered
[ 0.588896] Key type id_legacy registered
[ 0.588911] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.588928] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 0.589854] fuse init (API version 7.26)
[ 0.595326] async_tx: api initialized (async)
[ 0.595443] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.595628] io scheduler noop registered (default)
[ 0.595639] io scheduler deadline registered
[ 0.595840] io scheduler cfq registered
[ 0.595851] io scheduler mq-deadline registered
[ 0.595983] io scheduler bfq registered
[ 0.596738] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO, pinctrl may not init
[ 0.600467] sun8i-h3-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.602041] sun8i-h3-r-pinctrl 1f02c00.pinctrl: initialized sunXi PIO driver
[ 0.607534] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.609441] console [ttyS0] disabled
[ 0.629624] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 45, base_baud = 1500000) is a U6_16550A
[ 1.390847] console [ttyS0] enabled
[ 1.417126] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 46, base_baud = 1500000) is a U6_16550A
[ 1.448800] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 47, base_baud = 1500000) is a U6_16550A
[ 1.478382] 1c28c00.serial: ttyS3 at MMIO 0x1c28c00 (irq = 48, base_baud = 1500000) is a U6_16550A
[ 1.489553] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.496188] [drm] No driver support for vblank timestamp query.
[ 1.511514] sun4i-drm display-engine: bound 1100000.mixer (ops 0xc0c51b68)
[ 1.518638] sun4i-drm display-engine: No panel or bridge found... RGB output disabled
[ 1.526494] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc0c5086c)
[ 1.656209] sun8i-dw-hdmi 1ee0000.hdmi: Detected HDMI TX controller v1.32a with HDCP (sun8i_dw_hdmi_phy)
[ 1.666091] sun8i-dw-hdmi 1ee0000.hdmi: registered DesignWare HDMI I2C bus driver
[ 1.673830] sun4i-drm display-engine: bound 1ee0000.hdmi (ops 0xc0c51ee8)
[ 1.680680] [drm] Cannot find any crtc or sizes - going 1920x1080
[ 1.728087] Console: switching to colour frame buffer device 240x67
[ 1.758964] sun4i-drm display-engine: fb0: frame buffer device
[ 1.765366] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 1.782212] loop: module loaded
[ 1.801785] st: Version 20160209, fixed bufsize 32768, s/g segs 256
[ 1.808156] osst :I: Tape driver with OnStream support version 0.99.4
[ 1.808156] osst :I: $Id: osst.c,v 1.73 2005/01/01 21:13:34 wriede Exp $
[ 1.821510] SCSI Media Changer driver v0.25
[ 1.827824] libphy: Fixed MDIO Bus: probed
[ 1.831970] tun: Universal TUN/TAP device driver, 1.6
[ 1.837209] CAN device driver interface
[ 1.841567] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[ 1.847373] dwmac-sun8i 1c30000.ethernet: No regulator found
[ 1.853087] dwmac-sun8i 1c30000.ethernet: Will use internal PHY
[ 1.859210] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[ 1.864879] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[ 1.872101] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[ 1.877765] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[ 1.884985] dwmac-sun8i 1c30000.ethernet: COE Type 2
[ 1.889955] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[ 1.897304] libphy: stmmac: probed
[ 1.906739] PPP generic driver version 2.4.2
[ 1.911289] PPP BSD Compression module registered
[ 1.915988] PPP Deflate Compression module registered
[ 1.921082] PPP MPPE Compression module registered
[ 1.925874] NET: Registered protocol family 24
[ 1.930431] usbcore: registered new interface driver qmi_wwan
[ 1.936214] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.942757] ehci-platform: EHCI generic platform driver
[ 1.948259] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 1.953871] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 1.962102] ehci-platform 1c1a000.usb: irq 29, io mem 0x01c1a000
[ 1.981130] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 1.987425] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.994225] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.001450] usb usb1: Product: EHCI Host Controller
[ 2.006333] usb usb1: Manufacturer: Linux 4.14.111 ehci_hcd
[ 2.011908] usb usb1: SerialNumber: 1c1a000.usb
[ 2.016994] hub 1-0:1.0: USB hub found
[ 2.020773] hub 1-0:1.0: 1 port detected
[ 2.025406] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.031628] ohci-platform: OHCI generic platform driver
[ 2.037087] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 2.043728] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 2.051700] ohci-platform 1c1a400.usb: irq 30, io mem 0x01c1a400
[ 2.120271] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.127075] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.134303] usb usb2: Product: Generic Platform OHCI controller
[ 2.140226] usb usb2: Manufacturer: Linux 4.14.111 ohci_hcd
[ 2.145802] usb usb2: SerialNumber: 1c1a400.usb
[ 2.153225] hub 2-0:1.0: USB hub found
[ 2.157020] hub 2-0:1.0: 1 port detected
[ 2.161659] usbcore: registered new interface driver cdc_acm
[ 2.167331] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 2.175389] usbcore: registered new interface driver usblp
[ 2.180912] usbcore: registered new interface driver cdc_wdm
[ 2.186608] usbcore: registered new interface driver uas
[ 2.192008] usbcore: registered new interface driver usb-storage
[ 2.198107] usbcore: registered new interface driver usbserial
[ 2.203979] usbcore: registered new interface driver usbserial_generic
[ 2.210537] usbserial: USB Serial support registered for generic
[ 2.216588] usbcore: registered new interface driver option
[ 2.222190] usbserial: USB Serial support registered for GSM modem (1-port)
[ 2.229288] usbcore: registered new interface driver qcserial
[ 2.235065] usbserial: USB Serial support registered for Qualcomm USB modem
[ 2.242870] mousedev: PS/2 mouse device common for all mice
[ 2.248945] sun6i-rtc 1f00000.rtc: rtc core: registered rtc-sun6i as rtc0
[ 2.255744] sun6i-rtc 1f00000.rtc: RTC enabled
[ 2.260269] i2c /dev entries driver
[ 2.265652] lirc_dev: IR Remote Control driver registered, major 244
[ 2.272038] IR NEC protocol handler initialized
[ 2.276576] IR RC5(x/sz) protocol handler initialized
[ 2.281631] IR RC6 protocol handler initialized
[ 2.286164] IR JVC protocol handler initialized
[ 2.290688] IR Sony protocol handler initialized
[ 2.295307] IR SANYO protocol handler initialized
[ 2.300013] IR Sharp protocol handler initialized
[ 2.304719] IR MCE Keyboard/mouse protocol handler initialized
[ 2.310552] IR LIRC bridge handler initialized
[ 2.314998] IR XMP protocol handler initialized
[ 2.320413] thermal thermal_zone0: failed to read out thermal zone (-16)
[ 2.327655] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 2.335958] device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com
[ 2.386183] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 2.431435] mmc0: host does not support reading read-only switch, assuming write-enable
[ 2.431473] sunxi-mmc 1c11000.mmc: initialized, max. request size: 16384 KB
[ 2.444464] mmc0: new high speed SDHC card at address aaaa
[ 2.451967] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.452404] mmcblk0: mmc0:aaaa SC32G 29.7 GiB
[ 2.458239] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.466430] mmcblk0: p1 p2 p3
[ 2.468028] usbcore: registered new interface driver usbhid
[ 2.476484] usbhid: USB HID core driver
[ 2.493537] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[ 2.503617] Initializing XFRM netlink socket
[ 2.508514] NET: Registered protocol family 10
[ 2.530432] Segment Routing with IPv6
[ 2.534238] NET: Registered protocol family 17
[ 2.538730] NET: Registered protocol family 15
[ 2.543181] can: controller area network core (rev 20170425 abi 9)
[ 2.549469] NET: Registered protocol family 29
[ 2.553937] can: raw protocol (rev 20170425)
[ 2.558215] can: broadcast manager protocol (rev 20170425 t)
[ 2.563885] can: netlink gateway (rev 20170425) max_hops=1
[ 2.569923] Key type dns_resolver registered
[ 2.574531] Registering SWP/SWPB emulation handler
[ 2.580758] registered taskstats version 1
[ 2.593094] Key type encrypted registered
[ 2.603105] vcc1v2: supplied by vcc5v0
[ 2.607247] vcc-dram: supplied by vcc5v0
[ 2.611465] vdd-cpux-en: supplied by vcc5v0
[ 2.617411] ehci-platform 1c1b000.usb: EHCI Host Controller
[ 2.623035] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 3
[ 2.631494] ehci-platform 1c1b000.usb: irq 31, io mem 0x01c1b000
[ 2.656121] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
[ 2.662423] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.669224] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.676454] usb usb3: Product: EHCI Host Controller
[ 2.681338] usb usb3: Manufacturer: Linux 4.14.111 ehci_hcd
[ 2.686914] usb usb3: SerialNumber: 1c1b000.usb
[ 2.692055] hub 3-0:1.0: USB hub found
[ 2.695849] hub 3-0:1.0: 1 port detected
[ 2.700530] ehci-platform 1c1c000.usb: EHCI Host Controller
[ 2.706144] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 4
[ 2.714236] ehci-platform 1c1c000.usb: irq 33, io mem 0x01c1c000
[ 2.731132] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00
[ 2.737386] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.744185] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.751410] usb usb4: Product: EHCI Host Controller
[ 2.756292] usb usb4: Manufacturer: Linux 4.14.111 ehci_hcd
[ 2.761869] usb usb4: SerialNumber: 1c1c000.usb
[ 2.766885] hub 4-0:1.0: USB hub found
[ 2.770665] hub 4-0:1.0: 1 port detected
[ 2.775255] ehci-platform 1c1d000.usb: EHCI Host Controller
[ 2.780873] ehci-platform 1c1d000.usb: new USB bus registered, assigned bus number 5
[ 2.788915] ehci-platform 1c1d000.usb: irq 35, io mem 0x01c1d000
[ 2.806124] ehci-platform 1c1d000.usb: USB 2.0 started, EHCI 1.00
[ 2.812364] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.819161] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.826386] usb usb5: Product: EHCI Host Controller
[ 2.831269] usb usb5: Manufacturer: Linux 4.14.111 ehci_hcd
[ 2.836845] usb usb5: SerialNumber: 1c1d000.usb
[ 2.841873] hub 5-0:1.0: USB hub found
[ 2.845651] hub 5-0:1.0: 1 port detected
[ 2.850237] ohci-platform 1c1b400.usb: Generic Platform OHCI controller
[ 2.856893] ohci-platform 1c1b400.usb: new USB bus registered, assigned bus number 6
[ 2.864887] ohci-platform 1c1b400.usb: irq 32, io mem 0x01c1b400
[ 2.930274] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
[ 2.937078] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.944303] usb usb6: Product: Generic Platform OHCI controller
[ 2.950226] usb usb6: Manufacturer: Linux 4.14.111 ohci_hcd
[ 2.955803] usb usb6: SerialNumber: 1c1b400.usb
[ 2.961187] hub 6-0:1.0: USB hub found
[ 2.964968] hub 6-0:1.0: 1 port detected
[ 2.969535] ohci-platform 1c1c400.usb: Generic Platform OHCI controller
[ 2.976194] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 7
[ 2.984197] ohci-platform 1c1c400.usb: irq 34, io mem 0x01c1c400
[ 3.050276] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
[ 3.057078] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.064302] usb usb7: Product: Generic Platform OHCI controller
[ 3.070224] usb usb7: Manufacturer: Linux 4.14.111 ohci_hcd
[ 3.075801] usb usb7: SerialNumber: 1c1c400.usb
[ 3.080791] hub 7-0:1.0: USB hub found
[ 3.084603] hub 7-0:1.0: 1 port detected
[ 3.089142] ohci-platform 1c1d400.usb: Generic Platform OHCI controller
[ 3.095804] ohci-platform 1c1d400.usb: new USB bus registered, assigned bus number 8
[ 3.103780] ohci-platform 1c1d400.usb: irq 36, io mem 0x01c1d400
[ 3.170271] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001
[ 3.177072] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.184297] usb usb8: Product: Generic Platform OHCI controller
[ 3.190220] usb usb8: Manufacturer: Linux 4.14.111 ohci_hcd
[ 3.195797] usb usb8: SerialNumber: 1c1d400.usb
[ 3.200810] hub 8-0:1.0: USB hub found
[ 3.204609] hub 8-0:1.0: 1 port detected
[ 3.209216] usb_phy_generic usb_phy_generic.3.auto: usb_phy_generic.3.auto supply vcc not found, using dummy regulator
[ 3.220285] musb-hdrc musb-hdrc.4.auto: MUSB HDRC host driver
[ 3.226058] musb-hdrc musb-hdrc.4.auto: new USB bus registered, assigned bus number 9
[ 3.234035] usb usb9: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.240839] usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.248066] usb usb9: Product: MUSB HDRC host driver
[ 3.253037] usb usb9: Manufacturer: Linux 4.14.111 musb-hcd
[ 3.258612] usb usb9: SerialNumber: musb-hdrc.4.auto
[ 3.264012] hub 9-0:1.0: USB hub found
[ 3.267803] hub 9-0:1.0: 1 port detected
[ 3.274900] asoc-simple-card soc:sound: i2s-hifi <-> 1c22800.i2s mapping ok
[ 3.284206] input: r_gpio_keys as /devices/platform/r_gpio_keys/input/input0
[ 3.291975] sun6i-rtc 1f00000.rtc: setting system clock to 2016-02-11 16:28:59 UTC (1455208139)
[ 3.301055] vcc3v0: disabling
[ 3.304045] vcc5v0: disabling
[ 3.307023] usb0-vbus: disabling
[ 3.310250] ALSA device list:
[ 3.313223] #0: Dummy 1
[ 3.315839] #1: Loopback 1
[ 3.318722] #2: H3 Audio Codec
[ 3.321952] #3: allwinner,hdmi
[ 3.327620] Freeing unused kernel memory: 2048K
Loading, please wait...
starting version 237
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
[ 4.052027] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
Begin: Will now check userdata file system ... fsck from util-linux 2.31.1
[/sbin/fsck.ext4 (1) -- /dev/mmcblk0p3] fsck.ext4 -y -C0 /dev/mmcblk0p3
e2fsck 1.44.1 (24-Mar-2018)
userdata: recovering journal
[ 4.251267] random: fast init done
Setting free inodes count to 1598210 (was 1598208)
userdata: clean, 62/1598272 files, 232581/7218048 blocks
done.
[ 4.368530] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[ 4.385740] EXT4-fs (mmcblk0p3): re-mounted. Opts: data=ordered
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.
[ 4.746884] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.755614] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.766552] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN)
[ 4.785232] systemd[1]: Detected architecture arm.
Welcome to Ubuntu 16.04.2 LTS!
[ 4.819088] systemd[1]: Set hostname to <NanoPi-NEO-Core>.
[ 4.852286] random: systemd-cryptse: uninitialized urandom read (16 bytes read)
[ 5.065152] systemd[1]: Reached target Remote File Systems (Pre).
[ OK ] Reached target Remote File Systems (Pre).
[ 5.092036] systemd[1]: Created slice System Slice.
[ OK ] Created slice System Slice.
[ 5.111604] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ 5.141455] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 5.178899] systemd[1]: Reached target Encrypted Volumes.
[ OK ] Reached target Encrypted Volumes.
[ 5.196951] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ 5.216536] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password Requests to Wall Directory Watch.
[ OK ] Reached target Paths.
[ OK ] Listening on udev Kernel Socket.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Created slice User and Session Slice.
[ OK ] Reached target Slices.
[ OK ] Listening on udev Control Socket.
[ OK ] Reached target Remote File Systems.
[ OK ] Listening on Journal Socket.
Starting Load Kernel Modules...
Starting Remount Root and Kernel File Systems...
[ 5.404453] Mass Storage Function, version: 2009/09/11
[ 5.409734] LUN: removable file: (no medium)
[ 5.414324] LUN: file: /dev/mmcblk0p1
[ 5.418137] Number of LUNs=1
[ 5.421533] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[ 5.429328] g_mass_storage gadget: userspace failed to provide iSerialNumber
Starting Create list of required st... nodes for the current ker[ 5.436434] g_mass_storage gadget: g_mass_storage ready
nel...
Mounting POSIX Message Queue File System...
Starting Journal Service...
Starting Set console keymap...
Mounting Debug File System...
[ OK ] Started Remount Root and Kernel File Systems.
[ 5.553456] 8821cu: loading out-of-tree module taints kernel.
[ OK ] Started Create list of required sta...ce nodes for the current kernel.
[ 5.585968] usbcore: registered new interface driver rtl8821cu
Starting Create Static Device Nodes in /dev...
Activating swap /mnt/512MB.swap...
Starting Load/Save Random Seed...
Starting udev Coldplug all Devices...
[ 5.754322] usbcore: registered new interface driver rtl88xxau
[ OK ] Mounted Debug File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Started Load/Save Random Seed.
[ 5.934104] Adding 524284k swap on /mnt/512MB.swap. Priority:-2 extents:5 across:557052k SS
[ OK ] Activated swap /mnt/512MB.swap.
[ OK ] Started Load Kernel Modules.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Started Journal Service.
[ OK ] Started Set console keymap.
Starting Flush Journal to Persistent Storage...
Starting udev Kernel Device Manager...
[ OK ] Reached target Local File Systems (Pre).
Mounting FUSE Control File System...
Mounting Configuration File System...
Starting Apply Kernel Variables...
[ OK ] Reached target Swap.
[ OK ] Mounted Configuration File System.
[ OK ] Mounted FUSE Control File System.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Started Apply Kernel Variables.
[ OK ] Started udev Kernel Device Manager.
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Reached target Sound Card.
[ OK ] Found device /dev/ttyS0.
[ OK ] Found device /dev/mmcblk0p1.
Mounting /boot...
[ OK ] Mounted /boot.
[ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
[ OK ] Reached target Local File Systems.
Starting Raise network interfaces...
Starting Create Volatile Files and Directories...
Starting Set console font and keymap...
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Stopped udev Kernel Device Manager.
Starting udev Kernel Device Manager...
[ OK ] Reached target System Time Synchronized.
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Started udev Kernel Device Manager.
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Reached target System Initialization.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Started Daily apt activities.
[ OK ] Reached target Basic System.
Starting Permit User Sessions...
Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"...
Starting Modem Manager...
Starting LSB: sync_ntp_rtc...
[ OK ] Started Regular background program processing daemon.
Starting Save/Restore Sound Card State...
Starting Login Service...
Starting LSB: select system audio output at first boot...
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
Starting Restore /etc/resolv.conf i...re the ppp link was shut down...
Starting brcm_patchram_plus...
Starting LSB: add swap at first boot...
[ OK ] Started D-Bus System Message Bus.
Starting Network Manager...
[ OK ] Started Set console font and keymap.
[ OK ] Started Permit User Sessions.
[ OK ] Started LSB: sync_ntp_rtc.
[ OK ] Started LSB: select system audio output at first boot.
[ OK ] Started Restore /etc/resolv.conf if...fore the ppp link was shut down.
[ OK ] Started brcm_patchram_plus.
[ OK ] Started LSB: add swap at first boot.
[ OK ] Started Save/Restore Sound Card State.
[ OK ] Started Raise network interfaces.
[ OK ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand".
[ OK ] Started Network Manager.
[ OK ] Started Login Service.
Starting Network Manager Script Dispatcher Service...
Starting Network Manager Wait Online...
Starting Authenticate and Authorize Users to Run Privileged Tasks...
[ OK ] Reached target Network.
Starting OpenBSD Secure Shell server...
Starting Set console scheme...
[ OK ] Created slice system-getty.slice.
[ OK ] Started Set console scheme.
[ OK ] Started Network Manager Script Dispatcher Service.
[ OK ] Started Authenticate and Authorize Users to Run Privileged Tasks.
Starting Hostname Service...
[ OK ] Started OpenBSD Secure Shell server.
[ OK ] Started Hostname Service.
[ OK ] Started Modem Manager.
[ OK ] Started Network Manager Wait Online.
[ OK ] Reached target Network is Online.
Starting /etc/rc.local Compatibility...
Starting LSB: Start NTP daemon...
Starting LSB: disk temperature monitoring daemon...
[ 9.930717] rc.local[536]: ctp = 0
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started LSB: disk temperature monitoring daemon.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS0.
[ OK ] Reached target Login Prompts.
[ OK ] Started LSB: Start NTP daemon.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
Ubuntu 16.04.2 LTS NanoPi-NEO-Core ttyS0
NanoPi-NEO-Core login: pi (automatic login)
Last login: Thu Feb 11 16:28:05 UTC 2016 on tty1
Login timed out after 60 seconds.
Ubuntu 16.04.2 LTS NanoPi-NEO-Core ttyS0
NanoPi-NEO-Core login: pi (automatic login)
Last login: Thu Feb 11 16:29:06 UTC 2016 on ttyS0
_____ _ _ _ _____ _ _____ ____
| ___| __(_) ___ _ __ __| | |_ _| ____| | | ____/ ___|
| |_ | '__| |/ _ \ '_ \ / _` | | | | | _| | | | _|| |
| _|| | | | __/ | | | (_| | | |_| | |___| |___| |__| |___
|_| |_| |_|\___|_| |_|\__,_|_|\__, |_____|_____|_____\____|
|___/
Welcome to Ubuntu 16.04.2 LTS 4.14.111
System load: 0.18 Up time: 1 min
Memory usage: 8 % of 491Mb IP:
CPU temp: 19°C
Usage of /: 2% of 28G
* Documentation: [url]http://wiki.friendlyarm.com/Ubuntu[/url]
* Forum: [url]http://www.friendlyarm.com/Forum/[/url]
pi@NanoPi-NEO-Core:~$JUN626 说:20201221
今天是冬至,大家节日快乐。
自己上手包了几碗饺子,刚刚折腾完。
试了下降低DDR频率,果然可以很稳定的启动
https://whycan.com/files/members/5522/035.png
这是正常启动的样子恭喜哇, 这是正常操作, 中科世为的A33板子一样DDR要降频才能启动,达不到主线uboot的默认配置速度.
恩,我决定再优化一波,毕竟一个1000多M的DDR,跑出个两三百M,还是有点丢人了
目前打算是一个邮票孔+一个金手指的底板,这样就可以到处插了
楼主软硬通吃,佩服佩服,试着给uboot的dram和cpu降频,看能不能稳定。
是的,我也是这么想的,所以后面我翻了一下uboot源码,但是没找着源码内设置CLK的地方,make menuconfig有个设置CPU速度的地方,我从1G改为480M
友善之臂的uboot有两段,看打印信息,第一段CPU确实改为480M了,但是第二段不知道从哪,又改成了1G
另外目前打印信息上看,DDR在UBOOT下是408M
这里有两段,是因为,第一段在找EMMC,我没焊接,他跳转到了另一段uboot,从SD卡启动
我修改源码,改了EMMC启动下的CPU速度,但是SD卡应该有另一个源码,又被搞回去了
20201221
板子能跑起来
但是很不稳定,经常启动失败
要么卡在start kernel,要么卡在启动一半
镜像没问题,用nanopi zero已经测试过了,问题肯定是我画的板子上
最开始还是以为是焊接问题
我重新换了CPU和DDR,发现现象都是一样的
所以焊接应该是靠谱的
这是我H3已经用完了,重新值锡
吹完之后,是这个样子
整理干净之后,看起来还算是比较均匀的
测了一天,定位到复现方式
左边是CPU,右边是DDR,用手指按黄色的位置,能让板子跑起来
检查这部分的走线情况
从靠近DDR开始,从上往下,分别是
SDQ7
SDQ3
SCKE1
SCKE0
SBA0
SBA2

目前我能想到的问题是,sdq3和scke1直接,是不是要用地隔开,不过这应该问题不大,我走线的距离都是3倍线宽的,有干扰,但应该不是很大才对
还得再想想
20201211
反复插拔发现出现了多次和DDR通信失败的情况
分析这个问题应该和DDR有关系
1.电流变大,说明板子上有个什么东西跑起来了,现在板子就两个芯片,一个H3一个DDR,电流小的时候,要么DDR工作不正常,要么H3工作不正常
2.温度会影响状态,说明温度导致某个参数发生了变化,网上有说虚焊的,热胀冷缩导致虚焊接触更好,感觉这个可能性不是很大,因为我手摸着电路也时不时能让板子起来,30多度的体温能让焊锡热胀冷缩,可能性有点低
3.有影响的应该就两个方面了,要么走线不合理,有干扰存在,不过想想这个可能性应该不高,我手不碰,单独加热是能行的
4.最终分析认为,问题应该在阻抗上面去嘉立创官网查参数

按订单的结果,现在DDR地址和数据走线上阻抗应该在80ohm左右
一般要求DDR数据和地址上是50ohm(±10%).差分是90~100ohm。
很明显阻抗是不合要求的
今晚回去改板子,再来一次
20201210
现在是凌晨0:00
昨晚回来,板子没跑起来,我查了下原因,发现之前的电源还是不太正常,像那个1.2V跑出了1.28
根据实际情况,调整了一下电源部分


串口上面已经有数据打印了
证明芯片已经在运行了,但是卡在start kernel,明晚在继续找问题
哦,不,今晚再找
U-Boot SPL 2017.11 (Dec 19 2019 - 16:43:16)
DRAM: 512 MiB(408MHz)
CPU Freq: 408MHz
memory test: 1
Pattern 55aa Writing...Reading...OK
Trying to boot from MMC1
Boot device: sd
U-Boot 2017.11 (Dec 19 2019 - 16:43:16 +0800) Allwinner Technology
CPU: Allwinner H3 (SUN8I 1680)
Model: FriendlyElec NanoPi H3
DRAM: 512 MiB
CPU Freq: 1008MHz
MMC: SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: No ethernet found.
BOARD: nanopi-neo-core
starting USB...
No controllers found
Hit any key to stop autoboot: 0
reading boot.scr
1478 bytes read in 18 ms (80.1 KiB/s)
## Executing script at 43100000
running boot.scr
reading uEnv.txt
968 bytes read in 20 ms (46.9 KiB/s)
reading zImage
5901592 bytes read in 297 ms (18.9 MiB/s)
reading rootfs.cpio.gz
5880768 bytes read in 310 ms (18.1 MiB/s)
reading sun8i-h3-nanopi-neo-core.dtb
34556 bytes read in 26 ms (1.3 MiB/s)
overlays is empty
reading overlays/sun8i-h3-fixup.scr
4109 bytes read in 35 ms (114.3 KiB/s)
## Executing script at 44500000
## Flattened Device Tree blob at 48000000
Booting using the fdt blob at 0x48000000
Loading Ramdisk to 49a64000, end 49fffbc0 ... OK
reserving fdt memory region: addr=48000000 size=6e000
Loading Device Tree to 499f3000, end 49a63fff ... OK
Starting kernel ...
这个计划已经酝酿了一段时间了,最开始并没有明确的目标,使用哪个芯片。
考虑过全志的V3S/A33/H3,NXP的IMX6还有瑞芯微的芯片。
最终选定使用H3.原因如下
1.价格相对来说便宜点
2.支持HDMI,不想买屏幕,买了也是浪费,用几次就吃灰了
3.资料相对来说多一点,淘宝上有几款这个片子的产品
20201114
开始上手画板子,先走DDR
距离放的有点远,怕后面的线走不下去
准备用四层板,6层不想搞,主要是我不想花太多钱,贫穷使我放弃了6层
20201115
把线基本扯通
元器件位置基本上就这样了
四层板就这里不太好,线一多,留不下一个完整的地平面
20201120
最近公司加班比较多,没时间搞,歇了几天,继续画板
优化一下走线,把没扯的线继续拉通
20201121
差不多了,准备打板去
@3Y0EJ2HJ12954.png)
![7K79X]$WZ{0Z0]MCZ@6IOC5.png](https://whycan.com/files/members/5522/7K79X]$WZ{0Z0]MCZ@6IOC5.png)

过孔小了,要加钱。。。。![JY`F@)U__}}(5)O]SL`9WA4.png](https://whycan.com/files/members/5522/JY`F@)U__}}(5)O]SL`9WA4.png)
想都不想,直接放弃
20201127
不能放弃,再来一次,把过孔整大点
前面画过一次,大概知道会有哪些地方会出线,把距离调短点
20201128
前面是搞的座子对插的,想了想,还是搞成邮票孔算了
先把线跑通,元器件慢慢放
20201129
元器件都扔上去了

大概就这样了,继续搞,争取明天审核完
唉,地被搞得乱七八糟,自己都看不下去了



20201130
发出去打板,审核成功,开始备料
页次: 1