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

嵌入式Linux驱动培训,嵌入式linux驱动学习方法

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

驱动程序开发是嵌入式Linux项目中工作量大的一部分内容,开发出高质量的驱动程序是项目成功的关键。Linux设备驱动的学习是一项浩繁的工程,包含如下的重点、难点。


1 编写Linux设备驱动要求工程师有非常好的硬件基础,懂得SRAM、Flash、SDRAM、磁盘的读写方式,UART、I2C、USB等设

备的接口以及轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理单元(MMU)等。


2、编写Linux设备驱动要求工程师有非常好的C语言基础,能灵活地运用C语言的结构体、指针、函数指针及内存动态申请和

释放等。


3、编写Linux设备驱动要求工程师有一定的Linux内核基础,虽然并不要求工程师对内核各个部分有深入的研究,但至少要明
白驱动与内核的接口。尤其是对于块设备、网络设备、Flash设备、串口设备等复杂设备,内核定义的驱动体系架构本身就非

常复杂。


4、编写Linux设备驱动要求工程师有非常好的多任务并发控制和同步的基础,因为在驱动中会大量使用自旋锁、互斥、信号

量、等待队列等并发与同步机制。


大家可能问怎么做好linux驱动的开发工作呢?对于小编自己,一般是这么处理的,
1)找两台电脑,一台电脑安装windows系统,另外一台电脑安装linux系统,至于类型没有限制;
2)查看linux系统的版本类型,输入uname -r即可;
3)根据获取的linux kernel版本,在www.kernel.org上面寻找合适的kernel版本,直接用wget下载即可;
4)用tar解压内核版本,将boot下config文件拷贝到本地,输入make menuconfig,直接保存即可;
5)输入make -j2 & make modules_install & make install即可,系统重启;
6)在linux系统起来后,注意在grub启动的时候选择刚刚编译的内核版本,这样就可以在linux上开发kernel驱动了;
7)在windows 平台安装secureCRT工具,和linux取得连接;
8)输入下面的代码,分别是hello.c和Makefile。
9)编译的时候,直接make即可,当然前提是这两个文件必须在一个目录下;
10)编译后生成hello.ko文件,大家可以把它想象成一个普通的执行文件;
11)如果需要安装,直接insmod hello.ko即可,输入dmesg | tail 可以看到打印的内容,输入lsmod | grep hello也可以看一下模块是否已经安装;

12)如果删除模块,直接输入rmmod hello即可,当然添加和删除的操作都需要在root模式下进行操作。


如果觉得自己学的不系统,想要通过培训进行嵌入式学习,可以参考信盈达嵌入式Linux开发课程大纲


信盈达嵌入式linux驱动课程简介


本课程从最础的C语言和数据结构起步,一步步学习嵌入式LINUX系统移植、Linux应用开发、Android应用开发、Android系统移植、Android设备中间件开发。本课程全程双平台教学Cortex-M4+A53。通过全套课程的学习,完全可以从入门到精通,进入到“钱途”无限的Linux嵌入式开发。包括应用开发和中间层开发,都足以胜任。本套课程融合了国内Linux培训和嵌入式培训的精华课程,并加入最新的Linux 4.x驱动开发,是国内首创的全套Linux驱动开发课程,成为国内大学生学习Linux嵌入式开发的入门首选!


信盈达-嵌入式培训|物联网培训|人工智能python培训|java培训|硬件培训|PCB培训|电子培训机构

信盈达一直以来将“嵌入式培训”作为企业发展的核心竞争力,“短期嵌入式培训”一直是信盈达核心业务,每年以超过100%的发展速度增长,至20196月份,培训学员人数累积已超过43800名。据统计,目前95%以上的学员愿意将我们的课程推荐给他人,有超过32%的新学员来源于他人推荐,可见信盈达的培训质量在业内已深入人心,良好口碑和企业形象已为公司快速发展提供最有力的保障。