Mipi点屏程序设计基础.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mipi点屏程序设计基础课件

初始化代码下发函数实例 常见问题处理方法 1、有画面显示但是图像错位 解决方法:调整DSI频率、调整Timing 2、边框画异 解决方法:调整Timing、设置工作模式、修改初始化代码和Timing相关的内容 3、6Bit转8bit 解决方法:修改程序设置参数 4、点亮前水平一条亮线 解决方法:去掉DCSShortWriteNoPara(0x11); 5、点亮前画面有残影 解决方法:修改上电时序,将PWM信号向后延 MIPI屏Vcom流程 读取Vcom流程 Vcom调节原理 Vcom数据中断发送过程 Vcom数据通常都通过通道0发送给Mipi芯片,由于调节Vcom的时候,屏都会显示Vcom画面,所以调节的数据就需要在显示有效数据之外的blank区域发送给Tcon。这个过程需要FPGA的配合才能完成,FPGA在生成图片时序的时候,把场频不发送有效数据的blank区域通过GPIO通知单片机,单片机捕捉到以后,如果有Vcom数据需要传送给Tcon,就在中断程序里进行发送,由于此blank区域通常只有几十微秒,中断程序需要精炼、高效 Vcom数据刷新过程 Vcom数据在烧录到Tcon芯片以后,需要对屏做复位操作,以使写入Tcon芯片的Vcom数据导入内存,然后读取此数据,并和上位机下发的烧录数据作比对,如果数据一致而且烧录次数增加1,给上位机返回成功报文,如果不一致或者烧录次数不变,返回失败报文。通过上位机,可以读取Vcom数据和烧录次数信息 MTP编程次数解析 MTP编程次数的含义有2种: 1、已经编程的次数 2、余留编程次数 模组芯片Timing介绍 修改初始化代码Timing相关内容 硬件电路需注意的问题 1、有的模组点亮前需要做复位操作,但硬件在MCU一侧未提供此信号,现在处理的方法有2种:一是转板设计时将IIC信号的P3.5引脚做为复位引脚,采用此方法导致IIC接口不能使用。二是通过FPGA转接P2.4引脚的信号作为复位信号。 QA 本讲结束 ! * * 要了解“模块机制”(module)的原理,首先要了解Linux的内核体系结构。Linux操作系 统的内核是单一体系结构(monolithic kernel)的,即整个内核是一个单独的非常大的程 序。单一体系结构的把实现操作系统功能的所有的模块都集成在了一起,这样系统的速度 、性能都很好,但是可扩展性和维护性就相对比较差。 在使用操作系统的过程中,要添加一些新的功能是再正常不过的了。如果没有模块机制就 每次都需要重新编译内核。要知道,重编内核是一见费时费力费感情的事情。且不论成功 编译出内核需要花的一到两小时的时间,而且重新编译内核往往会出现这个那个的错误, 很是郁闷,有些错误也不是一时半会能搞定的。 那么Linux操作系统的可扩充性岂不是太差了?!为解决这个问题,Linux操作系统使用了 一种全新的机制――模块。用户可以根据需要,再无需重新编译内核的情况下,让带有新 增功能的模块能够动态地载入内核或从内核中移出。这样,操作系统地可扩充性就大大增 加,操作系统的升级和改进就不存在问题了。 * 使内存更加紧凑和灵活。 ? 修改内存时,不必全部重新编译内核,可节省时间。系统中如果需要使用新模块 ,只要编译相应的模块然后使用特定的程序将模块插入即可。 ? 模块可以不依赖于某个固定的硬件平台,即使它依赖于某些特殊的硬件特点。 ? 模块的目标代码一旦被链接到内核,它的作用和静态链接的内核目标代码完全等 价。所以当调用模块的函数时,无需显示的消息传递。 * 因为这两个宏将被扩展为一个特殊变量的声明,该变量必须是全局的。 * 上面已经说过,其实关于模块的操作(如 加载、卸载、查看等)通过两个helloworld的例子已经十分清楚和明了了。再这个题目中 关于内核模块的只是还是那些,但因为这个题目涉及到/proc文件的应用,所以还是很有意 思的。 * 模块程序编译方法的改变 ? ? ? Linux2.4中模块程序(就是欲做为内核模块加载进内核的程序)的编译方法与一般 的程序并没有什么不同,仅仅需要多加几个参数用以标识该程序要作为模块使用。如用C程 序编写的程序就可以用gcc进行编译。 ? 一般的命令为:gcc –Wall –DMODULE –D__KERNEL__ -DLINUX –c 源文件名.c ? 其中: ? ? ? __KERNEL__: ? ?即告诉头文件这些代码将在内核模式下运行。 ? ? ?MODULE: ? ? ? 即告诉头文件要给出适当的内核模块的定义。 ? ? ? LINUX: ? ? ? ? 并非必要,用在写一系列要在不止一个的操作系统上编译模块。 ? ? ? -Wall: ? ? ? ? ? 显示

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档