当前位置: 首页 > news >正文

玉林电信网站备案中国菲律宾足球直播

玉林电信网站备案,中国菲律宾足球直播,大气点的公司名字大全,案例中优衣库所采用的网络营销方式Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 LCD显示屏是由一个一个的像素点构成的。当你能控制一个像素点的亮暗及颜色变化的时候#xff0c;你就能让LCD显示瓶显示五颜六色的整幅图案。甚至可以让LCD屏幕…Linux版本号4.1.15   芯片I.MX6ULL                                    大叔学Linux    品人间百味  思文短情长  LCD显示屏是由一个一个的像素点构成的。当你能控制一个像素点的亮暗及颜色变化的时候你就能让LCD显示瓶显示五颜六色的整幅图案。甚至可以让LCD屏幕显示一个动态的视频。这正如你点燃了一颗火柴整个草原都能很快被点亮。 本节笔记主要学习Linux LCD驱动试验主要内容包括LCD驱动简析、硬件原理图分析、驱动程序编写及运行测试。其中驱动程序的编写以及运行测试作为本节的重点内容。本小结将分为2次笔记进行总结今天主要学习LCD驱动简析和硬件原理图分析。 一、Linux下LCD驱动简析 1、Framebuffer设备 Linux中应用程序最终也是通过操作RGB LCD的显存在LCD上显示字符、图片的。驱动程序设置的显存和应用程序访问的显存要是同一片物理内存。 将系统中所有跟显示有关的硬件以及软件集合起来虚拟出一个 fb 设备。 编写好 LCD 驱动以后会生成一个名为/dev/fbX(X0~n)的设备应用程序通过访问/dev/fbX 这个设备就可以访问 LCD。 /dev/fb0 是个字符设备因此肯定有file_operations 操作集 2、LCD驱动简析 不同分辨率的 LCD 屏幕其 eLCDIF 控制器驱动代码都是一样的只需要修改好对应的屏 幕参数即可。 Linux 下Framebuffer 驱动的编写流程 LCD 的驱动就是构建 fb_info并且向系统注册 fb_info结构体属性、操作集合的过程。 mxsfb_probe 函数的主要工作内容为 ①、申请 fb_info。 ②、初始化 fb_info 结构体中的各个成员变量。 ③、初始化 eLCDIF 控制器。 ④、使用 register_framebuffer 函数向 Linux 内核注册初始化好的 fb_info。 int register_framebuffer(struct fb_info *fb_info) struct mxsfb_info *host; host 结构体指针变量表示 I.MX6ULL 的 LCD 的主控接口 mxsfb_info 结构 体是 NXP 定义的针对 I.MX 系列 SOC 的 Framebuffer 设备结构体。 res platform_get_resource(pdev, IORESOURCE_MEM, 0); 从设备树中获取 eLCDIF 接口控制器的寄存器首地址设备树中 lcdif 节点已经设置了 eLCDIF 寄存器首地址为 0X021C8000因此 res0X021C8000。 host devm_kzalloc(pdev-dev, sizeof(struct mxsfb_info), GFP_KERNEL); 给 host 申请内存 host 为 mxsfb_info 类型结构体指针。 fb_info framebuffer_alloc(sizeof(struct fb_info), pdev-dev); 给 fb_info 申请内存也就是申请 fb_info。         host-fb_info fb_info; fb_info-par host; 设置 host 的 fb_info 成员变量为 fb_info设置 fb_info 的 par 成员变量为host。通过这一步就将前面申请的 host 和 fb_info 联系在了一起。 ret devm_request_irq(pdev-dev, irq, mxsfb_irq_handler, 0, dev_name(pdev-dev), host); 申请中断中断服务函数为 mxsfb_irq_handler。 host-base devm_ioremap_resource(pdev-dev, res); 对从设备树中获取到的寄存器首地址(res)进行内存映射得到虚拟地址并保存到 host 的 base 成员变量。因此通过访问 host 的 base 成员即可访问 I.MX6ULL 的整个 eLCDIF寄存器。   fb_info-pseudo_palette devm_kzalloc(pdev-dev, sizeof(u32) *16, GFP_KERNEL); 给 fb_info 中的 pseudo_palette申请内存。 ret mxsfb_init_fbinfo(host); 调用 mxsfb_init_fbinfo 函数初始化 fb_info重点是 fb_info 的 var、 fix、 fbopscreen_base 和 screen_size。其中 fbops 是 Framebuffer 设备的操作集。 mxsfb_init_fbinfo 函数通过调用 mxsfb_init_fbinfo_dt 函数从设备树中获取到 LCD 的各个参数信息。最后 mxsfb_init_fbinfo函数会调用 mxsfb_map_videomem 函数申请 LCD 的帧缓冲内存(也就是显存)。 mxsfb_set_par(fb_info); mxsfb_enable_controller(fb_info); 设置 eLCDIF 控制器的相应寄存器。 ret register_framebuffer(fb_info); 调用 register_framebuffer 函数向 Linux 内核注册 fb_info。 二、硬件原理图分析 三个 SGM3157 的目的是在未使用 RGBLCD 的时候将 LCD_DATA7、LCD_DATA15 和 LCD_DATA23 这三个线隔离开来因为 ALIENTEK 的屏幕的 LCD_R7/G7/B7这几个线用来设置 LCD 的 ID所以这几根线上有上拉/下拉电阻。但是 I.MX6U 的 BOOT 设置也用到了LCD_DATA7、 LCD_DATA15 和 LCD_DATA23 这三个引脚所以接上屏幕以后屏幕上的 ID 电阻就会影响到 BOOT 设置会导致代码无法运行所以先将其隔离开来如果要使用 RGB LCD 屏幕的时候再通过 LCD_DE 将其“连接”起来。我们需要 40P 的 FPC 线将 ATK7016屏幕和 I.MX6U-ALPHA 开发板连接起来如图 以下内容将在下一节中进行学习 三、LCD驱动程序编写 四、运行测试 1、LCD屏幕基本测试 2、设置LCD作为终端控制台 3、LCD背光调节 4、LCD自动关闭解决方法 本文为参考正点原子开发板配套教程整理而得仅用于学习交流使用不得用于商业用途。
http://www.hkea.cn/news/14556026/

相关文章:

  • 建筑工程 技术支持 东莞网站建设上海高端品牌网站建设专家
  • 网站建设哪家做的好一点安阳网站建设哪里最好
  • 企业网站维护建设ppt手机网站类型
  • 网站开发多少钱一个合肥刚刚发布紧急通知
  • 职参简历网站wordpress菜单种类
  • dedecms企业网站模板工程建设管理网站
  • 网站开发 提成wordpress随机文章插件
  • wordpress网站数据备份广西住房和城乡建设厅网站首页
  • 全能网站建设教程扬州建设信息网站
  • 婚恋网站建设成本南京 seo 价格
  • 山西大同网站建设哪家好个人网站首页布局
  • 创建app与网站的区别响应式网站自助
  • 镇江建站北京建站公司哪家好都选万维科技
  • 网络求职做阿姨哪个网站好无锡h5网站建设
  • 站点的几种推广方式怎么选择大连网站建设
  • 17网站一起做网店打不开宁波网站建设信息
  • 有网站模板如何预览怎么修改网站内容
  • 昆明建设厅官方网站梅州建站电话
  • 长春网站建设首选网诚传媒陇南市城乡建设局网站
  • 罗湖网站建设优化媒体网站的品牌建设
  • 网站开发 创造收益商务网站建设详细步骤
  • 文创设计网站化工网站关键词优化
  • 做百度网站还是安居客网站北海市建设局网站
  • 网站建设服务领域昆山网站优化公司
  • 企业网站建设费怎么核算健康呼伦贝尔二维码高清
  • 免费在线网站建设山西网站建设网站
  • 柳州哪家网站建设专业企业关键词优化最新报价
  • 揭阳智能模板建站深圳哪里有网络推广渠避
  • 传统建筑网站织梦系统网站搭建教程
  • 网站建站后维护需要做哪些网站建设一站式服务