实验步骤:
1、设计一个简易蜂鸣器驱动
beep_drv.c
2、编译驱动
Makefile
生成ko文件
3、查看驱动的信息
#modinfo beep_drv.ko
在ubuntu上
4、下载ko到试验箱
5、安装ko—蜂鸣器响
#insmod beep_drv.ko
#lsmod
如果ko安装有错,说申请不到GPIO
解决:
Device Drivers —>
Character devices —>
<> LED Support for FriendlyARM Mini210 GPIO LEDs
<> Buzzer driver for FriendlyARM Mini210 development boards
输入“N”
改成:
Device Drivers —>
Character devices —>
< > LED Support for FriendlyARM Mini210 GPIO LEDs
< > Buzzer driver for FriendlyARM Mini210 development boards
重新编译内核—>烧写内核
6、卸载驱动—蜂鸣器
#rmmod beep_drv
#lsmod
=================================================================================
二、前面还没有验收的实验,完成。
三、分析LED灯驱动
gec210_led.c
四、在project添加蜂鸣器的应用程序(驱动程序待定)
beep.h
#define BEEP_ON 1
#define BEEP_OFF 0
beep.c
int beep_ctrl(char beep_state)
{
参考:编写一个控制蜂鸣器的应用程序
}
一、编写一个控制蜂鸣器的应用程序
int main(void)
{
int fd_beep;
//1.打开蜂鸣器
fd_beep = open("/dev/beep_drv", O_RDWR);
if(fd_beep == -1)
{
perror(“open beep”);
return -1;
}
//2.向蜂鸣器写入控制命令
char beep_flag = 1;//1--on,0--off
write(fd_beep, &beep_flag, 1); //要设计一个驱动程序,与应用程序匹配
//3.关闭蜂鸣器
close(beep_fd);
return 0;
}
=