页次: 1
好像没有啊,下面是我系统启动信息最后面的一部分, 我看Starting dropbear sshd: OK 已经OK啊, 这是什么情况
rtc-ds1307 0-0068: setting system clock to 2020-03-31 09:37:37 UTC (1585647457)
mmcblk0boot1: mmc0:0001 004G60 partition 2 2.00 MiB
mmcblk0: p1
mmcblk0boot1: unknown partition table
mmcblk0boot0: unknown partition table
EXT3-fs: barriers not enabled
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p1): warning: checktime reached, running e2fsck is recommended
EXT3-fs (mmcblk0p1): using internal journal
EXT3-fs (mmcblk0p1): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:1.
Freeing init memory: 200K
devpts: called with bogus options
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Starting mdev... OK
modprobe: can't change directory to '/lib/modules': No such file or directory
Saving random seed: OK
Starting network: OK
Starting dropbear sshd: OK
# ps
PID USER COMMAND
1 root init
2 root [kthreadd]
3 root [ksoftirqd/0]
4 root [kworker/0:0]
5 root [kworker/u:0]
6 root [migration/0]
7 root [migration/1]
8 root [kworker/1:0]
9 root [ksoftirqd/1]
10 root [khelper]
11 root [kworker/u:1]
341 root [sync_supers]
343 root [bdi-default]
345 root [kblockd]
376 root [ata_sff]
380 root [imx6q-ecspi.4]
391 root [khubd]
413 root [ipu1_task]
414 root [ipu1_task]
415 root [ipu2_task]
416 root [ipu2_task]
427 root [l2cap]
430 root [kworker/0:1]
432 root [cfg80211]
518 root [rpciod]
526 root [usb_wakeup thre]
528 root [otg_switch]
532 root [usb_wakeup thre]
543 root [kswapd0]
544 root [ksmd]
606 root [fsnotify_mark]
623 root [nfsiod]
636 root [crypto]
981 root [kworker/1:1]
1220 root [kapmd]
1257 root [mtdblock0]
1262 root [mtdblock1]
1318 root [irq/401-ads7846]
1324 root [2-0038]
1356 root [kworker/u:2]
1364 root [vpu_wq]
1369 root [galcore workque]
1370 root [Vivante Kernel ]
1371 root [galcore daemon ]
1372 root [galcore daemon ]
1373 root [galcore daemon ]
1410 root [krfcommd]
1414 root [mmcqd/0]
1415 root [mmcqd/0boot0]
1421 root [mmcqd/0boot1]
1429 root [kjournald]
1432 root [flush-179:0]
1445 root /sbin/syslogd -n
1449 root /sbin/klogd -n
1461 root /sbin/mdev -df
1493 root -sh
1494 root [kworker/0:2]
1508 root ps
大家好, 我问一个小问题
我自己定制了buildroot, 只设置了链接器和安装了dropbear, 系统启动都正常,内网外网都可以ping的通, 我现在用dropbear开启监听,出现问题如下
# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
netstat: /proc/net/tcp6: No such file or directory
#
#
# dropbear -p 2222
#
#
# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
netstat: /proc/net/tcp6: No such file or directory
#
# ping www.baidu.com
PING www.baidu.com (180.101.49.12): 56 data bytes
64 bytes from 180.101.49.12: seq=0 ttl=53 time=7.716 ms
64 bytes from 180.101.49.12: seq=1 ttl=53 time=7.628 ms
64 bytes from 180.101.49.12: seq=2 ttl=53 time=7.547 ms
我感觉端口打不开啊, 还是我缺什么配置了? 也不像缺配置了,按道理说系统刚启动时,我调用netstat -tln,怎么样也应该有点东西啊,我那个什么都没,昨天卡了一天了,请各位帮忙看看, 给点参考意见,谢谢了
是啊,谢谢!!!
点进去看了下,是我发的帖子。。。
shiqx429 说:你的意思是要将tslib整合至littlevgl中吗?就像 https://whycan.cn/t_2303.html 说的, 下午我试试看看
firstman 说:before data->point.x = 3921
before data->point.y = 3773这种一看就是 ADC 值,
要获取 LCD X/Y 要通过 tslib
tslib 有做滤波、去抖、校准等功能了。
你的意思是要将tslib整合至littlevgl中吗?就像 https://whycan.cn/t_2303.html 说的, 下午我试试看看
before data->point.x = 3921
before data->point.y = 3773这种一看就是 ADC 值,
要获取 LCD X/Y 要通过 tslib
tslib 有做滤波、去抖、校准等功能了。
我现在将littlevgl移植到nano板子上
Linux上运行ts_calibrate正常
Linux运行ts_test也正常
1608.891816: 529 287 255
1608.931818: 505 266 255
1608.971854: 474 243 255
1609.011849: 448 220 255
1609.051823: 423 199 255
1609.091839: 395 176 255
1609.131810: 358 158 255
1609.171840: 358 144 255
1609.211843: 343 132 255
1609.251849: 329 120 255
1609.291859: 326 116 255
1609.331852: 305 102 255
1609.371806: 290 88 255
1609.411850: 288 81 255
点击屏幕后,上面的数据至少都在800*480之间
之后运行littlevgl的demo程序,发现demo自动运行(就是3个tab循环播放那种),点击屏幕没有任何效果,我在littlevgl中的evdev.c打印了log,获得的点坐标非常不对
code如下:
bool evdev_read(lv_indev_drv_t * drv, lv_indev_data_t * data)
{
struct input_event in;
while(read(evdev_fd, &in, sizeof(struct input_event)) > 0) {
printf("in.type = %d\n", in.type);
printf("in.code = %d\n", in.code);
if(in.type == EV_REL) {
if(in.code == REL_X)
#if EVDEV_SWAP_AXES
evdev_root_y += in.value;
#else
evdev_root_x += in.value;
#endif
else if(in.code == REL_Y)
#if EVDEV_SWAP_AXES
evdev_root_x += in.value;
#else
evdev_root_y += in.value;
#endif
} else if(in.type == EV_ABS) {
if(in.code == ABS_X)
#if EVDEV_SWAP_AXES
evdev_root_y = in.value;
#else
evdev_root_x = in.value;
#endif
else if(in.code == ABS_Y)
#if EVDEV_SWAP_AXES
evdev_root_x = in.value;
#else
evdev_root_y = in.value;
#endif
else if(in.code == ABS_MT_POSITION_X)
#if EVDEV_SWAP_AXES
evdev_root_y = in.value;
#else
evdev_root_x = in.value;
#endif
else if(in.code == ABS_MT_POSITION_Y)
#if EVDEV_SWAP_AXES
evdev_root_x = in.value;
#else
evdev_root_y = in.value;
#endif
} else if(in.type == EV_KEY) {
if(in.code == BTN_MOUSE || in.code == BTN_TOUCH) {
if(in.value == 0)
evdev_button = LV_INDEV_STATE_REL;
else if(in.value == 1)
evdev_button = LV_INDEV_STATE_PR;
} else if(drv->type == LV_INDEV_TYPE_KEYPAD) {
data->state = (in.value) ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL;
switch(in.code) {
case KEY_BACKSPACE:
data->key = LV_KEY_BACKSPACE;
break;
case KEY_ENTER:
data->key = LV_KEY_ENTER;
break;
case KEY_UP:
data->key = LV_KEY_UP;
break;
case KEY_LEFT:
data->key = LV_KEY_PREV;
break;
case KEY_RIGHT:
data->key = LV_KEY_NEXT;
break;
case KEY_DOWN:
data->key = LV_KEY_DOWN;
break;
default:
data->key = 0;
break;
}
evdev_key_val = data->key;
evdev_button = data->state;
return false;
}
}
}
if(drv->type == LV_INDEV_TYPE_KEYPAD) {
/* No data retrieved */
data->key = evdev_key_val;
data->state = evdev_button;
return false;
}
if(drv->type != LV_INDEV_TYPE_POINTER)
return false;
/*Store the collected data*/
#if EVDEV_SCALE
data->point.x = map(evdev_root_x, 0, EVDEV_SCALE_HOR_RES, 0, lv_disp_get_hor_res(drv->disp));
data->point.y = map(evdev_root_y, 0, EVDEV_SCALE_VER_RES, 0, lv_disp_get_ver_res(drv->disp));
#else
#if EVDEV_CALIBRATE
data->point.x = map(evdev_root_x, EVDEV_HOR_MIN, EVDEV_HOR_MAX, 0, lv_disp_get_hor_res(drv->disp));
data->point.y = map(evdev_root_y, EVDEV_VER_MIN, EVDEV_VER_MAX, 0, lv_disp_get_ver_res(drv->disp));
#else
data->point.x = evdev_root_x;
data->point.y = evdev_root_y;
#endif
#endif
data->state = evdev_button;
printf("before data->point.x = %d\n", data->point.x);
printf("before data->point.y = %d\n", data->point.y);
if(data->point.x < 0)
data->point.x = 0;
if(data->point.y < 0)
data->point.y = 0;
if(data->point.x >= lv_disp_get_hor_res(drv->disp))
data->point.x = lv_disp_get_hor_res(drv->disp) - 1;
if(data->point.y >= lv_disp_get_ver_res(drv->disp))
data->point.y = lv_disp_get_ver_res(drv->disp) - 1;
printf("after data->point.x = %d\n", data->point.x);
printf("after data->point.y = %d\n", data->point.y);
return false;
}
log如下
before data->point.x = 3921
before data->point.y = 3773
after data->point.x = 799
after data->point.y = 479
before data->point.x = 3921
before data->point.y = 3773
after data->point.x = 799
after data->point.y = 479
before data->point.x = 3921
before data->point.y = 3773
after data->point.x = 799
after data->point.y = 479
从(read(evdev_fd, &in, sizeof(struct input_event))获得的点基本都是3000多以上的,之后由于都超过800*480了,在下边的代码中都处理为799*499了
if(data->point.x < 0)
data->point.x = 0;
if(data->point.y < 0)
data->point.y = 0;
if(data->point.x >= lv_disp_get_hor_res(drv->disp))
data->point.x = lv_disp_get_hor_res(drv->disp) - 1;
if(data->point.y >= lv_disp_get_ver_res(drv->disp))
data->point.y = lv_disp_get_ver_res(drv->disp) - 1;
lv_drv_conf.h如下
#ifndef USE_EVDEV
# define USE_EVDEV 1
#endif
#if USE_EVDEV
# define EVDEV_NAME "/dev/input/event1" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
main.c如下
lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv); /*Basic initialization*/
evdev_init();
indev_drv.type = LV_INDEV_TYPE_POINTER; /*See below.*/
indev_drv.read_cb = evdev_read; /*See below.*/
lv_indev_drv_register(&indev_drv); /*Register the driver in LittlevGL*/
我现在搞不清我哪里配置错了,请帮忙看看?
另外运行官方的littlevgl的demo后,3个tab是循环播放吗?我感觉这个现象也怪怪的,我在pc_imulator上也运行过,他那个就没循环播放
https://whycan.cn/files/members/1951/333490307.jpeg
我的板子好像跟上个帖子不太一样, 我的新一点? 尤其是触控芯片那里
使用的是荔枝派Nano 跨界核心板,板子的tp芯片是ns2009, 之后我下载了(zero-4.13.y分支: git clone https://github.com/Lichee-Pi/linux.git -b zero-4.13.y, 将zero板子代码中的ns2009.c拿出来, 添加到nano内核中并且使能, 编译都正常
suniv-f1c100s-licheepi-nano.dts 如下:
&i2c0 {
status = "okay";
ns2009: ns2009@48 {
compatible = "nsiway,ns2009";
reg = <0x48>;
};
};
开机log如下:
U-Boot 2018.01-05679-g013ca45 (Sep 11 2019 - 11:53:25 +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 800x480 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 80e6448f ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-next-20180202-licheepi-nano+ (steven@ubuntu) (gcc version 7.2.1 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 rootfs2
[ 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: 23736K/32768K available (5120K kernel code, 206K rwdata, 1240K rodata, 1024K ini)
[ 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) (6112 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 207 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 240 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.000122] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000797] Console: colour dummy device 80x30
[ 0.000890] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070248] pid_max: default: 32768 minimum: 301
[ 0.070727] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070771] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.072347] CPU: Testing write buffer coherency: ok
[ 0.074257] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076873] devtmpfs: initialized
[ 0.084176] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 191126044627s
[ 0.084244] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.084565] pinctrl core: initialized pinctrl subsystem
[ 0.086914] NET: Registered protocol family 16
[ 0.088807] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.090789] cpuidle: using governor menu
[ 0.115754] SCSI subsystem initialized
[ 0.116024] pps_core: LinuxPPS API ver. 1 registered
[ 0.116051] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.116143] PTP clock support registered
[ 0.118079] clocksource: Switched to clocksource timer
[ 0.148213] NET: Registered protocol family 2
[ 0.149791] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[ 0.149862] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.149932] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.149981] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.150251] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.150309] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.150886] NET: Registered protocol family 1
[ 0.152110] RPC: Registered named UNIX socket transport module.
[ 0.152155] RPC: Registered udp transport module.
[ 0.152171] RPC: Registered tcp transport module.
[ 0.152187] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.154401] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.156465] Initialise system trusted keyrings
[ 0.157097] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.178480] NFS: Registering the id_resolver key type
[ 0.178562] Key type id_resolver registered
[ 0.178581] Key type id_legacy registered
[ 0.178694] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.193716] Key type asymmetric registered
[ 0.193757] Asymmetric key parser 'x509' registered
[ 0.194009] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.194043] io scheduler noop registered
[ 0.194060] io scheduler deadline registered
[ 0.194862] io scheduler cfq registered (default)
[ 0.194899] io scheduler mq-deadline registered
[ 0.194919] io scheduler kyber registered
[ 0.205992] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.395609] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.403059] console [ttyS0] disabled
[ 0.423349] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 25, base_baud = 6250000) is a 16550A
[ 0.877819] console [ttyS0] enabled
[ 0.889839] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.899548] SCSI Media Changer driver v0.25
[ 0.907582] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.912437] spi0.0: parsing partitions cmdlinepart
[ 0.918381] spi0.0: got parser (null)
[ 0.922071] spi0.0: parsing partitions ofpart
[ 0.926422] spi0.0: got parser ofpart
[ 0.930235] spi0.0: parser ofpart: 4
[ 0.933814] 4 ofpart partitions found on MTD device spi0.0
[ 0.939356] Creating 4 MTD partitions on "spi0.0":
[ 0.944169] 0x000000000000-0x000000100000 : "u-boot"
[ 0.951916] 0x000000100000-0x000000110000 : "dtb"
[ 0.959530] 0x000000110000-0x000000510000 : "kernel"
[ 0.967177] 0x000000510000-0x000001000000 : "rootfs"
[ 0.976618] input: 1c23400.lradc as /devices/platform/soc/1c23400.lradc/input/input0
[ 0.985567] i2c /dev entries driver
[ 0.991986] input: ns2009_ts as /devices/platform/soc/1c27000.i2c/i2c-0/0-0048/input/input1
[ 1.030615] sunxi-mmc 1c0f000.mmc: base:0x520166ba irq:21
[ 1.038872] NET: Registered protocol family 17
[ 1.043565] Key type dns_resolver registered
[ 1.050296] Loading compiled-in X.509 certificates
[ 1.066162] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0638e90)
[ 1.074194] sun4i-tcon 1c0c000.lcd-controller: Missing LVDS properties, Please upgrade your DT
[ 1.082882] sun4i-tcon 1c0c000.lcd-controller: LVDS output disabled
[ 1.090158] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc06380a8)
[ 1.097823] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.104545] [drm] No driver support for vblank timestamp query.
[ 1.311341] Console: switching to colour frame buffer device 100x30
[ 1.351010] sun4i-drm display-engine: fb0: frame buffer device
[ 1.358054] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 1.366663] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.384089] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.391906] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.400652] cfg80211: failed to load regulatory.db
[ 1.499931] random: crng init done
[ 2.941568] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 2.949507] devtmpfs: mounted
[ 2.959233] Freeing unused kernel memory: 1024K
Starting logging: OK
Initializing random number generator... done.
Starting network: OK
其中有如下这log,代表我驱动应该没问题吧?
[ 0.985567] i2c /dev entries driver
[ 0.991986] input: ns2009_ts as /devices/platform/soc/1c27000.i2c/i2c-0/0-0048/input/input1
之后执行
ts_calibrate
# ts_calibrate
[ 58.088255] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 58.094818] input input1: Poll touch data failed: -110
xres = 800, yres = 480
[ 60.248158] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 60.254759] input input1: Poll touch data failed: -110
[ 62.408158] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 62.414729] input input1: Poll touch data failed: -110
[ 64.568155] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 64.574722] input input1: Poll touch data failed: -110
[ 66.728180] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 66.734750] input input1: Poll touch data failed: -110
[ 68.888171] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 68.894738] input input1: Poll touch data failed: -110
[ 71.048183] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 71.054752] input input1: Poll touch data failed: -110
我有些疑问, 有论坛上的热心朋友说是触控芯片I2C没有上拉电阻, 帖子我都看了,但是看他们log信息,基本上都是v3s板子, 我是nano板子,难道也是这个样子吗?要额外去焊接两个上拉电阻, 我手头上只有3.3k电阻,可行不?
我仔细看过置顶的帖子"荔枝派nano(f1c100s)的SPI-Flash系统编译创建全过程"这个帖子, 是2月份的帖子,里面没有提到上拉电阻的问题,哪位能给我个准确的信息,nano板子到底要不要接上拉电阻,我是偏软件的,焊工不行,担心板子搞坏了,板子太小了
不行, 另外我输入root 和密码whycan.cn 无法登入进一步测试, 界面显示了,屏幕触控无效
也是报 i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0,但没报其他错
[ 0.972214] 4 ofpart partitions found on MTD device spi0.0
[ 0.977839] Creating 4 MTD partitions on "spi0.0":
[ 0.982659] 0x000000000000-0x000000100000 : "u-boot"
[ 0.990382] 0x000000100000-0x000000110000 : "dtb"
[ 0.997935] 0x000000110000-0x000000510000 : "kernel"
[ 1.005717] 0x000000510000-0x000001000000 : "rootfs"
[ 1.013989] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.020663] ehci-platform: EHCI generic platform driver
[ 1.026292] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.032515] ohci-platform: OHCI generic platform driver
[ 1.038274] usbcore: registered new interface driver usb-storage
[ 1.046490] input: 1c23400.lradc as /devices/platform/soc/1c23400.lradc/input/input0
[ 1.056996] input: 1c24800.rtp as /devices/platform/soc/1c24800.rtp/input/input1
[ 1.065474] i2c /dev entries driver
[ 3.125159] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 3.131723] rtc-pcf8563 0-0051: pcf8563_write_block_data: err=-110 addr=0e, data=03
[ 3.139439] rtc-pcf8563 0-0051: pcf8563_probe: write error
[ 3.145112] rtc-pcf8563: probe of 0-0051 failed with error -5
[ 3.153300] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 3.215211] sunxi-mmc 1c0f000.mmc: base:0xcffafbc9 irq:20
[ 3.223031] usbcore: registered new interface driver usbhid
[ 3.228747] usbhid: USB HID core driver
好的,我一会试一下
我思故我在 说:i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
这个错误一般是硬件出问题, 看有没有上拉。
烧这个固件看下情况: https://whycan.cn/t_2689.html
失败了
[ 0.993157] suniv-pinctrl 1c20800.pinctrl: pin PE9 already requested by 0-005d; cannot claim for 1c20800.pinctrl:137
[ 1.003931] suniv-pinctrl 1c20800.pinctrl: pin-137 (1c20800.pinctrl:137) status -22
[ 1.011792] Goodix-TS: probe of 0-005d failed with error -22
[ 1.018494] suniv-pinctrl 1c20800.pinctrl: pin PE9 already requested by 0-0014; cannot claim for 1c20800.pinctrl:137
[ 1.029081] suniv-pinctrl 1c20800.pinctrl: pin-137 (1c20800.pinctrl:137) status -22
[ 1.036823] Goodix-TS: probe of 0-0014 failed with error -22
dts添加两个不同地址的gt911 我参考了帖子 ,正在试
&i2c0 { pinctrl-0 = <&i2c0_pins>; pinctrl-names = "default"; status = "okay"; gt9115d: touchscreen@5d { compatible = "goodix,gt911"; reg = <0x5d>; interrupt-parent = <&pio>; interrupts = <4 3 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&ts_reset_pin>; irq-gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* INT */ reset-gpios = <&pio 4 9 GPIO_ACTIVE_HIGH>; /* RST */---------------------这里也改了之前是4 4 现在改成4 9 /* touchscreen-swapped-x-y; */ }; gt91114: touchscreen@14 { compatible = "goodix,gt911"; reg = <0x14>; interrupt-parent = <&pio>; interrupts = <4 3 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&ts_reset_pin>; irq-gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* INT */ reset-gpios = <&pio 4 9 GPIO_ACTIVE_HIGH>; /* RST */ /* touchscreen-swapped-x-y; */ }; }; &pio { gt911_int_pin: gt911_int_pin@0 { pins = "PE3"; function = "gpio_in"; }; ts_reset_pin: ts_reset_pin@0 { pins = "PE9"; function = "gpio_out"; }; };
dts添加两个不同地址的gt911 我参考了帖子 ,正在试
&i2c0 {
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
gt9115d: touchscreen@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&pio>;
interrupts = <4 3 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&ts_reset_pin>;
irq-gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* INT */
reset-gpios = <&pio 4 9 GPIO_ACTIVE_HIGH>; /* RST */---------------------这里也改了之前是4 4 现在改成4 9
/* touchscreen-swapped-x-y; */
};
gt91114: touchscreen@14 {
compatible = "goodix,gt911";
reg = <0x14>;
interrupt-parent = <&pio>;
interrupts = <4 3 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&ts_reset_pin>;
irq-gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* INT */
reset-gpios = <&pio 4 9 GPIO_ACTIVE_HIGH>; /* RST */
/* touchscreen-swapped-x-y; */
};
};
&pio {
gt911_int_pin: gt911_int_pin@0 {
pins = "PE3";
function = "gpio_in";
};
ts_reset_pin: ts_reset_pin@0 {
pins = "PE9";
function = "gpio_out";
};
};
好的,我一会试一下
i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
这个错误一般是硬件出问题, 看有没有上拉。
烧这个固件看下情况: https://whycan.cn/t_2689.html
# i2cdetect -l
i2c-0 i2c mv64xxx_i2c adapter I2C adapter
# i2cdetect -r -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: [ 2659.848214] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
-- [ 2661.928204] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
-- [ 2664.008168] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
-- ^C[ 2666.088209] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
我现在触摸屏驱动不行,请帮忙看看,指导一下
首先我已经看过
https://whycan.cn/t_2688.html 还有 https://whycan.cn/t_2482.html#p19396
里面提到的问题我下面再说,我先说一下我的改动
1.内核中已经勾选Gooddix I2C touchscreen,之前内核是[M],我改为*
2.suniv-f1c100s-licheepi-nano.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>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
model = "Lichee Pi Nano";
compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s",
"allwinner,suniv";
aliases {
serial0 = &uart0;
spi0 = &spi0;
};
chosen {
stdout-path = "serial0:115200n8";
};
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
panel: panel {
/* compatible = "qiaodian,qd43003c0-40", "simple-panel";*/
compatible = "lg,lb070wv8", "simple-panel";
/* compatible = "sharp,lq043t1dg04", "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>;
};
};
};
leds {
compatible = "gpio-leds";
// blue_led {
// label = "licheepi:blue:usr";
// gpios = <&pio 4 4 GPIO_ACTIVE_LOW>; /* PE4 */
// linux,default-trigger = "disk-activity";
// };
blue_led {
label = "licheepi:blue:usr";
gpios = <&pio 4 5 GPIO_ACTIVE_LOW>; /* PE5 */
linux,default-trigger = "heartbeat";
};
};
};
&de {
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>;
};
partition@100000 {
label = "dtb";
reg = <0x100000 0x10000>;
};
partition@110000 {
label = "kernel";
reg = <0x110000 0x400000>;
};
partition@510000 {
label = "rootfs";
reg = <0x510000 0xAF0000>;
};
};
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&mmc0 {
vmmc-supply = <®_vcc3v3>;
bus-width = <4>;
broken-cd;
status = "okay";
};
&tcon0 {
pinctrl-names = "default";
pinctrl-0 = <&lcd_rgb666_pins>;
status = "okay";
};
&tcon0_out {
tcon0_out_lcd: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
&i2c0 {
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
gt911: touchscreen@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <&pio>;
interrupts = <4 3 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&ts_reset_pin>;
irq-gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* INT */
reset-gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; /* RST */
/* touchscreen-swapped-x-y; */
};
};
&pio {
gt911_int_pin: gt911_int_pin@0 {
pins = "PE3";
function = "gpio_in";
};
ts_reset_pin: ts_reset_pin@0 {
pins = "PE9";-----------------------------------------------我改动过,之前默认是PE3,我已经改成PE9了
function = "gpio_out";
};
};
&lradc {
vref-supply = <®_vcc3v3>;
status = "okay";
button@200 {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
channel = <0>;
voltage = <200000>;
};
button@400 {
label = "Volume Down";
linux,code = <KEY_VOLUMEDOWN>;
channel = <0>;
voltage = <400000>;
};
button@600 {
label = "Select";
linux,code = <KEY_SELECT>;
channel = <0>;
voltage = <600000>;
};
button@800 {
label = "Start";
linux,code = <KEY_OK>;
channel = <0>;
voltage = <800000>;
};
};
刷机之后启动板子
部分log如下
[ 0.940333] Creating 4 MTD partitions on "spi0.0":
[ 0.945148] 0x000000000000-0x000000100000 : "u-boot"
[ 0.952937] 0x000000100000-0x000000110000 : "dtb"
[ 0.960578] 0x000000110000-0x000000510000 : "kernel"
[ 0.968316] 0x000000510000-0x000001000000 : "rootfs"
[ 0.977583] input: 1c23400.lradc as /devices/platform/soc/1c23400.lradc/input/input0
[ 0.986534] i2c /dev entries driver
[ 3.208195] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 3.214754] Goodix-TS 0-005d: i2c test failed attempt 1: -110
[ 5.368175] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 5.374716] Goodix-TS 0-005d: i2c test failed attempt 2: -110
[ 5.418173] Goodix-TS 0-005d: I2C communication failure: -110
[ 5.424049] Goodix-TS: probe of 0-005d failed with error -110
[ 5.459185] sunxi-mmc 1c0f000.mmc: base:0x2b2be80f irq:21
[ 5.467168] NET: Registered protocol family 17
我这个现象跟上面提到的帖子现象一样
参考第一个帖子说有两个可能
1.
谢谢晕哥 之前一直怀疑设备树写得有问题 检测了好几遍,也确实检查出了问题。后来尝试控制PE11 和PE12,发现抓从底板上引出来的PE12没办法拉低,但cat value 又确实是0,最后发现是核心板和底板就这个脚虚焊了 现在i2cdetect:
# i2cdetect -y -r 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- 5d -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
虽然log中好像关于触屏的驱动还是有问题:
[ 0.663484] i2c /dev entries driver [ 0.781273] Goodix-TS 0-0014: i2c test failed attempt 1: -6 [ 0.821241] Goodix-TS 0-0014: i2c test failed attempt 2: -6 [ 0.861061] Goodix-TS 0-0014: I2C communication failure: -6
但至少I2c是没问题的了
-----------------------------说的是虚焊了, 我跟他不一样,我的是小小的那块nano板子,邮票大小,不太可能虚焊
2.
谢谢晕哥 已经可以了,可以读到gt911,可以运行 ts_test
[ 0.663190] i2c /dev entries driver [ 0.782659] Goodix-TS 0-005d: ID 911, version: 1060 [ 0.790639] Goodix-TS 0-005d: Direct firmware load for goodix_911_cfg.bin failed with error -2
总结一下,应该是需要dts将引脚改对(PE3),还有就是<reg>也要改到相应0x5d
----------------------------------这个我现在的代码也是这样的,也是PE3 0x5d
参考第二个帖子
楼主说"gt911根据reset pin和interrupt pin拉高的顺序决定使用i2c地址0x14或0x5d, 但似乎linux的goodix驱动尚未支持设置两个时序,导致在调试时地址会变化,从而无法驱动。可通过在dts中添加两个不同地址的gt911来解决,总有一个能驱动成功。"
这个怎么在dts添加两个不同地址的gt911啊, 这个我不会,能指导一下吗?
另外我现在用的板子是 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.6d612e8davnXcb&id=584657396198&_u=b1t9k8ak2a0b
配套的电路图
0x14/0x5d/0x48我都试过, 现象一样的, 请多帮忙看看,谢谢!!!!!
谢谢,我的问题跟他不一样 我的是tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
可能是kernel那边触摸屏驱动没加,再试
tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
两种情况:一种内核未加入触摸屏的支持,另一种情况是将TSLIB_TSDEVICE=/dev/input/eventN,改为 TSLIB_TSDEVICE=/dev/input/eventX
@shiqx429 https://whycan.cn/t_2717.html#p21836
加上了,非常感谢, 目前报错提示selected device is not a touchscreen, 网上也有人说这个问题,我在找资料看看
不用先添加 Qt5, 只要 -> Target packages -> Libraries -> Hardware handling -> tslib
Symbol: BR2_PACKAGE_TSLIB [=y] │ │ Type : bool │ │ Prompt: tslib │ │ Location: │ │ -> Target packages │ │ -> Libraries │ │ (4) -> Hardware handling
我看过了,如果确实不用libinput的话, 那就是我之前一版那种情况,但是触控不行, 就是触控无效我才去想开启libinput
下面是我的设置,这个是显示都正常,就是无法触控
Makefile文件
LVGL_DIR ?= ${shell pwd}
CFLAGS ?= -Wall -Wshadow -Wundef -Wmaybe-uninitialized -O3 -g0 -I$(LVGL_DIR)/
LDFLAGS ?= -lSDL2 -lm
BIN = demo
lv_drv_conf.h文件
/*-----------------------------------------
* Linux frame buffer device (/dev/fbx)
*-----------------------------------------*/
#ifndef USE_FBDEV
# define USE_FBDEV 1
#endif
#if USE_FBDEV
# define FBDEV_PATH "/dev/fb0"
#endif
/*-------------------------------------------------
* Touchscreen as libinput interface (for Linux based systems)
*------------------------------------------------*/
#ifndef USE_LIBINPUT
# define USE_LIBINPUT 0
#endif
#if USE_LIBINPUT
# define LIBINPUT_NAME "/dev/input/event0" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
#endif /*USE_LIBINPUT*/
/*-------------------------------------------------
* Mouse or touchpad as evdev interface (for Linux based systems)
*------------------------------------------------*/
#ifndef USE_EVDEV
# define USE_EVDEV 1
#endif
main.c 文件添加
#include "lv_drivers/indev/evdev.h"
lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv); /*Basic initialization*/
evdev_init();
indev_drv.type = LV_INDEV_TYPE_POINTER; /*See below.*/
indev_drv.read_cb = evdev_read; /*See below.*/
lv_indev_drv_register(&indev_drv);
shiqx429 说:USE_EVDEV我已经设置过了,就是触控无效我才去找置顶的帖子,那里有说"littlegv :在官方的framebuffer demo基础上添加了libinput设备的初始化,就可以用触屏了。",我也不确定呢,在试!
qter 说:也可以用 USE_EVDEV=1 吧, libinput 是不是把 ev又封装了一遍?
用evdev就可以,可以看我项目里的这个提交
https://github.com/summershrimp/opendeck-gui/commit/f16c256390c36c5360f5efb919942c9960aef1eb
状况更新一下:
1.buildroot中 要将SDL2加上
2.CC?= 要将?去掉(不去可能也没事,后续再确认)
3.disp_drv.disp_flush = fbdev_flush; 改为disp_drv.flush_cb = fbdev_flush; 官方release6.0说改了
目前启动之后
# ./demo
The framebuffer device was opened successfully.
800x480, 32bpp
The framebuffer device was mapped to memory successfully.
Segmentation fault
暂时还没启动起来,我再看看
我现在改了如下几个地方
littlegl:
Makefile中CC = /home/steven/develop/buildroot-2017.08/output/host/bin/arm-linux-gcc(问号去掉了,报sdl.h找不到,我在想办法改)
#define USE_FBDEV 1
# define USE_EVDEV 1
main中添加(按文档添加的)
/* 添加 fb 支持 */
#include "lv_drivers/display/fbdev.h"
#include "lv_drivers/indev/evdev.h"
/*Linux frame buffer device init*/
fbdev_init();
/*Add a display the LittlevGL sing the frame buffer driver*/
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv);
disp_drv.disp_flush = fbdev_flush; /*It flushes the internal graphical buffer to the frame buffer*/
lv_disp_drv_register(&disp_drv);
这个目前报错,main.c:78:13: error: ‘lv_disp_drv_t {aka struct _disp_drv_t}’ has no member named ‘disp_flush’
buildroot:
我正在看看哪里加SDL的支持
当然会报错了,你的buildroot 很可能没有开启SDL2,而且嵌入式下面一般用fb,而不是SDL
还是报同样的错./demo: line 1: syntax error: unexpected ")"
littlevgl 的makfile中CC ?= /home/steven/develop/buildroot-2017.08/output/host/bin/arm-linux-gcc
buildroot中toolclain type-->buildroot toolchain 默认的链接器
在试, 一会回你
awfans 说:先不用管其他的, 你使用 buildroot 的 output/host/bin/arm-linux-gcc 编译 lvgl 就可以了。
感谢! 真有可能是工具链的问题,但我还没试成功
buildroot的工具链 我就用默认的,没动, 之后我在buildroot下找到了它下载的arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2压缩包, 之后我解压,有个arm-2014.05文件夹,内部有arm-none-linux-gnueabi和 bin 等文件夹
之后我就到littlevgl中将Makefile修改如下
CC ?= /home/steven/dev/arm-2014.05/arm-none-linux-gnueabi-gcc
也能编译过, 但最后下载到板子上, 执行./demo 还是报同样的错 line 1: syntax error: unexpected ")".
我感觉我还是哪里不对, 是不是buildroot中也要配置外部工具链? 也就是arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2这个,我尝试改了,但是编译buildroot老是提示Cannot execute cross-compiler
1. 首先用 crc32或者md5工具看下文件是否相同, 与电脑上的文件对比是否一致.
2. 如果一致, 用静态链接, gcc 的参数是 -static
3. 如果用静态链接没有问题, 那是你的rootfs里面的c库和littlevgl的c库不一致, 用同一个工具链编译即可。
我现在已经编译好了LittlevGL的bin, 我参考pack_tf_img.sh这个脚本,里面有以下语句
if [ $_ADD_LITTLEVGL_DEMO = true ]
echo_tip "we gonna add littleVgl demo in your dir /root"
then sudo mkdir -p p2/root/littlevgl_demo &&\
sudo cp $_TOP_DIR/littlevgl_demo/$_SCREEN_PRAM/* p2/root/littlevgl_demo/
我就在我的脚本里加了
#LittlevGL
mkdir -p rootfs/root/littlevgl_demo 我加的
cp -r $LITTLEVGL_BIN rootfs/root/littlevgl_demo我加的
mkfs.jffs2 -s 0x100 -e 0x10000 --pad=0xAF0000 -o jffs2.img -d rootfs/ 以下是文档里的语句,
dd if=jffs2.img of=$OUT_FILENAME bs=1k seek=5184 conv=notrunc
我也将编译好的demo的可执行文件放到了root/littlevgl_demo 文件夹下, 之后打包成spi的flashimage,下载到板子上, 之后也没有什么界面出来, 还是跟没一直littlevgl以前一样,只是控制台界面, 我是哪里少加了什么吧?是不是linux启动后要自动运行littlevgl的demo可执行文件? 我尝试过在控制台下运行那个demo可执行文件(./demo), 提示我./demo: line 1: syntax error: unexpected ")"
大家好
我在编译LittlevGL时候,执行make后,提示缺少SDL.h
我已经执行了
### Install SDL
You can download SDL from https://www.libsdl.org/
On Linux you can install it via terminal:
```
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
```
并且/usr/include/SDL2/SDL.h 也是在的,怎么提示我找不到这个文件呢?
好文章,之前没看到,可惜了!
再发一次这个: https://whycan.cn/t_2179.html 希望对你有所帮助
我是一步一步安装文档进行操作的(http://nano.lichee.pro/build_sys/rootfs.html)
我有两个问题
1.最后生成的image是rootfs.tar(98M), 但是提供的一键刷机工具包中的文件系统是rootfs.tar.gz(2.3M),这个是怎么回事?
我在menuconfig->FileSystem image->tar the root system中也确实是生成tar的,我展开这个选项发现没有生成tar.gz的压缩格式, 这个是我哪里搞错了吗?怎么跟一键刷机工具中的rootfs差这么多
2.关于menuconfig中的toolclain-->toolclain type 应该选哪个?是builtroot toolclain 还是external toolclain? 我在论坛上看到一个帖子好像是说用external toolclain如果使用我们编译uboot的toolclain 可能是有问题
我用的buildroot是buildroot-2017.08.tar.gz, 以上两个问题请有做过这块的朋友帮忙看看,谢谢了!
页次: 1