您尚未登录。

#1 全志 SOC » 请问下f1c100s使用xboot如何配置st7789呢? » 2021-09-20 18:51:39

tlxfif
回复: 0

本来打算使用linux的,可惜linux太难了(需要系统学习一下)
后来看见xboot不错,因为配置文件是用json的方式(老java程序员狂喜)
----------------
下线xboot
找到mach-f1c100s
在driver中没有发现st7789的驱动
但是在mach-h3/driver中有[fb-st7789v.c]便复制到mach-f1c100s/driver目录下
在[fb-st7789v.c]中发现有配置样例如下:

/*
 * LCD - Sitronix ST7789V Lcd Driver
 *
 * Example:
 *	"fb-st7789v@0": {
 *		"spi-bus": "spi-h3.1",
 *		"chip-select": 0,
 *		"type": 0,
 *		"mode": 0,
 *		"speed": 50000000,
 *		"reset-gpio": 9,
 *		"reset-gpio-config": 1,
 *		"cd-gpio": 16,
 *		"cd-gpio-config": 1,
 *		"width": 240,
 *		"height": 320,
 *		"physical-width": 30,
 *		"physical-height": 40,
 *		"backlight": null
 *	}
 */

我照着改成了下面这样

	"fb-st7789v@0": {
		"spi-bus": "spi-f1c100s.1",
		"chip-select": 0,
		"type": 0,
		"mode": 0,
		"speed": 50000000,
		"reset-gpio": 134,
		"reset-gpio-config": 1,
		"cd-gpio": 138,
		"cd-gpio-config": 1,
		"width": 240,
		"height": 320,
		"physical-width": 30,
		"physical-height": 40,
		"backlight": null
	},

下面是仿照spi0弄的spi1的接线
PC0(sclk64) - PA2(sclk2)
PC1(cs65) - PA0(cs0)
PC2(miso66) - PA3(miso3)
PC3(mosi67) - PA1(mosi1)

我把第二个spi也改了下

	"spi-f1c100s@0x01c06000": {
		"clock-name": "link-spi1",
		"reset": 21,
		"sclk-gpio": 2,
		"sclk-gpio-config": 4,
		"mosi-gpio": 1,
		"mosi-gpio-config": 4,
		"miso-gpio": 3,
		"miso-gpio-config": 4,
		"cs-gpio": 0,
		"cs-gpio-config": 4
	},

然后屏幕啥也没有
就不知道咋搞了

#3 Re: 全志 SOC » f1c100s请问下怎么驱动st7789v呢? » 2021-09-17 00:51:40

twzy 说:

这个帖子有坑,cs必须与cs连接起来
另外参考这一篇改了就出来了
https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0
我实在内核5.7.1下成功的

我cs端连接到a0 上面写的是spi1:cs貌似还是不行,哎

#4 Re: 全志 SOC » f1c100s请问下怎么驱动st7789v呢? » 2021-09-16 22:15:42

twzy 说:

@tlxfif
我是直接下的主线 ,linux官网

这样编译出来会不会很大,需要做啥配置修改吗?我都不敢编译它,哈哈哈哈哈

#5 Re: 全志 SOC » f1c100s请问下怎么驱动st7789v呢? » 2021-09-16 02:48:51

twzy 说:

这个帖子有坑,cs必须与cs连接起来
另外参考这一篇改了就出来了
https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0
我实在内核5.7.1下成功的

https://github.com/Lichee-Pi/linux/tree/nano-5.2-flash

请问下是这个吗?

#6 Re: 全志 SOC » f1c100s请问下怎么驱动st7789v呢? » 2021-09-16 02:40:10

twzy 说:

这个帖子有坑,cs必须与cs连接起来
另外参考这一篇改了就出来了
https://www.bilibili.com/read/cv9947785?spm_id_from=333.999.0.0
我实在内核5.7.1下成功的

请问下如何升级到5.7.1呢?有对应的教程吗?实在是不知道找哪个,谢谢了:)

#7 全志 SOC » f1c100s请问下怎么驱动st7789v呢? » 2021-09-15 01:50:08

tlxfif
回复: 11

我的内核版本是4.15.0-rc8-licheepi-nano+
我已经按照下面网址进行了操作
https://www.cnblogs.com/listenscience/p/13619930.html
这个地址所说的接线
SCLK ->    PA2
SDA    ->    PA1
CS   ->    GND
RESET  -> PE7
DC   -> PE10
但是我还剩余
BLK/VCC/GND没有接线,不接就啥都没有,所以我只能
VCC  -> VCC
BLK ->  VCC
GND  -> GND
但是可能是因为我是4.15的缘故
我修改了对应的fbtft-core函数编译会报错
不知道4.15是不是真的要修改

因为我spi0已经设置spi flash了
所以st7789v只能设置spi1
编译也没报错
启动没有fbtft的日志
dev/fb1设备也没有

请问下现在怎么处理呢?

另外想请教下在dts中下面的代码是否有存在的必要呢?

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>;
                        };
                };
        };

还有这个

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

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

先谢谢了:)

#8 Re: 全志 SOC » [求助]我好像进入了一个大坑,不会编写spi屏幕驱动 » 2021-09-05 21:37:29

哇酷小二 说:

那个是复位脚定义,
前面那个数字代表 A B C ..
后面数字代表引脚号

PE3

那应该是

4 3


好滴,多谢多谢

#9 Re: 全志 SOC » [求助]我好像进入了一个大坑,不会编写spi屏幕驱动 » 2021-09-05 20:43:15

哇酷小二 说:

荔枝派Zero V3s开发板驱动 ili9341 摆拍
https://whycan.com/t_576.html

linux5.2内核,配置SPI屏幕(ili9341)步骤
https://whycan.com/t_6412.html


https://cn.bing.com/search?q=ili9341%20site:whycan.com


多谢,请问下这里怎么填写呢?

 reset-gpios = <&pio 【1】 【2】 GPIO_ACTIVE_LOW>;

我不太清楚硬件上写的E3/E4/E5对应的数字是多少

#10 Re: 全志 SOC » [求助]我好像进入了一个大坑,不会编写spi屏幕驱动 » 2021-09-05 20:27:07

cube 说:

我现在已经改成这样了,然后怎么开始测试呢?

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <video/mipi_display.h>

#include "fbtft.h"

#define DRVNAME "fb_gc9a01"
#define WIDTH		240
#define HEIGHT		240

#define ORIENTATION 2   // Set the display orientation 0,1,2,3

// Command codes:
#define COL_ADDR_SET        0x2A
#define ROW_ADDR_SET        0x2B
#define MEM_WR              0x2C
#define COLOR_MODE          0x3A
#define COLOR_MODE__12_BIT  0x03
#define COLOR_MODE__16_BIT  0x05
#define COLOR_MODE__18_BIT  0x06
#define MEM_WR_CONT         0x3C




static int init_display(struct fbtft_par *par)
{
    par->fbtftops.reset(par);
    write_reg(par,0xEF);
    write_reg(par,0xEB,0x14);

    write_reg(par,0xEF);
    write_reg(par,0xEF);

    write_reg(par,0xEB,0x14);

    write_reg(par,0x84,0x40);

    write_reg(par,0x85,0xFF);

    write_reg(par,0x86,0xFF);

    write_reg(par,0x87,0xFF);

    write_reg(par,0x88,0x0A);

    write_reg(par,0x89,0x21);

    write_reg(par,0x8A,0x00);

    write_reg(par,0x8B,0x80);

    write_reg(par,0x8C,0x01);

    write_reg(par,0x8D,0x01);

    write_reg(par,0x8E,0xFF);

    write_reg(par,0x8F,0xFF);

    write_reg(par,0xB6,0x00,0x20); // used 0x00

    write_reg(par,0x36);
#if ORIENTATION == 0
    write_reg(par,0x18);
#elif ORIENTATION == 1
    write_reg(par,0x28);
#elif ORIENTATION == 2
    write_reg(par,0x08); //0x48
#else
    write_reg(par,0x88);
#endif

    write_reg(par,COLOR_MODE,COLOR_MODE__18_BIT);

    write_reg(par,0x90,0x08,0x08,0x08,0x08);

    write_reg(par,0xBD,0x06);

    write_reg(par,0xBC,0x00);

    write_reg(par,0xFF,0x60,0x01,0x04);

    write_reg(par,0xC3,0x13);

    write_reg(par,0xC4,0x13);

    write_reg(par,0xC9,0x22);

    write_reg(par,0xBE,0x11);

    write_reg(par,0xE1,0x10,0x0E);

    write_reg(par,0xDF,0x21,0x0c,0x02);

    write_reg(par,0xF0,0x45,0x09,0x08,0x08,0x26,0x2A);

    write_reg(par,0xF1,0x43,0x70,0x72,0x36,0x37,0x6F);

    write_reg(par,0xF2,0x45,0x09,0x08,0x08,0x26,0x2A);

    write_reg(par,0xF3,0x43,0x70,0x72,0x36,0x37,0x6F);

    write_reg(par,0xED,0x1B,0x0B);

    write_reg(par,0xAE,0x77);

    write_reg(par,0xCD,0x63);

    write_reg(par,0x70,0x07,0x07,0x04,0x0E,0x0F,0x09,0x07,0x08,0x03);

    write_reg(par,0xE8,0x34);

    write_reg(par,0x62,0x18,0x0D,0x71,0xED,0x70,0x70,0x18,0x0F,0x71,0xEF,0x70,0x70);

    write_reg(par,0x63,0x18,0x11,0x71,0xF1,0x70,0x70,0x18,0x13,0x71,0xF3,0x70,0x70);

    write_reg(par,0x64,0x28,0x29,0xF1,0x01,0xF1,0x00,0x07);

    write_reg(par,0x66,0x3C,0x00,0xCD,0x67,0x45,0x45,0x10,0x00,0x00,0x00);

    write_reg(par,0x67,0x00,0x3C,0x00,0x00,0x00,0x01,0x54,0x10,0x32,0x98);

    write_reg(par,0x74,0x10,0x85,0x80,0x00,0x00,0x4E,0x00);

    write_reg(par,0x98,0x3e,0x07);

    write_reg(par,0x35,0x21);

    write_reg(par,0x11);
    mdelay(120);
    write_reg(par,0x29);
    mdelay(20);
    return 0;
}


static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
{
    write_reg(par, MIPI_DCS_SET_COLUMN_ADDRESS,
              xs >> 8, xs & 0xff, xe >> 8, xe & 0xff);

    write_reg(par, MIPI_DCS_SET_PAGE_ADDRESS,
              ys >> 8, ys & 0xff, ye >> 8, ye & 0xff);

    write_reg(par, MIPI_DCS_WRITE_MEMORY_START);
}

static int set_var(struct fbtft_par *par)
{
    switch (par->info->var.rotate) {
        case 0:
            write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
                      0x80 | (par->bgr << 3));
            break;
        case 90:
            write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
                      0x20 | (par->bgr << 3));
            break;
        case 180:
            write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
                      0x40 | (par->bgr << 3));
            break;
        case 270:
            write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
                      0xE0 | (par->bgr << 3));
            break;
        default:
            break;
    }

    return 0;
}

static struct fbtft_display display = {
        .regwidth = 8,
        .width = WIDTH,
        .height = HEIGHT,
        .fbtftops = {
                .init_display = init_display,
                .set_addr_win = set_addr_win,
                .set_var = set_var,
        },
};


FBTFT_REGISTER_DRIVER(DRVNAME, "gc9a01", &display);

MODULE_ALIAS("spi:" DRVNAME);
MODULE_ALIAS("platform:" DRVNAME);
MODULE_ALIAS("spi:gc9a01");
MODULE_ALIAS("platform:gc9a01");

MODULE_DESCRIPTION("FB driver for the GC9A01 LCD Controller");
MODULE_AUTHOR("tlxfif");
MODULE_LICENSE("GPL");

#11 Re: 全志 SOC » [求助]我好像进入了一个大坑,不会编写spi屏幕驱动 » 2021-09-05 19:17:35

这是stm32的代码

	LCD_WR_REG(0xEF);
	LCD_WR_REG(0xEB);
	LCD_WR_DATA8(0x14); 

这是我弄成fbtft init_display 里面的代码

    write_reg(par,0xEF);
    write_reg(par,0xEB,0x14);

不知道对不对

#12 全志 SOC » [求助]我好像进入了一个大坑,不会编写spi屏幕驱动 » 2021-09-05 19:14:40

tlxfif
回复: 8

由于我看中了一款小屏幕
希望把他移植到我的nano上面来

其实目前我也只是自己刚编译好系统能进入linux而已
可是这款屏幕的芯片是gc9a01
fbtft里面没有提供对应的驱动
我也不知道如何编写
只是照着stm32代码写了init_display函数

我实在是不知道fbtft_display里面的set_var咋写了
准确的说,我其实啥都不知道,请问下我现在应该怎么用最简单的方式驱动这个屏幕呢?

#14 全志 SOC » 编写驱动怎么传入nano呢? » 2021-08-29 23:46:37

tlxfif
回复: 1

我这边打算想写个屏幕驱动,但是编写了以后怎么传入nano呢?
用SD卡行吗?
还是怎么弄呢?
谢谢

#15 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-08 22:58:03

我发现
我把uboot启动参数改成31:3就会出现

        console=ttyS0,115200 panic=5 rootwait root=31:3 rw rootfstype=jffs2
[    1.703774] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x001792fc: read 0xac142184, calculated 0x311bc0f2.
[    1.716584] jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #150
[    1.725281] jffs2: iget() failed for ino #150

改成/dev/mtdblock3

        console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2

又会一直等待

#16 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-08 15:27:41

哇酷小二 说:

@tlxfif
本站右上角搜: CONFIG_MTD_BLOCK

昨晚研究了一晚上,好像没啥用....

#17 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 22:31:16

哇酷小二 说:

啊这, 应该没啥错误, 那你把整个flash读出来吧, 与写进去的对比, 看是否一模一样.

这还能写错了?我怀疑是不是我配置有问题
我看这个文章有配置
https://whycan.com/t_3138.html#p43702
CONFIG_MTD_BLOCK
但是我没有配
我搜都搜不到,哈哈哈哈
请问下怎么对比呢?

#18 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 22:20:44

哇酷小二 说:

用这个命令看下你的rootfs文件夹大小:  du -sh rootfs/

用这个命令看下文件多大: ls -l rootfs.jffs2

root@ubuntu:/opt# ls -l rootfs.jffs2
-rw-r--r-- 1 root root 11468800 Aug  6 09:25 rootfs.jffs2
root@ubuntu:/opt# du -sh rootfs/
1.6M	rootfs/

#19 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 22:05:17

哇酷小二 说:

文件系统烧录地址是不是 0x510000

[    0.941606] 0x000000510000-0x000001000000 : "rootfs"

有没有超过这个范围?

用这个打包成镜像的

if=/dev/zero of=f1c100s_spiflash_16M.bin bs=1M count=16 &&\
dd if=u-boot/u-boot-sunxi-with-spl.bin of=f1c100s_spiflash_16M.bin bs=1K conv=notrunc &&\
dd if=linux-f1c100s-480272lcd-test/arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb of=f1c100s_spiflash_16M.bin bs=1K seek=1024 conv=notrunc &&\
dd if=linux-f1c100s-480272lcd-test/arch/arm/boot/zImage of=f1c100s_spiflash_16M.bin bs=1K seek=1088 conv=notrunc &&\
mkfs.jffs2 -s 0x100 -e 0x10000 --pad=0xAF0000 -d rootfs/ -o rootfs.jffs2 &&\
dd if=rootfs.jffs2 of=f1c100s_spiflash_16M.bin bs=1k seek=5184 conv=notrunc &&\
sync

#20 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 21:20:20

@哇酷小二
设备树是这样

&spi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins_a>;
    status = "okay";
    spi-max-frequency = <60000000>;
    flash: xt25f128b@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "winbond,w25q128,xt25f128b", "jedec,spi-nor";
        reg = <0>;
        spi-max-frequency = <60000000>;
        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>;
            };
        };
    };
};

启动参数是这样

console=ttyS0,115200 panic=5 rootwait root=31:3 rw rootfstype=jffs2 

31:3是照着其他教程改的以前是

console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2

#21 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 21:16:20

@哇酷小二
mtd是【drivers/mtd/spi-nor/spi-nor.c】这个文件吗
我里面注释掉了
/*{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) },*/
增加了
{ "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, 0) },

#22 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 20:42:00

@哇酷小二
jffs2 那个 mtd是啥
我是按照
https://whycan.com/t_3138.html
这个地址的第五点来搞的
是用
BuildMyImage.sh这个命令烧写进去的,其他的我就不知道咋搞了

#23 Re: 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 20:35:19

我已经重新编译了但是还是不行

#24 全志 SOC » 请问下这里是哪里错了呢? » 2021-08-07 00:51:07

tlxfif
回复: 16
U-Boot SPL 2018.01-05679-g013ca45-dirty (Aug 02 2021 - 10:22:39)
DRAM: 32 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI


U-Boot 2018.01-05679-g013ca45-dirty (Aug 02 2021 - 10:22:39 -0700) Allwinner Technology

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

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0 
SF: Detected xt25f128b 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 816fb000, end 816fff46 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.15.0-rc8-licheepi-nano (root@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #5 Mon Aug 2 10:11:14 PDT 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: 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=31:3 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, 237K rwdata, 1412K 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)   ( 238 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.000045] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000110] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000629] Console: colour dummy device 80x30
[    0.000714] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[    0.070227] pid_max: default: 32768 minimum: 301
[    0.070526] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070567] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.071962] CPU: Testing write buffer coherency: ok
[    0.073592] Setting up static identity map for 0x80100000 - 0x80100058
[    0.076088] devtmpfs: initialized
[    0.082518] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.082587] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.082828] pinctrl core: initialized pinctrl subsystem
[    0.084764] NET: Registered protocol family 16
[    0.086127] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.087844] cpuidle: using governor menu
[    0.113120] SCSI subsystem initialized
[    0.113465] usbcore: registered new interface driver usbfs
[    0.113604] usbcore: registered new interface driver hub
[    0.113802] usbcore: registered new device driver usb
[    0.114200] pps_core: LinuxPPS API ver. 1 registered
[    0.114227] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.114284] PTP clock support registered
[    0.114743] Advanced Linux Sound Architecture Driver Initialized.
[    0.116228] clocksource: Switched to clocksource timer
[    0.141954] NET: Registered protocol family 2
[    0.143353] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.143432] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.143481] TCP: Hash tables configured (established 1024 bind 1024)
[    0.143743] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.143799] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.144257] NET: Registered protocol family 1
[    0.145444] RPC: Registered named UNIX socket transport module.
[    0.145482] RPC: Registered udp transport module.
[    0.145499] RPC: Registered tcp transport module.
[    0.145515] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.147814] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.149579] Initialise system trusted keyrings
[    0.150118] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.167184] NFS: Registering the id_resolver key type
[    0.167267] Key type id_resolver registered
[    0.167287] Key type id_legacy registered
[    0.167404] jffs2: version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
[    0.181592] Key type asymmetric registered
[    0.181632] Asymmetric key parser 'x509' registered
[    0.181827] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.181857] io scheduler noop registered
[    0.181874] io scheduler deadline registered
[    0.182623] io scheduler cfq registered (default)
[    0.182655] io scheduler mq-deadline registered
[    0.182672] io scheduler kyber registered
[    0.183765] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[    0.193096] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.359608] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.366106] console [ttyS0] disabled
[    0.386399] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[    0.858712] console [ttyS0] enabled
[    0.869171] panel-simple panel: panel supply power not found, using dummy regulator
[    0.895661] loop: module loaded
[    0.899681] SCSI Media Changer driver v0.25 
[    0.907414] m25p80 spi0.0: xt25f128b (16384 Kbytes)
[    0.913364] 4 ofpart partitions found on MTD device spi0.0
[    0.918970] Creating 4 MTD partitions on "spi0.0":
[    0.923782] 0x000000000000-0x000000100000 : "u-boot"
[    0.929837] 0x000000100000-0x000000110000 : "dtb"
[    0.935537] 0x000000110000-0x000000510000 : "kernel"
[    0.941606] 0x000000510000-0x000001000000 : "rootfs"
[    0.948165] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.954699] ehci-platform: EHCI generic platform driver
[    0.960305] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.966602] ohci-platform: OHCI generic platform driver
[    0.972238] usbcore: registered new interface driver usb-storage
[    0.979287] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[    0.988322] i2c /dev entries driver
[    1.046352] sunxi-mmc 1c0f000.mmc: base:0x0a10f691 irq:19
[    1.053732] usbcore: registered new interface driver usbhid
[    1.059424] usbhid: USB HID core driver
[    1.081080] NET: Registered protocol family 17
[    1.085748] Key type dns_resolver registered
[    1.092252] Loading compiled-in X.509 certificates
[    1.107193] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0739c38)
[    1.116005] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc0738f1c)
[    1.123789] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.130445] [drm] No driver support for vblank timestamp query.
[    1.184399] Console: switching to colour frame buffer device 60x34
[    1.207786] sun4i-drm display-engine: fb0:  frame buffer device
[    1.214887] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[    1.224050] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    1.235977] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.241897] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[    1.252033] hub 1-0:1.0: USB hub found
[    1.255983] hub 1-0:1.0: 1 port detected
[    1.261580] using random self ethernet address
[    1.266115] using random host ethernet address
[    1.272434] usb0: HOST MAC ca:bb:95:1e:b2:eb
[    1.276947] usb0: MAC ae:bc:dd:e4:eb:26
[    1.280941] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[    1.288494] g_cdc gadget: g_cdc ready
[    1.293092] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.310500] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.317357] vcc3v3: disabling
[    1.320339] ALSA device list:
[    1.323304]   #0: Loopback 1
[    1.327160] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.335829] cfg80211: failed to load regulatory.db
[    1.494340] random: crng init done
[    1.672968] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[    1.680968] devtmpfs: mounted
[    1.688712] Freeing unused kernel memory: 1024K
[    1.707666] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x00178f78: read 0xac142184, calculated 0x311bc0f2.
[    1.720037] jffs2: warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #150
[    1.728822] jffs2: iget() failed for ino #150
[    1.733229] Starting init: /sbin/init exists but couldn't execute it (error -5)
[    2.650560] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[    2.658806] pgd = 94ca7928
[    2.661522] [00000004] *pgd=00000000
[    2.665112] Internal error: Oops: 5 [#1] ARM
[    2.669372] Modules linked in:
[    2.672440] CPU: 0 PID: 1 Comm: swapper Not tainted 4.15.0-rc8-licheepi-nano #5
[    2.679725] Hardware name: Allwinner suniv Family
[    2.684444] PC is at jffs2_add_full_dnode_to_inode+0x1c0/0x4d8
[    2.690269] LR is at jffs2_add_full_dnode_to_inode+0x158/0x4d8
[    2.696088] pc : [<c02d1518>]    lr : [<c02d14b0>]    psr: a0000013
[    2.702338] sp : c182dca8  ip : 000a4600  fp : c10a0870
[    2.707551] r10: 000a4400  r9 : c0cf9df8  r8 : c10a0880
[    2.712767] r7 : c0ce8800  r6 : c0d98ab0  r5 : c0cf9df8  r4 : c0d8cfd8
[    2.719277] r3 : c0d98ab0  r2 : 00000000  r1 : 00000100  r0 : c0d8cfd8
[    2.725790] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[    2.732906] Control: 0005317f  Table: 80004000  DAC: 00000053
[    2.738642] Process swapper (pid: 1, stack limit = 0x8ca6eabb)
[    2.744463] Stack: (0xc182dca8 to 0xc182e000)
[    2.748828] dca0:                   00000ae3 c0d99a00 00000000 c0ce8800 c182dcf8 00000b89
[    2.756998] dcc0: c0d99a28 00000000 c10a0870 c02d3a14 0000001c c182dcf8 c0cc5d48 00000003
[    2.765168] dce0: c182dd68 00000044 c182dd8c c10a0870 00000028 c182dcfc 00000000 c0da6438
[    2.773336] dd00: 00000000 00000b89 00000000 00000000 00000000 c0cff8f0 c10a0028 c10a0870
[    2.781506] dd20: c0ce8800 00000014 ffffe000 c182dd8c c01347c8 c10a0438 c109f908 c02d51f8
[    2.789676] dd40: 00000014 c01e3ec0 00000710 00000000 00000014 c01e4f98 c181e000 c0d8bbe0
[    2.797847] dd60: c10a0898 c10a0870 c0ce9da0 c0ce8800 c10a0460 c0ce9db5 c10a0438 c02db888
[    2.806016] dd80: c109f908 00000007 a1afe946 c01e2678 c109f770 0000000e 00000004 c109f770
[    2.814186] dda0: a1afe946 c10a0460 c109f908 c182de88 c0a65b6c c01e2bac c0a66928 0000036e
[    2.822356] ddc0: c182de50 c109f908 c182de44 c181bc50 0000000e c0d8bbe0 00000014 c0ce9da0
[    2.830526] dde0: c109f908 c02d07a0 c182de80 00000000 c182df24 00020020 c10a0460 00000001
[    2.838694] de00: c109f770 c01d8f44 00000002 ffffe000 00000000 c0ceb0a0 00000041 00000000
[    2.846862] de20: 00000000 00020020 00000000 00000000 c182de50 c182de88 00000609 00000000
[    2.855032] de40: 00000000 c10a0730 c181bc50 c109f880 c182de50 c182de50 c0a3d488 00000000
[    2.863201] de60: c182df24 00000001 c1825000 c0cb3500 ffffe000 ffffff9c 00000000 c01d9ff0
[    2.871371] de80: c181bc50 c109f770 a1afe946 00000007 c0ce9d60 60000093 c181bc50 c109f5d8
[    2.879540] dea0: c10a0460 00000101 00000002 0000002e 00000000 00000001 00000001 c182dec0
[    2.887709] dec0: c181bc50 c109f880 00000000 c014547c 00000000 00000000 00000000 c01454f4
[    2.895877] dee0: 00000003 c0144284 00000000 60000013 c1825000 00000000 c10a0730 00000002
[    2.904048] df00: ffffff9c c181e000 00000000 c1825000 c0a05194 c01d0a14 c18e9580 c0130994
[    2.912216] df20: ffffe000 00020020 00000000 00000001 00000100 00000001 c0cb3500 00000000
[    2.920384] df40: c0a0510c c0a05194 c1825000 c01d20bc 00000000 00000008 c0a032d8 00000000
[    2.928552] df60: 00000000 c0a3b7e0 c07cac18 00000000 00000000 00000000 00000000 00000000
[    2.936721] df80: 00000000 c01d2574 00000000 c07cac18 00000000 c010175c c0a3b7e0 c0666908
[    2.944889] dfa0: 00000000 c06669cc 00000000 c0107dc0 00000000 00000000 00000000 00000000
[    2.953055] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.961223] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 55555555 445d1555
[    2.969431] [<c02d1518>] (jffs2_add_full_dnode_to_inode) from [<c02d3a14>] (jffs2_do_read_inode_internal+0x188/0x1878)
[    2.980117] [<c02d3a14>] (jffs2_do_read_inode_internal) from [<c02d51f8>] (jffs2_do_read_inode+0xf4/0x1f4)
[    2.989759] [<c02d51f8>] (jffs2_do_read_inode) from [<c02db888>] (jffs2_iget+0x78/0x338)
[    2.997842] [<c02db888>] (jffs2_iget) from [<c02d07a0>] (jffs2_lookup+0xfc/0x148)
[    3.005329] [<c02d07a0>] (jffs2_lookup) from [<c01d8f44>] (path_openat+0xb8c/0x10a0)
[    3.013076] [<c01d8f44>] (path_openat) from [<c01d9ff0>] (do_filp_open+0x60/0xc4)
[    3.020574] [<c01d9ff0>] (do_filp_open) from [<c01d0a14>] (do_open_execat+0x5c/0x168)
[    3.028418] [<c01d0a14>] (do_open_execat) from [<c01d20bc>] (do_execveat_common+0x168/0x5fc)
[    3.036856] [<c01d20bc>] (do_execveat_common) from [<c01d2574>] (do_execve+0x24/0x2c)
[    3.044690] [<c01d2574>] (do_execve) from [<c010175c>] (try_to_run_init_process+0xc/0x3c)
[    3.052864] [<c010175c>] (try_to_run_init_process) from [<c06669cc>] (kernel_init+0xc4/0x10c)
[    3.061389] [<c06669cc>] (kernel_init) from [<c0107dc0>] (ret_from_fork+0x14/0x34)
[    3.068952] Code: 13833003 15823004 e599300c e5932000 (e5923004) 
[    3.075223] ---[ end trace aee6386aa83db2a4 ]---
[    3.080922] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    3.080922] 
[    3.090065] Rebooting in 5 seconds..
[    9.069299] Reboot failed -- System halted

#25 全志 SOC » F1C100S启动报错,请问下是什么原因呢?谢谢啦 » 2021-08-03 01:48:14

tlxfif
回复: 1
[    1.320542] ALSA device list:
[    1.323508]   #0: Loopback 1
[    1.327367] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.336034] cfg80211: failed to load regulatory.db
[    1.495011] random: crng init done
[    1.669350] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[    1.677439] devtmpfs: mounted
[    1.685066] Freeing unused kernel memory: 1024K
[    3.674210] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x00174638: read 0xaef6bc4b, calculated 0xc0422ad9.
[    3.739940] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x001543b8: read 0x7b3a36a, calculated 0xc980d2a1.
[    3.757017] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x001521a4: read 0x5bf8d398, calculated 0xae1c5f1d.
[    3.792323] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x00142490: read 0x3b920e78, calculated 0x249e22a5.
[    3.812870] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x0013ddb8: read 0xc4426a3b, calculated 0x2d1e784a.
[    3.836468] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x00136de4: read 0xe74ffdfa, calculated 0x38ff6b86.
[    3.850908] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x001361cc: read 0xe329d8d7, calculated 0xac33b755.
[    3.932120] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x00104194: read 0xa5bde6fe, calculated 0xb4a578c2.
[    3.951239] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x00100790: read 0x8fa0c553, calculated 0x51119f4c.
[    3.969329] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x000fdfdc: read 0xf7108889, calculated 0xeeb9d36c.
[    3.984180] jffs2: notice: (1) check_node_data: wrong data CRC in data node at 0x000fd54c: read 0x63bd04f1, calculated 0x7a28642a.

/bin/sh: symbol 'stdout': can't resolve symbol

/bin/sh: symbol 'optarg': can't resolve symbol

/bin/sh: symbol 'opterr': can't resolve symbol

/bin/sh: symbol '__environ': can't resolve symbol

/bin/sh: symbol 'optind': can't resolve symbol

/bin/sh: symbol '__stdin': can't resolve symbol

/bin/sh: symbol 'stdin': can't resolve symbol

/bin/sh: symbol 'timezone': can't resolve symbol

/bin/sh: symbol 'stderr': can't resolve symbol

/bin/sh: symbol '__stdout': can't resolve symbol
[    4.086796] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000ff00
[    4.086796] 
[    4.095945] CPU: 0 PID: 1 Comm: sh Not tainted 4.15.0-rc8-licheepi-nano #5
[    4.102800] Hardware name: Allwinner suniv Family
[    4.107576] [<c010e550>] (unwind_backtrace) from [<c010b6a8>] (show_stack+0x10/0x14)
[    4.115332] [<c010b6a8>] (show_stack) from [<c0116878>] (panic+0xb8/0x230)
[    4.122209] [<c0116878>] (panic) from [<c0118034>] (do_exit+0x96c/0x9a4)
[    4.128908] [<c0118034>] (do_exit) from [<c0118b78>] (SyS_exit+0x10/0x14)
[    4.135698] [<c0118b78>] (SyS_exit) from [<c0107ce0>] (ret_fast_syscall+0x0/0x50)
[    4.143172] Rebooting in 5 seconds..
[   10.122405] Reboot failed -- System halted

#26 Re: 全志 SOC » fel进不去了,请问怎么处理呢?多谢 » 2021-08-02 01:04:49

已经解决了,之前使用串口,然后短接flash1和4脚,没成功
现在我换成usb线,然后短接flash1和4脚就可以啦哈哈哈哈哈

#27 Re: 全志 SOC » F1C100S 怎么通过SPI接口 连接液晶? » 2021-08-01 20:51:43

catterwang 说:

各位大佬,我刚开始接触Linux板子,目前没搞明白F1C100S 怎么通过SPI接口连接一个小的液晶显示器,具体原理图是? 非常感谢

哈哈哈哈,我目前也想这么做,能加个好友吗,一起学习下

#28 Re: 全志 SOC » fel进不去了,请问怎么处理呢?多谢 » 2021-08-01 20:49:59

@哇酷小二
这个方法是不是烧写到tf卡,然后在tf卡上启动吗?
主要是我不太想在tf卡上启动
我想在spi上烧录

#29 Re: 全志 SOC » fel进不去了,请问怎么处理呢?多谢 » 2021-08-01 19:13:57

哇酷小二 说:

可以进入命令行吗?

可以进入uboot的命令行,但是我只知道一个help命令哈哈哈
不好意思,有点菜

#30 全志 SOC » fel进不去了,请问怎么处理呢?多谢 » 2021-08-01 19:07:26

tlxfif
回复: 6

f1c100s拿来我只需要连接flash的第1和第4引脚就可以烧录
但是我自己烧录进去一个自己编译好的uboot后,就无法通过上面这种方式进入到fel了
看论坛可以通过TF卡的方式进入
我按教程使用下面这个命令进行烧写

 dd if=fel-sdboot.sunxi of=/dev/sdb bs=1024 seek=8 

但是只要插上TF启动,连uboot都进不去
使用

 sunxi-fel -l

命令也找不到对应的设备
请问下各位大佬应该怎么处理呢?
不甚感激




下面是uboot启动的打印日志

U-Boot SPL 2018.01-05679-g013ca45 (Jul 23 2021 - 09:53:19)
DRAM: 32 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI


U-Boot 2018.01-05679-g013ca45 (Jul 23 2021 - 09:53:19 -0700) Allwinner Technology

CPU:   Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM:  32 MiB
MMC:   SUNXI SD/MMC: 0
SF: unrecognized JEDEC id bytes: 0b, 40, 18
*** Warning - spi_flash_probe_bus_cs() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0 
Card did not respond to voltage select!
mmc_init: -95, time 23
starting USB...
No controllers found
USB is stopped. Please issue 'usb start' first.
starting USB...
No controllers found
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-sunxi
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
starting USB...
No controllers found
No ethernet found.
No ethernet found.

#31 Re: 全志 SOC » 请问下f1c100s可以不用移植uboot驱动,在linux直接移植可以吗? » 2021-07-25 14:12:50

来日方长 说:

uboot里边弄驱动感觉有点多此一举

有个群里的大佬说让我uboot也要弄,我也不懂就跟着弄了,但是好难....
多谢各位大佬让我少走弯路

#32 Re: 全志 SOC » 请问下f1c100s可以不用移植uboot驱动,在linux直接移植可以吗? » 2021-07-24 21:22:10

哇酷小二 说:

linux5.2内核,配置SPI屏幕(ili9341)步骤
https://whycan.com/t_6412.html


请参考这个帖子



好的,多谢多谢

#33 全志 SOC » 请问下f1c100s可以不用移植uboot驱动,在linux直接移植可以吗? » 2021-07-24 21:13:25

tlxfif
回复: 5

现在我想移植spi lcd 在 uboot里面【gc9a01】
但是uboot的驱动我不太会搞
也没有找到好多资料
----------------------------------------------
可以直接移植到linux吗?
谢谢各位大佬

#34 Re: 全志 SOC » [f1c100s]请问下编译uboot成功但是串口啥也没有打印,芯片发热怎么排查问题呢?谢谢 » 2021-07-24 14:14:43

微凉VeiLiang 说:

没有看懂。连接串口不打印是怎么供电的。连接usb能重新打印芯片信息不是等于这个供电才是真的供上电么

就是普通的5v/rx/tx/gnd供电,不过我又重新烧写了一遍就可以了,哈哈哈哈,不好意思,没弄过这个

#35 全志 SOC » [f1c100s]请问下编译uboot成功但是串口啥也没有打印,芯片发热怎么排查问题呢?谢谢 » 2021-07-23 00:45:59

tlxfif
回复: 2

我的spi  flash芯片是
xt25f128b
但是我下载了官方的uboot后啥也没改[故意啥也没改,想看看报错信息,也啥都不会改],编译成功得到u-boot-sunxi-with-spl.bin
然后使用
sunxi-fel -p spiflash-write 0 ./u-boot/u-boot-sunxi-with-spl.bin
进行烧录
烧录也是成功的
但是链接串口啥也不打印,而且发烫
连接usb能重新打印芯片信息[芯片没坏]
请问下怎么排查呢?谢谢

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn