官网的7寸屏停产了,使用其他屏幕,需要进行移植。
https://item.taobao.com/item.htm?ft=t&id=1053323369130&spm=a21dvs.23580594.0.0.4fee645eUe01xS
1、设备树屏幕参数修改屏幕的驱动代码中,有这样的参数。屏幕的显示参数在网上有很多详细的解释,这里不再赘述
根据以上参数修改设备树rk3308b-rgb_7.0inch_CZNB070762T.dtsi
文件路径为~/proj/rk3308_linux_release_v1.5.0a_20221212/kernel/arch/arm64/boot/dts/rockchip
将上面的设备树文件包含到rk3308b-cc-plus-amic_emmc.dts
2、设置LCD作为终端控制台2.1修改uboot启动参数 LCD作为终端控制台前提条件要实现FB接口。之前的学习过程中一直使用MobaXterm作为Linux开发板终端,开发板通过串口和MobaXterm进行通信。现在已经驱动起来LCD并且提供了FB接口,所以可以设置LCD作为终端,也就是开发板使用自己的显示设备作为自己的终端,接上键盘就可以直接在开发板上敲命令了,将LCD设置为终端控制台的方法如下:
设置uboot中的bootargs
重启开发板,进入Linux命令行,重新设置bootargs参数的console内容,命令如下所示:
setenv bootargs “console=tty1 console=ttyFIQ0,115200 root=/dev/nfs nfsroot=192.168.1.20:/mnt/rootfs ,nolock,nfsvers=3 rw ip=192.168.1.254:192.168.1.20:192.168.1.1:255.255.255.0::eth0:off”
saveenv //保存环境变量
!(file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml14872/wps25.jpg)
这里设置了两遍console,第一次设置console=tty1,也就是设置LCD屏幕为控制台,第二遍又设置console=ttySTM0,115200,也就是设置串口也作为控制台。相当于打开了两个console,一个是LCD,一个是串口,
2.2、内核配置
将生成的配置文件firefly-rk3308b_linux_defconfig,覆盖重新编译内核
cd ~/proj/rk3308_linux_release_v1.5.0a_20221212/cp ./kernel/.config ./kernel/arch/arm64/configs/firefly-rk3308b_linux_defconfig
./build.sh kernel
!(file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml14872/wps26.png)
将编译后的内核和设备树复制到tftp资源目录
cd ~/proj/rk3308_linux_release_v1.5.0a_20221212/
./build.shcp ./kernel/arch/arm64/boot/Image ./rockdev/Imagecp ./kernel/arch/arm64/boot/dts/rockchip/rk3308b-roc-cc-plus-amic_emmc.dtb ./rockdev/rk3308b-roc-cc-plus-amic_emmc.dtb
!(file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml14872/wps27.png)
重启开发板就会发现LCD和串口都会显示Linux启动信息。但是此时还不能使用LCD作为终端进行交互。
可以接入键盘,使用屏幕进行终端交互
执行以下代码,将配置文件更新到firefly-rk3308b_linux_defconfig,编译,并把内核镜像复制进烧录文件夹
cd ~/proj/rk3308_linux_release_v1.5.0a_20221212/cp ./kernel/.config ./kernel/arch/arm64/configs/firefly-rk3308b_linux_defconfig
./build.sh kernelrm ./rockdev/boot.imgcp ./kernel/boot.img ./rockdev/boot.imgcp ./kernel/arch/arm64/boot/dts/rockchip/rk3308b-roc-cc-plus-amic_emmc.dtb ./rockdev/rk3308b-roc-cc-plus-amic_emmc.dtb
!(file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml14872/wps28.png)
接入键盘后,可以输入命令进行操作。
3、电容触摸配置电容触摸屏的芯片是GT911,将原来的设备树文件里gslx680配置部分屏蔽掉,增加gt9xx配置。
修改设备树rk3308b-rgb_7.0inch_CZNB070762T.dtsi
文件路径为~/proj/rk3308_linux_release_v1.5.0a_20221212/kernel/arch/arm64/boot/dts/rockchip
版权声明
本文为个人学习记录,非商业用途教程。文中观点及实践均为作者原创,引用第三方资料均已标注来源。未经授权禁止转载或用于商业用途。如需引用请联系作者授权
参考链接
[u]正点原子嵌入式linux驱动开发——Linux LCD驱动_嵌入式linux lcd 显示tty-CSDN博客[/u]









