linux 宋宝华?linux宋宝华在哪家公司

大家好,关于linux 宋宝华很多朋友都还不太明白,今天小编就来为大家分享关于linux宋宝华在哪家公司的知识,希望对各位有所帮助!

嵌入式linux书籍

《鸟哥的Linux私房菜基础学习篇(第三版)》,鸟哥著

主要讲解Linux一些命令,Linux的实际操作及Linux基础理论。很适合Linux初学者学习。

《嵌入式 Linux应用开发完全手册》,韦东山著

这本书综合了常见的嵌入式开发经验技巧,以及常见的嵌入式系统应用,系统移植,调试及异常处理等,内容非常丰富,是中文 Linux领域难得的一本好书。嵌入式处理器种类繁多,韦老师着重讲了目前国内最常用的ARM系统,实用性很强,是国内嵌入式程序员不容错过的一本工具书。

《UNIX环境高级编程》(第2版),史蒂文斯著

《UNIX环境高级编程》是 Unix/ Linux程序员案头必备的一本书籍。可以说,Linux程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux网络通信。

《Linux设备驱动开发详解:基于最新的Linux 4.0内核》,宋宝华著

随着通信、电子行业的迅速发展,全世界每天都会生产大量芯片,设计大量新电路板,也因此,会有大量设备驱动需要开发。本书主要对驱动编程所涉及Linux内核最底层机理的讲解。也是即Linux设备驱动开发详解第二版畅销后,作者又进行第三版的编著。

《Linux设备驱动程序》,科波特著

《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解。

《深入理解 Linux内核》(第三版),博韦等著

学习 Linux,就要学习 Linux的精华。而 Linux的精华,则在于 Linux的内核。本书以 Linux 2.6版架构为基础,分门别类地向初学者介绍了 Linux内核的架构、编程思想、以及功能模块。在本书的指导下学习,对于你读懂 Linux操作系统的精华部分,会取得事半功倍的效果。

linux设备驱动:一站式解决probe不跑问题

理想的驱动应该具备跨平台性,代码结构清晰,实现“高内聚,低耦合”。本文将探讨Linux设备驱动中的probe不跑问题的解决策略。

当驱动工程师遇到probe函数未运行的问题时,首先需要检查driver和device是否正确注册。确保它们在同一总线级别(如platform bus或i2c bus),并且driver的compatible属性与device匹配。排查步骤如下:

1.检查driver和device的注册状态,可通过adb在/sys/bus/…/driver和/devices目录查看。

2.如果driver和device都存在,问题可能出在compatible属性上,需要调整。

3.如果driver未注册,检查driver_register调用是否成功,若未成功,提高log等级寻找原因。

4.如果device未注册,着重检查dts文件的修改是否生效,确认dts节点与实际硬件平台的对应关系。

-对于platform device,确认dts节点位置是否正确。

-对于i2c device,可能需要检查总线驱动或特定device的注册问题,通过log查找线索。

参考资源:

-宋宝华的“让天堂的归天堂,让尘土的归尘土——谈Linux的总线、设备、驱动模型”

- Device Tree(四):文件结构解析

通过以上步骤,驱动工程师可以有效地解决Linux设备驱动probe不跑的问题。

如何学习嵌入式Linux驱动

学习嵌入式Linux驱动,首先我们需要的是去了解整个嵌入式开发的整个流程分为四个层次:底层硬件设计、嵌入式驱动开发、内核开发、应用层开发。其中底层硬件设计必须要有一定的硬件功底,我建议你若不是科班出身(数电、模电、高频学的比较好)的人不要去考虑。内核开发需要你有很好的软件功底(C语言、C++学的很好,有过一定的项目经验最好),这个事嵌入式驱动开发的人以后可以考虑发展的方向,不建议一开始就学。如果你是面临着急需找工作的人并且你有一定的商业头脑、创新思维,我认为学习应用层开发是最好不过的选择,但是你别忘了因为简单容易学所以学的人比较多。如果你把前面三个选择都否定了,而且你C语言学的还可以,有学过C51或者STM32这些简单的东西,你不妨看下去。如果你觉得这些对你没用或者不感兴趣,请就此打住不要再往下看不要再浪费你的时间了。亲,去做你该做的事吧!

一、入门者:了解嵌入式

了解嵌入式开发我觉得最好的东西还是《嵌入式系统设计师教程》,这本书写的很烂,无非是用来应付考试的。但是我认为对我们了解嵌入式开发需要学习些什么东西还是有一点用处的,可以在网上浏览一下,你就可以知道嵌入式大概要学的东西,不建议精读。另外如果想大致了解一下嵌入式开发的四个层次,可以看下韦东山韦老师的《作为一个新人,怎样学习嵌入式Linux》

二、初学者:学习使用Linux

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

如果觉的适合自己可以去看下

二、菜鸟们:加强C语言,看得懂电路图

我相信到这一阶段你已经深深的爱上了Linux,当然你也可能恨死她了,恨她为什么有那么多命令,恨她为什么不去想Windows那么傻瓜式啊,点点就可以了,但是你别忘了其实Windows也有DOS命令行,只是你没有用过而已吧。我对没有去Linux命令界面敲过几行命令的人视为不会使用操作系统的人,你觉得啦?

既然你爱上她了(不爱请不要再往下看),那请问你为了一个爱你的人做件可能对你难的事,你愿意吗?愿意的话,我们就要去加强自己的C语言基础,我觉得书看的多,视频看的多,还不如看懂一本书,把一本书的程序题好好敲敲,你觉得啦?所以我还是推荐最好的入门的C语言书籍《C程序设计》谭浩强前辈写的。对于看得懂电路图我认为最好的是去下一个画电路板的软件随便找几个电路图画画,慢慢就会了,当然你也可以跳过,我相信如果你真的爱上这一行了以后的学习工作中会逼出来的。

三、码农们:选择一块合适的开发板,然后看书、看数据手册、敲代码、看视频

嵌入式Linux驱动开发是一个敲代码的过程,所以称之为码农。对于嵌入式Linux驱动开发来说是一个偏软件的工作,而码农们就是一个看书、看资料、看视频学习理论知识,然后自己实现的反反复复的过程。只有你不断Debug不断解决不断充实理论知识,才可能往更高层次走。对于书籍我推荐韦东山韦老师的《嵌入式Linux驱动开发完全手册》,当然我觉得成为中国化的S3C2440数据手册更好些(至于为什么学ARM9的S3C2440可以往下看),当然这本书也有他的不好之处:太过于实践,理论知识不全。我觉得配合杜春雷老师的《ARM体系结构与编程》看会非常好,有比较详细的对ARM的介绍。另外既然我们学习S3C2440的话,《S3C2440数据手册》我们是非看不可。另外老外写的《设备驱动开发》也就是所谓的LDD,还有就是宋宝华老师的《Linux设备驱动开发详解》,挺不错的。视频的话我力顶《嵌入式Linux驱动开发完全手册》的作者韦东山韦老师的视频,可以去百问网自行查看。开发板的话我觉得可以自行选择,最好选择S3c2440或者S3c2410的芯片,因为ARM9的资料最多,随便上网搜就是一大把。

四、大神们:研究Linux

毛德操/胡希明写的《Linux内核源代码情景分析》、赵炯《Linux内核完全注释》、《unix环境高级编程》还有更多的可以去看一看瞧一瞧了,我相信你学到这里就可以自找出路了,我也目前在前面阶段,以后把这些学习完再做补充了。

我相信能够学习嵌入式Linux驱动的人都能够知道有好的学习资料学习能够事半功倍的,本人也是学习驱动的菜鸟,历经了学习的沧桑,今天在这里分享一下自己学习嵌入式Linux驱动过程中自认为好的资料,不好请勿喷。有兴趣的可以转载分享给你的朋友。以后有时间我会整理我在学习过程中的东西,加我关注以后一起学习叫流。

阅读剩余
THE END