先贴一下原理图:
PDF:
F1C100S_IAMLIUBO.pdf
图片是截图,PDF更清楚些,使用的KiCAD画的。
目前主要的问题有几个:
1. SPI0 使用PC口,连接ESP8089,用作Wi-Fi
2. SPI1 使用PA口,连接SPI接口的LCD显示屏
3. SD 使用PF口,外接SD卡,放镜像,F1C100S默认从SD卡启动
4. 音频 HPR连接NS4158功放,功放的GNDA 是否可以直接接入 GND?
5. USB OTG USB_ID(PE3)应该接TYPE-C哪一个管脚?MicroUSB有ID管教,TYPE-C貌似没有?
6. ESP8089使用SPI从机模式,是否正确(参考)
希望各位大佬有时间简单给看看 给点修改意见
顺便本帖做一个记录贴,慢慢开源
记录:
1. 2021-04-27 准备开始PCB板布局
大概这么多元器件
3D效果图
可能还会增加锂电池升压电路,不过看情况,准备画4层板,感觉要整挺久的
最近编辑记录 IAMLIUBO (2021-04-27 09:52:38)
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
3. SDC1的1bit模式也可以启动,但是据说bsp linux启动的时候不识别sd nand,如果IO紧张可以试一试。
tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常
http://whycan.com/t_6250.htmlTINY200开发板使用1bit SD NAND 【分享】
http://whycan.com/t_6301.html5. 有id脚,是哪个忘记了,刚搜了一圈也没搜到。不用id脚也没关系,软件可以切换 device/host
主线Linux用shell命令切换 OTG(分享)tiny200/licheepi nano|zero均可以使用
http://whycan.com/t_6021.html6. esp8089参考迪卡的帖子。sdio版本的没多久就把linux弄挂了。
众人拾柴-F1C200S通过SPI使用ESP8089或ESP8266做无线网卡
http://whycan.com/t_4149.html
感谢晕哥指导
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
布局完成,还没开始走线,争取都放在正面,新增了锂电池升压电路
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
为啥搞了个异形板?有啥讲究嘛?
ahhh, 据说没有外壳的电路板不是一个好产品, 所以当然是为了适配外壳
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-10更新
终于布完线了,假期各种忙,没时间搞,昨天休班才抽了点时间画了画,准备发嘉立创了,第一版能启动起来就是成功
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
这是几层板?2层能搞定吗?
我这个是四层,两层不好整,因为很多接口位置都是固定的,所以很多线很绕
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-13更新
打的PCB回来了,不过料还没配齐,准备周末焊接一下。
(还没开始焊接就已经发现一些问题了,还是太菜了
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
M5Pi🐂
1. SPI0 使用PC口,连接ESP8089,用作Wi-Fi
2. SPI1 使用PA口,连接SPI接口的LCD显示屏
3. SD 使用PF口,外接SD卡,放镜像,F1C100S默认从SD卡启动
4. 音频 HPR连接NS4158功放,功放的GNDA 是否可以直接接入 GND?
5. USB OTG USB_ID(PE3)应该接TYPE-C哪一个管脚?MicroUSB有ID管教,TYPE-C貌似没有?
6. ESP8089使用SPI从机模式,是否正确(参考)
这种搭配完美
(还没实际测试,也不好说
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
楼主你的壳子是公模吗
不是,这是我司另外一个产品的外壳....
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
建议TF卡换个封装
一个上手能用的固件也很重要
换什么封装好?
固件还没开始整.... 估计翻车很严重
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
IAMLIUBO 说:2021-05-13更新
打的PCB回来了,不过料还没配齐,准备周末焊接一下。
https://makingfun.oss-cn-qingdao.aliyuncs.com/linux/F1C100S/PCB-FRONT-NO-CASE.jpg
https://makingfun.oss-cn-qingdao.aliyuncs.com/linux/F1C100S/PCB-FRONT-WITH-CASE.jpg(还没开始焊接就已经发现一些问题了,还是太菜了
看起来不是挻好的嘛?
现在发现的问题是 触摸排线的线序已经反了.... (主要是我大意了
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-17更新
趁周末有空,焊了两块板,不过太难焊了。。。只有一块能工作的,差点把我给焊哭了....
贴片的时候又发现新问题,5V转3V到LDO芯片封装又给搞错了.... (真是太难了
由于F1C200S没怎么焊好,来回用加热台修正位置,都把PCB背面给烤黄了,接近于烤黑的状态。
来一张最终的渲染图吧
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-17 更新 启动记录
FEL mode(悬着的心落了下来,起码有一块可以工作
FEL 模式下可以直接将u-boot下载到RAM测试
sudo sunxi-fel -p uboot u-boot-sunxi-with-spl.bin
然后听从迪卡大佬的建议,直接使用 Aodzip 大佬的 buildroot-tiny200
编译很顺利,得到以下文件:
然后将sysimage-sdcard.img 烧录到SD卡:
sudo dd if=sysimage-sdcard.img of=/dev/sda
启动日志:
U-Boot SPL 2020.07 (May 17 2021 - 01:29:21 +0800)
DRAM: 64 MiB
Trying to boot from MMC1
U-Boot 2020.07 (May 17 2021 - 01:29:21 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Allwinner F1C100s Generic Device
DRAM: 64 MiB
MMC: mmc@1c0f000: 0, mmc@1c10000: 1
Setting up a 480x272 lcd console (overscan 0x0)
In: serial
Out: serial
Err: serial
Allwinner mUSB OTG (Peripheral)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Card did not respond to voltage select!
WARNING: sun4i_spi: cannot find pinctrl-0 node
unknown raw ID 82e6a1b0
Failed to initialize SPI flash at 0:0 (error -524)
unknown raw ID 82e6a1b0
List of MTD devices:
No MTD device found
=========================
Boot Device: mmc0
Boot Slot 0: mmc0
Boot Slot 1: empty
=========================
## Error: "splash_mmc0" not defined
Unknown command 'bmp' - try 'help'
gpio: pin 134 (gpio 134) value is 1
DFU waiting on MMC0...
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
Booting from MMC0...
4326584 bytes read in 701 ms (5.9 MiB/s)
## Loading kernel from FIT Image at 81000000 ...
Using 'conf@0' configuration
Trying 'kernel@0' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x810000cc
Data Size: 4309976 Bytes = 4.1 MiB
Architecture: ARM
OS: Linux
Load Address: 0x80000000
Entry Point: 0x80000000
Hash algo: crc32
Hash value: c20c4ff7
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 81000000 ...
Using 'conf@0' configuration
Trying 'fdt@0' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8141c588
Data Size: 14810 Bytes = 14.5 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 4c4ecf51
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x8141c588
Loading Kernel Image
Loading Device Tree to 817f9000, end 817ff9d9 ... OK
Cannot setup simplefb: node not found
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.92 (imliubo@OopsWowStudio) (gcc version 8.4.0 (Buildroot -gc1d5cdb)) #1 Mon May 17 01:13:28 CST 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Sipeed Lichee Nano
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 16 MiB at 0x83000000
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3 net.ifnames=0 vt.global_cursor_default=0
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 38740K/65536K available (6144K kernel code, 248K rwdata, 1676K rodata, 1024K init, 225K bss, 10412K reserved, 16384K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] random: get_random_bytes called from start_kernel+0x254/0x444 with crng_init=0
[ 0.000046] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000134] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000801] Console: colour dummy device 80x30
[ 0.000899] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070251] pid_max: default: 32768 minimum: 301
[ 0.070776] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.070818] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.072656] CPU: Testing write buffer coherency: ok
[ 0.074575] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.075795] devtmpfs: initialized
[ 0.087244] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.087309] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.091415] pinctrl core: initialized pinctrl subsystem
[ 0.093944] NET: Registered protocol family 16
[ 0.097453] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.099586] cpuidle: using governor menu
[ 0.141731] SCSI subsystem initialized
[ 0.142112] usbcore: registered new interface driver usbfs
[ 0.142301] usbcore: registered new interface driver hub
[ 0.142452] usbcore: registered new device driver usb
[ 0.142898] mc: Linux media interface: v0.10
[ 0.143023] videodev: Linux video capture interface: v2.00
[ 0.143129] pps_core: LinuxPPS API ver. 1 registered
[ 0.143148] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.143227] PTP clock support registered
[ 0.144232] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.145206] Advanced Linux Sound Architecture Driver Initialized.
[ 0.147601] clocksource: Switched to clocksource timer
[ 0.177813] thermal_sys: Registered thermal governor 'step_wise'
[ 0.178553] NET: Registered protocol family 2
[ 0.180017] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.180096] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.180152] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.180200] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.180483] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.180546] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.181067] NET: Registered protocol family 1
[ 0.183707] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.185460] Initialise system trusted keyrings
[ 0.186074] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.207525] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.208306] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.323835] Key type asymmetric registered
[ 0.323874] Asymmetric key parser 'x509' registered
[ 0.324040] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.324066] io scheduler mq-deadline registered
[ 0.324083] io scheduler kyber registered
[ 0.326680] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.339091] suniv-f1c100s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.363542] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.369635] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pe not found, using dummy regulator
[ 0.370918] printk: console [ttyS0] disabled
[ 0.391232] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 27, base_baud = 6250000) is a 16550A
[ 0.831880] printk: console [ttyS0] enabled
[ 0.841577] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 0.862344] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.872004] SCSI Media Changer driver v0.25
[ 0.877944] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.893230] random: fast init done
[ 1.287971] spi-nand: probe of spi0.0 failed with error -110
[ 1.294205] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.300838] ehci-platform: EHCI generic platform driver
[ 1.306465] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.312775] ohci-platform: OHCI generic platform driver
[ 1.318570] usbcore: registered new interface driver usb-storage
[ 1.326182] i2c /dev entries driver
[ 1.330457] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 1.344472] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.354394] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[ 1.392531] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.401975] usbcore: registered new interface driver usbhid
[ 1.407548] usbhid: USB HID core driver
[ 1.411829] sunxi-cedar 1c0e000.video-codec: sunxi cedar version 0.01alpha
[ 1.419129] sunxi-cedar 1c0e000.video-codec: cedar-ve the get irq is 20
[ 1.430967] debugfs: Directory '1c23c00.codec' with parent 'F1C100s Audio Codec' already present!
[ 1.444868] sun4i-codec 1c23c00.codec: Codec <-> 1c23c00.codec mapping ok
[ 1.461392] NET: Registered protocol family 17
[ 1.465944] Key type dns_resolver registered
[ 1.471544] Loading compiled-in X.509 certificates
[ 1.491555] sun4i-drm soc:display-engine: bound 1e00000.display-frontend (ops 0xc073b278)
[ 1.500651] sun4i-drm soc:display-engine: bound 1e60000.display-backend (ops 0xc073aab8)
[ 1.510240] sun4i-drm soc:display-engine: bound 1c0c000.lcd-controller (ops 0xc0739658)
[ 1.518888] sun4i-drm soc:display-engine: bound 1c0a000.tv-encoder (ops 0xc073a378)
[ 1.526548] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.533258] [drm] No driver support for vblank timestamp query.
[ 1.541346] [drm] Initialized sun4i-drm 1.0.0 20150629 for soc:display-engine on minor 0
[ 1.550385] [drm] kms: can't enable cloning when we probably wanted to.
[ 1.592032] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.595091] mmc0: new high speed SDHC card at address aaaa
[ 1.597031] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[ 1.606722] Console: switching to colour frame buffer device 60x34
[ 1.613904] mmcblk0: p1 p2 p3
[ 1.652110] sun4i-drm soc:display-engine: fb0: sun4i-drmdrmfb frame buffer device
[ 1.661250] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.673270] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.679263] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.689633] hub 1-0:1.0: USB hub found
[ 1.693544] hub 1-0:1.0: 1 port detected
[ 1.700142] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.717850] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.724652] ALSA device list:
[ 1.727740] #0: F1C100s Audio Codec
[ 1.731918] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.740675] cfg80211: failed to load regulatory.db
[ 1.746157] Waiting for root device /dev/mtdblock2...
[ 16.747749] random: crng init done
[ 31.847665] vcc3v0: disabling
[ 31.850663] vcc5v0: disabling
启动貌似卡在这了,不知道什么原因,不过看论坛有位老哥有类似的问题,说是改设备树解决的,但是我貌似改了没起作用?
有大佬知道是什么问题吗?还是我设备树修改错了?我的板子只有SD卡没有SPI Flash。
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
另外,不能搞成PCB天线吗
PCB天线有点占地方吧 也没经验....
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
从tf卡启动?那你的bootargs参数不匹配呢
晕哥就是晕哥,一语中的
修改bootargs, 因为我是从SD卡中启动的,所以之前的mtdblock2是不对的,应该是从SPI Flash启动的,然后rootfstype从生成的文件来看,也是ext4的,我修改为下面是可以正常启动的,但是mmcblk0的三个分区不是很理解,p1是u-boot,p2是boot,p3是rootfs吗?刚开始我修改为root=/dev/mmcblk0p2是无法启动的。
// board/sipeed/lichee/nano/devicetree/linux/devicetree.dts L15
bootargs = "console=ttyS0,115200 earlyprintk rootwait init=/preinit root=/dev/mmcblk0p3 rw rootfstype=ext4";
修改过后启动日志:
U-Boot SPL 2020.07 (May 17 2021 - 21:17:45 +0800)
DRAM: 32 MiB
Trying to boot from MMC1
U-Boot 2020.07 (May 17 2021 - 21:17:45 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Allwinner F1C100s Generic Device
DRAM: 32 MiB
MMC: mmc@1c0f000: 0, mmc@1c10000: 1
Setting up a 480x272 lcd console (overscan 0x0)
In: serial
Out: serial
Err: serial
Allwinner mUSB OTG (Peripheral)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Card did not respond to voltage select!
unrecognized JEDEC id bytes: ff, ff, ff
Failed to initialize SPI flash at 0:0 (error -2)
List of MTD devices:
No MTD device found
=========================
Boot Device: mmc0
Boot Slot 0: mmc0
Boot Slot 1: empty
=========================
## Error: "splash_mmc0" not defined
Unknown command 'bmp' - try 'help'
gpio: pin 134 (gpio 134) value is 1
DFU waiting on MMC0...
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
Booting from MMC0...
4326476 bytes read in 701 ms (5.9 MiB/s)
## Loading kernel from FIT Image at 81000000 ...
Using 'conf@0' configuration
Trying 'kernel@0' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x810000cc
Data Size: 4309976 Bytes = 4.1 MiB
Architecture: ARM
OS: Linux
Load Address: 0x80000000
Entry Point: 0x80000000
Hash algo: crc32
Hash value: 4596d43c
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 81000000 ...
Using 'conf@0' configuration
Trying 'fdt@0' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8141c588
Data Size: 14702 Bytes = 14.4 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 93f00654
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x8141c588
Loading Kernel Image
Loading Device Tree to 817f9000, end 817ff96d ... OK
Cannot setup simplefb: node not found
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.92 (imliubo@OopsWowStudio) (gcc version 8.4.0 (Buildroot -gc1d5cdb)) #6 Mon May 17 20:26:14 CST 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: M5Stack M5Pi
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Failed to reserve 16 MiB
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk rootwait init=/preinit root=/dev/mmcblk0p3 rw rootfstype=ext4 net.ifnames=0 vt.global_cursor_default=0
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 22668K/32768K available (6144K kernel code, 248K rwdata, 1676K rodata, 1024K init, 225K bss, 10100K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] random: get_random_bytes called from start_kernel+0x254/0x444 with crng_init=0
[ 0.000047] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000135] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000814] Console: colour dummy device 80x30
[ 0.000913] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070253] pid_max: default: 32768 minimum: 301
[ 0.070778] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.070823] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.072661] CPU: Testing write buffer coherency: ok
[ 0.074592] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.075801] devtmpfs: initialized
[ 0.087204] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.087266] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.087535] pinctrl core: initialized pinctrl subsystem
[ 0.089986] NET: Registered protocol family 16
[ 0.091750] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.093930] cpuidle: using governor menu
[ 0.136206] SCSI subsystem initialized
[ 0.136586] usbcore: registered new interface driver usbfs
[ 0.136751] usbcore: registered new interface driver hub
[ 0.136903] usbcore: registered new device driver usb
[ 0.137371] mc: Linux media interface: v0.10
[ 0.137515] videodev: Linux video capture interface: v2.00
[ 0.137626] pps_core: LinuxPPS API ver. 1 registered
[ 0.137645] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.137703] PTP clock support registered
[ 0.138747] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.139710] Advanced Linux Sound Architecture Driver Initialized.
[ 0.142273] clocksource: Switched to clocksource timer
[ 0.173420] thermal_sys: Registered thermal governor 'step_wise'
[ 0.174155] NET: Registered protocol family 2
[ 0.175656] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.175736] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.175793] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.175840] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.176108] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.176167] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.176675] NET: Registered protocol family 1
[ 0.179271] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.181065] Initialise system trusted keyrings
[ 0.181686] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.203499] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.204112] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.322006] Key type asymmetric registered
[ 0.322047] Asymmetric key parser 'x509' registered
[ 0.322222] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.322364] io scheduler mq-deadline registered
[ 0.322391] io scheduler kyber registered
[ 0.325032] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.337357] suniv-f1c100s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.361860] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.367968] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pe not found, using dummy regulator
[ 0.369256] printk: console [ttyS0] disabled
[ 0.389579] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 27, base_baud = 6250000) is a 16550A
[ 0.826268] printk: console [ttyS0] enabled
[ 0.835969] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 0.856735] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.866392] SCSI Media Changer driver v0.25
[ 0.872242] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.885192] spi-nor spi0.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[ 0.892802] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.899328] ehci-platform: EHCI generic platform driver
[ 0.905049] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.911280] ohci-platform: OHCI generic platform driver
[ 0.917105] usbcore: registered new interface driver usb-storage
[ 0.924844] i2c /dev entries driver
[ 0.928969] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 0.943244] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 0.953249] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[ 0.991075] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.000541] usbcore: registered new interface driver usbhid
[ 1.006240] usbhid: USB HID core driver
[ 1.010418] sunxi-cedar 1c0e000.video-codec: sunxi cedar version 0.01alpha
[ 1.017723] sunxi-cedar 1c0e000.video-codec: cedar-ve the get irq is 20
[ 1.029583] debugfs: Directory '1c23c00.codec' with parent 'F1C100s Audio Codec' already present!
[ 1.042851] sun4i-codec 1c23c00.codec: Codec <-> 1c23c00.codec mapping ok
[ 1.059512] NET: Registered protocol family 17
[ 1.064197] Key type dns_resolver registered
[ 1.069655] Loading compiled-in X.509 certificates
[ 1.089785] sun4i-drm soc:display-engine: bound 1e00000.display-frontend (ops 0xc073b278)
[ 1.098889] sun4i-drm soc:display-engine: bound 1e60000.display-backend (ops 0xc073aab8)
[ 1.108500] sun4i-drm soc:display-engine: bound 1c0c000.lcd-controller (ops 0xc0739658)
[ 1.117133] sun4i-drm soc:display-engine: bound 1c0a000.tv-encoder (ops 0xc073a378)
[ 1.124913] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.131515] [drm] No driver support for vblank timestamp query.
[ 1.139646] [drm] Initialized sun4i-drm 1.0.0 20150629 for soc:display-engine on minor 0
[ 1.148697] [drm] kms: can't enable cloning when we probably wanted to.
[ 1.191497] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.194747] mmc0: new high speed SDHC card at address aaaa
[ 1.196700] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[ 1.206309] Console: switching to colour frame buffer device 60x34
[ 1.213267] mmcblk0: p1 p2 p3
[ 1.251481] sun4i-drm soc:display-engine: fb0: sun4i-drmdrmfb frame buffer device
[ 1.260633] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.272791] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.278641] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.289008] hub 1-0:1.0: USB hub found
[ 1.293045] hub 1-0:1.0: 1 port detected
[ 1.299601] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.317338] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.324168] ALSA device list:
[ 1.327153] #0: F1C100s Audio Codec
[ 1.331346] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.340110] cfg80211: failed to load regulatory.db
[ 1.364375] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[ 1.372772] VFS: Mounted root (ext4 filesystem) on device 179:3.
[ 1.383366] devtmpfs: mounted
[ 1.390987] Freeing unused kernel memory: 1024K
[ 1.395739] Run /preinit as init process
[ 1.512367] random: fast init done
[ 1.896012] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null)
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Populating /dev using udev: [ 2.477890] udevd[87]: starting version 3.2.9
[ 2.521592] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.535564] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.543483] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.634732] udevd[88]: starting eudev-3.2.9
[ 6.402744] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 6.409303] tsc2007 0-0048: i2c io error: -110
[ 6.413910] tsc2007 0-0048: Failed to setup chip: -110
[ 6.426898] tsc2007: probe of 0-0048 failed with error -110
done
Initializing random number generator: OK
Saving random seed: [ 6.598783] random: dd: uninitialized urandom read (512 bytes read)
OK
Starting haveged: haveged: listening socket at 3
OK
Starting network: OK
Starting uMTPrd: [ 8.164082] file system registered
[ 8.433924] read descriptors
[ 8.436880] read strings
OK
Welcome to M5Stack M5Pi
M5Stack-M5Pi login: [ 15.137067] random: crng init done
[ 31.842354] vcc3v0: disabling
[ 31.845359] vcc5v0: disabling
Welcome to M5Stack M5Pi
M5Stack-M5Pi login: root
Password:
# uname -a
Linux M5Stack-M5Pi 5.4.92 #6 Mon May 17 20:26:14 CST 2021 armv5tejl GNU/Linux
# cat /proc/cpuinfo
processor : 0
model name : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 203.16
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Hardware : Allwinner suniv Family
Revision : 0000
Serial : 0000000000000000
# cat /etc/os-release
NAME=Buildroot
VERSION=-gc1d5cdb-dirty
ID=buildroot
VERSION_ID=2020.02.7
PRETTY_NAME="Buildroot 2020.02.7"
接下来就是调一下SPI的LCD了,晕哥有什么大体思路吗
使用的SPI1(PA0, PA1, PA2, PA3),外加DC(PE4), RESET(PE5), BL(PE6)。
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
IAMLIUBO 说:touchey 说:另外,不能搞成PCB天线吗
PCB天线有点占地方吧 也没经验....
PCB天线力创EDA里有现成的库
我司一直用的那种3D天线,就是一个小铁片那种,不过我没有封装,下次尝试下我司的3D天线先
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
三个分区是为了方便升级, 虽然u-boot没有文件系统, 可以直接操作数据读写实现uboot升级.
LCD 是什么型号, 是8bit吗? 8bit就问题不大, 9bit就很麻烦了, 得软件模拟.
ILI9342C 不过最近缺货,仓库没库存了,明天领个成品拆一个下来....
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-22更新
哈哈,最近取得了一点小进展,一直没来的及来坑网更新下,今天又是周末了,难得休息,再来更新下进度。
目前已调成功的:
成功启动(SD卡启动)
点亮一个LED(heartbeat)
显示屏(SPI1 LCD)
LVGL Demo(触摸线序不对,暂时用鼠标代替的)
目前还未调试或未成功的:
Wi-Fi ESP8089(SPI0)
音频部分(功放 AMP?)
触摸(等待改版,FT6336U,感觉不好整 )
移植个NES试试
QT跑个Demo?
项目地址:
buildroot-M5Pi
Fork自aodzip大佬的 buildroot-tiny200, 不过代码还没push,因为目前都是dirty code。。。
再来更新几张图外加视频:
成功启动
两种颜色外壳,你更喜欢哪一个?
全志太敞亮,买了五片R329,送了我一大箱
照例第一步,先点个LED灯
LCD console
LVGL Benchmark的小Demo,使用鼠标操作
在aodzip大佬的基础上,我新增了一个board的配置,所以代码还在整理中,有时间就会push到github
然后继续调试剩下的和准备第二版的layout
ahhh,预计每周末更新,平常工作也比较忙,基本都是晚上瞎搞,没大有时间更新帖子。
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
kekemuyu 说:外壳是哪里来的?
M5的壳子
帖主在M5上班吗?
(是的 端茶递水 洗衣做饭
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
迪卡 说:R329???那东西不是可贵呢吗?
不便宜 59一片 (搞着玩
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-23更新
今天根据迪卡大佬的教程把ESP8089-SPI Wi-Fi搞出来了,不过我瞎画的天线估计太差了,性能不是很好 (太难了这玩意儿,看看后面能不能优化下
需要注意60楼迪卡大佬的提示,最重要的是你得确保你硬件没啥问题,如果是拆解的模组,估计问题不大,但是要是自己画的板子,先确定下晶振是不是起振了,然后管脚有没有连接错,如果没什么大问题,应该就很OK顺利了。
加载日志:
[ 97.497468] esp8089_spi: esp_pub_init_all
[ 97.497488] esp8089_spi: esp_download_fw
[ 98.083871] esp8089_spi: sif_platform_irq_init enter
[ 98.089007] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 100.162641] bootup event timeout
[ 100.162687] for unknow reason,we may not be informed the boot/rst complete event, assume it completed and continue here
[ 100.165426] esp_host:bdf5087c3deb
[ 100.165426] esp_target: e826c2b3c9fd 57 18202
使能wlan0,扫描Wi-Fi:
# ifconfig wlan0 up
# iw dev wlan0 scan | grep SSID
SSID: kyms
SSID: lzf
SSID: HUAWEI-A07M8R
SSID:
SSID: Topway_3A0763
SSID: Topway_CJ'home
SSID: HUAWEI-QV63SY
SSID: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
SSID: ziroom204_1
SSID: imliubo-Pixel-4a
SSID: ChinaNet-NUFU
SSID: ziroom-201
SSID:
SSID: hp12319
SSID: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
能扫描出Wi-Fi来,基本就差不了太多了。
几条测试命令记录
modprobe esp8089-spi # 加载内核驱动
ifconfig wlan0 up #
iw dev wlan0 scan | grep SSID # 扫描Wi-Fi
iw wlan0 connect imliubo-Pixel-4a # 连接开放的网络
iw dev wlan0 link # 查看连接状态
ifconfig wlan0 192.168.6.160 # 因为没有DHCP,要手动分配IP
尝试使用密码连接的提示,但是设置13位的字符密码好像没起作用,先不深究了。
key must be [d:]index:data where
'd:' means default (transmit) key
'index:' is a single digit (0-3)
'data' must be 5 or 13 ascii chars
or 10 or 26 hex digits
for example: d:2:6162636465 is the same as d:2:abcde
or psk:data <AKM Suite> <pairwise CIPHER> <groupwise CIPHER> where
'data' is the PSK (output of wpa_passphrase and the CIPHER can be CCMP or GCMP
for example: psk:0123456789abcdef PSK CCMP CCMP
The allowed AKM suites are PSK, FT/PSK, PSK/SHA-256
The allowed Cipher suites are TKIP, CCMP, GCMP, GCMP-256, CCMP-256
给大家看一下我画的天线有多惨....
64 bytes from 192.168.6.159: seq=4831 ttl=64 time=1009.088 ms
64 bytes from 192.168.6.159: seq=4832 ttl=64 time=1009.024 ms
64 bytes from 192.168.6.159: seq=4833 ttl=64 time=1008.791 ms
64 bytes from 192.168.6.159: seq=4834 ttl=64 time=1008.658 ms
64 bytes from 192.168.6.159: seq=4835 ttl=64 time=1009.040 ms
64 bytes from 192.168.6.159: seq=4836 ttl=64 time=1009.210 ms
64 bytes from 192.168.6.159: seq=4837 ttl=64 time=1009.286 ms
64 bytes from 192.168.6.159: seq=4838 ttl=64 time=1009.270 ms
64 bytes from 192.168.6.159: seq=4839 ttl=64 time=1009.059 ms
64 bytes from 192.168.6.159: seq=4840 ttl=64 time=1008.930 ms
64 bytes from 192.168.6.159: seq=4841 ttl=64 time=1003.605 ms
64 bytes from 192.168.6.159: seq=4842 ttl=64 time=1007.988 ms
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
还有一个功放没有测了,实在是不晓得,咋播放声音,也不知道原理图画对没,没啥经验 --.
原理图:
设备树中看到了codec的踪迹,感觉跟这个有关系,但是又不是很确定....
&codec {
allwinner,audio-routing =
"Headphone", "HP",
"Headphone", "HPCOM",
"LINEIN", "Line In",
"FMINL", "Left FM In",
"FMINR", "Right FM In",
"MIC", "Mic";
status = "okay";
};
所以问题是,我该怎么让它放点声音 请求晕哥和大佬们援助。
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-05-28更新
距离上次更新好几天了,一直没时间搞,今中午抽点时间看了下,原来播放wav格式的音频文件还蛮简单的,我说各位大佬怎么不出手,原来是没有挑战性啊!
下面有请M5Pi为大家送上一首 游山恋:
aodzip大佬的buildroot-tiny200 默认有 tinyplay 工具,所以只需要简单配置下,就可以播放了,命令记录:
tinymix contents
tinymix set 2 1 # 使能 Headphone Playback Switch
tinymix set 1 63 # 设置音量
tinyplay youshanlian.wav # 播放
新问题是,播放可以播放,但是播放完成后,就直接重启了,貌似也没打印什么错误之类的:
# tinyplay youshanlian.wav
playing 'youshanlian.wav': 2 ch, 48000 hz, 16 bit
# dmesg # 播放完成有个间隙 可以看一下内核日志
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.92 (imliubo@OopsWowStudio) (gcc version 8.4.0 (Buildroot -gc1d5cdb-dirty)) #18 Fri May 28 13:12:56 CST 2021
...... # 此处省略很多
[ 2.687759] udevd[88]: starting version 3.2.9
[ 2.733853] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.746679] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.753632] random: udevd: uninitialized urandom read (16 bytes read)
[ 2.841559] udevd[89]: starting eudev-3.2.9
[ 4.480266] inv-mpu6050-i2c 0-0068: mounting matrix not found: using identity...
[ 4.487838] inv-mpu6050-i2c 0-0068: 0-0068 supply vddio not found, using dummy regulator
[ 4.609631] random: crng init done
[ 4.767897] i2c i2c-0: Added multiplexed i2c bus 1
[ 6.693604] file system registered
[ 6.943506] read descriptors
[ 6.946456] read strings
# # 貌似没打印什么错误,然后就直接复位了 下面是复位从新启动的日志
U-Boot SPL 2020.07 (May 28 2021 - 11:57:17 +0800)
DRAM: 64 MiB
Trying to boot from MMC1
.....
现象就是播放完成后,大约三四秒就直接复位了,这大概是什么问题?要从哪里排查呢?
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
@IAMLIUBO
我的板子当时也有这个问题来着,avcc供电加了个10uf的电容就好了
刚把AVCC电源100nF的电容更换为了10uF试了下,貌似没有起作用 --.
也顺便把HPVCC 100nf的电容更换为10uF试了下,也还是会重启
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-06-06更新
周末到,代码撸(昨日头疼,没怎么搞,今天这周末就结束了....
今日主要工作:
1. 第二版硬件布局,发了一版结构验证板,预计明天到,相比第一版主要是修复了几个小Bug和优化了电源部分,以及优化了下接口,上一板布局有偏差的地方顺便做了下微调,明天焊接下主要干涉器件看看,要是没啥问题,就开始layout了。
2. QT 跑了几个Demo 试了试,感觉有点卡,不如LVGL流畅?
3. 代码push到了Github,基本没什么改动,就只是新增了个board配置,(站在aodzip大佬的肩膀上~
https://github.com/imliubo/buildroot-M5Pi/commit/d712b8d3c55c8a364b440f55d1911de4c024cbf9
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
开个钢网,刷锡膏,用维修炉烤,方便很多。
顺便问下:楼主KICAD用的啥库?我这里很多器件都没有3D模型,比如tf卡座。
就是自带库,没有模型的可以从 https://www.3dcontentcentral.com/ 找,或者自己画
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
PF, 太厉害了! 这个开源已经接近实用的基础项目了!
害,瞎搞着玩的,硬件不是很专业
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-06-14更新
端午假期就这么结束了,不过假期也没闲着,又整了点Bug。
1. 试了下USB摄像头,能用,但是由于带宽(bandwidth)问题会报错,
No space left on device.
根据这篇文章修改了kernel的驱动,使用fawebcam抓取一张照片有点慢...
修改 uvc_video.c L1834~L1837,将带宽改为一个你的USB摄像头支持的比较小的即可,看上面的文章说,还跟USB驱动有关系之类的,不是很熟悉,暂时先不研究了。
/* Isochronous endpoint, select the alternate setting. */
// bandwidth = stream->ctrl.dwMaxPayloadTransferSize;
bandwidth = 0x100;
2. 尝试了下InfoNES
由于我的显示屏是BGR格式的,所以要修改一下,不然颜色会看起来不正常, 项目链接:https://github.com/nejidev/arm-NES-linux
static int lcd_fb_display_px(WORD color, int x, int y)
{
unsigned char r = ((color >> 11) & 0x1f);
unsigned char g = ((color >> 5) & 0x3f);
unsigned char b = ((color >> 0) & 0x1f);
WORD bgr = (b << 11) | (g << 5) | r;
*((uint16_t *)(fb_mem + (y * line_width) + (x * px_width))) = bgr;
return 0;
}
3. 画了个TYPE-C的分线器,因为我把串口和USB都做到了一个TYPE-C里面,所以要想同时用串口和USB是需要一个分线器的,这里我自己画了个。
4. 整了个简单的开机界面,先给坛友预览下 ,最终镜像还在修改中,准备把常用的命令啥的都集成好。
5. 第二版PCB本周到(做了个黑色沉金 ,结果巨慢...),明天再核对下BOM,争取周末焊接一下 ,就这,下周更新!
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
哦,对了,我还买了个手柄,明天玩玩游戏
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-06-21更新
1. 焊接
第二版PCB到了,周六焊接了下,焊了五块,只有两块板的料是齐的,相比于第一次焊接,这次更有经验了,焊接的还可以,不过立创商城有点不靠谱,有几个物料还没到...
2. 触摸
拼凑出来了一个完整的,试了试触摸,可用,不过跟这篇帖子中遇到了一样的问题,8楼有写咋处理的.....
荔枝派V3s FT6336U电容触摸驱动调试,会丢包或者不能进入中断
https://whycan.com/t_4762.html#p64818
(出处:哇酷开发者社区)
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-06-29更新
周末在写M5Pi-Launcher的过程中发现触摸有很大问题(其实主要是我把中断搞成了低电平触发,下降沿触发没法用),一直在调试,也没来得及更新,今天更新下进度。
1. 开源文件整理进入收尾阶段
不过现在还没有public(主要还是想做一个视频,然后同步开放 不过也还是因为M5Pi-Launcher没写完...
2. M5Pi Launcher开发
其实主要是想开发一些界面应用,使用的LVGL开发的,现在刚写完主界面,逻辑啥的还没开始,准备搞一下NES,不过怎么跟LVGL对接?通过lv_img 还是 lv_canvas? 还不是很清楚,周末研究下。
先给大家看看M5Pi Launcher的桌面吧
对了,触摸部分我现在也改成线程读取了,参考这篇帖子:
https://whycan.com/t_4762.html
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
楼主,学习linux,需要把uboot都看懂吗?还是说只要能用就行了?
个人理解
u-boot, linux-kernel要是说先看懂,估计是不大容易,从我这学习了二十多年的经验来看,还是先会用,有了概念,然后能够会改,加深概念理解,然后能够会写,会开发,应该大概是这么个路线吧(如有不对,还请各位大佬指教
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
响应楼主老哥的号召,我扔掉了自己的板子····
ahhh,没事,不要怕,过几天抽几块
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-07-5更新
转眼间2021步入了下半年...
周末继续填坑M5Pi-Launcher,由于使用的LVGL V8,很多API跟之前不太一样了,也删除了很多API... 只能开发中不断再熟悉一遍:D,现在写了俩"APP"了,但是用C开发好麻烦呀 LOL...
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
向楼主学习!
向RTT的大佬学习呀
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-07-9更新
M5Pi Launcher Repo:
https://github.com/imliubo/M5Pi-Launcher
可以直接PC上编译在终端中运行(太麻烦了,只大概写了个框架...),周末准备剪辑下视频,释放所有源文件
交叉编译可以修改CMakeLists.txt 文件,代码很简单,喜欢的可以点个star
最近编辑记录 IAMLIUBO (2021-07-09 11:17:59)
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
这个ic应该是ARM9的,那可以跑到多少MHZ呢,600mhz?1Ghz?,有的坛友说可以到2G,不知道是不是超频使用
现在是600Mhz,1G达不到吧? 没尝试过
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
2021-07-11更新
我不装了,我摊牌了 (滑稽笑.gif
所有文件,全部开源!喜欢的别忘了点个star~
https://github.com/imliubo/M5Pi
另有精美视频可以观看一下,啊哈哈哈(好自恋
https://www.bilibili.com/video/BV1RV411W7eH/
最后,感谢晕哥以及坑网各位网友的帮助,下个项目再会哦~
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
附件的pdf没有更新呀,和图片的不一样
看一下 74 楼
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
楼主这个电容屏特别喜庆,能否贴上购买链接看看?
M5Stack家的Core2拆机屏幕
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线
@IAMLIUBO
请问下这个天线延时这么大是不是因为SPI速率不行?
也可能是硬件设计不行,,, 还是用点专业的Wi-Fi/BLE模组吧
唯有爱与科技不可辜负。
知乎专栏:IAMLIUBO的神奇物联网之旅
博客园:IAMLIUBO
Gayhub: IAMLIUBO
离线