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

linux驱动开发要有哪些基础

发布网友 发布时间:2022-04-21 08:58

我来回答

1个回答

热心网友 时间:2023-10-17 18:26

需要一定的努力才可以学好:
Linux设备驱动是linux内核的一部分,是用来屏蔽硬件细节,为上层提供标准接口的一种技术手段。为了能够编写出质量比较高的驱动程序,要求工程师必须具备以下几个方面的知识:
1、 熟悉处理器的性能
如:处理器的体系结构、汇编语言、工作模式、异常处理等。对于初学者来说,在还不熟悉驱动编写方法的情况下,可以先不把重心放在这一项上,因为可能因为它的枯燥、抽象而影响到你对设备驱动的兴趣。随着你不断地熟悉驱动的编写,你会很自然的意识到此项的重要性。
2、掌握驱动目标的硬件工作原理及通讯协议
如:串口控制器、显卡控制器、硬件编解码、存储卡控制器、I2C通讯、SPI通讯、USB通讯、SDIO通讯、I2S通讯、PCI通讯等。编写设备驱动的前提就是需要了解设备的操作方法,所以这些内容的重要程度不言而喻。但不是说要把所有设备的操作方法都熟悉了以后才可以写驱动,你只需要了解你要驱动的硬件就可以了。
一、掌握硬件的控制方法
如:中断、轮询、DMA 等,通常一个硬件控制器会有多种控制方法,你需要根据系统性能的需要合理的选择操作方法。初学阶段以实现功能为目的,掌握的顺序应该是,轮询->中断->DMA。随着学习的深入,需要综合考虑系统的性能需求,采取合适的方法。
二、良好的GNU C语言编程基础
如:C语言的指针、结构体、内存操作、链表、队列、栈、C和汇编混合编程等。这些编程语法是编写设备驱动的基础,无论对于初学者还是有经验者都非常重要。
三、 良好的linux操作系统概念
如:多进程、多线程、进程调度、进程抢占、进程上下文、虚拟内存、原子操作、阻塞、睡眠、同步等概念及它们之间的关系。这些概念及方法在设备驱动里的使用是linux设备驱动区别单片机编程的最大特点,只有理解了它们才会编写出高质量的驱动。
四、掌握linux内核中设备驱动的编写接口
如:字符设备的cdev、块设备的gendisk、网络设备的net_device,以及基于这些基本接口的framebuffer设备的fb_info、mtd设备的mtd_info、tty设备的tty_driver、usb设备的usb_driver、mmc设备的mmc_host等。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...爱你你是我的罗密欧 , 我愿意变成你的朱丽叶' 谁知 有句歌词是“我爱你你是我的朱丽叶,我愿意变成你的梁山伯”是哪... 为什么打印出来的文档页码和原来的不一样 ...两台电脑用路由器上网一台是W7一台是XP如何实现两台电脑共享文件 win7怎么联另一台电脑win7怎么让网络和另一台电脑共享 w7的系统怎么共享电脑w7系统里面文件怎么共享另一台电脑 共享win7电脑w7系统里面文件怎么共享另一台电脑 翡翠有收藏价值吗,我们玩家如何去投资 价格一两万元的翡翠如何挑选 ppt怎么转换成视频?简单四步法,轻松搞定ppt微课录制 Linux驱动驱动linux版 linux驱动程序一般包括几部分 如何在Linux下添加自己的驱动 想学习Linux 驱动,需要什么知识 linux驱动程序如何调用 Linux输入设备驱动? 什么叫Linux驱动程序 linux驱动有哪些 linux如何安装驱动 励志的故事 适合给大学生讲的励志故事 五分钟能读完的励志故事 50字 励志 故事积极向上 适合中学生的励志故事有哪些? 5分钟励志故事 格兰仕空调屏幕显示e4是什么意思 空调显示出现E4是什么意思? 开晨会一个主题三个小故事 关于早励志好的名人故事,辩论会有用 求坚持不懈励志的句子 或小故事 开早会用 谢谢 在linux系统中如何安装各种硬件的驱动 linux中驱动放在哪个目录下 ? linux驱动开发1之什么是驱动 Linux驱动程序的工作原理 linux中驱动放在哪个目录下 Linux系统需要“驱动程序”吗? vmware虚拟机黑屏? 虚拟机进入安装系统 一直黑屏怎么办 安装虚拟机黑屏怎么回事,求解 虚拟机装不WIN7系统怎么解决啊,点击开启就是黑屏 Win7下VM虚拟机 进入系统后黑屏 mac下的win7虚拟机黑屏怎么办 Vmware fusion启动虚拟机之后显示黑屏不能看到图像 vmware虚拟机开机后黑屏只有一个横杠 虚拟机里的WIN7黑屏怎么办 为什么vm虚拟机运行黑屏啊? 虚拟机开机 黑屏 时黑屏 先是出现一个选项 可是不管怎样都没反应 望高手解答 虚拟机中的linux怎么进入命令方式 VMware安装最新版的14 ,启动黑屏。 如何修复虚拟机