黄色大片在线免费观看_黄色大全下载_黄色的app下载_黄色的软件大全_亚洲国产不卡_亚洲国产成人91porn

信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909

linux驱动培训学习什么的,什么是驱动

时间:2019-06-18 00:00:00 来源:信盈达 作者:信盈达

从用户的角度:我们用的鼠标、键盘、无线网卡等都需要安装相对应的驱动程序后才能正常使用这些设备。


从开发者的角度:驱动是直接和硬件打交道的软件,可以使计算机和设备进行通信的特殊程序,相当于硬件的接口,操作系统或应用程序只能通过这个接口才能控制硬件设备进行工作。向下,驱动程序需要控制硬件进行相应的操作;向上,驱动程序需要向应用程序提供操作硬件的接口,所以驱动在整个嵌入式系统中处于一个中间的位置,具有承上(应用程序)启下(底层硬件)的作用。


一、 有了操作系统后,驱动实现起来反而变得更加复杂,那么还要操作系统干什么?


总是有初学者会问,既然驱动能起到承上启下的作用,能串联应用程序和硬件组成一个完整的嵌入式系统,为什么还要有操作系统这样复杂的东西呢,反而让我们的驱动学习起来更加复杂?没有操作系统只有驱动的确能构建一嵌入式系统,那这个系统就是我们通常所说的裸机系统或者单片机系统,只能完成一些简单的操作,如果有了操作系统就能具有以下功能:


a. 一个复杂的软件系统需要处理多个并发任务,如果没有操作系统,想完成多任务并发是很困难的。


b. 操作系统可以给我们提供内存管理机制,一个典型的例子就是,对含有MMU32位处理器而言,操作系统可以让每个进程都可以独立的访问4G的内存空间。


那么操作系统的存在给驱动提供了什么样的好处呢?有些学习过单片机的同学老是抱怨说,我学习裸机驱动感觉很简单,当学习带有操作系统的驱动的时候,十分复杂,感觉太难。事实确实是这个样子,那为什么要这么做呢?其实操作系统就是通过给驱动制造麻烦,从而来达到给上层应用提供便利的目的:操作系统提供给应用程序统一的系统调用接口来访问对应的驱动程序,从而来操作硬件设备,起到了分层的作用,写应用程序的人不用关心底层驱动怎么实现,只需要调用统一的接口就可以,做驱动的人,只需要按照操作系统提供的框架去完成驱动程序就可以了。


二、如何学习Linux驱动开发?


Linux驱动的学习涉及应用层(例如访问字符驱动以文件的形式,所以需要文件IO知识)和硬件(操作硬件需要看原理图,芯片手册,读写寄存器等)等方面的知识,涉及知识面广,架构多而复杂,所以初学者一定要有一定的Linux应用层和单片机开发相关的知识储备,这样上手起来可能会更加容易一点。另外,对于初学者,在学习驱动的时候,不能太纠结于细节(如为弄清某段代码,不断跟源代码),最好从使用的角度,宏观上、框架上去进行把握,等熟悉了之后,再慢慢深入。另外需要多实践,尽量有自己的开发板及外围器件,亲自动手操作,而不是只看视频或者阅读书籍。


三、 初步学习完后,要具备什么样的能力?


a. 熟悉Linux驱动开发流程,能独立开发简单的驱动。


b. 熟悉常用的Linux驱动框架(平台总线模型,I2C、SPI驱动框架,framebuffer驱动框架)。


c. 掌握驱动代码的跟踪分析,调试手段等。这一条是最重要的,实际工作中其实不是从0写驱动,大多都是芯片厂商提供源码,然后你去整合到项目的平台上,然后调试。
主站蜘蛛池模板: 欧美激情一区二区三区中文字幕 | 国产精品成人一区二区 | 久久国 | 久久免费看 | 欧美成人亚洲高清在线观看 | 成人精品在线视频 | 成人在线观看免费视频 | 国产一区二区三区精品久久呦 | 久久精品23 | 广州一级毛片 | 日韩精品一区二区三区高清 | 青草香蕉精品视频在线观看 | 国产精品成人第一区 | 精品毛片视频 | 轻轻啪在线视频播放 | 1000部国产拍拍拍拍在线观看 | 成人在免费视频手机观看网站 | 欧美亚洲国产成人精品 | 福利视频在线观看完整 | 91精品免费观看老司机 | 欧美日韩在线一区 | 成人深夜视频在线观看 | 国产精品视频免费在线观看 | 久久婷婷在线 | 国产一区二区免费 | 97碰视频 | 国产日韩欧美一区 | 97碰碰碰在线观看免费 | 精品国免费一区二区三区 | 国产younv真实 | 国产成人mv在线观看入口视频 | 99久久免费观看 | 欧美久色| 欧美日韩在线播放一区二区三区 | 不卡视频一区二区 | 欧美成人午夜视频在线观看 | 成人精品一区二区三区中文字幕 | 国产成人啪精品视频免费软件 | 久久成年视频 | 国产精品视频一区二区三区不卡 | 成人午夜精品久久久久久久小说 |