基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)
基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)
- 1.获取源代码
- 2.linux内核修改dts设备树文件
- 3.内核配置修改
- 3.1.使用命令进入配置界面
- 3.2.支持jffs2文件系统
- 3.3.支持MTD设备
- 4.添加flash型号支持
- 4.1修改源码下的 ./drivers/mtd/spi-nor/spi-nor.c,增加xt25f128b型号。
- 5.编译
1.获取源代码
1.下载默认带480*272LCD的版本:git clone --depth=1 -b f1c100s-480272lcd-test https://github.com/Icenowy/linux.git
2.或者下载不带LCD驱动的版本:git clone --depth=1 -b f1c100s https://github.com/Icenowy/linux.git
2.linux内核修改dts设备树文件
1.修改内核源码目录下的 ./arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
//==============================================================
说明:(注意这里我的板子上的SPI Flash型号是xt25f128b,因此上面的型号填的是xt25f128b,官方默认是w25f128,要根据自己板上的型号修改,对应的分区也在里面,烧录的时候需要用到)
由于我们使用的nor flash是xt25f128b,所以需要更改对应的flash型号,将原内容:
&spi0 {pinctrl-names = "default";pinctrl-0 = <&spi0_pins_a>;status = "okay";flash@0 {#address-cells = <1>;#size-cells = <1>;compatible = "winbond,w25q128", "jedec,spi-nor";reg = <0>;spi-max-frequency = <40000000>;};
};
更改为:
&spi0 {pinctrl-names = "default";pinctrl-0 = <&spi0_pins_a>;status = "okay";spi-max-frequency = <50000000>;flash: xt25f128b@0 {#address-cells = <1>;#size-cells = <1>;compatible = "winbond,xt25f128b", "jedec,spi-nor";reg = <0>;spi-max-frequency = <50000000>;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>;};};};
};
//==============================================================
3.内核配置修改
3.1.使用命令进入配置界面
make ARCH=arm menuconfig
3.2.支持jffs2文件系统
File systems --->[*] Miscellaneous filesystems ---><*> Journalling Flash File System v2 (JFFS2) support
3.3.支持MTD设备
Device Drivers ---> <*> Memory Technology Device (MTD) support ---><*> Caching block device access to MTD devices
4.添加flash型号支持
4.1修改源码下的 ./drivers/mtd/spi-nor/spi-nor.c,增加xt25f128b型号。
//找到如下数组,并修改
static const struct flash_info spi_nor_ids[] = {……{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },//新增xt25f128b型号的spi flash支持{ "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, 0) }, //添加这行即可……};
//如果是其他型号则将型号和对应的ID加入这个表中即可,如果是默认的w25q128,则需要将后面的SECT_4K改为0,如下:
{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) },
5.编译
- 建议使用如下命令编译:
# 为了加快编译速度,请自行更改线程数
# 覆盖.config文件
cp config configs/.config //这个没有的话就手动配置,其实上面已经配置好了。
# 编译内核,生成zImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
# 编译dts,生成dtb文件
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j8
# 编译内核模块,并输出到out目录
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=out modules_install
- 编译完成后会生成如下两个文件:
./arch/arm/boot/zImage
./arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb
./out/lib/modules
基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三)
链接: link.(https://blog.csdn.net/qq_39721016/article/details/123400520?spm=1001.2014.3001.5501)
基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)相关推荐
- 基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三)
基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三) 1.下载Buildroot代码包 2.解压文件,获得源代码 3.配置Buildroot 4.编译 5.生成rootfs. ...
- 玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路
玩转RT-Thread之荔枝派Nano(全志F1C100S) 一.新手上路 --作者:燕十三(flyingcys) blog:http://blog.csdn.net/flyingcys --荔枝派n ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
- 基于荔枝派Nano学习Buildroot的构建过程
文章目录 0. 声明 1. 前言 2. 开发环境以及工具准备 2.1 主机系统 2.2 编译工具链 3. 构建系统Buildroot 3.1 工程配置 (1)首次构建工具链的情况 (2)使用外部工具链 ...
- 新手玩荔枝派 f1c100s nano折腾笔记(二)
查看文件信息 stat xxx 安装sunxi tools sudo apt install libz libusb-1.0-0-dev 报错unable to libz 改为sudo apt in ...
- 新手玩荔枝派 f1c100s nano折腾笔记(三)
应用开发篇: minimal_f1c100s-framebuffer.zip 荔枝派 nano引脚图 使用OTG功能没办法挂载U盘,插入TF卡,开机自动TF卡启动,开机后插入TF有提示,但找不到盘. ...
- lichee nano 荔枝派入门——linux内核
获取源代码 见<lichee nano 荔枝派入门--搭建环境> 个人建议使用如下命令克隆内核代码: # 下载默认带480*272LCD的版本 git clone --depth=1 -b ...
- lichee nano 荔枝派入门——u-boot
获取源代码 见上一篇文章<lichee nano 荔枝派入门--搭建环境> 切换分支 切换到lichee nano的代码分支,在u-boot目录下操作: # 查看分支 git branch ...
最新文章
- MFC调用批处理文件(.bat)
- Sprint第二个冲刺(第八天)
- 行波和驻波动画演示gif_新技能get√ | 语文课上的笔顺动画可以这么做
- layui table 弹出层刷新_layui 关闭open弹出框 刷新table表格页面的方法
- MATLAB 最大对角矩阵
- iconmobileu驱动设置教_不求人,超简单打印机共享设置!
- Flask 第三方组件之 login
- 自增ID有什么坏处?什么样的场景下不使用自增ID?
- python脚本报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
- Android应用开发以及设计思想深度剖析(3)
- FFmpeg进行推流的两种方法
- VC编程中,判断野指针
- python从网页提取文本_使用Python进行网页正文提取
- 港中文深圳校区计算机研究生怎么样,香港中文大学(深圳)大概相当于国内什么水平高校...
- 查看k8s的etcd数据
- pytorch教程 聊天机器人(详细注释attentionrnn输入输出shape等知识点...
- redis主从和集群
- Cesium交流群链接
- Linux桌面i3与i7,IT小干货 | i3.i5.i7.i9有什么区别?桌面篇
- 挑逗Java程序员的那些Scala绝技