本文讲述了如何编译uboot并进行配置,对编译过程中遇到的问题进行解决,此外还对uboot的结构进行了简介
本节来学习裸机下的LCD 驱动,本节学完后,再来学习Linux下如何使用LCD驱动 Linux中的LCD驱动,链接如下: (Linux-LCD层次分析链接:http://www.cnblogs.com
这里的示例以百问网的7寸(1024x600)、4寸方屏(480x480)、4寸圆屏RGB(480x480) LCD为例。
1.分配fb_info 2.设置 3.注册register_framebuffer 4.硬件相关操作
============= 1.触摸屏原始数据解析 ===================
tina-v853-open/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd
由于从上篇博文 “荔枝派Zero(全志V3S)驱动开发之RGB LCD屏幕显示bmp图片” 中只实现了显示 bmp 图片,实际上我们很常用到的图片多数是 jpg 格式图片,因此我们需要折腾一下,实现 jpg 文件的显示。
资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 硬件_8080接口LCD时序分析 参考资料,GIT仓库里: 8080接口LCD 接口原理图:其他资料\STM32F103\原理图\100ASK_STM32F103_V10_0707FINAL.pdf LCD数据手册: 其他资料\STM32F103
高刷、大屏、宽色域......通常来讲,显示器的配置越高,越能给使用者带来优于其它一般配置显示器的体验。但就某些特殊的使用场景来讲,选择配置合适的显示屏幕,才能更精准地匹配上实际的使用需求。
================== 1.LCD认识 =====================
2.问题背景 产品:带显示屏的产品 硬件:V系列 + DE 软件:Tina SDK 其他:使用小分辨的LCD显示频,根据LCD的时序算出的DLCK小于48MHz
之前在Linux系统移植时提到过LCD驱动,本篇来看下Linux设备树如何配置LCD驱动。
上篇文章,我们介绍了如何使用NXP原厂的uboot进行编译和烧写,将uboot运行在自己的开发板上。NXP原厂的uboot,直接烧录到我的开发板中,LCD的驱动是不正常的,需要进行修改。本篇我们就来继续研究uboot,「使得uboot能匹配我们自己的开发板」。
前几天在研究minigui,照着官方的步骤编译,竟然一堆错,不是缺这库,就是缺那库。好不容易快到了最后一步,竟然再链接时告诉我用的64位系统不兼容32位的minigui。
其实要解释上面的时序图,我们还需要了解一些LCD的显示过程。所以现在只是有个印象,稍后我们详细讲解。
答:可以用, USB 2.0分两种,全速12M,高速480M; 所谓全速12M也就是USB 1.1的速率。
显示设备例如 LCD,在 Linux 中用 Framebuffer 来表征, Framebuffer 翻译过来就是帧缓冲,简称 fb,在 /dev 目录下显示设备一般表示成这样:/dev/fbn,应用程序通过访问这个设备来访问 LCD,实际上应用程序通过操作显存来操作显示设备,显存由驱动程序设置。说白了,我们要在 linux 下操作屏幕进行显示那么直接对 /dev/fbn 进行操作即可。
生活中常用图片格式有BMP、PNG、JPG、GIF等。BMP图片的显示很简单,可以直接从图片文件里读取RGB数据进行显示.。PNG格式图片显示,直接调用libpng库里的接口函数解码显示;JPG格式图片也一样,调用libjpeg库的接口函数完成解码即可得到原始RGB数据完成显示;如果要在LCD屏上显示GIF图片,那么也是调用giflib库的接口函数完成解码显示。
设备树修改参考了https://github.com/Tina-Linux/tina-d1x-lichee-rv和sipeed提供的licheerv_d1_compile。
完整项目代码下载地址(包含矢量字库源码和编译安装方法): https://download.csdn.net/download/xiaolong1126626497/16680219
Tina 提供了2种 SPI TFT 显示屏的驱动方式。第一种是官方推荐的 fbdev 方式,使用 Framebuffer implementaion without display hardware of AW 进行 SPI屏幕的驱动。另外一种是使用 fbtft 进行 SPI 屏幕驱动。 fbdev 方式由于 pinctrl 在新内核中调用方式出现修改,所以暂时无法使用。修改难度较大。fbtft 虽然官方wiki表明不建议在 Linux 5.4 中使用,但是其实也是可以使用的,只需要修改一下 GPIO 的注册方式就行。
GD32F450I开发板上配了一个OV2640摄像头,其最大像素尺寸可设置为1600*1200,板子上的RGB-LCD液晶屏的尺寸为480*272,本篇来测试摄像头在整个屏幕上的显示效果。
本文主要介绍ZYNQ PS + PL异构多核案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Vivado 2017.4、Xilinx SDK 2017.4。其中测试板卡为TMS320C6678开发板,文章内容包含多个特色案例,如axi_gpio_led_demo案例、axi_timer_pwm_demo案例、axi_uart_demo案例、emio_gpio_led_demo案例、mig_dma案例等,由于篇幅过长,文章分为上下6个小节展示,欢迎大家按照顺序进行文章内容查看。
嵌入式开发的过程中,很多时间都是要和硬件设备打交道,通过程序控制硬件的具体行为,这些往往是单片机延续下来的开发模式,在目前复杂的嵌入式系统中,很多都需要借助设计模式来进行开发,比如文件系统,网络,图形,算法等等,这些如果能够利用软件模拟器进行开发,可以大大的减少上板调试的时间。减少硬件连接的烦恼,在家也能随时分析软件代码。
在上一节LCD层次分析中,得出写个LCD驱动入口函数,需要以下4步: 1) 分配一个fb_info结构体: framebuffer_alloc(); 2) 设置fb_info 3) 设置硬件相关的操作
LCD 显示相关的内核驱动文件为 drivers/video/mxc/mxc_lcdif.c,
如果不修改驱动程序,触摸功能也能使用上,但是x轴是左右反向的,y轴也是如此,在设备树中不能定义处理,需要修改驱动程序。 具体如下。
S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口。
帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。
2018年欧瑞博率先推出智能中控屏Mixpad S,作为一款电工类产品,屏元素的引入让传统智能开关突然间有了更多的想象空间。
ps : 很不错的文章,今天正好遇到类似问题,看到这篇文章,很顺利的找到了出错的layout。感谢一下
MPlayer是一款开源多媒体播放器,在主流的Linux、windows、Mac OS 都能运行,主要广泛用在Linux系统上; Mplayer不仅支持图形界面、也支持命令行播放。这篇文章就介绍如何将MplayerJ交叉编译移植到嵌入式开发板上运行,在命令行上正常的播放视频,LCD屏采用的帧缓冲驱动框架渲染图像。
计算器是最常见的工具了,现在不管是手机、电脑都带有计算器功能,支持强大的科学运算等。
玲珑GUI(LLGUI)是一套使用简单、低价的单片机GUI解决方案。可以用来代替串口屏、组态,降低产品成本,产品软硬件自主可控。 配套界面开发软件,图形化编辑界面,生成C代码。
TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。
最近在学习MIPI接口的LCD驱动开发与调试,这里我主要用的是MIPI-DSI接口,它学习起来真的是太复杂了,特别是对于我这种很久都没写驱动来说更是头疼,但是头疼归头疼,工作咱们还是要完成的,那就只能硬着头皮往下肝吧!
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第51章 STM32H7的LTDC应用之LCD汉字显示和2
Lcd HV panel Interface, 这个参数只有在 lcd_if=0 时才有效。定义 RGB 同步屏下的几种接口类型,设置相应值的对应含义为:
转载请注明文章地址 http://wiki.100ask.org/Linux_devicetree
公司新做了一块3516Dv300的开发板,其中有MIPI Tx接口,刚好公司库房还有好几百块的LCD屏,LCD屏是800×480的,还是原装屏,不用掉怪可惜的了,所以就让硬件的同事化了个转接板,使用的芯片是ICN6211,这货最大分辨率可以支持到1920×1200,感兴趣的小伙伴自己下个手册看看。
写这类教程的目的是, 熟悉Linux基本操作和嵌入式开发流程, 希望对你有所帮助.
一个很偶然的机会,看到一朋友在玩 cubieboard开发板,仔细研究了下,这块PCBA板子可以充当服务器使用,所以就萌生了念头,搞了一个用来放我的这个博客站点。 我买的是基础版,在淘宝308的价格
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第54章 STM32H7的LTDC应用之LCD电阻触摸和电
当我们用Linux的桌面环境的时候,有时屏幕发生偏移或分辩率太低,解决办法总共有两个,一个是安装显示卡的以驱动,另一个方法是通过xorg-x11软件包所提供的工具 gtf 来调整。 一、显示设置的管理工具 在Fedora 中,显示器和显示卡的配置工具是 system-config-display,存在于软件包system-config-display中,如果您没有这个命令或者在菜单上找不到这个工具,您可以自行安装。 [beinan@localhost ~]# rpm -q system-config-display system-config-display-1.0.29-1 如果没有上面的提示,你可以通过软件包管理工具 system-config-packages 来安装此软件。或者从光盘映像中找出此包安装。 [beinan@localhost ~]# rpm -ivh system-config-display* 调用方法: [beinan@localhost ~]# system-config-display 或 [beinan@localhost ~]# /usr/bin/system-config-display 这个工具比较简单,我们根据自己机器的配置就能配置得起来。值得注意的是如果您用液晶显示器,一定要选择LCD的。 二、显示卡驱动 显示卡的驱动能提供更强的功能,比如支持3D功能等。另外屏幕的分辨率等问题,都与显示卡是否有驱动有关。在系统默认安装的状况下,显示卡的驱动都是不支持3D的。我们要让系统支持3D,必须得有显示卡驱动。 遗憾的是并不是所有的显示卡都有官方发布的类Unix系统的驱动,目前看来NVidia显示卡官方支持要强。ATI部份显示卡能得到官方的支持,据AIT的官方的说明文档得知,显示卡版本必须高于8500的才有官方驱动可用。 如果您用的是Fedora Core 4.0 ,应该在线升级显示卡驱动,请参考 《apt+synaptic 为Fedora core 4.0 中安装Nvida芯片显示卡及Ati 卡显示驱动》。 我们可以用官方提供的显示卡图形调节工具来调整显示属性。极为简单,点鼠标完成,和Windows类似。安装完成ATI和NVIDIA驱动后,在菜单上有图形的配置工具,自己找找看。 如果您用Intel 855集成显示卡,可以参考《Intel 集在显卡分辨率调整工具 855resolution》 三、非NVidia 和ATI显示卡或者并未被ATI厂家支持的桌面显示问题的处理 如果您通过 system-config-display 并不能解决您的显示方面的问题,比如屏幕偏移,分辨率上不去等问题。我们可以用gtf 工具来尝试。 1、gtf工具来自哪个软件包。 gtf 是来自软件包 xorg-x11,一般的情况下,如果您安装了桌面环境,就有这个工具。系统大多是默认安装的。 2、什么是gtf 。 gtf - calculate VESA GTF mode lines 中文的意思是计算显示设备VESA驱动GTF模式命令行工具。 什么是gtf?gtf(generalized timing formula),一般程序时间,定义了产生画面所需要的时间,包括了诸如画面刷新率等),另外gtf也是显示设备的一个工业标准。通过GTF则可以自动调节屏幕尺寸。 我们通过gtf 工具计算显示器屏幕尺寸、分辨率,然后我们把计算出来的值插入到 xorg.conf配置文件中,就能达到自动调节屏幕的显示尺寸、位置 及分辨率。 3、gtf的用法。 gtf h-resolution v-resolution refresh [-v|--verbose] [-f|--fbmode] [-x|--xorgmode] 举例:我的显示器支持1024x768 ,能达到85HZ,在X模式下。
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第7章 ThreadX GUIX移植到STM32F429(MDK AC
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第8章 ThreadX GUIX移植到STM32F429(MDK AC
大家好,又见面了,我是你们的朋友全栈君。 为解决Android设备碎片化,引入一个概念density,也就是密度.它指的是在一定尺寸的物理屏幕上显示像素的数量,一般使用dpi(dots per inch,每英寸像素数)作为单位. 比如设备分辨率为240×320,屏幕物理尺寸为1.5英寸x2英寸(对角线为2.5), 它的密度可以用分辨率/尺寸表示:240/1.5或者即320/2,密度为160dpi。 算对角线也是一样的, 长的平方+宽的平方=160000,开方后=400.可知400/2.5=160.
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第12章 GUIX Studio生成代码移植到硬件平台 本章节
上篇文章介绍了LCD屏幕的使用,这个屏幕还有触摸功能,本篇就来介绍LCD的触摸功能的使用。
最近AIoT应用大赛正在火热展开,看到许多参赛选手对于NXP工程及IDE接触较少,在此我就以移植一个SDK工程为例,给大家简单介绍移植的过程以及一些注意事项。
领取专属 10元无门槛券
手把手带您无忧上云