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

时间:2012-07-25来源:网络

对于AT91RM9200利用如下转换函数获取虚拟地址,其中宏AT91_VA_BASE_SYS是系统虚拟基地址:

读写端口对于AT91RM9200还可使用专门函数

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

int at9 1_set_gpio_value(unsigned pin,int value),并包含头文件asm-arm/arch-at91/gpio.h。一般端口的访问在驱动模块初始化时申请资源,在卸载时释放资源,而对于I/O口的使能则在open方法中实现,相应的禁用在release方法中实现。

1.3 ioctl方法的实现

用户可以通过ioctl方法向内核发送各种命令,必要时传递参数,下面展示一个简单实例。

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

1.4中断控制实现

当外部信号的到来时刻不可预测时,使用轮询方式将使得效率极低,需要使用阻塞型中断实现。即没有中断信号到来时阻塞读进程,使其处于睡眠状态,当中断到来唤醒读进程,执行预定处理操作。

首先,在open方法中使用request_irq()安装中断处理程序,在release方法中释放。函数原型如下:

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

其中:参数irq为中断号;handler为ISR指针;flags为与中断管理有关的各选项字节掩码;dev_name即设备名;dev_id为中断信号线。

其次,ISR为申请中断时使用的参数名,假设为irq0_handler,定义原型如下:

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

1 2 3 4

关键词: 设计模式 分析 控制系统 仪器 Linux ARM

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版