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"

相关推荐
2401_8884230917 分钟前
Linux软件编程-线程(2)
linux
共享家95271 小时前
linux-数据链路层
linux·网络·macos
Demisse2 小时前
[Linux] Linux文件系统基本管理
linux·运维·服务器
globbo2 小时前
【嵌入式STM32】I2C总结
单片机·嵌入式硬件
小米里的大麦3 小时前
025 理解文件系统
linux
玖別ԅ(¯﹃¯ԅ)3 小时前
SysTick寄存器(嘀嗒定时器实现延时)
stm32·单片机·嵌入式硬件
limitless_peter3 小时前
集成运算放大器(反向比例,同相比例)
嵌入式硬件·硬件工程
打不了嗝 ᥬ᭄4 小时前
Linux 信号
linux·开发语言·c++·算法
禁默4 小时前
进程替换:从 “改头换面” 到程序加载的底层逻辑
linux·运维·服务器
gameatp4 小时前
从 Windows 到 Linux 服务器的全自动部署教程(免密登录 + 压缩 + 上传 + 启动)
linux·服务器·windows