From eea5c86d51a937dd38845a961b1459235d8e29d7 Mon Sep 17 00:00:00 2001 From: "rick.chan" Date: Fri, 23 Aug 2024 17:19:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E8=B5=84=E6=96=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rick.chan --- ....9inch_LCD_Module_fbtft_驱动_for_RK356x.md | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/Hardware/Component/Screen/SPI/Waveshare/1.9inch_LCD_Module/1.9inch_LCD_Module_fbtft_驱动_for_RK356x.md b/Hardware/Component/Screen/SPI/Waveshare/1.9inch_LCD_Module/1.9inch_LCD_Module_fbtft_驱动_for_RK356x.md index b316bdb..c8bf19d 100644 --- a/Hardware/Component/Screen/SPI/Waveshare/1.9inch_LCD_Module/1.9inch_LCD_Module_fbtft_驱动_for_RK356x.md +++ b/Hardware/Component/Screen/SPI/Waveshare/1.9inch_LCD_Module/1.9inch_LCD_Module_fbtft_驱动_for_RK356x.md @@ -1,6 +1,6 @@ # 1.9inch LCD Module fbtft 驱动 for RK356x -由于需要在 RK356x 平台下驱动 SPI 显示屏,因此做了一下技术调查。这种屏的驱动主要使用 fbtft,这一种 framebuffer 驱动。另一说可以使用基于 DRM 技术的 [TinyDRM](https://github.com/notro/tinydrm) 驱动。 +由于需要在 RK356x 平台下驱动 SPI 显示屏,因此做了一下技术调查。这种屏的驱动主要使用 fbtft,这是一种 framebuffer 驱动。另一说可以使用基于 DRM 技术的 [TinyDRM](https://github.com/notro/tinydrm) 驱动。 framebuffer 的缺点在于,使用非桌面环境的 Qt 图形程序时不支持视频播放。但是 Qt 的 Animation(AnimatedImage、PropertyAnimation 等) 是可以正常使用的。 @@ -407,3 +407,39 @@ MODULE_LICENSE("GPL"); ``` 需要注意的是,设备树 overlay 加载时间会比较晚,使用 overlay 驱动显示屏将导致无法在上电时立刻 probe 到设备,显示屏会延迟点亮。如果需要上电立刻亮屏,可以将以上设备树配置固定到设备树文件中。 + +之后修改内核配置,使能 fbtft 和 ST7789V 驱动,对应 defconfig 为 arch/arm64/configs/lubancat2_defconfig: + +```bash +CONFIG_FB_TFT=y +CONFIG_FB_TFT_ST7789V=m +``` + +## 4. 屏幕测试 + +编译并部署好驱动和设备树后,在 /dev/ 目录下将新增 fbX 设备,可以使用命令对屏幕进行测试: + +```bash +# 显示雪花点 +cat /dev/urandom > /dev/fb0 +# 清屏 +cat /dev/zero > /dev/fb0 +``` + +提示“cat: write error: File too large”可以忽略。 + +## 5. 外部参考资料 + +1. [给Lubancat装一个spi小屏幕](https://www.firebbs.cn/forum.php?mod=viewthread&tid=35140) +2. [野火[鲁班猫]卡片电脑创意氛围赛(第二期)鲁班猫添加TFT](https://www.firebbs.cn/forum.php?mod=viewthread&tid=36426) +3. [使用 LicheeRV 86 Panel 与 Tina BSP 实现 RGB 与 SPI 双屏显示](https://wiki.sipeed.com/soft/Lichee/zh/Lichee-RV/contribution/Dual_screen_display/Dual_screen_display.html) +4. [ST7789 TFT_eSPI 1.9寸170x320屏幕旋转及显示偏移问题](https://blog.csdn.net/wdalfred/article/details/135296873) +5. [ST7789屏幕显示方向设置](https://blog.csdn.net/m0_63674807/article/details/140695401) +6. [【鲁班猫2】基于SPI子系统编写一个GC9A01的屏幕驱动](https://blog.csdn.net/qq_42795119/article/details/139299821) +7. [泰山派rk3566 spi驱动st7789 tft lcd屏幕](https://blog.csdn.net/weixin_73794909/article/details/139270013) +8. [全志R128应用开发案例——SPI驱动ST7789V1.3寸LCD](https://cloud.tencent.com/developer/article/2386936) +9. [嵌入式Linux 学习笔记 (一) fbtft使用笔记](https://blog.csdn.net/weixin_42487906/article/details/126042279) +10. [深入理解FBTFT--使用篇](https://blog.csdn.net/qq_40937426/article/details/108890623) +11. [TFT驱动ST7789使用总结](https://blog.csdn.net/qq_28576837/article/details/130694215) +12. [嵌入式Linux使用TFT屏幕:使用TinyDRM点亮ST7789V屏幕](https://blog.csdn.net/CNflysky/article/details/120492583) +13. [DRM驱动移植spi显示屏(st7789芯片驱动)](https://blog.csdn.net/zichuanning520/article/details/130028390)