新闻中心

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

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

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

0 引 言

本文引用地址:http://www.eepw.com.cn/article/171131.htm

嵌入式系统的开发都有其特殊的应用场合与特定功能,而嵌入式操作系统因其开源和广泛的处理器支持、易于移植而备受行业青睐。AT91RM9200是Atmel公司针对系统控制、通信领域推出的基于920T内核的32位RISC微处理器,它具有小体积,低功耗,低成本及高性能等特点,其内部集成了SPI、串口、PIO、以太网、EBI、USB、MCI等多种接口。

系统中,应用层不可以直接操作硬件,需设计驱动程序向下屏蔽硬件特性,实现硬件与用户间的通信。系统平台为在虚拟机中安装Fedora 8,目标系统采用 2.6.21.7内核,定制文件系统建立NFS根文件系统,使用双网卡方式搭建成交叉开发环境,并使用超级终端或minicom作为控制台。

l 设备驱动程序设计

框架如图1所示。通过USARTl接收外来的控制命令,通过SPI接口和通用PIO口与外部设备通信,达到控制作用。在Linux下,所有的设备以文件的形式来使用。其中Linux已经提供了支持AT91RM9200的SPI驱动,DBGU和UART驱动,只要对其源代码进行一些修改并在编译内核时将其选中就可以直接使用。所以主要集中在PIO口驱动设计中,外部设备使用一个.PB29引脚(即IRQO)作为外部中断信号提供给,另外使用一些I/O引脚对外部设备进行控制。

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

Linux设备分为3类:字符设备、块设备和网络设备,该系统设计的是模块化字符设备驱动程序。Linux 2.6内核与Linux 2.4内核主要有3点不同:

(1)内核的API变化,增加了不少新功能;

(2)提供了sysfs用于描述设备树;

(3)驱动模块从.o变为.ko。

1.1 驱动程序重要数据结构

打开的设备在内核内部由file结构标识,内核使用file_operaTIons结构访问驱动程序的函数。file_opera_tions结构是一个定义在 中的函数指针数组。下面主要介绍常用的几个成员:

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

在这些函数指针中,open和release用于设备的打开和关闭,是每个驱动程序必须实现的函数。其他函数根据实际需要来实现,在该项目中实现方式如下:

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

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

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭