Licheepi Nano屏幕驱动并输出打印信息

Licheepi Nano买回来好长时间,没咋玩,最近看了一个利用F1C100S自制迷你电脑的博客,里面主要参考的就是Licheepi Nano。我打算先在Licheepi Nano上完成屏幕操作、Debian文件系统和USB键盘等内容,这里介绍怎样利用Licheepi Nano外接屏幕,并且将信息可以输出到屏幕上。(对了,我的屏幕并不是官方的,实在tb上买的一块40脚-rgb-4.3寸屏幕,因为Licheepi Nano板载屏幕背光驱动,买了直接插就能用)


整体思路

这里讲一下编译linux内核和u-boot的思路,不然很容易弄混。去官网或github下载linux内核或u-boot之后,最理想的状态就是直接make就能生成我们需要的文件,但是有那么多系统,那么多板子,所以需要利用其自带的配置文件或者自己去找配置文件,替换了.config,之后再用对应的编译器去make。

一、Linux源码中设备树修改

首先,要对内核文件进行修改和编译,具体如下:

1.1下载内核核配置文件

🍬🍬🍬下载内核文件
github上的仓库不见了,需要自己去Linux官网下载,内核文件下载参考->链接: 大佬博客,该博客里面也给出了Licheepi Nano的配置文件。我这里用的是之前github仓库中的4.14内核。

下载licheepi nano配置文件
下载配置文件并复制到源码目录下,然后改为.config

mv lichee_nano_linux.config .config

在这里插入图片描述
改为.config之后,进行可视化配置,

make ARCH=arm menuconfig
//如果没有其他的需求,直接保存即可

1.2设备树修改

🍬🍬🍬修改设备树支持屏幕
内核配置之后不能直接编译,需要对 源码目录/arch/arm/boot/dts 中的设备树文件进行修改,Licheepi Nano的设备树文件为suniv-f1c100s-licheepi-nano.dts。打开后添加panel节点:
在这里插入图片描述
其中,我的屏幕是4.3寸,480X272大小的屏幕,所以设置compatible = qiaodian,qd43003c0-40”, “simple-panel”

还要添加:
在这里插入图片描述
保存之后,然后,make,下面:

1.3编译make

我的工具链是gnueabihf,一般是gnueabi

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8

make之后,在 源码目录/arch/arm/boot/dts 目录下生成suniv-f1c100s-licheepi-nano.dtb文件,还有 源码目录/arch/arm/boot 目录下的zImage拷贝到TF卡的第一分区(分区方法见前文)。

二、u-boot修改

2.1u-boot下载核配置

🍬🍬🍬u-boot下载和配置
直接从github中获取u-boot:

git clone https://github.com/Lichee-Pi/u-boot.git -b nano-v2018.01

谢天谢地,Licheepi Nano的配置文件licheepi_nano_defconfig文件在configs里面。配它!

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_defconfig

在这里插入图片描述

2.2可视化配置

🍬🍬🍬可视化配置
然后,进行可视化配置,这里需要进一步改写两个参数。

make ARCH=arm menuconfig

按y勾选boot arguments 和bootcmd两个选项。

1.boot arguments填入:

console=ttyS0,115200 panic=5 root=/dev/mmcblk0p2 rootwait rw  

其中ttyS0代表着串口0输出信息,如果要想使用屏幕打印启动信息需要添加:

console=tty1 console=ttyS0,115200 panic=5 root=/dev/mmcblk0p2 rootwait rw  

其中,tty1大概讲一下,tty代表着Linux系统的终端控制,我们都知道屏幕驱动在linux中一般都是设备节点/dev/fb0,一般设备驱动fb0会和tty1即一号终端有联系,添加console=tty1之后,启动信息就会同时打印到屏幕和串口0。
2.bootcmd填入: 一行话哦~

load mmc 0:1 0x80008000 zImage;load mmc 0:1 0x80c08000 suniv-f1c100s-licheepi-nano.dtb;bootz 0x80008000 - 0x80c08000;

这个是Licheepi Nano的一些启动参数,不详细讲了。

附图:
在这里插入图片描述

可视化设置好之后,Save,保存为.config(默认的),之后编译:

2.3编译make

//我的工具链是gnueabihf,一般是gnueabi
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8

编译完生成u-boot-sunxi-with-spl.bin文件,将该文件拷贝到tf卡,注意:这里是sdb不是sdb1也不是sdb2。

sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

三、实际效果

根文件系统的制作和拷贝这里就不介绍了,我这里是制作的Debian系统,最后附录给出大佬的博客链接。
插卡启动!插卡启动!插卡启动!
理论上启动信息会输出到你的串口调试助手和屏幕(这个图我没拍)。
由于Licheepi Nano没有任何输入设备,没有键盘还不能直接操作,但是可以在串口助手通过如下几条指令将一些信息打印到屏幕

ls >/dev/tty1	//注意千万不要给了fb0
ls >/dev/fb0	//错误的,这样只会在屏幕的最上边叠加一些东西。

测试图片:

在这里插入图片描述

在这里插入图片描述


附录:参考博客和后续想移植的

1、内核编译:
https://blog.csdn.net/weixin_41544435/article/details/124459930
https://www.cnblogs.com/twzy/p/15355842.html
2、u-boot移植:
https://blog.csdn.net/weixin_41544435/article/details/124459930
https://www.cnblogs.com/twzy/p/14865952.html
3、Debian文件系统制作(强烈推荐)
https://www.cnblogs.com/twzy/p/15160824.html
4、USB移植(下一步)
https://www.cnblogs.com/twzy/p/15243838.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我7plus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值