网站大量收购独家精品文档,联系QQ:2885784924

KC8-嵌入式技术应用01驱动程序简介与hellodriver驱动的使用驱动程序简介与hellodriver驱动的使用-KC08131101-d03.doc

KC8-嵌入式技术应用01驱动程序简介与hellodriver驱动的使用驱动程序简介与hellodriver驱动的使用-KC08131101-d03.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
- PAGE 3 - 驱动程序简介与hello_driver驱动的使用 一、驱动程序与应用程序的关系 1.1 硬件接口:所有的开发板都会把GPIO接口引出来。 1.2 驱动程序:就是将底层硬件的操作写成供应用程序可以调用的函数集合,比如后面章节将要介绍的控制函数ioctl()、读函数read()、写函数wirte()等等。 1.3 设备文件:为了让应用程序方便地控制硬件设备,驱动程序将硬件映射成一个设备文件,这样应用程序通过读写这个设备文件就可以控制硬件设备了。Linux设备分为二类:字符设备和块设备,本书只讲解字符型设备的驱动编写。 1.4 应用程序:应用程序通过读写设备文件,并调用驱动程序里的函数来控制硬件设备。 二、驱动程序与应用程序的区别 2.1 有无main函数:应用程序有一个main()函数,从头到尾执行这一任务。驱动程序却没有main()函数。 2.2 包含的头文件不同:应用程序可以和GLIBC库连接,因此可以包含标准的头文件,比如stdio.h,可以使用其中的printf()函数。在驱动程序中是不能使用标准C库的,比如输出打印函数只能使用内核的printk()函数,包含的头文件只能是内核的头文件,比如linux/kernel.h。 三、hello_driver驱动的使用 我们来看一个最简单的hello_driver驱动程序。 3.1 编译驱动:将已经编好程序用于演示的hello_driver/驱动目录复制到Linux的/opt/EmbedSky/drivers/目录下,打开Linux终端,进入hello_driver/驱动目录,然后执行make编译命令。 3.2 下载驱动:接下来,我们将编译得到的hello_driver.ko下载(使用SecureCRT或Minicom)到开发板的/opt/EmbedSky/drivers/目录下。 为了便于操作,我们可以打开两个Linux终端,一个用作Linux终端,用来编译程序。 3.3 加载驱动:用insmod加载驱动时显示: Hello! Hello! Welcome to study character driver! 3.4 卸载驱动:用rmmod卸载驱动时显示: Goodbye! Goodbye! Character driver is easy!

您可能关注的文档

文档评论(0)

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

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档