CSSE 板


LINE

※ 引述《fish39 (没有女朋友T.T)》之铭言: : 我想问一下,市面上写device driver除了欧莱礼Linux deivce driver : 那本外,还有没有其他本啊? : 感觉那本写的有点难(C底子不好),目前还是看以前学长的code : 学长写的,其实还ok,不像那本书,写的那麽难~~~ : 希望,有人玩嵌入式系统的,可以分享一下经验,谢谢 目前讲Linux驱动程式的中文书就只有这本而已 如果是Windows驱动程式,书跟资料就会相对多一些 有过一定linux kernel开发经验的人,可能会觉得这本书废话很多 但对没有接触过linux kernel的人,难度颇高 问题可能在於这本书的作者太强了 很多东西作者认为你应该已经知道了,我没必要再跟你解释 (特别是Advanced Char Driver Operations这个章节) 或者很多内容作者认为读者自己去看书上附的code就懂了 小弟比较建议里面的程式全部自己动手从头写过一遍,对於了解范例帮助会比较大 看这本书基础要求: 1. C语言的底子要够厚 2. 基本的资料结构需要有撰写的经验 3. 读过恐龙本,对於作业系统概念有基本了解 建议搭配阅读的资料: 如果是Linux Deivce Driver 2e (kernel 2.4) 1. Bovet & Cesati -- Understanding the Linux Kernel 2e -- O'Reilly 2. Richard Stevens -- Advanced Programming in the Unix Environment -- Addison Wesley 3. http://lxr.linux.no/ 如果是Linux Deivce Driver 3e (kernel 2.6) 1. Bovet & Cesati -- Understanding the Linux Kernel 3e -- O'Reilly 2. Richard Stevens -- Advanced Programming in the Unix Environment -- Addison Wesley 3. http://lxr.linux.no/ 4. Robert Love -- Linux Kernel Development 2e -- Novell Press (觉得欧莱里那本Linux Kernel太硬啃不下去的,可以先看这本) 这些书网路上都有电子档,怎麽搜寻就去大陆网页各显神通喽 不过工具书还是手边留一本查起来比较方便 比较大的难关会卡在 Char Drivers、Advanced Char Driver Operations与Interrupt Handling这三个章节 前面都是在引导读者熟悉Linux Kernel Module的设计 到了Char Drivers这章通常都会卡一下,而这个章节的困难之处 在於会牵扯到application、library、kernel、device driver的互动 建议自己动手写读写应用程式,会比较容易理解这里的互动关系 对system call也会有一些概念,因此小弟才会建议拿R.Stevens那本钜作当参考书 如果R.Stevens这本还是觉得难度太高 还有另一本Mitchell, Samuel, Oldham写的Advanced Linux Programming -- Sams出版 算是R.Stevens那本的精简版,英文也比较简单,也是专门针对Linux环境所撰写的 Advanced Char Driver Operations这个章节应该会卡最久 但是里面所提到的某些file operations,使用机会比较没这麽大 这个章节会彻底考验读者对恐龙本以及Unix system call界面的理解程度 特别是难缠的Blocking/Non-blocking I/O、I/O Multiplexing、asynchronous I/O 这些东西在这本书中是不会跟你解释的,作者认为读者应该已经会了 Orz 不过还有两本书可以挽救困在这里感到无助的读者 Sean Walton -- Linux Socket Programming -- Sams R. Stevens, Fenner, Rudoff -- UNIX Network Programming Volume 1, 3e The Sockets Networking API -- Addison Wesley 最後一个难关应该就是Interrupt Handling 这个章节里面读者不去了解Linux如何实作Interrupt也不行了 (而且又再次挑战了读者对恐龙本的理解程度 囧rz) 书中对於Linux实作Interrupt有相当基本的介绍,但讲的还是太简单了 小弟经验是要通过这关 还是非得把Understanding the Linux Kernel的某些章节看过才行 其他几个章节,相对之下难度就没有这麽可怕 但对於要撰写某些特殊装置的驱动程式如USB、PCI等 这本书讲的东西就只有大概粗略的介绍而已了 就小弟所听闻,目前在业界实作驱动程式,大多也是只用Char Drivers 很多台湾公司的产品,管他什麽网卡还是什麽装置的 就用Char Drivers去写,效能?能吃吗?反正可以跑才是王道 囧rz --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.76.254.42
1F:推 anndy:http://www.tldp.org/LDP/lkmpg/2.6/html/ 05/31 06:18
2F:→ anndy:The Linux Kernel Module Programming Guide 05/31 06:18
3F:推 w0717:推能跑才是王道 06/03 09:54
skywalking:转录至某隐形看板 12/28 01:13







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP