第八章 读后心得体会

 

一.Linux驱动的代码重用

1. 编译是由多个文件组成的Linux驱动

模拟环境:/root/drivers/ch08/driver_shared/multi_file_driver

在multi_file_driver目录中有一个multi_file_driver_eclipse目录,该目录是eclipse工程目录。

main.c是Linux驱动的主程序。在fun.c和product.c  product.h中定义和实现了在main .c中使用的函数。在main.c中通过extern关键字使用fun.c中的函数,通过包含product.c文件中的函数。

         在main.c文件中会发现多了两个宏(_int和_exit),这两个宏分别用来标识Linux驱动初始化函数(main_init)和Linux驱动卸载函数(main_exit)。

         最关键的一步是编写Makefile文件。

2.Linux驱动模块的依赖

         模拟环境:/root/drivers/ch08/driver_shared/symbol_export

         在symbol_export目录中有一个symbol_export_eclipse目录,该目录是eclipse工程目录。

         symbol_producer驱动的两个函数(add和sub)和symbol_const常量及result变量被导出。

二.强行卸载Linux驱动

情况1:初始化函数崩溃

         由于Linux驱动模块的初始化函数进行了某些操作而崩溃,从而导致初始化函数无法正常返回。

情况2.写在函数被阻塞

         在使用rmmod命令卸载Linux驱动时,系统会调用卸载函数,只有写在函数成功返回时,Linux驱动才会被卸载。

三.蜂鸣器PWM驱动

1.蜂鸣器驱动原理

         蜂鸣器也成为PWM,基本原理是通过脉冲来控制蜂鸣器的打开和停止。

2.实现蜂鸣器驱动

         模拟环境:/root/drivers/ch08/pwm

         PWM驱动由3个文件组成:pwm.c  pwm_fun.h  pwm_fun.c。其中pwm.c是驱动主程序。

3.测式蜂鸣器驱动

 

转载于:https://www.cnblogs.com/1412840122cj/p/5652940.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值