Linux驱动18 --- LCD 屏

目录

[一、LCD 屏](#一、LCD 屏)

[1.1 了解 LCD 屏](#1.1 了解 LCD 屏)

[1.2 屏幕参数](#1.2 屏幕参数)

[1.3 编译 LCD 屏驱动](#1.3 编译 LCD 屏驱动)

打开设备树文件

[删除 dtb 文件](#删除 dtb 文件)

打开更改的设备树文件

[回到 SDK 路径编译](#回到 SDK 路径编译)

挂起虚拟机

[拷贝 update.img](#拷贝 update.img)

[1.4 最终现象](#1.4 最终现象)

[二、LVGL 的使用](#二、LVGL 的使用)

[2.1 介绍](#2.1 介绍)

[2.2 软件安装](#2.2 软件安装)

[2.3 创建工程](#2.3 创建工程)

[2.4 工程的配置](#2.4 工程的配置)

[2.5 控件获取](#2.5 控件获取)

[2.6 事件添加](#2.6 事件添加)

[2.7 生成代码](#2.7 生成代码)

[2.8 交叉编译工具配置](#2.8 交叉编译工具配置)

[2.9 程序编译](#2.9 程序编译)

时间获取的是错的


一、LCD 屏

1.1 了解 LCD 屏

显示设备之一

屏幕的使用是需要驱动

而驱动是需要移植的

驱动的移植,需要结合屏幕和板子

最快的方式就是问板子的厂家,有没有做过类似屏幕的移植

屏幕驱动的移植,涉及到 --- 设备树

Linux 开发当下主流的屏幕接口

MIPI DSI

MIPI 联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称 MIPI)联盟。MIPI(移动产业处理器接口)是 MIPI 联盟发起的为移动应用处理器制定的开放标准和一个规范。

LVDS 接口

LVDS(Low-Voltage Differential Signaling)低电压差分信号,是一种低功耗、低误码率、低串扰和低辐射的差分信号技术,这种传输技术可以达到 155Mbps 以上,LVDS 技术的核心是采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接,其传输介质可以是铜质的 PCB 连线,也可以是平衡电缆。

MIPI 最常用的有两个应用

屏幕:MIPI DSI --- Display

摄像头:MIPI CSI --- Camera

rk3588s的屏幕接口:MIPI DSI

1.2 屏幕参数

分辨率:1024*600

尺寸:7 寸

色彩:32 位/24 位

32 位 --- ARGB8888

A 表示透明度

24 位 --- RGB888

刷新率:60Hz

1.3 编译 LCD 屏驱动

打开设备树文件

将之前写的节点复制到一个可以找到的地方

删除 dtb 文件

防止出现,替换的文件不被编译的问题

打开更改的设备树文件

将刚才复制的节点,放在原来的位置

回到 SDK 路径编译

挂起虚拟机

拷贝 update.img

此刻,屏幕就亮起来了

1.4 最终现象

二、LVGL 的使用

2.1 介绍

在 MCU 阶段使用 GUI Guider

驱动也用 GUI Guider

2.2 软件安装

安装肯定会报错 ,首先确保网络连接

报错后输入指令:

下载完成之后,再次执行安装指令

2.3 创建工程

2.4 工程的配置

2.5 控件获取

2.6 事件添加

2.7 生成代码

2.8 交叉编译工具配置

当前生成的界面可以运行在 ubuntu,但是想让它运行在板子

两者的架构是不一样 --- 所以需要使用交叉编译工具

使用的交叉编译工具是buildroot中的交叉编译工具

找到生成的工程的路径

2.9 程序编译

make -j?? --- 如果你的 ubuntu 有 12 个核,那就 j12

**当前如果在 Gui Guider 中如果重新生成 ,**代码,就不会弹出运行结果了,因为换了交叉编译工具,让程序在板子上运行

2.10 LVGL 中的组件

滑动页的缺点 --- 不能嵌套

滑动块支持嵌套

时间获取的是错的

时间查看指令:date

时间设置指令:date -s "xxxx-xx-xx xx:xx:xx"

相关推荐
Kendra9199 分钟前
Linux文件系统权限
linux·运维
猫头虎1 小时前
[精选] 2025最新生成 SSH 密钥和 SSL 证书的标准流程(Linux/macOS/Windows系统服务器通用方案)
linux·服务器·开发语言·macos·ssh·ssl·ai编程
kfepiza1 小时前
Linux网络管理工具NetworkManager笔记250726
linux·网络协议
贺贺丿2 小时前
Docker2-容器应用工具及docker命令
linux·运维·docker·容器·自动化·云计算
飞凌嵌入式3 小时前
飞凌嵌入式亮相第九届瑞芯微开发者大会:AIoT模型创新重做产品
人工智能·嵌入式硬件·嵌入式·飞凌嵌入式
花下的晚风3 小时前
如何搭建Linux环境下的flink本地集群
linux·flink
RainbowSea4 小时前
用户中心项目部署上线03
linux·服务器·spring boot
Gss7774 小时前
Vim 编辑器全模式操作指南
linux·编辑器·vim
sagima_sdu4 小时前
银河麒麟安装软件商店方法
linux·运维·服务器
Gene_20227 小时前
Ubuntu 22.04 使用 Issac Gym 进行人形强化学习训练
linux·运维·ubuntu