tevada2010 说:哇酷小二 说:怎么执行的?
LCD 屏幕上不显示图像。
你得执行才行,不执行怎么显示呢?
fbv bb.jpg
我以前做这个命令,现在可以显示了。
如果要显示引导映像,如下所示。 我该如何设置?
哇酷小二 说:怎么执行的?
LCD 屏幕上不显示图像。
你得执行才行,不执行怎么显示呢?
]]>怎么执行的?
LCD 屏幕上不显示图像。
]]>我在 buildroot 设置了 fbv,但图像仍然没有显示在屏幕上。
]]>
全志D1哪吒开发板 framebuffer 测试
https://bbs.aw-ol.com/topic/521
哇酷小二 说:那就可以用了,fbv,fbset都可以测试,在buildroot里面有。
如何在 buildroot 中设置 fbv、fbset?
或者配置 fbtest,可以不用buildroot编译,用静态链接即可。
]]>哇酷小二 说:那就可以用了,fbv,fbset都可以测试,在buildroot里面有。
如何在 buildroot 中设置 fbv、fbset?
(V3s/V3x/S3/S3L/R11通吃)小智V3x开发板smallwitpi lite u-boot/linux/buildroot测试
https://whycan.com/t_7248.html
那就可以用了,fbv,fbset都可以测试,在buildroot里面有。
如何在 buildroot 中设置 fbv、fbset?
]]>https://whycan.com/t_6413.html
U-Boot 2017.01-rc2-00073-gdd6e8740dc-dirty (Jul 31 2022 - 11:52:11 +0700) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: unrecognized JEDEC id bytes: 00, c2, 12
*** Warning - spi_flash_probe() failed, using default environment
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
reading zImage
4196800 bytes read in 232 ms (17.3 MiB/s)
reading sun8i-v3s-licheepi-zero-dock.dtb
12397 bytes read in 30 ms (403.3 KiB/s)
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42df9000, end 42dff06c ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.2.0-licheepi-zero (tevada@T420s) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #6 SMP Sun Jul 31 21:06:16 +07 2022
[ 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: Lichee Pi Zero with Dock
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] percpu: Embedded 16 pages/cpu s34508 r8192 d22836 u65536
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 mtdparts=spi32766.0:1M(uboot),64k(dtb),4M(kernel),-(rootfs) rootwait root=/dev/mmcblk0p2 earlyprintk rw 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: 55044K/65536K available (6144K kernel code, 301K rwdata, 1684K rodata, 1024K init, 254K bss, 10492K reserved, 0K cma-reserved, 0K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 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] random: get_random_bytes called from start_kernel+0x300/0x48c with crng_init=0
[ 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.000007] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000019] Switching to timer-based delay loop, resolution 41ns
[ 0.000210] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000451] Console: colour dummy device 80x30
[ 0.000507] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000523] pid_max: default: 32768 minimum: 301
[ 0.000686] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.000703] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.001507] CPU: Testing write buffer coherency: ok
[ 0.002022] /cpus/cpu@0 missing clock-frequency property
[ 0.002048] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002815] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.003022] rcu: Hierarchical SRCU implementation.
[ 0.003567] smp: Bringing up secondary CPUs ...
[ 0.003586] smp: Brought up 1 node, 1 CPU
[ 0.003597] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.003604] CPU: All CPU(s) started in SVC mode.
[ 0.004683] devtmpfs: initialized
[ 0.008173] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.008494] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.008526] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.008770] pinctrl core: initialized pinctrl subsystem
[ 0.009804] NET: Registered protocol family 16
[ 0.010423] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.011687] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.011706] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.035081] SCSI subsystem initialized
[ 0.035244] usbcore: registered new interface driver usbfs
[ 0.035298] usbcore: registered new interface driver hub
[ 0.035418] usbcore: registered new device driver usb
[ 0.035651] mc: Linux media interface: v0.10
[ 0.035692] videodev: Linux video capture interface: v2.00
[ 0.035881] Advanced Linux Sound Architecture Driver Initialized.
[ 0.037188] clocksource: Switched to clocksource arch_sys_counter
[ 0.049291] NET: Registered protocol family 2
[ 0.050120] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[ 0.050160] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.050185] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.050209] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.050354] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.050406] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.050700] NET: Registered protocol family 1
[ 0.052563] Initialise system trusted keyrings
[ 0.052935] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.090419] Key type asymmetric registered
[ 0.090441] Asymmetric key parser 'x509' registered
[ 0.090541] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.090553] io scheduler mq-deadline registered
[ 0.090560] io scheduler kyber registered
[ 0.091569] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[ 0.095297] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.164058] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.166389] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pb not found, using dummy regulator
[ 0.167563] printk: console [ttyS0] disabled
[ 0.187847] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A
[ 0.702720] printk: console [ttyS0] enabled
[ 0.731672] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.742960] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.749580] ehci-platform: EHCI generic platform driver
[ 0.755100] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 0.760774] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 0.768731] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000
[ 0.797213] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 0.804423] hub 1-0:1.0: USB hub found
[ 0.808377] hub 1-0:1.0: 1 port detected
[ 0.812959] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.819279] ohci-platform: OHCI generic platform driver
[ 0.824817] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 0.831558] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 0.839555] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[ 0.912278] hub 2-0:1.0: USB hub found
[ 0.916125] hub 2-0:1.0: 1 port detected
[ 0.923471] usbcore: registered new interface driver usb-storage
[ 0.930748] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[ 0.940032] sun6i-rtc 1c20400.rtc: registered as rtc0
[ 0.945094] sun6i-rtc 1c20400.rtc: RTC enabled
[ 0.949816] i2c /dev entries driver
[ 0.954200] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 0.962886] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[ 0.999313] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.006575] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pg not found, using dummy regulator
[ 1.041672] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[ 1.049759] usbcore: registered new interface driver usbhid
[ 1.055335] usbhid: USB HID core driver
[ 1.059383] fbtft_of_value: buswidth = 8
[ 1.063311] fbtft_of_value: debug = 0
[ 1.066969] fbtft_of_value: rotate = 90
[ 1.070841] fbtft_of_value: fps = 30
[ 1.084058] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.095947] mmc0: new high speed SD card at address e624
[ 1.103110] mmcblk0: mmc0:e624 SU02G 1.84 GiB
[ 1.108669] mmc1: queuing unknown CIS tuple 0x01 (3 bytes)
[ 1.119178] mmcblk0: p1 p2
[ 1.125484] mmc1: queuing unknown CIS tuple 0x1a (5 bytes)
[ 1.134200] mmc1: queuing unknown CIS tuple 0x1b (8 bytes)
[ 1.141570] mmc1: queuing unknown CIS tuple 0x80 (1 bytes)
[ 1.147100] mmc1: queuing unknown CIS tuple 0x81 (1 bytes)
[ 1.152699] mmc1: queuing unknown CIS tuple 0x82 (1 bytes)
[ 1.158256] mmc1: new high speed SDIO card at address 0001
[ 1.364748] random: fast init done
[ 1.400120] Console: switching to colour frame buffer device 40x30
[ 1.407009] graphics fb0: fb_ili9341 frame buffer, 320x240, 150 KiB video memory, 16 KiB buffer memory, fps=33, spi0.0 at 48 MHz
[ 1.420661] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered
[ 1.428304] sun4i-codec 1c22c00.codec: Failed to register our card
[ 1.435554] Initializing XFRM netlink socket
[ 1.439995] NET: Registered protocol family 17
[ 1.448384] Registering SWP/SWPB emulation handler
[ 1.464852] Loading compiled-in X.509 certificates
[ 1.480779] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.492236] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.498078] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 1.512457] random: crng init done
[ 1.519802] hub 3-0:1.0: USB hub found
[ 1.524108] hub 3-0:1.0: 1 port detected
[ 1.530974] debugfs: Directory '1c22c00.codec' with parent 'V3s Audio Codec' already present!
[ 1.539665] sun4i-codec 1c22c00.codec: ASoC: Failed to create component debugfs directory: -17
[ 1.549756] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[ 1.558304] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T00:05:48 UTC (348)
[ 1.566671] vcc5v0: disabling
[ 1.569728] ALSA device list:
[ 1.572699] #0: V3s Audio Codec
[ 1.615172] EXT4-fs (mmcblk0p2): recovery complete
[ 1.622057] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 1.630315] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 1.638526] devtmpfs: mounted
[ 1.642696] Freeing unused kernel memory: 1024K
[ 1.647461] Run /sbin/init as init process
[ 1.745748] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Initializing random number generator: OK
Saving random seed: OK
Starting network: OK
Welcome to Buildroot for the LicheePi Zero
licheepi-zero login:
哇酷小二 说:酷酷酷 说:就是控制台的输出呀
这个问题问得很好,可是我不知道怎么回答。
太难了吧 他们说是默认的hdmi是开着的 但是我不知道是不是这样子的
如果是串口可以登录,应该是因为没有打开双端显示,意味着屏幕默认没有开启登录,可以开启双端显示,右上角有解决办法
]]>昨天调试后报下面这个错误,根据楼上大佬说的是IO没有申请成功,让我在fbtft_request_one_gpio加打印函数看看,我照做了(一定要勤动手),结果真的发现问题。
[ 1.165851] fbtft_of_value: buswidth = 8 [ 1.169818] fbtft_of_value: debug = 0 [ 1.173478] fbtft_of_value: rotate = 270 [ 1.177395] fbtft_of_value: fps = 10 [ 1.181682] @ pdata->display.buswidth = 8 [ 1.185755] @ par->gpio.dc = 0 [ 1.188882] fb_ili9341 spi0.0: Missing info about 'dc' gpio. Aborting.
fbtft_request_one_gpio加入打印函数后的代码,关键的打印函数在108行。
5 static int fbtft_request_one_gpio(struct fbtft_par *par, 76 const char *name, int index, 77 struct gpio_desc **gpiop) 78 { 79 /* 80 struct device *dev = par->info->device; 81 struct device_node *node = dev->of_node; 82 int ret = 0; 83 84 if (of_find_property(node, name, NULL)) { 85 *gpiop = devm_gpiod_get_index(dev, dev->driver->name, index, 86 GPIOD_OUT_HIGH); 87 if (IS_ERR(*gpiop)) { 88 ret = PTR_ERR(*gpiop); 89 dev_err(dev, 90 "Failed to request %s GPIO:%d\n", name, ret); 91 return ret; 92 } 93 fbtft_par_dbg(DEBUG_REQUEST_GPIOS, par, "%s: '%s' GPIO\n", 94 __func__, name); 95 } 96 97 return ret; 98 */ 99 100 struct device *dev = par->info->device; 101 struct device_node *node = dev->of_node; 102 int gpio, flags, ret = 0; 103 enum of_gpio_flags of_flags; 104 char gpio_names[32]; 106 sprintf(gpio_names, "%s-gpios", name); 108 printk("@ gpio_names = %s\n", gpio_names); 109 if (of_find_property(node, gpio_names, NULL)) { 110 gpio = of_get_named_gpio_flags(node, gpio_names, index, &of_flags); 111 printk ("@ gpio = %d | ENOENT = %d | EPROBE_DEFER = %d \n", gpio, ENOENT, EPROBE_DEFER); 112 if (gpio == -ENOENT) 113 return 0; 114 if (gpio == -EPROBE_DEFER) 115 return gpio; 116 if (gpio < 0) { 117 dev_err(dev, 118 "failed to get '%s' from DT\n", gpio_names); 119 return gpio; 120 } 121 122 //active low translates to initially low 123 flags = (of_flags & OF_GPIO_ACTIVE_LOW) ? GPIOF_OUT_INIT_LOW : 124 GPIOF_OUT_INIT_HIGH; 125 ret = devm_gpio_request_one(dev, gpio, flags, 126 dev->driver->name); 127 if (ret) { 128 dev_err(dev, 129 "gpio_request_one('%s'=%d) failed with %d\n", 130 gpio_names, gpio, ret); 131 return ret; 132 } 133 134 *gpiop = gpio_to_desc(gpio); 135 fbtft_par_dbg(DEBUG_REQUEST_GPIOS, par, "%s: '%s' = GPIO%d\n", 136 __func__, gpio_names, gpio); 137 } 138 return ret; 139 }
内核启动后输出的如下内容
[ 1.165851] fbtft_of_value: buswidth = 8 [ 1.169818] fbtft_of_value: debug = 0 [ 1.173480] fbtft_of_value: rotate = 90 [ 1.177309] fbtft_of_value: fps = 30 [ 1.181541] @ gpio_names = reset-gpios-gpios [ 1.185883] @ gpio_names = dc-gpios-gpios [ 1.189960] @ gpio_names = rd-gpios-gpios [ 1.193969] @ gpio_names = wr-gpios-gpios [ 1.197999] @ gpio_names = cs-gpios-gpios [ 1.202004] @ gpio_names = latch-gpios-gpios [ 1.206267] @ gpio_names = db-gpios-gpios [ 1.210286] @ gpio_names = led-gpios-gpios [ 1.214377] @ gpio_names = aux-gpios-gpios [ 1.218478] @ gpio_names = db-gpios-gpios [ 1.222481] @ gpio_names = led-gpios-gpios [ 1.226570] @ gpio_names = aux-gpios-gpios [ 1.230668] @ gpio_names = db-gpios-gpios [ 1.234671] @ gpio_names = led-gpios-gpios [ 1.238770] @ gpio_names = aux-gpios-gpios [ 1.242859] @ gpio_names = db-gpios-gpios [ 1.246861] @ gpio_names = led-gpios-gpios [ 1.250961] @ gpio_names = aux-gpios-gpios [ 1.255049] @ gpio_names = db-gpios-gpios [ 1.259062] @ gpio_names = led-gpios-gpios [ 1.263151] @ gpio_names = aux-gpios-gpios [ 1.267239] @ gpio_names = db-gpios-gpios [ 1.271251] @ gpio_names = led-gpios-gpios [ 1.275340] @ gpio_names = aux-gpios-gpios [ 1.279440] @ gpio_names = db-gpios-gpios [ 1.283443] @ gpio_names = led-gpios-gpios [ 1.287531] @ gpio_names = aux-gpios-gpios [ 1.291630] @ gpio_names = db-gpios-gpios [ 1.295632] @ gpio_names = led-gpios-gpios [ 1.299731] @ gpio_names = aux-gpios-gpios [ 1.303821] @ gpio_names = db-gpios-gpios [ 1.307823] @ gpio_names = led-gpios-gpios [ 1.311921] @ gpio_names = aux-gpios-gpios [ 1.316010] @ gpio_names = db-gpios-gpios [ 1.320022] @ gpio_names = led-gpios-gpios [ 1.324111] @ gpio_names = aux-gpios-gpios [ 1.328210] @ gpio_names = db-gpios-gpios [ 1.332213] @ gpio_names = led-gpios-gpios [ 1.336302] @ gpio_names = aux-gpios-gpios [ 1.340400] @ gpio_names = db-gpios-gpios [ 1.344403] @ gpio_names = led-gpios-gpios [ 1.348502] @ gpio_names = aux-gpios-gpios [ 1.352591] @ gpio_names = db-gpios-gpios [ 1.356593] @ gpio_names = led-gpios-gpios [ 1.360693] @ gpio_names = aux-gpios-gpios [ 1.364781] @ gpio_names = db-gpios-gpios [ 1.368794] @ gpio_names = led-gpios-gpios [ 1.372884] @ gpio_names = aux-gpios-gpios [ 1.376973] @ gpio_names = db-gpios-gpios [ 1.380985] @ gpio_names = led-gpios-gpios [ 1.385065] @ gpio_names = aux-gpios-gpios [ 1.389165] @ gpio_names = db-gpios-gpios [ 1.393167] @ gpio_names = led-gpios-gpios [ 1.397255] @ gpio_names = aux-gpios-gpios [ 1.401356] @ pdata->display.buswidth = 8 [ 1.405358] @ par->gpio.dc = 0 [ 1.408425] fb_ili9341 spi0.0: Missing info about 'dc' gpio. Aborting. @xkt [ 1.415483] fb_ili9341: probe of spi0.0 failed with error -22
我是输出设备树中IO口的名称,发现reset和dc引脚的名称为:reset-gpios-gpios dc-gpios-gpios。跟设备树上的节点名称不一样,所以真如楼上大佬说的,是引脚没有申请成功!所以只需要把驱动和设备树的引脚名称修改为一致就好了。有多种修改方法。