问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何学习嵌入式Linux驱动

发布网友 发布时间:2022-04-19 23:43

我来回答

1个回答

热心网友 时间:2023-07-15 02:06

学习嵌入式Linux驱动,首先我们需要的是去了解整个嵌入式开发的整个流程分为四个层次:底层硬件设计、嵌入式驱动开发、内核开发、应用层开发。其中底层硬件设计必须要有一定的硬件功底,我建议你若不是科班出身(数电、模电、高频学的比较好)的人不要去考虑。内核开发需要你有很好的软件功底(C语言、C++学的很好,有过一定的项目经验最好),这个事嵌入式驱动开发的人以后可以考虑发展的方向,不建议一开始就学。如果你是面临着急需找工作的人并且你有一定的商业头脑、创新思维,我认为学习应用层开发是最好不过的选择,但是你别忘了因为简单容易学所以学的人比较多。如果你把前面三个选择都否定了,而且你C语言学的还可以,有学过C51或者STM32这些简单的东西,你不妨看下去。如果你觉得这些对你没用或者不感兴趣,请就此打住不要再往下看不要再浪费你的时间了。亲,去做你该做的事吧!
一、入门者:了解嵌入式
了解嵌入式开发我觉得最好的东西还是《嵌入式系统设计师教程》,这本书写的很烂,无非是用来应付考试的。但是我认为对我们了解嵌入式开发需要学习些什么东西还是有一点用处的,可以在网上浏览一下,你就可以知道嵌入式大概要学的东西,不建议精读。另外如果想大致了解一下嵌入式开发的四个层次,可以看下韦东山韦老师的《作为一个新人,怎样学习嵌入式Linux》http://blog.sina.com.cn/s/blog_13955cfdb0102v3it.html

二、初学者:学习使用Linux
我这里的初学者者指的是已经回了解了嵌入式,有*想往深处学习的码农们。这个时候我们已经找到了感觉了。嵌入式操作系统有Vxworks、WINCE、uCLinux、Embedded Linux等操作,但是我们一般选择Linux。原因有二:Linux代码开源,可供学习免费使用。Linux学习的资料非常多,很容易找到小伙伴。学习嵌入式Linux驱动,就必须先学习使用Linux。但是我们对于Linux的使用其实不必学的太多,多了反而会在这浪费的时间。像大家都说可以的《鸟哥的linux私房菜》我不建议大家读,我认为像《Linux就该这么学》这样范范而谈的书籍反而更适合我们初学者。我们对Linux的定位是:基本命令会用,不懂再查。
http://www.linuxprobe.com/chapter-00.html如果觉的适合自己可以去看下

二、菜鸟们:加强C语言,看得懂电路图
我相信到这一阶段你已经深深的爱上了Linux,当然你也可能恨死她了,恨她为什么有那么多命令,恨她为什么不去想Windows那么傻瓜式啊,点点就可以了,但是你别忘了其实Windows也有DOS命令行,只是你没有用过而已吧。我对没有去Linux命令界面敲过几行命令的人视为不会使用操作系统的人,你觉得啦?
既然你爱上她了(不爱请不要再往下看),那请问你为了一个爱你的人做件可能对你难的事,你愿意吗?愿意的话,我们就要去加强自己的C语言基础,我觉得书看的多,视频看的多,还不如看懂一本书,把一本书的程序题好好敲敲,你觉得啦?所以我还是推荐最好的入门的C语言书籍《C程序设计》谭浩强前辈写的。对于看得懂电路图我认为最好的是去下一个画电路板的软件随便找几个电路图画画,慢慢就会了,当然你也可以跳过,我相信如果你真的爱上这一行了以后的学习工作中会*出来的。

三、码农们:选择一块合适的开发板,然后看书、看数据手册、敲代码、看视频
嵌入式Linux驱动开发是一个敲代码的过程,所以称之为码农。对于嵌入式Linux驱动开发来说是一个偏软件的工作,而码农们就是一个看书、看资料、看视频学习理论知识,然后自己实现的反反复复的过程。只有你不断Debug不断解决不断充实理论知识,才可能往更高层次走。对于书籍我推荐韦东山韦老师的《嵌入式Linux驱动开发完全手册》,当然我觉得成为中国化的S3C2440数据手册更好些(至于为什么学ARM9的S3C2440可以往下看),当然这本书也有他的不好之处:太过于实践,理论知识不全。我觉得配合杜春雷老师的《ARM体系结构与编程》看会非常好,有比较详细的对ARM的介绍。另外既然我们学习S3C2440的话,《S3C2440数据手册》我们是非看不可。另外老外写的《设备驱动开发》也就是所谓的LDD,还有就是宋宝华老师的《Linux设备驱动开发详解》,挺不错的。视频的话我力顶《嵌入式Linux驱动开发完全手册》的作者韦东山韦老师的视频,可以去百问网http://www.100ask.org/ 自行查看。开发板的话我觉得可以自行选择,最好选择S3c2440或者S3c2410的芯片,因为ARM9的资料最多,随便上网搜就是一大把。
四、大神们:研究Linux
毛德操/ 胡希明写的《Linux内核源代码情景分析》、 赵炯《Linux内核完全注释》、《unix环境高级编程》还有更多的可以去看一看瞧一瞧了,我相信你学到这里就可以自找出路了,我也目前在前面阶段,以后把这些学习完再做补充了。

我相信能够学习嵌入式Linux驱动的人都能够知道有好的学习资料学习能够事半功倍的,本人也是学习驱动的菜鸟,历经了学习的沧桑,今天在这里分享一下自己学习嵌入式Linux驱动过程中自认为好的资料,不好请勿喷。有兴趣的可以转载分享给你的朋友。以后有时间我会整理我在学习过程中的东西,加我关注以后一起学习叫流。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我国刑法对对单位行贿罪的立案规定是什么 上述构成对单位行贿罪需要满足哪些条件 劳动仲裁申请书的注意事项有哪些 申请劳动仲裁需要注意事项有哪些 劳动仲裁的时候要注意什么 构成非法走私制毒物品罪既遂怎么量刑 工地受伤找劳动局有用吗 被判有期徒刑或以上有什么刑罚? 对学生进行抢劫,并造成重伤判处有期徒刑属于什么违法行为? 12123上如何查询我的驾考时间是否过期 Linux驱动开发与Linux嵌入式开发有哪些相同点和不... Linux嵌入式开发和Linux内核/驱动开发有什么区别? 新手学习嵌入式linux驱动开发有没有什么步骤? 支付宝钱包里的余额宝可以直接支付吗? 支付宝余额宝有没有风险 支付宝里的余额宝会不会亏钱? 支付宝,余额宝是干什么的? 支付宝余额宝? 支付宝余额宝 支付宝余额宝是什么? 支付宝余额宝是什么 支付宝余额宝是什么意思 支付宝里面的余额宝是什么,怎么用啊 请问支付宝余额宝怎么用? 支付宝里的余额宝是什么意思 Java中的String类型可以被继承吗 给10岁的小女孩送礼物送什么好 10岁左右女孩生日送什么礼物 亲戚家的小女孩10岁生日,送什么礼物好?要有意义... 十岁左右的小朋友生日送什么礼物好 嵌入式linux内核驱动。怎么办? 基于linux的嵌入式底层驱动开发应该怎样系统的学习... 嵌入式linux 驱动对设备的识别过程? 嵌入式linux 的驱动怎么安装 请问做嵌入式linux驱动开发的工作需要对驱动熟练到... linux嵌入式驱动开发,makefile到问题 从事嵌入式Linux驱动程序开发,需要哪些知识。 请... 如何在嵌入式LINUX中增加自己的设备驱动程序 好迷茫?想从事嵌入式linux驱动程序开发 LINUX的驱动开发和嵌入式开发有什么关系?、 arm嵌入式、linux驱动开发应该怎么学? 嵌入式Linux设备驱动开发详解的目录 嵌入式linux设备驱动,无法打开设备文件 嵌入式LINUX驱动与PC的LINUX驱动的区别 Java中是否可以继承String类,为什么 电商运营年工作总结怎么写 电商淘宝和拼多多运营工作总结和工作计划怎么写 半年工作总结怎么写?负责电商运营 工作总结报告怎么写才好 求一篇2018年亚马逊电商运营年终小结