新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ARM+Linux 的仪器控制系统的设计模式分析

ARM+Linux 的仪器控制系统的设计模式分析

作者:时间:2012-07-25来源:网络收藏

中断阻塞即在其内部调用void wake_up_inter-rupTIble(wait_queue_head_t*queue)实现,然后返回IRQ_HANDLED;在read方法中调用wait_event_in-terruptible(queue,condition)来唤醒读进程,这样,当用户程序读设备时,如果没有中断到来,读进程将进入睡眠状态,中断发生被唤醒。

对于中断信号IRQO,因是PB29复用,要配置为外设A[4],同时还要配置中断源类型,函数分别在#in

ARM+Linux 的仪器控制系统的设计模式分析

2 编译和调试

驱动程序可静态编译进内核,也可编译成模块动态加载。为便于调试采用动态模块加载方式, 2.6内核下驱动编译方式和 2.4版明显不同,其建立的Makefile只需简单地写入obj-m:=devctl.O(假设源文件为devctl.c),然后执行命令:make-C/usr/lo-cal/arm/-2.6.21.7 SUBDIRS=MYMPWDmodules,注意内核源文件目录因各自系统而异,然后将生成的.ko文件置于目标系统的/home目录下,使用insmod加载模块,并使用cat/proc/devices命令查看分配到的设备号,使用mknod创建设备节点,卸载模块使用rmmod命令。

为方便调试,可以在适当使用printk打印信息,还可以通过点LED等以便于发现问题。

3 结 语

通过对相关的Linux 2.6内核中驱动源码的深入研究与自我设计实践,不断调试,在此阐述的方法得到实际验证,并已成功使用到某中。Linux博大精深,其开源的特点必将吸引更多的开发者投入其中,使其更好发展,应用于更多领域。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭