本文作者:ptiyny

linux怎么学习底层驱动 linux底层驱动开发需要掌握的知识

ptiyny 07-25 14
linux怎么学习底层驱动 linux底层驱动开发需要掌握的知识摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于linux怎么学习底层驱动的问题,于是小编就整理了3个相关介绍linux怎么学习底层驱动的解答,让我们一起看看吧。Linux内核...

大家好,今天小关注到一个比较意思的话题,就是关于linux怎么学习底层驱动的问题,于是小编就整了3个相关介绍怎么学习底层驱动的解答,让们一起看看吧。

Linux内核和驱动开发工程师的发展前景怎么样?

我亲身体验,我之前是做数控系统开发的,做了有七八年,有x86的产品也有arm的产品,x86的linux相对开发驱动的地方不多,arm上比较多,存储,显示的,u***的 ,各种总线的,音频的,网络的,很多地方只要有订制需求都要改。驱动开门槛比较高,主要会软件还得了解些硬件知识,硬件的原理图,设备的数据手册,工作特性都要会,入门难 但是一旦入门了就跟其他的一样做多了就熟悉了。之前公司是linux+qt,今年离职了进了一家安卓开发的公司,现在还在做安卓的驱动开发,感觉大同小异,只是硬件平台变了,开发的内容仍是没变。驱动这一块,人比较少,相对待遇也会好一些,现在我也不知道未来会不会随着年龄越大,会被淘汰掉,但是linux本身的应用范围是挺广的,而且作为一个功的开源项目,只要社会有需求,后面应该还是会被广泛应用,至于个人就看自己的能力和精力了!

嵌入式是一个做硬件产品为主的行业,通俗讲就是工业电子和消费电子量大产业. 消费以手机,智能音箱,家用物联网设备等为代表;工业控制如机床,交通,广告牌等各种非消费类电子产品. 做嵌入式可以先看行业,再看职位. 因为行业决定了薪资的高低. 这点和互联网区别很大.

其次具体到职位,嵌入式,这是对操作系统内核源码,基础语C/C++/汇编,硬件电路知识,开发系统环境,编译Makefile原理,代码编辑VIM,这些都需要熟悉,开发软件是和硬件打交道的,懂硬件会看原理图是必备的. 另外对外部硬件通信协议U***,SDIO/EMMC,PCIE等要熟悉,这些是调试和开发驱动的基础,如果涉及无线通信Wi-Fi,蓝牙,可能要阅读相关802.11协议和SIG协议. 以太网部分TCP/IP要熟悉.

嵌入式还有音频系统也要调试,camera接口要会调试,LCD接口要会调试.

总的来说入门嵌入式对基础知识要求很高,3-5年入门到基础调试没有问题. 但是如果要编写Linux内核驱动或是开发协议有关的驱动,这些需要5-10年的锤炼,对协议和内核机制需要更深层次的理解.

如果只是做Linux应用层开发来说,需要掌握的知识要浅一点,只要了解libC库函数和内核SYSCALL如何用即可,但是进间通信,线程操作,文件系统操作等必须融会贯通,这样才能开发好应用程序.

UI就是QT,基于安卓那叫APP开发了,不是嵌入式范畴. 但是安卓设备底层调试属于潜入式开发.

供参考

底层驱动是什么?

底层驱动,是指程序以访问底层硬件的形式实现人机交互,驱动程序和应用程序之间需要实现相应的信息交互,一方面,应用程序通过对驱动程序发送相应的指令,实现硬件控制的动作指令,另一方面,驱动程序将硬件读写的状态、从硬件上获得的数据传送给应用程序,实现应用程序与驱动程序间的交互。

linux小白,有什么书籍推荐,怎么学习入门?

学习路径:

1、Linux基础你得挑一个适合你的系统,然后在虚拟机安装它,开始使用它。 如果你想快速学会Linux,我有一个建议就是忘记图形界面,不要想图形界面能不能提供你问题的答案, 而是满世界的去找,去问,如何用命令行解决你的问题。在这个过程中,你最好能将Linux的命令掌握的不错,起码常用的命令得知道,同时建立了自己的知识库, 里面是你积累的各项知识。

2、Linux平台的C/C++开发,同时还有Bash脚本编程我推荐的书如下:C语言程序设计。 C语言,***当然更好。 C++推荐 C++ Primer Plus, 工具方面推荐VIM的官方手册,GCC中文文档,GDB中文文档,GNU开源软件开发指导3、UNIX环境高级编程(APUE)

3、UNIX环境高级编程堪称神作,经典中的经典,一遍一遍的看,看10遍都嫌少,绝对是圣经一般的读物,即使是Windows程序员也从其中汲取养分,Google创始人的案头书籍,扎尔伯克的床头读物。)

工作方向:网络,图形,嵌入式,设备驱动

网络方向:

UNIX环境高级编程再深读:尤其是进程,线程,IPC,套接字;

多核程序设计:Pthread一定得吃透了;

UNIX网络编程:卷一,卷二

TCP/IP网络详解:卷一,卷二

到此,以上就是小编对于linux怎么学习底层驱动的问题就介绍到这了,希望介绍关于linux怎么学习底层驱动的3点解答对大家有用。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享