T113调试7寸RGB屏

2024-05-27 07:44
文章标签 调试 t113 rgb

本文主要是介绍T113调试7寸RGB屏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 软硬件介绍
    • 软件
    • 板卡
    • 屏幕
  • 调试
    • 修改内核设备树
    • 修改U-Boot设备树
  • 测试
  • 添加启动logo
  • 其它问题
  • 总结

软硬件介绍

软件

基于Tina5.0 SDK。

板卡

韦东山的T113工业板:
image.png

屏幕

韦东山的7寸RGB电容触摸屏:
image.png

调试

修改内核设备树

打开内核设备树<SDK>/device/config/chips/t113/configs/evb1_auto/linux-5.4/board.dts,找到lcd0节点:

/* board.dts */...
...&lcd0 {lcd_used            = <1>;lcd_driver_name     = "default_lcd";lcd_backlight       = <50>;lcd_if              = <0>;			lcd_x               = <1024>;		lcd_y               = <600>;		lcd_width           = <150>;lcd_height          = <94>;lcd_dclk_freq       = <50>;			lcd_pwm_used        = <1>;lcd_pwm_ch          = <7>;lcd_pwm_freq        = <50000>;lcd_pwm_pol         = <1>;lcd_pwm_max_limit   = <255>;lcd_hbp             = <160>;		lcd_ht              = <1344>;		lcd_hspw            = <20>;			lcd_vbp             = <23>;			lcd_vt              = <635>;		lcd_vspw            = <3>;			lcd_lvds_if         = <0>;lcd_lvds_colordepth = <0>;lcd_lvds_mode       = <0>;lcd_frm             = <1>;			lcd_hv_clk_phase    = <0>;lcd_hv_sync_polarity= <0>;lcd_gamma_en        = <0>;lcd_bright_curve_en = <0>;lcd_cmap_en         = <0>;deu_mode            = <0>;lcdgamma4iep        = <22>;smart_color         = <90>;pinctrl-0 = <&rgb24_pins_a>;pinctrl-1 = <&rgb24_pins_b>;
};...
...

只需关注以下参数:

lcd_if              = <3>;		// 0:LCD  3:LVDSlcd_x               = <1024>;	// x方向分辨率
lcd_y               = <600>;	// y方向分辨率
lcd_dclk_freq       = <50>;		// lcd_ht * lcd_vt * fps(60),单位MHzlcd_hbp             = <160>;	// 对应屏厂HBP
lcd_ht              = <1344>;	// 对应屏厂Width + HSW + HBP + HFP
lcd_hspw            = <20>;		// 对应屏厂HSW
lcd_vbp             = <23>;		// 对应屏厂VBP
lcd_vt              = <635>;	// 对应屏厂Height + VSW + VBP + VFP
lcd_vspw            = <3>;		// 对应屏厂VSWlcd_frm             = <1>;		// 1:rgb666pinctrl-0 = <&rgb24_pins_a>;	//
pinctrl-1 = <&rgb24_pins_b>;	//

修改U-Boot设备树

打开内核设备树<SDK>/device/config/chips/t113/configs/evb1_auto/uboot-board.dts,找到lcd0节点,把刚刚修改过的内核设备树中的lcd0节点复制到U-Boot设备树。
注意:一定要同步修改U-Boot设备树,若只修改内核中的设备树,是点不亮屏幕的。

测试

花屏测试:

cat /dev/urandom > /dev/fb0

在这里插入图片描述

colorbar测试:

cat /dev/zero > /dev/fb0
echo 8 > /sys/class/disp/disp/attr/colorbar

在这里插入图片描述

至此,屏幕已成功点亮。

添加启动logo

正常情况下,当屏幕可以正常驱动后,开机上电,logo就会显示在屏幕中间。在Tina5.0中,logo文件存放在<SDK>/device/config/chips/t113/boot-resource/boot-resource/bootlogo.bmp,替换bootlogo.bmp为自己的logo后,重新pack打包即可。
image.png
关于bootlogo.bmp图片的格式,需要注意以下几点:
1、bootlogo.bmp的名字不能随便起,包括后缀;
2、图片的分辨率不能大于屏幕的分辨率,否则不会显示;
3、若是32位色的图片(即ARGB格式),请注意图片的透明度不能为0,否则不会显示;
若logo图片太大导致打包时出现错误,修改分区表<SDK>/device/config/chips/t113/configs/evb1_auto/buildroot/sys_partition.fex中的boot-resource分区大小即可:
image.png
在这里插入图片描述

其它问题

若出现颜色显示错误,请留意数据脚的顺序,LD23-LD0中,高8位为R通道,低8位为B通道,中间的8位为G通道:
在这里插入图片描述

总结

参考文章:
基于全志T133-s3(Tina Linux)移植5寸RGB显示屏驱动
T113-S3-LCD-RGB显示屏调试

这篇关于T113调试7寸RGB屏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006861

相关文章

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get