- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 嵌入式Linux驱动开发 第11章 嵌入式Linux驱动开发 11.1 串口及控制台驱动 11.2 FrameBuffer驱动 11.3 以太网络驱动 11.4 Linux驱动程序总结 11.1 串口及控制台驱动 串口及控制台驱动的作用 Linux串口驱动结构 Linux控制台驱动结构 串口及控制台驱动的作用 在嵌入式Linux中,控制台(console)是系统重要的输出设备。在通过Bootloader引导内核的时候,可以使用console=…的命令行来指定控制台。当没有指定控制台的时候,系统利用第一个注册的终端设备(tty)作为系统的控制台。 串口及控制台驱动的作用 嵌入式处理器一般都具有串口控制器(UART)。在嵌入式Linux,串口的地位非常重要,尤其在系统调试阶段,一切有用的信息都可以从串口输入到主机。 串口及控制台驱动的作用 Linux串口驱动结构 Linux串口驱动结构 Linux控制台驱动结构 Linux控制台驱动结构 Linux控制台驱动结构 11.2 FrameBuffer驱动 LCD驱动原理 显示内存 FrameBuffer驱动结构 LCD驱动原理 LCD驱动原理 LCD驱动原理 LCD驱动原理 显示内存 FrameBuffer驱动结构 FrameBuffer驱动结构 FrameBuffer驱动结构 FrameBuffer驱动结构 FrameBuffer驱动结构 FrameBuffer驱动结构 FrameBuffer驱动结构 11.3 以太网络驱动 Linux以太网的应用 Linux网络驱动结构 Linux以太网的应用 Linux以太网的应用 Linux网络驱动结构 Linux以太网的应用 Linux以太网的应用 Linux以太网的应用 11.4 Linux驱动程序总结 在Linux操作系统中,驱动程序是操作系统(OS)和硬件(hardware)的接口。 在Linux中,驱动程序是一种框架,既有最简单的字符设备驱动程序,也有串口、帧缓冲,以太网以及IIC、各种存储器多种多样的驱动程序框架。 数据结构 初始化 功能实现 课程结束 实现net_device中的必要成员函数,并将其指针在初始化中将函数指针赋给设备数据结构。其中最为重要的是hard_start_xmit(),它负责向硬件发送数据包,定义一个标准的中断实现数据接收,其它重要的成员(函数指针)还包括打开网络设备的open,关闭网络的close,在这些函数中需要对硬件进行实际的操作。 实现成员函数 在模块初始化中使用register_netdev,注册本驱动网络设备 在模块卸载函数中使用unregister_netdev,卸载本驱动网络设备 注册和卸载网络设备 利用模块的初始化和加载可以向系统中注册网络设备,例如: module_init(xxx_init); module_exit(xxx_cleanup); 模块的初始化 和卸载函数 构造数据结构struct net_device, 其中最少含有一个成员:init, static struct net_device xxx_netdevs = { init: xxx_init, }; 这是一个函数指针,可以用其完成其它成员的初始化。 本设备的数据结构 由于需要操作硬件,必需知道设备在系统中的基地址,各寄存器偏移量,中断资源及其使用方式。处理器的片选信号和地址总线将决定设备物理地址。同时,在标准Linux中,设备一般使用虚拟地址。因此,需要知道设备在虚拟地址中的映射。 确定网络设备 的物理操作方式 描述 步骤 网络驱动的初始化函数在网络设备注册后,使用其init函数指针完成。 网络驱动的使用hard_start_xmit函数指针实现数据的发送,注册中断实现数据接收。 Linux启动中命令行指定的控制台名称,需要和内核已经注册的控制台对应。 CPU对显示内存实现罗机写,LCD控制器通过LCD DMA实现对显示内存的逻辑读。 CPU写显示内存,要符合显示内存的像素格式,只要这样LCD控制器才可以正常工作。像素代表是一个显示点,显示内存中有宽*高个像素。 虚拟显示屏的大小常常大于可见的显示屏,这种机制由LCD控制器硬件提供,在驱动程序中实现设置。 虚拟显示屏可以快速实现屏幕的滚动,而不需要更新显示内存中的内容。 fb_fix_screeninfo的信息多和显示内存的属性相关。 * 串口驱动程序的核心部分 : drivers/char/serial_core.h drivers/char/se
您可能关注的文档
- 嵌入式操作系统开发与应用程序设计 教学课件 作者 978 7 302 20808 2 ch08_遠端桌面協定.ppt
- 嵌入式操作系统开发与应用程序设计 教学课件 作者 978 7 302 20808 2 ch09_網路程式開發.ppt
- 嵌入式操作系统开发与应用程序设计 教学课件 作者 978 7 302 20808 2 Ch10_多媒體技術.ppt
- 嵌入式操作系统开发与应用程序设计 教学课件 作者 978 7 302 20808 2 Ch11_行動應用程式設計.ppt
- 嵌入式技术基础教学课件 作者 严雨 第八章嵌入式网络设备驱动程序设计.ppt
- 嵌入式技术基础教学课件 作者 严雨 第二章基于ARM920T核微处理器.ppt
- 嵌入式技术基础教学课件 作者 严雨 第九章QtEmbedded嵌入式图形开发.ppt
- 嵌入式技术基础教学课件 作者 严雨 第六章基于ARM9和Linux嵌入式系统设计.ppt
- 嵌入式技术基础教学课件 作者 严雨 第七章嵌入式Linux设备驱动程序开发.ppt
- 嵌入式技术基础教学课件 作者 严雨 第三章S3C2410X的嵌入式软件设计.ppt
- 嵌入式系统原理及应用开发 教学课件 作者 陈渝 第12章 嵌入式系统的应用程序开发.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch1 嵌入式系统概述.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch2 ARM处理器.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch3 ARM指令系统.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch4 ARM汇编程序设计.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch5 μCOS II嵌入式操作系统.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch6 S3C44B0X嵌入式微处理器.ppt
- 嵌入式系统原理与开发 教学课件 作者 范延滨 于忠清 郑立爱编著 Ch7 基于S3C44B0X硬件系统开发.ppt
- 嵌入式系统原理与设计 教学课件 作者 蒋建春 主编 ads7843.pdf
- 嵌入式系统原理与设计 教学课件 作者 蒋建春 主编 AMS1117 3.3.pdf
文档评论(0)