免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 934 | 回复: 0
打印 上一主题 下一主题

深入浅出Linux设备驱动编程--引言 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-23 11:08 |只看该作者 |倒序浏览
               
                深入浅出Linux设备驱动编程--引言
宋宝华
[email=21cnbao@]
[url='mailto:21cnbao@'>21cnbao@[/email]
yesky
1.[/url]
引言
《ARM的嵌入式Linux移植体验》发表以来,笔者收到许多读者来信,他们对嵌入式Linux开发表现出了浓厚的兴趣。我们摘取其中的两封:
   你好,不知道怎么称呼你。就叫你技术大侠吧。
   我是一个在学校里教一些基础课的老师,一直没有在那方面做出点成绩。现在本人下决心想在嵌入式这块努点力,但一直不知道怎么下手。本来没有硬件基础,LINUX也才接触。希望大侠给条出路,指点一下从零开始应该走什么路比较好。
多谢!
                              xxx

   你好!
   首先,请原谅我的冒昧打扰!
   我是通过一个网站知道你的邮件地址的,我看过你的一篇关于LINUX的文章,很深入浅出的,由于以前我的相关知识比较薄弱,现在又从事这方面的工作(嵌入式系统的的硬件研发工作),所以时常感到力不从心,如果你有空,请给我介绍一点相关的书籍,或者给我E-MAIL一点您的相关资料或者您的学习心得好吗?
   我想知道如何写驱动,以及对LINUX内核有一个了解。。。
   向您的无私奉献表示感谢!
                           xxx
首先对读者的学习热情和强烈的求知欲表示敬意,基于读者对Linux设备驱动程序编写知识的需求和目前该类参考资料缺乏的现状,创作本系列文章。
目前,Linux软件工程师大致可分为两个层次:
(1)Linux应用软件工程师(Application Software Engineer):主要利用C库函数和Linux API进行应用软件的编写;
(2)Linux固件工程师(Firmware Engineer):主要进行Bootloader、Linux的移植及Linux设备驱动程序的设计。
一般而言,固件工程师的要求要高于应用软件工程师的层次,而其中的Linux设备驱动编程又是Linux程序设计中比较复杂的部分,究其原因,主要包括如下几个方面:
(1)设备驱动属于Linux内核的部分,编写Linux设备驱动需要有一定的Linux操作系统内核基础;
(2)编写Linux设备驱动需要对硬件的原理有相当的了解,大多数情况下我们是针对一个特定的嵌入式硬件平台编写驱动的;
(3)Linux设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现bug;
(4)由于属于内核的一部分,Linux设备驱动的调试也相当复杂。
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93926/showart_1872901.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP