您尚未登录。

楼主 #1 2018-09-10 16:17:24

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

荔枝派nano f1c100s 开发板入坑记录

荔枝派nano f1c100s 开发板入坑记录

参考链接1: http://nano.lichee.pro/build_sys/build_flash.html
参考链接2: 核心板原理图 Lichee_nano.pdf (第一版)
参考链接3: 核心板原理图 lichee_nano_new.pdf (第二版)
参考链接4: 底板原理图    lpi-nano-dock.pdf
参考链接5: https://whycan.cn/t_2179.html (荔枝派nano(f1c100s)的SPI-Flash系统编译创建全过程)

1. 搭建环境

#安装必要软件:
sudo apt-get -y install swig
sudo apt install libssl-dev

# 此处为获取7.2.1版本,您可获取其他版本或者通过链接直接下载
wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz

sudo tar xvf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz -C /usr/local

sudo vim ~/.bashrc

# 在文件末尾 添加以下内容
export PATH=/usr/local/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin:$PATH
# 添加完毕
重新进入shell使路径生效

此时可用 arm-linux-gnueabi-gcc -v 进行测试;若普通用户状态下没有成功,通过 sudo su 切换到root用户再尝试;

2. 编译 u-boot

#下载u-boot
git clone https://github.com/Lichee-Pi/u-boot.git -b nano-lcd800480
cd u-boot
#拷贝默认配置文件
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig

若要在套餐中附带的LCD上输出显示,请通过配置 ARM architecture ‣ Enable graphical uboot console on HDMI, LCD or VGA 为 Y
接着配置同级的 LCD panel timing details 为:
x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0

注:此块屏为为 800*480 规格,如为 480*272 请尝试如下配置 x:480,y:272,depth:18,pclk_khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0

并将 LCD panel backlight pwm pin 设为:PE6 (查自 Nano 原理图)
LCD_set.png

# 开始编译
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8


#http://nano.lichee.pro/build_sys/build_flash.html
#需要从flash启动linux修改 include/configs/suniv.h

#define CONFIG_BOOTCOMMAND   "sf probe 0 50000000; "                           \
                             "sf read 0x80C00000 0x100000 0x4000; "  \
                             "sf read 0x80008000 0x110000 0x400000; " \
                             "bootz 0x80008000 - 0x80C00000"

#define CONFIG_BOOTARGS "console=ttyS0,115200 panic=5 rootwait " \
                 " mtdparts=spi32766.0:1M(uboot),64k(dtb),4M(kernel),-(rootfs) " \
                 " root=/dev/mtdblock3 rw rootfstype=jffs2 "

3. 编译 linux, 设备树

#克隆linux
git clone https://github.com/Lichee-Pi/linux.git --depth=1 -b nano-4.14-exp
cd linux
#下载配置文件
wget https://whycan.cn/files/members/3/lichee_nano_linux_config.zip
mv lichee_nano_linux_config.zip .config
#再配置
CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make menuconfig
#编译
CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make

5. 生成根文件系统

生成根文件系统

6. ubuntu编译并使用sunxi-fel烧录工具

#安装 pkg
sudo apt-get install -y pkg-config
#安装libusb库:
sudo apt-get install -y libusb-1.0-0-dev
#克隆源码:
git clone -b f1c100s-spiflash https://github.com/Icenowy/sunxi-tools.git
#切换目录
cd sunxi-tools
#编译
make && sudo make install

7. windows 编译并使用sunxi-fel烧录工具

sunxi-fel

8. TF卡启动系统

TF卡启动系统





离线

楼主 #2 2018-09-10 16:26:03

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

http://nano.lichee.pro/build_sys/build_flash.html

修改 suniv.h

#define CONFIG_BOOTCOMMAND   "sf probe 0:50000000; "                           \
                             "sf read 0x80C00000 0x100000 0x4000; "  \
                             "sf read 0x80008000 0x110000 0x400000; " \
                             "bootz 0x80008000 - 0x80C00000"

官方文档又挖大坑了.

spi_flash@0:50000000: failed to activate chip-select 50000000
SF: error -2 reading JEDEC ID
Failed to initialize SPI flash at 0:50000000 (error -2)

https://whycan.cn/t_1014.html#p7622





离线

楼主 #3 2018-09-10 16:26:06

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

终于找到了不生成分区的原因, 原来是使用了错误 SPI 驱动.

应该使用 CONFIG_SUN6I_SPI, 而不是 CONFIG_SUN4I_SPI

最迷惑的就是 u-boot 里面配置是对的, 而 linux kernel 的配置是错误的,

开始一直没有怀疑是这个问题,

直到参考 @chong 大神的 linux 4.19 才发现。

官方的配置文件 https://whycan.cn/files/members/3/lichee_nano_linux_config.zip (不是压缩文件,直接改后缀名即可!) 是有坑的.





离线

楼主 #4 2018-09-10 16:26:08

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

占坑





离线

楼主 #6 2018-09-10 17:43:42

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

msr06rr 说:

晕哥,荔枝派nano的电阻触摸大坑怎么填?

发这个帖子的目的就是为了搞触摸屏.





离线

楼主 #8 2018-09-19 13:34:00

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

licheepitang 说:

http://nano.lichee.pro/build_sys/rootfs.html
根据官方指导,下载代码  编译代码

编译完成的镜像包,是在 buildroot-2017.08 ‣ output ‣images ‣ rootfs.tar 中找到;

我在解压rootfs.tar文件报错如下:
./var/lib/sudo/
./var/lib/sudo/lectured/
./var/lock
./var/log
./var/run
./var/spool
./var/tmp
./var/www/
tar: 由于前次错误,将以上次的错误状态退出

命令前面加 sudo 试一试.





离线

楼主 #10 2018-09-19 14:37:48

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

dev 目录下的所有文件都是设备文件, 普通用户没有权限创建.

这个 tar 程序的错误提示不够人性化, 第一次看到也是一脸懵逼, WTF ?





离线

楼主 #12 2018-09-20 09:41:09

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

licheepitang 说:

http://nano.lichee.pro/build_sys/rootfs.html
按照官网编译的rootfs.tar大小有90M,根本没办法执行,网盘提供编译好的才2M左右

可以自己删除不用的文件.
那个应该是带Qt的,根文件系统在TF/MMC卡.





离线

楼主 #14 2018-09-29 15:09:14

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

leader_陳 说:

刚接触荔枝派Nano,尴尬~

不怕不怕,挖坑网为您保驾护航排忧解难!





离线

楼主 #16 2018-10-12 14:46:20

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

主线 u-boot 默认串口是 uart0(PE0, PE1),
如果要修改为 uart0(PF2, PF4),
改一下 .config, 启用:

CONFIG_UART0_PORT_F=y

启用JTAG口, 则需要禁用 MMC(SDIO):

# CONFIG_MMC is not set
# CONFIG_CMD_MMC is not set





离线

楼主 #19 2018-10-12 19:12:13

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

上面这个问题没有出现过,这是主线linux?什么版本?





离线

楼主 #22 2018-10-12 21:38:39

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

GeneKong 说:

好像你也用的LicheePi的版本 !*.*

荔枝派官网有用 4.15,估计是为了调usb升级的。不知道usb最终有没有调好。





离线

楼主 #26 2018-10-21 07:53:43

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

cicada_xb 说:
basicdev 说:

buildroot只生成根文件系统,ko是后来拷进去的。

谢谢!

另一个问题, 用了 http://nano.lichee.pro/build_sys/rootfs.html  里带的config, 编出来的文件94M... 说好的能放nor flash的涅...   有没有可用的最小rootfs 的config  模板呢:)

那个不是用来放到flash的,而是tf卡。

有两种解决方案:
1. 删除不需要的文件,比如Qt什么的,让他缩小到几兆。
2. 修改buildroot 的 .config 文件,只保留 busybox 等配置,全部重新来过。





离线

楼主 #33 2018-11-04 13:14:38

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

mwin 说:

感谢晕哥,来这里还是学了不少东东!

感谢每一个来到 whycan.cn 的朋友。





离线

楼主 #37 2018-12-07 11:44:29

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

hai 说:

@晕哥, 遇到个现象搞不懂是什么原因, 板子是tf卡启动的, 系统很快就登陆进去了,但过了好久才出现 [  124.007131] random: crng init done

[    1.519103] devtmpfs: mounted
[    1.529146] Freeing unused kernel memory: 1024K
[    1.681496] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Starting logging: OK
Initializing random number generator... done.
Starting network: OK

Welcome to Licheepi
buildroot login: root
Password:
#
#
#
#
# [  124.007131] random: crng init done

https://github.com/torvalds/linux/blob/master/drivers/char/random.c

这个是随机数驱动报出来的,不用理他.

if (crng == &primary_crng && crng_init < 2) {
        invalidate_batched_entropy();
        numa_crng_init();
        crng_init = 2;
        process_random_ready_list();
        wake_up_interruptible(&crng_init_wait);
        pr_notice("random: crng init done\n");
        if (unseeded_warning.missed) {
            pr_notice("random: %d get_random_xx warning(s) missed "
                  "due to ratelimiting\n",
                  unseeded_warning.missed);
            unseeded_warning.missed = 0;
        }
        if (urandom_warning.missed) {
            pr_notice("random: %d urandom warning(s) missed "
                  "due to ratelimiting\n",
                  urandom_warning.missed);
            urandom_warning.missed = 0;
        }
    }





离线

楼主 #50 2019-05-13 10:08:20

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

倪家塘 说:

一直停在这里

https://whycan.cn/t_2402.html
一般是 zImage 解压失败.

想确认就按上面的链接做一次





离线

楼主 #54 2019-05-16 18:33:46

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录





离线

楼主 #59 2019-05-27 14:00:33

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

倪家塘 说:

我现在外边用了FE1.1S的扩展芯片,我的意思是软件程序部分需不需要配置?

这个是 HUB 芯片吗?
GL850之类 HUB芯片接上去就能用的。





离线

楼主 #61 2019-05-27 14:04:01

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

倪家塘 说:

GL850您这边有用过吗?

用过, 完全没有问题, 上面挂满四个设备.

用的是这个外挂USB HUB: https://whycan.cn/t_1190.html





离线

楼主 #63 2019-05-27 16:16:25

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

倪家塘 说:

晕哥,再问一下,V3S直接能识别GL850吗,不用下个驱动,就直接能识别吗

HUB不用另外的驱动, 也不用配置设备树。





离线

楼主 #65 2019-05-28 21:45:10

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

zpyws 说:

晕哥你好,小弟自制了块板,u-boot也编译好了,sunxi-fel也安装好了,现在空白的芯片不知怎么把u-boot烧进去跑,是通过USB还是串口下载?

参考帖子:
https://whycan.cn/t_444.html
https://whycan.cn/t_1662.html




烧录这个固件:

镜像下载地址: https://pan.baidu.com/s/1smzuGS9

本站下载(需要解压): Nano_flash_800480.7z

这个固件的默认串口是 UART0(PE0, PE1)





离线

楼主 #69 2019-05-30 06:46:55

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

检查三组电源是否都正常,fel不用 dram 1v8那组,可能你以为板子正常。

还有串口是PE0, PE1 ,确认有没有错





离线

楼主 #71 2019-05-30 09:09:13

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

不用先擦除, sunxi-fel 是一边擦,一边写, 读 flash 有bug, 所以没有校验操作。





离线

楼主 #73 2019-05-30 20:34:10

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

zpyws 说:

问题找到了:ch340 usb转串口模块有问题,换了个ftdi的log出来了,坑死我了。
这个固件默认的密码是多少?mmc一直在错是硬件有问题吗?
[  878.067707] sunxi-mmc 1c0f000.mmc: fatal err update clk timeout
[  878.817716] sunxi-mmc 1c0f000.mmc: fatal err update clk timeout

root
licheepi





离线

楼主 #79 2019-09-19 09:16:01

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

这是因为被挂到了 VMWare,

去 VMWare 右下角, 找到对应的设备, 然后右击 -> 断开。





离线

楼主 #81 2019-09-19 10:23:16

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 荔枝派nano f1c100s 开发板入坑记录

那换一台电脑试一试。





离线

页脚

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

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