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"

相关推荐
hj2862515 小时前
Linux 磁盘管理 + 文件系统 + LVM 笔记整理
linux·运维
.YYY6 小时前
Linux--如何安装rockyLinux9虚拟机
linux
kdxiaojie6 小时前
U-Boot分析【学习笔记】(12)
linux·笔记·学习
lingzhilab6 小时前
零知派——STM32驱动摇杆+PCA9685实现4路360°舵机线性速度控制与自动演示
stm32·单片机·嵌入式硬件
Bert.Cai7 小时前
Linux let命令详解
linux·运维·服务器
枕星而眠7 小时前
Linux 线程:原理、属性、实战与面试避坑
linux·运维·c语言·面试
不脱发的程序猿7 小时前
嵌入式软件工程师,怎么把 AI 工具用顺手?
人工智能·单片机·嵌入式硬件·嵌入式
晚风予卿云月7 小时前
【Linux】环境变量概念、作用、配置与修改详解
linux·运维·服务器·环境变量
r-t-H7 小时前
从零开始搭建CDH-第十二章
linux·hive·spark·centos·hbase
平凡灵感码头7 小时前
芯片合封是个嘛?
单片机·嵌入式硬件