WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-10-29 22:12:43

lanjackg2003
会员
注册时间: 2019-06-12
累计积分: 39

LicheePi Nano 运行lvgl只有半截,无全屏


如视频所示,在我的平台上面运行lvgl只有半截
我的设备分辨率是800*480(从设备开机的log可以看到)
none_20191029-2207.png

在linux下的dts配置如下

// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
 * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
 */

/dts-v1/;
#include "suniv-f1c100s.dtsi"

#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lichee Pi Nano";
	compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s",
		     "allwinner,suniv";

	aliases {
		serial0 = &uart0;
		spi0 = &spi0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	panel: panel {
		compatible = "lg,lb070wv8", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;

		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

	reg_vcc3v3: vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&de {
	status = "okay";
};

&mmc0 {
	vmmc-supply = <&reg_vcc3v3>;
	bus-width = <4>;
	broken-cd;
	status = "okay";
};

&otg_sram {
	status = "okay";
};


&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <50000000>;
    flash: w25q128@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128", "jedec,spi-nor";
        reg = <0>;
        spi-max-frequency = <50000000>;
        partitions {
            compatible = "fixed-partitions";
            #address-cells = <1>;
            #size-cells = <1>;

            partition@0 {
                label = "u-boot";
                reg = <0x000000 0x100000>;
                read-only;
            };

            partition@100000 {
                label = "dtb";
                reg = <0x100000 0x10000>;
                read-only;
            };

            partition@110000 {
                label = "kernel";
                reg = <0x110000 0x400000>;
                read-only;
            };

            partition@510000 {
                label = "rootfs";
                reg = <0x510000 0xAF0000>;
            };
        };
    };
};

&tcon0 {
	pinctrl-names = "default";
	pinctrl-0 = <&lcd_rgb666_pins>;
	status = "okay";
};

&tcon0_out {
	tcon0_out_lcd: endpoint@0 {
		reg = <0>;
		remote-endpoint = <&panel_input>;
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pins_a>;
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&usbphy {
	usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
	status = "okay";
};

与LCD屏幕相关是参考荔枝派Nano官网设置的

	panel: panel {
		compatible = "lg,lb070wv8", "simple-panel";
		#address-cells = <1>;
		#size-cells = <0>;
		enable-gpios = <&pio 4 6 GPIO_ACTIVE_HIGH>;

		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			panel_input: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&tcon0_out_lcd>;
			};
		};
	};

lvgl里面也配置成800*480(程序运行起来的时候也能够打印)
2019-10-29_22-11-23.png

请问这个问题应该如何解

离线

#2 2019-10-29 23:59:09

lanjackg2003
会员
注册时间: 2019-06-12
累计积分: 39

Re: LicheePi Nano 运行lvgl只有半截,无全屏

通过将UBoot分辨率修改为1024*600,发现我的之前的开机闪花屏的问题 https://whycan.cn/t_2932.html 没有了
具体log如下

U-Boot 2018.01-05680-gee09b52-dirty (Oct 29 2019 - 22:58:39 +0800) Allwinner Technology

CPU:   Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM:  32 MiB
MMC:   SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

Setting up a 1024x600 lcd console (overscan 0x0)
In:    serial@1c25000
Out:   serial@1c25000
Err:   serial@1c25000
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x100000, size 0x4000
SF: 16384 bytes @ 0x100000 Read: OK
device 0 offset 0x110000, size 0x400000
SF: 4194304 bytes @ 0x110000 Read: OK
## Flattened Device Tree blob at 80c00000
   Booting using the fdt blob at 0x80c00000
   Loading Device Tree to 80e5f000, end 80e63f36 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (root@59a7f169bc59) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #17 Tue Oct 29 23:01:56 CST 2019
[    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: Lichee Pi Nano
[    0.000000] Memory policy: Data cache writeback
[    0.000000] random: fast init done
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Memory: 22672K/32768K available (6144K kernel code, 240K rwdata, 1420K rodata, 1024K init, 246K bss, 10096K reserved, 0K 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 : 0xc2800000 - 0xff800000   ( 976 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (7136 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 241 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 247 kB)
[    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.000054] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000125] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000858] Console: colour dummy device 80x30
[    0.000968] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[    0.070250] pid_max: default: 32768 minimum: 301
[    0.070592] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070648] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.072384] CPU: Testing write buffer coherency: ok
[    0.074421] Setting up static identity map for 0x80100000 - 0x80100058
[    0.077248] devtmpfs: initialized
[    0.084261] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.084327] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.084582] pinctrl core: initialized pinctrl subsystem
[    0.087046] NET: Registered protocol family 16
[    0.089574] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.091841] cpuidle: using governor menu
[    0.120509] SCSI subsystem initialized
[    0.120909] usbcore: registered new interface driver usbfs
[    0.121114] usbcore: registered new interface driver hub
[    0.121347] usbcore: registered new device driver usb
[    0.121860] pps_core: LinuxPPS API ver. 1 registered
[    0.121888] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.121961] PTP clock support registered
[    0.122519] Advanced Linux Sound Architecture Driver Initialized.
[    0.124260] clocksource: Switched to clocksource timer
[    0.155245] NET: Registered protocol family 2
[    0.156949] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.157037] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.157102] TCP: Hash tables configured (established 1024 bind 1024)
[    0.157541] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.157623] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.158202] NET: Registered protocol family 1
[    0.159650] RPC: Registered named UNIX socket transport module.
[    0.159694] RPC: Registered udp transport module.
[    0.159711] RPC: Registered tcp transport module.
[    0.159726] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.162061] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.164139] Initialise system trusted keyrings
[    0.164894] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.184022] NFS: Registering the id_resolver key type
[    0.184132] Key type id_resolver registered
[    0.184156] Key type id_legacy registered
[    0.184442] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.200474] Key type asymmetric registered
[    0.200519] Asymmetric key parser 'x509' registered
[    0.200763] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.200803] io scheduler noop registered
[    0.200821] io scheduler deadline registered
[    0.201711] io scheduler cfq registered (default)
[    0.201746] io scheduler mq-deadline registered
[    0.201766] io scheduler kyber registered
[    0.202983] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[    0.213514] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.411693] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.419585] console [ttyS0] disabled
[    0.439876] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[    0.914900] console [ttyS0] enabled
[    0.925932] panel-simple panel: panel supply power not found, using dummy regulator
[    0.935536] SCSI Media Changer driver v0.25
[    0.943794] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.948720] 4 ofpart partitions found on MTD device spi0.0
[    0.954208] Creating 4 MTD partitions on "spi0.0":
[    0.959093] 0x000000000000-0x000000100000 : "u-boot"
[    0.967107] 0x000000100000-0x000000110000 : "dtb"
[    0.974859] 0x000000110000-0x000000510000 : "kernel"
[    0.982562] 0x000000510000-0x000001000000 : "rootfs"
[    0.991238] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.997907] ehci-platform: EHCI generic platform driver
[    1.003444] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.009768] ohci-platform: OHCI generic platform driver
[    1.015508] usbcore: registered new interface driver usb-storage
[    1.022814] i2c /dev entries driver
[    1.084398] sunxi-mmc 1c0f000.mmc: base:0x26b51b13 irq:19
[    1.091949] usbcore: registered new interface driver usbhid
[    1.097672] usbhid: USB HID core driver
[    1.121343] NET: Registered protocol family 17
[    1.126263] Key type dns_resolver registered
[    1.133291] Loading compiled-in X.509 certificates
[    1.152011] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0739e58)
[    1.161005] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc073913c)
[    1.168809] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.175484] [drm] No driver support for vblank timestamp query.
[    1.313927] Console: switching to colour frame buffer device 100x30
[    1.353630] sun4i-drm display-engine: fb0:  frame buffer device
[    1.360796] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[    1.370029] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    1.382001] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.387973] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[    1.398197] hub 1-0:1.0: USB hub found
[    1.402131] hub 1-0:1.0: 1 port detected
[    1.408687] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.426705] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.433467] vcc3v3: disabling
[    1.436557] ALSA device list:
[    1.439532]   #0: Loopback 1
[    1.443367] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.452089] cfg80211: failed to load regulatory.db
[    1.561036] random: crng init done
[    2.740261] jffs2: notice: (1) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[    2.760968] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[    2.769670] devtmpfs: mounted
[    2.779054] Freeing unused kernel memory: 1024K
Starting syslogd: OK
Starting klogd: OK
Initializing random number generator... done.
Starting network: OK

但是lvgl运行时候,任然检测到系统是800*480的分辨率,屏幕的Ui界面仍然是非全屏

离线

#3 2019-10-30 08:35:20

firstman
会员
注册时间: 2019-04-06
累计积分: 183

Re: LicheePi Nano 运行lvgl只有半截,无全屏

屏幕的Ui界面仍然是非全屏 是怎样的?你屏幕分辨率是多少?

离线

#4 2019-10-30 14:46:59

xm1994
会员
注册时间: 2019-07-03
累计积分: 35

Re: LicheePi Nano 运行lvgl只有半截,无全屏

设备分辨率都是手动指定的,不存在自动检测这一说。所以请查阅面板的spec并正确设置分辨率。

离线

#5 2019-10-30 14:47:30

xm1994
会员
注册时间: 2019-07-03
累计积分: 35

Re: LicheePi Nano 运行lvgl只有半截,无全屏

这是土鳖的arm嵌入式设备,不支持诸如EDID之类的显示器信息交互协议

最近编辑记录 xm1994 (2019-10-30 14:47:38)

离线

#6 2019-10-30 21:39:10

lanjackg2003
会员
注册时间: 2019-06-12
累计积分: 39

Re: LicheePi Nano 运行lvgl只有半截,无全屏

firstman 说:

屏幕的Ui界面仍然是非全屏 是怎样的?你屏幕分辨率是多少?

我用的是荔枝派淘宝店铺标配的 5寸电容屏 应该是800*480

离线

#7 2019-10-30 21:41:08

lanjackg2003
会员
注册时间: 2019-06-12
累计积分: 39

Re: LicheePi Nano 运行lvgl只有半截,无全屏

xm1994 说:

设备分辨率都是手动指定的,不存在自动检测这一说。所以请查阅面板的spec并正确设置分辨率。

我在Uboot里面设置了1024*600 或者800*480 都是可以开机

但是运行lvgl的时候,确实是lvgl的linux项目工程通过io读取的屏幕分辨率及位深

不知道你说指定设备分辨率是否指的是uboot设置屏幕分辨率?

离线

#8 2019-10-30 21:59:48

xm1994
会员
注册时间: 2019-07-03
累计积分: 35

Re: LicheePi Nano 运行lvgl只有半截,无全屏

确实是lvgl的linux项目工程通过io读取的屏幕分辨率及位深

lvgl是从framebuffer读取的分辨率,而framebuffer汇报的分辨率是从内核使用的dts中panel项设置的

最近编辑记录 xm1994 (2019-10-30 22:00:12)

离线

#9 2019-10-30 22:45:11

lanjackg2003
会员
注册时间: 2019-06-12
累计积分: 39

Re: LicheePi Nano 运行lvgl只有半截,无全屏

xm1994 说:

确实是lvgl的linux项目工程通过io读取的屏幕分辨率及位深

lvgl是从framebuffer读取的分辨率,而framebuffer汇报的分辨率是从内核使用的dts中panel项设置的


好的谢谢

这个问题解决了,是我的一个失误导致的

#define LV_HOR_RES_MAX (800)
#define LV_VER_RES_MAX (480)
被我写成
#define LV_HOR_RES (800)
#define LV_VER_RES (480)

然后lv_conf_checker.h文件的代码中会有如下处理

#ifndef LV_HOR_RES_MAX
#define LV_HOR_RES_MAX          (480)
#endif
#ifndef LV_VER_RES_MAX
#define LV_VER_RES_MAX          (320)
#endif

因此,每次开机都是480*320的分辨率

离线

#10 2019-10-30 22:48:31

lanjackg2003
会员
注册时间: 2019-06-12
累计积分: 39

Re: LicheePi Nano 运行lvgl只有半截,无全屏

最后在上传我的运行图片
_20191030224653.jpg

离线

页脚