【2024 DigiKey创意大赛】1.树莓派5驱动ILI9488图像显示
[复制链接]
1. 前言
其实早就收到了RaspberryPi5的套件,8G版本,拿到手真是欣喜啊.自此开始了折腾之路。其实一直也在想从哪里入手呢,后面发现自己有一块之前做的兼容树莓派引脚的屏幕,那就先点亮屏幕吧。
2. 准备工作
要实现点亮屏,先要准备好:树莓派(使用官方电源,有条件再上一个散热器比较好),SD卡(推荐32G或以上,方便后期存储数据),触摸屏(采用ILI9488驱动芯片,SPI协议,320*480分辨率,ft6236触摸芯片,I2C协议),选配树莓派5专用串口线及适当的转接线。组装之后就像下面:
这里的散热器是从淘宝买的官方的,可以根据芯片温度自动调节转速,主打一个节能减排吧。
3. 下载,烧录系统
这一步骤其实没什么好讲的,无非就参考一些网上的帖子,用官方的工具(RapberryPi Imager)下载官方的系统将固件烧录到SD卡中。
在官方工具中可以配置需要连接的WIFI名称,密码,以及账户名称和密码等,还是很方便的。
然后在系统启动之后,会自动连接对应的wifi(或者采用网线方式亦可,)可以使用raspi-config指令将系统日志引到串口上,这样就不用每次都等系统连接网络之后。同时需要在网上买一条树莓派5的官方接口兼容的串口线,然后就可以愉快的玩耍了。
4. 触摸屏引脚定义:
首先查看树莓派的引脚图:
我的屏幕型号:ILI9488,触摸芯片为FT6236,接线为:
BCM编码 功能
10 MOSI
9 MISO
11 SCLK
24 DC
25 BL
16 RESET
2 SDA
3 SCL
11 CTP_INT
5. 操作步骤
5.1 使能SPI
向向文件/boot/firmware/config.txt文件添加:(旧系统为/boot/config.txt,新系统已修改)
dtparam=spi=on
5.2 添加对应驱动并编译固件
- 下载树莓派的linux系统,移植fb_ili9488.c文件
网址:
下载完之后,传到树莓派的文件系统中,解压,然后进入对应目录
- make bcm2712_defconfig
- make menuconfig
- 选择fb置true
- make -j4 zImage :可编译出系统固件,已弃用,直接make产生所有内容
- make -j4 modules :编译模块
- make dtbs :编译设备树
- make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=/opt/install/rpi-4.9 编译内核镜像
- 复制linux-stable_20240529/drivers/staging/fbtft/中的fb_ili9486.c文件成fb_ili9488.c,添加相关代码
还需修改fbtft.h文件和fbtft-core.c文件
同步修改Makefile文件
menuconfig里也加上编译
2. 文件制作完成后,启动编译make ,drivers/staging/fbtft出现新编译的fb_ili9488.ko和fbtft.ko
3. 使用xz -zk drivers/staging/fbtft/fbtft.ko 文件产生fbtft.ko.xz文件,然后使用cp命令将ko和ko.xz文件拷贝到 /lib/modules/6.6.31+rpt-rpi-2712/kernel/drivers/staging/fbtft中,fb_ili9488同理
4. 注意mod的生成需要修改.config中的CONFIG_LOCALVERSION内容为:"+rpt-rpi-2712"
5.3 修改设备树
- 打开/root/linux-stable_20240529/arch/arm64/boot/dts/overlays/fbtft-overlay.dts文件,找到ili9341的位置:
-
改成ili9488相关内容,加上设备树的属性:
- 然后使用make dtbs生成设备树
- 将生成的fbtft.dtbo拷贝到/boot/overlays中
- 然后修改/boot/firmware/config.txt ,添加dt内容
- 启动之后在dmesg中可以看到相关日志:
- 此时如果连线正确,屏幕应该会点亮
效果如下:
- 看一下视频感受一下启动过程
da48c1b8ca7cac0e0864ba6bb91f1a7e
|