WhyCan Forum

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

您尚未登录。

#1 2019-09-20 08:59:48

luckymist
会员
注册时间: 2019-09-18
累计积分: 50

参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

事先烧写“分享一个 5寸的 800x480 的 f1c100s 固件, 感谢 @xm1994”帖子里的固件可以正常开机进入kernel。
下载linux代码:
git clone https://github.com/Lichee-Pi/linux.git
git checkout nano-5.2-flash

参考“U-Boot的编译和填坑”:https://whycan.cn/t_2179.html
编译出来zImage和dtb文件进行烧写替换,开机后log停在 “Starting kernel ...”,屏幕黑白条纹一直闪烁刷新。

log如下:

U-Boot 2018.01-05679-g013ca45 (Sep 19 2019 - 15:38:15 +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
Out:   vga
Err:   vga
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
sf - SPI flash sub-system

Usage:
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus
                                  and chip select
sf read addr offset|partition len       - read `len' bytes starting at
                                          `offset' or from start of mtd
                                          `partition'to memory at `addr'
sf write addr offset|partition len      - write `len' bytes from memory
                                          at `addr' to flash at `offset'
                                          or to start of mtd `partition'
sf erase offset|partition [+]len        - erase `len' bytes from `offset'
                                          or from start of mtd `partition'
                                         `+len' round up `len' to block size
sf update addr offset|partition len     - erase and write `len' bytes from memory
                                          at `addr' to flash at `offset'
                                          or to start of mtd `partition'
sf protect lock/unlock sector len       - protect/unprotect 'len' bytes starting
                                          at address 'sector'

device 0 offset 0x100000, size 0x10000
SF: 65536 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 80e63ddc ... OK

Starting kernel ...

离线

#2 2019-09-20 09:01:40

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

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

你的Linux 是不是烧在 这个位置: 0x110000 ,  大小是: 0x400000 ?

离线

#3 2019-09-20 09:34:56

luckymist
会员
注册时间: 2019-09-18
累计积分: 50

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

firstman 说:

你的Linux 是不是烧在 这个位置: 0x110000 ,  大小是: 0x400000 ?

是的

参考这个说明来烧写的:

目前支持 w25q128, 其他 flash 未测, 烧录命令:

sunxi-fel -p spiflash-write 0x000000 u-boot-sunxi-with-spl.bin
sunxi-fel -p spiflash-write 0x060000 whycan.bmp.gz
sunxi-fel -p spiflash-write 0x110000 zImage
sunxi-fel -p spiflash-write 0x100000 suniv-f1c100s-licheepi-nano-800480.dtb
sunxi-fel -p spiflash-write 0x510000 jffs2.bin

最近编辑记录 luckymist (2019-09-20 09:36:40)

离线

#4 2019-09-20 09:47:10

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 7,847

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

检查一下 zImage 有没有超过 4M, 如果没有就开启 early printk:  https://whycan.cn/t_2402.html#p18838

开启了 ealyprintk 才会提示具体的错误信息。

离线

#5 2019-09-20 12:22:16

luckymist
会员
注册时间: 2019-09-18
累计积分: 50

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

晕哥 说:

检查一下 zImage 有没有超过 4M, 如果没有就开启 early printk:  https://whycan.cn/t_2402.html#p18838

开启了 ealyprintk 才会提示具体的错误信息。

改用nano-4.14-exp分支,可以进入kernel了。

nano-5.2-flash分支进不去的问题下午打开early printk看下。

离线

#6 2019-09-20 16:52:36

luckymist
会员
注册时间: 2019-09-18
累计积分: 50

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

nano-5.2-flash分支的menuconfig没有Allwinner的选项,是否是这个差异导致该问题?  有人用过nano-5.2-flash分支吗?


SPI-Flash的支持

进入 Device Drivers -> SPI support,将 Allwinner A10 SoCs SPI controller取消勾选,然后勾上下面的Allwinner A31 SPI Controller。这是为了修正配置文件中SPI驱动不正确的问题。

离线

#7 2019-09-20 17:07:30

我思故我在
会员
注册时间: 2019-09-03
累计积分: 90

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

https://whycan.cn/t_2703.html#p21662

0x01:  开机卡在waiting for rootfs

原因有两点

1. 找不到SPI flash
f1c100s应使用A31的spi控制器驱动,但lichee官方config中是启用的A10 SoC的驱动。
表现为开机ttl日志中没有dts中的spiflash 分区信息打印,且卡在waiting for rootfs
启用:Device Driver --->  SPI Support ---> Allwinner A31 SPI controller
禁用:Device Driver --->  SPI Support ---> Allwinner A10 SoCs SPI controller

离线

#8 2019-09-20 17:37:51

luckymist
会员
注册时间: 2019-09-18
累计积分: 50

Re: 参考http://nano.lichee.pro的步骤编译linux烧写后开机屏幕无打印,黑白条闪烁

我思故我在 说:

https://whycan.cn/t_2703.html#p21662

0x01:  开机卡在waiting for rootfs

原因有两点

1. 找不到SPI flash
f1c100s应使用A31的spi控制器驱动,但lichee官方config中是启用的A10 SoC的驱动。
表现为开机ttl日志中没有dts中的spiflash 分区信息打印,且卡在waiting for rootfs
启用:Device Driver --->  SPI Support ---> Allwinner A31 SPI controller
禁用:Device Driver --->  SPI Support ---> Allwinner A10 SoCs SPI controller

兄台,你用的是nano-5.2-flash分支吗?

离线

页脚