嵌入式驱动开发实验指导书

else {

init_MUTEX(&sem);

init_waitqueue_head(&outq); ? }

2)获取信号量和并判断是否加入队列 在globalvar_read()中获取

if(wait_event_interruptible(outq,flag != 0)) return –ERESTARTSYS;

if(down_interruptible(&sem)) return –ERESTARTSYS;

flag = 0; ? up(&sem);

3)在globalvar_write()中唤醒队列

if(down_interruptible(&sem)) return –ERESTARTSYS; ?

up(&sem); flag = 1;

wake_up_interruptible(&outq); 4)编写应用test1.c test2.c进行测试。 5)提交代码和测试结果(参照实验2方式)。

四,中断练习

1)

void tast_tasklet_action(unsigned long t) {

printk(\

}

2)DECLARE_TASKLET(test_tasklet,test_tasklet_action, 0); 3) tasklet_schedule(&test_tasklet); 4)编写应用test1.c test2.c进行测试。 5)提交代码和测试结果(参照实验2方式)。 二.waitqueue.c驱动程序 makefile文件

解释代码

实验五

实验题目:ADC设备驱动开发

实验目的:了解s3c2410 ADC 芯片相关寄存器功能;编写驱动和应用程序对ADC进行配置及读取数据。学会交叉编译环境的搭建。 实验类型:综合 实验要求:必修 仪器设备:计算机 实验内容、方法、步骤:

编写一个ADC设备驱动程序,能够对ADC设备配置及读取数据。将设备驱动程序和应用程序下载到实验箱,测试并写出运行程序后输出的结果。 1)

交叉编译环境的搭建。

a) 将armv4l-tools-2.95.2.tar.bz2复制到根目录 cp armv4l-tools-2.95.2.tar.bz2 / b) 解压工具包

tar jxvf armv4l-tools-2.95.2.tar.bz2 c) 配置环境变量 vim /root/.bashrc

输入:export PATH = $PATH:/opt/host/armv4l/bin

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4