范文无忧网学习方法学习技巧

如何学习Linux设备驱动

05月20日 编辑 fanwen51.com

[经过学习谈谈如何搞好设备管理]关于加强设备管理工作的指导意见 公司成立以来,随着生产规模的不断扩大,设备台套不断增加。到2013年末,公司共有大小设备24083台套,设备资产账面原值达到9333万元。其中仅2013年...+阅读

如何学习Linux设备驱动

无根之木不活,无基之楼不立,无论是学习哪个领域知识,基础是重中之重。

针对学习linux驱动,我们来仔细谈谈:

个人认为C语言和数据结构就是重中之重!Linux系统最优秀的地方就在于内核。无论是进程调度,内存管理,还是数据的组织形式,而这些算法的基础就是一个高效而精简的数据结构,红黑树也好,内核链表也好,看不懂C语言,搞不清数据结构,基本上谈不上做驱动。基础不扎实不要谈上层建筑,资源不全面就不要谈合作,很简单的道理。

假设楼主的C语言和数据结构都是勉强过关的(分得清指针函数函数指针,能够熟练自定义链表并进行增删改查等链表或树的算法重组)。我们来谈下一个阶段,让我们对类Unix系统的基本操作有一个基本的了解,打开文件,切换路经,更改个密码,填个用户什么的。

接下来我们来谈驱动,做驱动就得有做驱动的样子,不知道楼主之前玩过裸板51或者AVR没有,如果没有,尽快搞通,资源很多,跟着人家把电平配一遍,来个矩阵键盘,组个跑马灯,有成就感的同时也打下了硬件基础,好处大大滴。

基于操作系统的驱动,即必须了解内核对驱动程序的管理方法,怎样划分一个具体的设备,是字符型?块设备?还是别的什么,或者从总线的角度来划分一个设备,i2...无根之木不活,无基之楼不立,无论是学习哪个领域知识,基础是重中之重。

针对学习linux驱动,我们来仔细谈谈:

个人认为C语言和数据结构就是重中之重!Linux系统最优秀的地方就在于内核。无论是进程调度,内存管理,还是数据的组织形式,而这些算法的基础就是一个高效而精简的数据结构,红黑树也好,内核链表也好,看不懂C语言,搞不清数据结构,基本上谈不上做驱动。基础不扎实不要谈上层建筑,资源不全面就不要谈合作,很简单的道理。

假设楼主的C语言和数据结构都是勉强过关的(分得清指针函数函数指针,能够熟练自定义链表并进行增删改查等链表或树的算法重组)。我们来谈下一个阶段,让我们对类Unix系统的基本操作有一个基本的了解,打开文件,切换路经,更改个密码,填个用户什么的。

接下来我们来谈驱动,做驱动就得有做驱动的样子,不知道楼主之前玩过裸板51或者AVR没有,如果没有,尽快搞通,资源很多,跟着人家把电平配一遍,来个矩阵键盘,组个跑马灯,有成就感的同时也打下了硬件基础,好处大大滴。

基于操作系统的驱动,即必须了解内核对驱动程序的管理方法,怎样划分一个具体的设备,是字符型?块设备?还是别的什么,或者从总线的角度来划分一个设备,i2c也好,USB也罢,还是数据地址控制这么一个三总线形式,都是有必要掌握的东西。

上升到应用,任何一个实践项目中很难会有一个板子让你从零开始写驱动,百分之九十九是拿来改,这就是一个熟练的过程,做到一定多的东西,就会下意识地觉得,这个地方可能会有问题,我需要留意一下。

总结一下,驱动工程师其实也是一种硬件翻译型工程师,其任务就是看懂手册上的表格,然后体现在代码里面。客观地说,我们这个行业门槛较高,队友较少,不过等到真正入门之后,那种成就感是无与伦比的。

新手如何玩转LINUX

1,命令掌握多少看你怎么使用了,这个当然越多越好了,其实命令很好记,关键是参数比较需要深度研究。(进命令行的界面的话有3种,1是直接在登录时选择,2是在终端中使用,3是ctrl+alt+F1~F6,ctrl+alt+F7切回,但是每一个都是一个独立的工作界面,需要重新登录的。)

2,现在的新硬件的话一般都是用alsa,你去网上搜一下怎么安装。需要编译的(我用的是alsa-driver-1.0.20;alsa-lib-1.0.20;alsa-utils-1.0.20三个包。)这个得看声卡的。你可以试试。最好根据声卡去里面搜比较成熟的方案。

3,首先确定你的网络连接正常。拨号上网在终端下用$ sudo pppoeconf 他会跳出一个蓝色的界面让你配置。跟着提示填下用户名 密码。

4,本来不能,非要用LINUX运行的话使用WINE(去,官网是winehq.org英文的),应该到1.1.32了。或者用模拟器,VMWARE好像有LINUX版本的,记不大清了。

5,有的,你去官方网站下载个吧,如果rpm得不行你就用源码编译安装。

6,各个发行版不一样的,这个就不答了,一般都会有更新管理器的。

7,LINUX是继承了UNIX的优点的系统的,但是也有区别的。掌握了LINUX,再玩UNIX可以很快上手的,这是事实。

P.S:你既然用的话干嘛用REDFLAG啊,REDHAT,Ubuntu都比较好的,而且做得很人性化。刚开始用的话都会很快上手的。redflag的更新版慢而且软件的管理器不是很好用。初学还是redhat和ubuntu好点。redhat是最典型的版本,很多教材都是根据他编写的。ubuntu是人气相当旺的产品,易用性比较强,我用的是ubuntu 9.10 10月份刚发行的新版本。而且网上ubuntu的资料比较新而且比较多。

嵌入式LINUX驱动程序实战开发怎么样

我可以给出一些见解,我是通过培训,然后在此行业工作了近一年。针对你的问题,不同的公司有不同的录取规则,没有一个定式。当时找第一份工作前,我也有你的这种困扰,我把我的想法说一下,希望能帮到你。

如果你作为初级驱动工程师去面试,你只需要熟悉一些重要的驱动,比如I2C、SPI,而且自己做过此类驱动的小项目,再针对公司供应职业的需好好做足功课。这个阶段是入职后更专业地学习驱动。

如果你作为资深工程师,有多年经验,自然地对大部分驱动十分了解,比如USB、网卡、存储设备等等。

对于驱动框架啊,你一定是要了解并十分熟悉框架的,这样才可以对相应驱动程序进行填充实现其功能。在面试找工作时这个方面会更重要些,但是我认为只要你认真地研究驱动代码,是很容易掌握的,关键是信心与毅力。

“还有对驱动编写完后的配置和编译需要到达什么程度?”这个问题问的好,这是企业和公司都关心的问题,它关心着产品的市场,至于到什么程度,基本的功能你一定要很好地实现,如果时间充裕,尽量优化你的代码,使驱动占用更少的资源、更省电、数据传输更好等等。

延伸阅读:

学习Linux内核的经典书籍以及学习这些书籍的顺序??学习内核不是件容易事,前面有很多前续课程要读。 1.C语言,推荐 The programmgin c language被称为圣经的书,不过没有中文版,不过C语言不太难,而且读内核也不需要你对C有多深了解...

如何开始学习Linux内核在学习内核过程中最容易犯的错误,也是非常难掌握的其实是站在一个什么样的高度上去学习。 站什么样的高度去学习也与自身的能力相关,所以这个问题其实更多是在新开始学习的学...

学习linux系统的移植要学习哪方面的知识呢1、Linux 基础安装Linux操作系统Linux文件系统Linux常用命令Linux启动过程详解熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令认识Linux系统的常...

linux系统怎么学习?Linux技术其实很好学,只要你找到方法就行,建议你读读linux的书,比如《linux就该这么学》,这本书写的就挺好的 1、先找一本基础的书,我当初用的是鸟哥的linux私房菜,基础篇和服务...

Linux新手如何在较短的时间内学习并使用archlinux我不认为ArchLinux适合新手,系统安装是一方面:Arch的安装需要大量使用命令行工具,根据wiki上的安装说明一步步来。如果一个完全没有Linux经验的新手,难保不卡在一些错误上面。楼...

如何学习 linux c的问题C++不分Linux下还是windows下吧,只要使用标准C++语法编写的程序无论在哪个系统下都可以编译的在linux下使用g++编译器就够了,如果想用的方便点,下个codeblocks的IDE,和VC++ 6.0...

新手如何学习Linux给你一个嵌入式Linux操作系统学习规划吧 希望对你有所帮助 ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为ar...

如何利用树莓派学习Linux及Python无论是Linux还是Python,其学习过程对于硬件都没什么要求,对于知识的掌握才是核心。 理论上用树莓派学习当然可以,但是鉴于你依然处于初学者水平,特别是Linux相关的不够熟练,还是...

如何学习linux的建议学习数据库管理体会心得!写心得体会的格式 、什么是“心得体会" 在参与社会生活与社会实践中,人们往往会产生有关某项工作的许多感受和体会,这些感受和体会不一定经过严密的分析...

推荐阅读
图文推荐
栏目列表