ps:创业开发产品,自学笔记,不一定适合教材性的阅读,零碎整理,自我总结用 材料:4.1寸lcd屏两块,屏自带触控,屏幕资料具备,rk3399和MK8788开发版上分别开发。 开发环境: 1】rk3399
ps:创业开发产品,自学笔记,不一定适合教材性的阅读,零碎整理,自我总结用
材料:4.1寸lcd屏两块,屏自带触控,屏幕资料具备,rk3399和MK8788开发版上分别开发。
1】rk3399
LCD驱动程序详细讲解(一)_weixin_33935505的博客-CSDN博客
LCD驱动详解 - Lilto - 博客园 (cnblogs.com)
主题:s3c2440移植linux-3.4.2中的LCD驱动_大白菜的博客-CSDN博客
【第2期】韦东山嵌入式Linux之第2期_驱动大全 (100ask.net)
2】Mk8788
产品规格书:仿照此页面采用联发科I500P(MT8788)芯片方案的4G全网通安卓10平板电脑 | ScenSmart一站式智能制造平台|OEM|ODM|行业方案
ps:人傻毛病多,自己给自己制造问题,数之不尽问题,自己慢慢解决吧,主要是真的很琐碎
硬件:
多台电脑、不同系统电脑
下载好ubuntu的桌面版和服务器版(相信未来可以驾驭它),
windows中使用微软的那个啥啥来着,创建实例不会,还没搜索找资料
windows中使用ubuntu官网中的虚拟机感觉很难用
windows中不想使用那个啥啥流行的虚拟机
1】下载了paralleres虚拟机,只有试用14天,对此就直接很不想用了,先学linux命令,学会买
2】mac的性能感觉真的很强,编译在虚拟机中可能会很强,然后装个ubuntu的主机去移植吧,主要是写帖子时候目前还到不了移植测试步骤
二、配置ubuntu
1】开启ssh
2】开启wiff、固定ip
3】更换国内源
4】安装输入法
5】linux 更新命令、安装工具来一遍
三、了解rk3399和mk8788的开发、编译等教程
四、解读lcd屏幕资料
ps:英文很差,基本一字一句的翻译理解,电气术语翻译还会有不通顺处。
五、下载安卓源码、rk3399v2源码和mk8788源码
复制
解压
移动
创建文件
六、.mk文件理解
七、源码文件目录用途
八、移植工具和移植教程
九、刷机相关学习
十、mipi接口的学习
用途:相机和屏幕,接口定义一致时,不知硬件上是否可以调换,然后代码控制?
mipi data是成对的差分信号,屏幕一般为2mipi和4mipi,区别在哪?
博主要开发的屏幕资料中有说明可以选择几路mipi,区别在哪?
对于相机传感器:同一颗sensor【传感器】由于reGISter setting【寄存器/注册设置】不同,输出的信号有可能是2 lane或者4lane等
对于屏幕:lcd drive ic的寄存器?或者ic支持最大4lu,但具体要看Lcd屏的排线实现原理?待定未知
MIPI_RDN和MIPI_RDP,有几对这样的pin脚就代表有*路mipi通道
第一路 | MIPI_RDN0 | |
MIPI_RDP0 | ||
第二路 | MIPI_RDN1 | |
MIPI_RDP1 | ||
第三路 | MIPI_RDN2 | |
MIPI_RDP2 | ||
第四路 | MIPI_RDN3 | |
MIPI_RDP3 |
MIPI_RCN和MIPI_RCP:时钟信号
RCN | |
RCP |
CMMCLK | 时钟引脚 |
SCL、SDA十I2C接口
SCL | |
DA |
用法:
mipi接口 参考文:
1⃣️此文作者笔风可爱,所以排第一
【Camera专题】你应该了解的Camera HW-硬件知识_c枫_撸码的日子的博客-CSDN博客_mipi2lane和4laneppi
2⃣️专业度高,直接飙代码
Android Camera驱动分析_Mr.How的博客-CSDN博客_查看当前安卓相机驱动
屏幕mipi接口
mipi接口原理
rgb lcd屏幕和MCU-LCD区别
此链接中很多专业解释的片段,建议大量阅读!
重点1:MCU-LCD屏它与RGB-LCD屏主要区别在于显存的位置.RGB-LCD的显存是由系统内存充当的,因此其大小只受限于系统内存的大小,这样 RGB-LCD可以做出较大尺寸,像4.3"只能算入门级,而MID中7",10"的屏都开始大量使用.
而MCU-LCD的设计之初只要考虑单片机的 内存较小,因此都是把显存内置在LCD模块内部.然后软件通过专门显示命令来更新显存,因此MCU屏往往不能做得很大.同时显示更新速度也比RGB- LCD慢
重点2:RGB显示速度明显比MCU快是因为。。。
mipi和lvds区别
十一、mk8788开发文章
MTK8788[android 9.0]GT9XX TP触摸屏驱动流程分析_Jimmy8618的博客-CSDN博客_vtouch-supply
摘录:
&touch { tpd-resolution = <800 1280>;//分辨率 use-tpd-button = <0>;//如果TP有待按键。则定义值为1 tpd-key-num = <3>;//按键的数量 tpd-key-local= <139 172 158 0>;//按键的编码,一般为KEY_MENU,KEY_HOMEPAGE,KEY_BACK的键值 tpd-key-dim-local = <90 883 100 40 230 883 100 40 370 883 100 40 0 0 0 0>;//按键的布局信息,包含按键的宽度,高度,中心点的坐标 tpd-max-touch-num = <5>;//支持的最大触摸点数
Goodix_touch@5e { compatible = "mediatek,goodix_touch"; //用于匹配GT9xx这个TP驱动 reg = <0x5e>;//GT9xx I2c的地址 interrupt-parent = <&pio>; //中断脚 interrupts = <1 IRQ_TYPE_EDGE_RISING 1 0>;//中断模式是上升沿触发 //vtouch-supply = <&mt_pmic_vldo28_ldo_reg>; //原生MTK节点TP 2.8V PMIC供电 reg-tp-supply = <&mt_pmic_vldo28_ldo_reg>; //由于我们代码上修改了TP 2.8V PMIC供电节点获取是以reg-tp-supply这个字符获取的原生的是由vtouch-supply这个获取的 rst-gpio = <&pio 158 0>;//TP的复位引脚 int-gpio = <&pio 1 0>;//TP的中断引脚
MTK8788[android 9.0]调试笔记 MIPI屏驱动移植_sdkdlwk的博客-CSDN博客
原生MTK LCM屏添加的路径在\vendor\mediatek\proprietary\bootable\bootloader\lk\dev\lcm*
多个屏驱动兼容。。。。
显示驱动,源码文件位置
mt8788_android9.0_lcd(lt8912b_mipi2lvds)_1024_768-Android文档类资源-CSDN下载
背光调节
mtk8788 pwm频率及背光亮度调节_阿闷的博客-CSDN博客_pwm背光调节
小平米调整系统字体
mtk8788 android 9.0 加大系统字体和图标_cerzong的博客-CSDN博客
摘要:由于屏幕(320*320)太小了,客户提个需求希望将APP图标跟系统字体加大,APP图标加大实际就是增大屏幕密度
LCD-TFT
LCD 液晶屏驱动详解_屏幕驱动_LTracer的博客-CSDN博客
LCD,即液晶显示器,是一种采用了液晶控制透光技术来实现色彩的显示器。LCD有很多种类型,比如STN、TFT、LTPS、OLED等。各有优缺点。TFT类型液晶显示器是目前最为主流的液晶显示器。
TFT-LCD的数据传输方式有2种:
单扫:对于一整屏的数据,从上到下,从左到右,一个一个地发送出来。
双扫:将一整屏的数据分为上下两部分,同时的从上到下,从左到右,一个一个的发送出来。
区别在哪里?对硬件要求区别?
LCD的信号种类:
信号名称 | 描述 |
---|---|
VSYNC | 垂直同步信号 |
HSYNC | 水平同步信号 |
VD[23:0] | 数据信号 |
HCLK | 时钟信号 |
LEND | 行结束信号 |
PWREN | 电源开关信号 |
除了配置一些寄存器告诉LCD控制器图像中像素的格式(RGB565),frameBuffer的首地址之类外,对于TFT LCD的访问还需要用到一些信号,所以需要通过配置寄存器来告诉LCD控制器这些信号的信息(比如何时发出控制信号,发出信号的持续时间等),
举个例子:
向LCD驱动器发送图片数据时需要时钟控制(VCLK),一个时钟发送一个像素点,那么控制器就需要主动发出时钟信号,这个时钟是由哪个引脚发出的,发出的频率是多少,这个都是要配置寄存器的,
通过时序图来分析需要用到的一些信号以及如何去配置它们,如果是第一次了解LCD控制,直接看时序还是比较困难的,所以先给出一个形象的比喻 :
frame buffer: 显存,用于存放LCD显示数据;frame buffer通过LCD控制器和LCD Panel建立一一映射关系;
LCD控制器: 参考LCD用户手册,配置LCD控制器,用于发出LCD控制信号,驱动LCD显示;
扫描方式: 如图所示,由start到end的扫描方向是:从左到右,从上到下(扫描方向的一种);
HSYNC: 行同步信号,用于行切换,一行扫描结束,需要扫描新行时,需要先发送行同步信号;
VSYNC: 列同步信号,用于列切换,一帧扫描结束,需要扫描新的一帧时,需要先发送列同步信号;
时钟信号: 每来一个时钟,扫描的点移位一;
上图中LD驱动器可以比喻成电子枪,LCD控制器就是控制这个电子枪的,它从显示缓存中拿像素数据传给电子枪并发送命令让电子枪发射像素颜色, 上图中,成像过程
在工作中的显示器上,可以在四周看见黑色的边框。上方的黑框是因为当发出VSYNC信号时,需要经过若干行之后第一行数据才有效;下方的黑框是因为显示完所有行的数据时,显示器还没有扫描到最下边(VSYNC信号还没有发出),这时数据是无效的;左边的黑框是因为当发出HSYNC信号时,需要经过若干像素之后第一列数据才有效;右边的黑框是因为显示完一行数据时,显示器还没扫描到最右边(HSYNC信号还没有发出),这时数据已经无效。显示器只会依据VSYNC、HSYNC信号来取得、显示数据,并不理会该数据是否有效,何时发出有效的数据由显卡或LCD控制器决定。
VSYNC信号出现的频率表示一秒钟内能显示多少帧图像,称为垂直频率或场频率,这就是我们常说的“显示器频率”;
HSYNC信号出现的频率称为水平频率,表示一秒钟能显示多少个像素的数据。
显示器上,一帧数据的存放位置与VSYNC、HSYNC信号的关系如下图所示:
image-20210718155614982
有效数据的行数、列数,即分辨率,它与VSYNC、HSYNC信号之间的距离等,都是可以设置的,这由LCD控制器来完成。
一幅图像被称为一帧(frame)
来源地址:https://blog.csdn.net/Web3oUser/article/details/128737894
--结束END--
本文标题: mipi接口 1280(RGB)*720 LCD屏开发驱动笔记帖
本文链接: https://lsjlt.com/news/409550.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0