驱动实战基础

驱动学习实战一:

编写简单的驱动:

利用:lsmod  rmmod insmode这个三个常见命令

驱动学习实战二:

 register_chrdev详解(#include <linux/fs.h>)  老接口的函数    

static inline int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)

参数: 1.major主设备号     

参数的来源: 1.是0 那么系统会自动给你指定一个主设备号 2.自己利用lsmod的方式来,找一个没人用的主设备号

参数2:    名字   总结: 主次设备号 +name = 人 +名字

        参数3:          struct file_operations *fops这个是应用和驱动的接口 也就是核心

 主要的作用是内核驱动人员向内核提供的接口。

        写文件之前先看。

lsmod 查看当前注册的驱动

        cat /proc/devices  虚拟文件系统

驱动学习是实战三:

register_chrdev内部将我们要注册的驱动的信息,存储在对应的位置

        cat /proc/deviecs 查看内核中已经注册过的字符设备驱动(块设备驱动)

/proc文件系统是内核 利用数据结构虚拟出来的文件系统


驱动学习实战:学驱动的思维

1.在自己的思想中建立整体的框架

   2.整体是一个什么样子的 ,谁调用谁,谁被谁调用 谁的作用是什么

3.在内核中找到相应的内核源代码,自己进行修改

    4.你写的每一句代码心里必须清楚明白,不能似懂非懂

5.自己写的代码首先会先猜测,到底是那种可能,然后实验来验证这种可能

6.驱动人员的主要工作量:file_operations及其元素填充,注册驱动


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式驱动是指针对特定硬件平台,开发设备驱动程序的技术。这些驱动程序可以控制各种外围设备,例如传感器、执行器、通信接口等。嵌入式驱动程序通常需要直接操作硬件,因此需要深入了解硬件结构和编程技术。 以下是一个嵌入式驱动学习实战的教程: 1. 首先,了解嵌入式系统的基本概念和发展历史。可以学习嵌入式系统的硬件、软件、通信接口、操作系统等方面的知识。 2. 掌握嵌入式系统的基础编程语言,例如C语言和汇编语言。这些语言是嵌入式系统开发的基础,需要熟练掌握。 3. 学习硬件体系结构和编程技术。这包括处理器架构、内存管理、中断处理、GPIO控制等方面的知识。 4. 学习嵌入式系统的设备驱动程序开发技术。这包括字符设备驱动、块设备驱动、网络设备驱动等方面的知识。 5. 掌握常见的嵌入式系统开发工具,例如编译器、调试器、仿真器等。这些工具可以帮助开发人员调试和测试驱动程序。 6. 进行实战练习,例如使用开发板开发一个简单的设备驱动程序。可以从最基础的GPIO控制开始,逐步扩展到其他设备驱动程序的开发。 7. 学习嵌入式系统的调试技术,例如使用调试器进行单步调试和断点调试。这些技术可以帮助开发人员快速定位和解决问题。 总之,嵌入式驱动学习需要系统化的知识结构和实战经验。通过不断学习和实践,可以逐步掌握嵌入式驱动开发的技术和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值