第八章心得体会

通过第八章的学习,我学到了如下知识点:

一、Linux驱动的代码重用

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

如果Linux驱动只有1个源代码文件,0bj-m变量可以和源代码文件同名。如果Linux驱动包含多个文件,就需要使用module-y来指定所以的目标文件。

2Linux驱动模块的依赖

代码重用分为静态和动态两种。

二、强行卸载Linux驱动

情况1:初始化函数崩溃

情况2:卸载函数被阻塞

三、蜂鸣器(PWM)驱动

1、蜂鸣器驱动的原理

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

PWM使用端口FCPFCON寄存器进行控制。改寄存器在linux内核中对应的宏是S3C64XX_GPFCON寄存器寄存器的虚拟地址。GPFCON只用了最高两位来控制PWM。当最高位为10时,打开PWM。当00时,停止PWM

2、实现蜂鸣器驱动

编译PWM驱动的Makefile文件

obj-m :=pwm_driver.c

pwm_driver-objs :=pwm,o pwm_fun.o

3、测试蜂鸣器驱动

打开PWM

# ./ioctl /dev/pwm_dev 1 0

停止PWM

# ./ioctl /dev/pwm_dev 0 0

通过学习让我对linux驱动开发有了更深刻的认识,让我受益匪浅。

posted on 2016-07-07 21:25  打不起的小强  阅读(206)  评论(0编辑  收藏  举报

导航