热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

AndroidLCD驱动

LCD驱动分为三部分:驱动程序架构、程序分析、程序实现1.驱动程序架构:从裸机程序可以知道LCD驱动有两部分组成:初始化(控制器初始化、端口初始化、非常重要–指明帧缓冲)、L




LCD驱动

分为三部分:驱动程序架构、程序分析、程序实现


1.驱动程序架构:

从裸机程序可以知道LCD驱动有两部分组成:初始化(控制器初始化、端口初始化、非常重要–指明帧缓冲)、LCD图形显示(将图形数据写入帧缓冲) 所以说帧缓冲很重要

帧缓冲:简单讲就是内存中的一块区域,只是这些内存告诉 LCD控制器 这些的内存的地址,然后控制器就会从帧缓冲中一行一行的显示到LCD上面(裸机阶段)

在驱动中依然是存在这样的帧缓冲,使用工具 Img2Lcd 将bmp格式的图片设置成二进制的格式 ok.bin形式 ,将文件复制到开发板,然后cat ok.bin > /dev/fb0 就可以显示图片了,说明我们在linux中依然是帧缓冲的方式来控制LCD ,只不过在linux中帧缓冲的名字是/dev/fb0这样的设备文件的方式出现的(名字就是fb0)

Linux帧缓冲架构:应用程序就是将我们的相应的图形数据写入到/dev/fb0(帧缓冲)这个设备文件当中去,使用ls -l 可以看到是 字符设备;找到代码 fbmem.c这个文件,然后找到fbmem_init()这个函数,里面有一个注册设备文件的函数 register_chrdev(FB_MAJOR,”FB”,&fb_fops) 在开发板使用ls -l /dev/fb0既可以看到设备的设备号是29 ,所以主设备号就是FB_MAJOR,相应的操作函数级就是fb_fops,当我们调用写函数时就是 fb_write函数,进入函数会看到有很多info ,因为fb_write函数就是围绕info展开的,所以可以得到下图&







推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • 解决IIS无法访问映射网络驱动器的问题
    探讨IIS在尝试访问映射的网络驱动器时遇到的问题及其解决方案,包括配置和权限设置等方面的详细分析。 ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
author-avatar
Aime--Gemini
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有