您尚未登录。

楼主 #1 2018-11-11 05:00:41

C37R
会员
注册时间: 2018-11-06
已发帖子: 3
积分: 3
个人网站

Lichee PI V3S W25Q128 启动入坑

这里率先发表一下自己最近入坑的感想吧:
1.lichee 派的文档和资料组织比较混乱,新手慎入
2.目前主线的uboot尚未增加对spi-flash的支持
3.不知道我买的是否是一家,总感觉硬件不是特别稳定,经常无法启动
进入正题:
开发环境:
ubuntu 16.04 - 18.04,不推荐14.04,因为GCC版本太老(apt-get install 的),如果更新不了的话,自己又要折腾一番。
机器:实体机 (我试过虚拟机,V3S FEL模式进入后不知道为什么转到虚拟机上面时,总是会丢失连接。) 实体机也不贵,300元全套带回家
板子:lichee zero
电源(important):推荐使用淘宝上的降压模块,然后接入12V电源后降到5V,这样供电能力比电脑的USB会强一些
flash:w25q128

至于编译过程,坑网已经有大佬写了,我就不赘述了。注意几点:
1.拉spi分支的uboot
2.kernel 的相关配置需要修改
3.jffs2 擦除块为8K, 而kernel的spi-nor.c中,w25q128默认是开启4K擦除的,需要将其去除
第一点在首页的帖子就有,我不重复了
第二点,kernel中开启spi-flash支持,文件arch\arm\configs\licheepi_zero_defconfig:
CONFIG_MTD=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
这个默认是打开的
其次要开启jffs2文件系统支持(如果你用的是jffs2文件系统的话):
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_ZLIB=y
dts中增加相关节点:
arch\arm\boot\dts\sun8i-v3s-licheepi-zero.dts
&spi0 {
        status ="okay";

        w25q128:w25q128@0 {
                compatible = "jedec,spi-nor";
                reg = <0x0>;
                spi-max-frequency = <50000000>;
                #address-cells = <1>;
                #size-cells = <1>;
        };

};
以上配置好后,可以执行 make ARCH=arm licheepi_zero_defconfig
会在当前目录下生成.config文件,这个.config文件可以留有以后备用,省得clean过后每次都去配置,也可以合并进入licheepi_zero_defconfig文件中(推荐)
接着就是要修改drivers\mtd\spi-nor\spi-nor.c 中,你对应的flash的信息,将SECT_4K去除:
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) }, //c37r changed SECT_4K =》 0
因为如果开启此flag,会导致jffs2启动不成功。
如上,即可愉快的进行编译啦,至于如何制作系统,请参考:
http://zero.lichee.pro/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/SPI_flash_build.html
按照这个来就可以了
如有错误,欢迎指正。






不求连城璧,但求杀人剑。超越自己,成就他人

离线

楼主 #2 2018-11-11 05:02:23

C37R
会员
注册时间: 2018-11-06
已发帖子: 3
积分: 3
个人网站

Re: Lichee PI V3S W25Q128 启动入坑

补充一下,uboot spi分支,默认是开启winbond flash支持的,无需配置






不求连城璧,但求杀人剑。超越自己,成就他人

离线

页脚

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

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