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"

相关推荐
贾亚超36 分钟前
【STM32外设】DAC
stm32·单片机·嵌入式硬件
pound1271 小时前
Linux
linux·运维·服务器
明天见~~2 小时前
硬件基础:串口通信
嵌入式硬件
sheepwjl2 小时前
《嵌入式硬件(三):串口通信》
网络·嵌入式硬件·网络协议·串口通信
learning_tom2 小时前
HTML图片标签及路径详解
linux·服务器·php
dbdr09013 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
大白的编程日记.4 小时前
【Linux学习笔记】信号的深入理解之软件条件产生信号
linux·笔记·学习
buyutang_4 小时前
C/C++ Linux系统编程:线程控制详解,从线程创建到线程终止
linux·c语言·c++·学习
嵌入式牛马在努力帮老板娶老婆4 小时前
十四、STM32-----低功耗
stm32·单片机·嵌入式硬件
云的牧人4 小时前
Ubuntu 22 redis集群搭建
linux·运维·ubuntu