WhyCan Forum(哇酷开发者社区)

我们能随心所欲"有问题百度(谷歌)一下", 这得感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2019-05-18 17:10:09

还能这么玩
会员
注册时间: 2019-04-14
累计积分: 119

最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

2019-05-18_170732.png


gigadevice.c
macronix.c   
micron.c   
toshiba.c   
winbond.c

https://github.com/torvalds/linux/tree/master/drivers/mtd/nand/spi

离线

#2 2019-05-18 17:21:06

超级萌新
会员
注册时间: 2018-05-04
累计积分: 406

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

linux真是了不起,一天比一天进步,与时俱进

离线

#3 2019-05-18 17:32:29

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

https://github.com/torvalds/linux/blob/master/drivers/mtd/nand/spi/winbond.c

static const struct spinand_info winbond_spinand_table[] = {
    SPINAND_INFO("W25M02GV", 0xAB,
             NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 2),
             NAND_ECCREQ(1, 512),
             SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                          &write_cache_variants,
                          &update_cache_variants),
             0,
             SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL),
             SPINAND_SELECT_TARGET(w25m02gv_select_target)),
    SPINAND_INFO("W25N01GV", 0xAA,
             NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
             NAND_ECCREQ(1, 512),
             SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
                          &write_cache_variants,
                          &update_cache_variants),
             0,
             SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL)),
};

2019-05-18_173118.png


W25N01GVZEIG:  https://item.szlcsc.com/90048.html

谢谢楼主分享, 发现很久以前在立创商城买的 W25N01GVZEIG  很快就能用上了.

离线

#4 2019-05-18 17:33:45

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

&spi0 {
        pinctrl-names = "default";
        pinctrl-0 = <&spi0_pins_a>;
        status = "okay";

        flash@0 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "spi-nand";
                reg = <0>;
                spi-max-frequency = <40000000>;




        partitions {
                compatible = "fixed-partitions";
                #address-cells = <1>;
                #size-cells = <1>;

            partition@0 {
                label = "all";
                reg = <0x000000 0x8000000>;
            };
        };
        };
};

https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/mtd/spi-nand.txt

设备树应该是这样的。

离线

#5 2019-05-19 12:21:15

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

QQ20190519121820.jpg

QQ20190519121035.png

QQ20190519121042.png

搞定, 只是速度有点慢了.

离线

#6 2019-05-19 20:24:50

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

QQ20190519202357.png

小智极客S3开发板
荔枝派V3s 开发板
开机把 w25n01 spi nand 芯片挂载 u盘均成功。


本站下载: v3s_s3_fel_autorun_linux_uart0_pb8_pb9_201905018_spinand_OK.7z

离线

#7 2019-06-07 15:18:07

baiymhmy
会员
注册时间: 2018-08-15
累计积分: 13

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?


晕哥 你好。
请问你是在4.14内核的基础上把最新内核的SPI NAND驱动移植过来呢,还是直接跑了最新内核?
现在我想在目前正在使用的4.14内核上,使用SPI NAND,有什么建议吗?十分感谢。

离线

#8 2019-06-07 15:41:39

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

baiymhmy 说:

晕哥 你好。
请问你是在4.14内核的基础上把最新内核的SPI NAND驱动移植过来呢,还是直接跑了最新内核?
现在我想在目前正在使用的4.14内核上,使用SPI NAND,有什么建议吗?十分感谢。

可以的, 4.19 及其以后的版本支持 spi nand
https://github.com/torvalds/linux/blob/v4.19/drivers/mtd/nand/spi/winbond.c

你试一试从最新的 5.x 把整个文件夹拷过来试一试.

离线

#9 2019-06-08 13:33:35

dgtg
会员
注册时间: 2017-11-08
累计积分: 166

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

spi nand带坏块管理了吗?

离线

#10 2019-06-08 22:31:58

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

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

dgtg 说:

spi nand带坏块管理了吗?

坏块管理是文件系统的任务吧?

离线

#11 2019-06-10 11:18:11

1328616904
会员
注册时间: 2018-06-14
累计积分: 5

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

挂到F1C100S上面试试

离线

#12 2019-06-12 14:16:30

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

焊上 GD5F1GQ4UAYIG 到荔枝派zero板子, 一切正常:

QQ20190611225100.jpg

QQ20190611224257.png

离线

#13 2019-06-12 14:16:45

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

QQ20190612141435.jpg

QQ20190612141129.png

W25M02GVZEIG 256MB OK

离线

#14 2019-06-12 19:25:07

守望麦田
会员
注册时间: 2019-06-12
累计积分: 3

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥你好,我用A33的使用sunxi-fel 没有办法往spi nand里面写入uboot,好像sunxi-fel不支持A33的SPI Flash,有没有什么建议?

离线

#15 2019-06-12 20:23:27

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

守望麦田 说:

晕哥你好,我用A33的使用sunxi-fel 没有办法往spi nand里面写入uboot,好像sunxi-fel不支持A33的SPI Flash,有没有什么建议?

spi nor 可以吗?

离线

#16 2019-06-13 09:41:52

守望麦田
会员
注册时间: 2019-06-12
累计积分: 3

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:
守望麦田 说:

晕哥你好,我用A33的使用sunxi-fel 没有办法往spi nand里面写入uboot,好像sunxi-fel不支持A33的SPI Flash,有没有什么建议?

spi nor 可以吗?

SPI nor直接用的LiveSuit烧录的,现在换成SPI Nand

离线

#17 2019-06-13 09:46:36

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.

离线

#18 2019-06-13 10:15:46

守望麦田
会员
注册时间: 2019-06-12
累计积分: 3

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.


无论在Ubuntu还是Windows下使用sunxi-fel spiflash-info 都会提示如下的信息
usb_bulk_send() ERROR -7: Operation timed out

另外如何用你上面的办法烧录呢? sunxi-fel都没法写,是不是芯片不支持?谢谢

离线

#19 2019-06-13 10:23:40

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

守望麦田 说:
晕哥 说:

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.


无论在Ubuntu还是Windows下使用sunxi-fel spiflash-info 都会提示如下的信息
usb_bulk_send() ERROR -7: Operation timed out

另外如何用你上面的办法烧录呢? sunxi-fel都没法写,是不是芯片不支持?谢谢

A33 不确定是否可以

不过你可以看下这个链接: http://linux-sunxi.org/A33_Suspend

Build sunxi-tools

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabi-

cd ~/a33_suspend_test_build

git clone https://github.com/linux-sunxi/sunxi-tools

cd sunxi-tools

git checkout d9b1d7e7dff1e70fea91a3f259e9e8ac9508de35

make

https://github.com/linux-sunxi/sunxi-tools/commit/d9b1d7e7dff1e70fea91a3f259e9e8ac9508de35

离线

#20 2019-08-12 20:41:28

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥, sun8i-v3s-licheepi-zero.dts 里应该怎么改呀

离线

#21 2019-08-12 21:19:39

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

四楼

离线

#22 2019-08-12 22:00:39

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

四楼

加上之后,编译报了错误:
Reference to non-existent node or label "spi0_pins_a"
怎么添加这个引用呢

离线

#23 2019-08-12 22:26:37

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

Han 说:
晕哥 说:

四楼

加上之后,编译报了错误:
Reference to non-existent node or label "spi0_pins_a"
怎么添加这个引用呢

sun8i-v3s.dtsi:

https://whycan.cn/t_1712.html#p9794

离线

#24 2019-08-13 17:29:04

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:
Han 说:
晕哥 说:

四楼

加上之后,编译报了错误:
Reference to non-existent node or label "spi0_pins_a"
怎么添加这个引用呢

sun8i-v3s.dtsi:

https://whycan.cn/t_1712.html#p9794

晕哥,你在Zero开发板上焊接GD5F1GQ4UAYIG的时候,除了焊接之外还有没有做什么改动呀?我焊接了之后,用dd指令检测不到flash.

No SPI flash detected.

离线

#25 2019-08-13 17:39:10

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

勾选 SPI NAND 驱动和配置设备树

离线

#26 2019-08-14 10:09:25

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

sunxi-fel 目前不支持spi nand,见过有魔改的支持 spi nand,但是没有开源。

但是可以用我也上面的办法烧录,BROM读spi flash是按1k page 的,

如果你的flash是2k page, 每写1k跳过1k.

晕哥,想在zero上用GD5F1GQ4UAYIG启动的话,也是不能使用spixi-fel进行烧录吗?

离线

#27 2019-08-14 10:11:51

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

离线

#28 2019-08-14 10:19:48

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

Han 说:
晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

离线

#29 2019-08-14 10:41:36

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:
Han 说:
晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

我看荔枝派官网里介绍,BSP和linux都是用的主线uboot
"主线Uboot + Bsp 内核
如果不想被坑卓坑, 又想比较好地使用摄像头,可以使用主线Uboot加Bsp内核方案, 系统配置为fex文件配置。
主线uboot: https://github.com/Lichee-Pi/u-boot
bsp内核即前面的lichee linux: http://pan.baidu.com/s/1eRJrViy
主线Uboot + 主线linux
如果想使用主线的特性,可以使用 主线Uboot + 主线linux 开发环境。系统配置为dts设备树配置。
主线uboot: https://github.com/Lichee-Pi/u-boot
主线linux: https://github.com/Lichee-Pi/linux"

这应该怎么使用bsp的Uboot呀

离线

#30 2019-08-14 10:44:32

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

离线

#31 2019-08-14 10:50:07

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:
Han 说:
晕哥 说:

勾选 SPI NAND 驱动和配置设备树

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

晕哥,上次在QQ群你发给我一个链接,说是里面有支持GD5F1GQ4UAYIG启动的镜像,是这个“Run_V3s_LicheePi0.bat”文件吗,这个文件应该怎么烧录到板子里

离线

#32 2019-08-14 10:51:23

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

公司画的板上只有GD5F1GQ4UAYIG 这个芯片的接口,唉,没办法改了

离线

#33 2019-08-14 10:56:01

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

Han 说:
晕哥 说:
Han 说:

我用sunxi-fel 烧录指令进行烧录后,启动后没有任何打印输出,然后发现用sudo sunxi-fel spiflash-info 检测flash信息时,就显示“No SPI flash detected.”

只是说 linux 最新版本支持 spi nand,并没有说 sunxi-fel 支持 spi nand,

有一个比较曲线的办法解决这个问题,就是用 bsp 的 uboot, 他支持 spi nand的启动。

晕哥,上次在QQ群你发给我一个链接,说是里面有支持GD5F1GQ4UAYIG启动的镜像,是这个“Run_V3s_LicheePi0.bat”文件吗,这个文件应该怎么烧录到板子里

那个是 USB 启动的固件: https://whycan.cn/t_2449.html

离线

#34 2019-08-14 11:00:03

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

Han 说:
晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

公司画的板上只有GD5F1GQ4UAYIG 这个芯片的接口,唉,没办法改了

建议优先更换硬件方案, 软件一时半会估计难以搞定吧。

如果实在要这样玩, 先搞定 Linux 上驱动 GD5F1GQ4UAYIG:

1. TF卡启动系统, 能识别GD5F1GQ4UAYIG
2. TF卡上的 U-Boot 能识别并读取 GD5F1GQ4UAYIG
3. TF卡上的 SPL 能被 V3s 的 BROM 读取并运行。

离线

#35 2019-08-14 11:12:09

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:
Han 说:
晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

公司画的板上只有GD5F1GQ4UAYIG 这个芯片的接口,唉,没办法改了

建议优先更换硬件方案, 软件一时半会估计难以搞定吧。

如果实在要这样玩, 先搞定 Linux 上驱动 GD5F1GQ4UAYIG:

1. TF卡启动系统, 能识别GD5F1GQ4UAYIG
2. TF卡上的 U-Boot 能识别并读取 GD5F1GQ4UAYIG
3. TF卡上的 SPL 能被 V3s 的 BROM 读取并运行。

我看晕哥那次回复说已经成功使用GD5F1GQ4UAYIG启动系统了,晕哥当时怎么烧录的呀

离线

#36 2019-08-14 11:55:58

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

我没有烧录, 通过USB 启动的 Linux

离线

#37 2019-08-14 16:19:56

Han
会员
注册时间: 2019-08-12
累计积分: 30

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

我没有烧录, 通过USB 启动的 Linux

那你把uboot、内核、设备树和根文件系统是放在GD5F1GQ4UAYIG里了吗?

离线

#38 2019-08-14 16:20:59

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

Han 说:
晕哥 说:

我没有烧录, 通过USB 启动的 Linux

那你把uboot、内核、设备树和根文件系统是放在GD5F1GQ4UAYIG里了吗?

没有, 只是 Linux 系统驱动了而已, 结合 USB, 把他挂载成了 U盘.

离线

#39 2020-01-21 14:03:26

XZHDJH
会员
注册时间: 2020-01-18
累计积分: 29

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

mark

离线

#40 2020-05-08 21:27:21

grantho
会员
注册时间: 2020-03-21
累计积分: 39

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

我也没有这么用过,建议满足需求的前提下尽量用 sd nand,现在市场上可以选择的 sd nand 多着了,也不需要自己去驱动,省事。

晕哥,sd nand不是很明白怎么用。sd nand是相当于固定的sd卡,焊在sdc0吗?还是作为emmc焊在sdc2?还是说sd nand工作在spi模式,焊在spi0呢?怎么烧录程序呢?是用主线uboot还是bsp uboot呢?有点不大明白,请教一下

最近编辑记录 grantho (2020-05-08 21:28:03)

离线

#41 2020-05-08 22:01:11

哇酷小二
管理员
注册时间: 2020-04-22
累计积分: 1,585

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

grantho 说:

晕哥,sd nand不是很明白怎么用。sd nand是相当于固定的sd卡,焊在sdc0吗?还是作为emmc焊在sdc2?还是说sd nand工作在spi模式,焊在spi0呢?怎么烧录程序呢?是用主线uboot还是bsp uboot呢?有点不大明白,请教一下

你说得没错, 对用户来说, SD NAND 相当于 TF卡, 至于内部工艺, 每家都可能不同.

V3s 的 SDC0,
S3的 SDC0/SDC2 都可以启动,

他们的手册上面都有写,

V3s 也有 SDC2, 但是是单线的(一根数据线) 据说也可以启动.

离线

#42 2020-05-15 18:31:07

huangjian276310465
会员
注册时间: 2020-04-15
累计积分: 7

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

感谢分享,回头去试试

离线

#43 2020-06-24 11:28:37

zhang235hai
会员
注册时间: 2020-04-06
累计积分: 102

Re: 最新的 Linux 驱动已经支持市场上几乎所有的 spi nand 了, 有没有哪位试一试?

晕哥 说:

我没有烧录, 通过USB 启动的 Linux

我参照以上的教程
已经成功运行linux
但是nand并没有被电脑识别为U盘
是什么原因呢?
[    0.915792] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.921122] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
上面这两行代码应该是成功识别了nand了吧

U-Boot SPL 2019.04-00743-g7d99406 (Apr 26 2019 - 02:24:09 -0400)
DRAM: 64 MiB
Trying to boot from FEL


U-Boot 2019.04-00743-g7d99406 (Apr 26 2019 - 02:24:09 -0400) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   mmc@01c0f000: 0
Loading Environment from FAT... Card did not respond to voltage select!
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000
Net:   No ethernet found.
starting USB...
No working controllers found
Hit any key to stop autoboot:  0 
(FEL boot)
## Executing script at 41900000
## Loading init Ramdisk from Legacy Image at 41a00000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    2099576 Bytes = 2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 41800000
   Booting using the fdt blob at 0x41800000
   Loading Ramdisk to 42bff000, end 42dff978 ... OK
   Loading Device Tree to 42bf8000, end 42bfe16c ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.1.0-rc4-00035-g0b5cbfb-dirty (root@test4) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #51 SMP Mon May 6 03:51:59 EDT 2019
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock
[    0.000000] printk: bootconsole [earlycon0] enabled
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Failed to reserve 32 MiB
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: Using PSCI v0.1 Function IDs from DT
[    0.000000] random: get_random_bytes called from start_kernel+0x9c/0x41c with crng_init=0
[    0.000000] percpu: Embedded 16 pages/cpu @(ptrval) s34572 r8192 d22772 u65536
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/ram0 rdinit=/linuxrc earlyprintk rw
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 51776K/65536K available (7168K kernel code, 467K rwdata, 1832K rodata, 1024K init, 261K bss, 13760K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: GICv2 detected, but range too small and irqchip.gicv2_force_probe not set
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.008002] Switching to timer-based delay loop, resolution 41ns
[    0.014207] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.023631] Console: colour dummy device 80x30
[    0.028116] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.038481] pid_max: default: 32768 minimum: 301
[    0.043244] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.049881] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.057534] *** VALIDATE proc ***
[    0.061078] *** VALIDATE cgroup1 ***
[    0.064650] *** VALIDATE cgroup2 ***
[    0.068230] CPU: Testing write buffer coherency: ok
[    0.073617] /cpus/cpu@0 missing clock-frequency property
[    0.078940] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.085431] Setting up static identity map for 0x40100000 - 0x40100060
[    0.092164] rcu: Hierarchical SRCU implementation.
[    0.097794] smp: Bringing up secondary CPUs ...
[    0.102331] smp: Brought up 1 node, 1 CPU
[    0.106337] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[    0.112566] CPU: All CPU(s) started in HYP mode.
[    0.117175] CPU: Virtualization extensions available.
[    0.123326] devtmpfs: initialized
[    0.130223] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.138256] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.148137] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.154460] pinctrl core: initialized pinctrl subsystem
[    0.160968] NET: Registered protocol family 16
[    0.165933] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.174077] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.182078] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.204304] SCSI subsystem initialized
[    0.208890] usbcore: registered new interface driver usbfs
[    0.214433] usbcore: registered new interface driver hub
[    0.219949] usbcore: registered new device driver usb
[    0.225241] media: Linux media interface: v0.10
[    0.229847] videodev: Linux video capture interface: v2.00
[    0.235422] pps_core: LinuxPPS API ver. 1 registered
[    0.240404] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.249540] PTP clock support registered
[    0.253753] Advanced Linux Sound Architecture Driver Initialized.
[    0.261251] clocksource: Switched to clocksource arch_sys_counter
[    0.278771] NET: Registered protocol family 2
[    0.283873] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[    0.291622] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.298590] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[    0.304979] TCP: Hash tables configured (established 1024 bind 1024)
[    0.311488] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.317356] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.323895] NET: Registered protocol family 1
[    0.329256] RPC: Registered named UNIX socket transport module.
[    0.335293] RPC: Registered udp transport module.
[    0.339991] RPC: Registered tcp transport module.
[    0.344715] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.351597] Unpacking initramfs...
[    0.531456] Freeing initrd memory: 2052K
[    0.537255] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.551795] NFS: Registering the id_resolver key type
[    0.556881] Key type id_resolver registered
[    0.561057] Key type id_legacy registered
[    0.565190] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.651078] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    0.658642] io scheduler mq-deadline registered
[    0.663199] io scheduler kyber registered
[    0.668346] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[    0.678631] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.756284] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.765186] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pb not found, using dummy regulator
[    0.776260] printk: console [ttyS0] disabled
[    0.800784] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A
[    0.809820] printk: console [ttyS0] enabled
[    0.809820] printk: console [ttyS0] enabled
[    0.818197] printk: bootconsole [earlycon0] disabled
[    0.818197] printk: bootconsole [earlycon0] disabled
[    0.828770] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pe not found, using dummy regulator
[    0.860100] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 37, base_baud = 1500000) is a U6_16550A
[    0.890796] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 38, base_baud = 1500000) is a U6_16550A
[    0.904264] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[    0.915792] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.921122] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.932162] libphy: Fixed MDIO Bus: probed
[    0.936279] CAN device driver interface
[    0.940786] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[    0.946684] dwmac-sun8i 1c30000.ethernet: No regulator found
[    0.952921] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[    0.960149] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[    0.967431] dwmac-sun8i 1c30000.ethernet: COE Type 2
[    0.972414] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[    0.979193] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[    0.984857] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[    0.997862] libphy: stmmac: probed
[    1.001969] dwmac-sun8i 1c30000.ethernet: Cannot get mdio-mux node
[    1.008556] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.015164] ehci-platform: EHCI generic platform driver
[    1.020683] ehci-platform 1c1a000.usb: EHCI Host Controller
[    1.026381] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[    1.034334] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000
[    1.061283] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[    1.068515] hub 1-0:1.0: USB hub found
[    1.072467] hub 1-0:1.0: 1 port detected
[    1.077088] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.083421] ohci-platform: OHCI generic platform driver
[    1.088967] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[    1.095715] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[    1.103697] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[    1.176301] hub 2-0:1.0: USB hub found
[    1.180130] hub 2-0:1.0: 1 port detected
[    1.187177] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[    1.196463] sun6i-rtc 1c20400.rtc: registered as rtc0
[    1.201639] sun6i-rtc 1c20400.rtc: RTC enabled
[    1.206391] i2c /dev entries driver
[    1.212148] usbcore: registered new interface driver em28xx
[    1.217729] em28xx: Registered (Em28xx v4l2 Extension) extension
[    1.223809] em28xx: Registered (Em28xx Input Extension) extension
[    1.230938] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    1.239642] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[    1.276153] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    1.283456] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pg not found, using dummy regulator
[    1.320246] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[    1.328372] usbcore: registered new interface driver usbhid
[    1.334045] usbhid: USB HID core driver
[    1.339849] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered
[    1.347478] sun4i-codec 1c22c00.codec: Failed to register our card
[    1.355008] NET: Registered protocol family 17
[    1.359488] can: controller area network core (rev 20170425 abi 9)
[    1.365900] NET: Registered protocol family 29
[    1.370349] can: raw protocol (rev 20170425)
[    1.374682] can: broadcast manager protocol (rev 20170425 t)
[    1.380345] can: netlink gateway (rev 20170425) max_hops=1
[    1.386197] Key type dns_resolver registered
[    1.390651] Registering SWP/SWPB emulation handler
[    1.403300] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    1.414847] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.420612] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[    1.429772] hub 3-0:1.0: USB hub found
[    1.433841] hub 3-0:1.0: 1 port detected
[    1.441987] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[    1.450675] gtp: GTP module loaded (pdp ctx size 64 bytes)
[    1.456373] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T00:03:03 UTC (183)
[    1.464761] vcc5v0: disabling
[    1.467737] ALSA device list:
[    1.470701]   #0: V3s Audio Codec
[    1.476191] Freeing unused kernel memory: 1024K
[    1.501404] Run /linuxrc as init process
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
Starting mdev...
Initializing random number generator... [    3.008037] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: OK
[    3.097311] Mass Storage Function, version: 2009/09/11
[    3.102655] LUN: removable file: (no medium)
[    3.107149] LUN: removable file: /dev/mtdblock0
[    3.111757] Number of LUNs=1
[    3.153427] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[    3.160404] g_mass_storage gadget: userspace failed to provide iSerialNumber
[    3.167579] g_mass_storage gadget: g_mass_storage ready

Welcome to Buildroot
buildroot login: [    8.177093] random: fast init done

Welcome to Buildroot
buildroot login: 
Welcome to Buildroot
buildroot login: 

离线

页脚

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