首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM的脑电信号采集系统(4)

基于ARM的脑电信号采集系统(4)

系统软件设计中的驱动层部分,除了使用μClinux操作系统自带的设备驱动程序以外,需要对外部设备编写自定义的设备驱动程序,以满足操作系统的要求。以字符设备为ADC为例,主要对其编写自定义的驱动程序。使用结构体file_operations{}作为ADC字符设备的函数接口,内核通过这个函数接口来操作设备。自定义后的file_operations{}结构体如下:struct file_operations ADC_fops = {
    read:           ADC_read,   //从设备中读数据操作
    poll:        ADC_poll,   //查询设备
    ioctl:       ADC_ioctl,   //进行读、写以外的IO控制操作
    open:       ADC_open,   //打开设备
    release:      ADC_release, //关闭设备
    ……};
  编写自定义的驱动程序完成后,内核调用相应的函数即对ADC设备文件进行open、ioctl等具体操作。
  3.2 图形用户界面设计
  图形用户界面(GUI)把图形视窗引入到嵌入式平台上,其友好的界面为大多数用户所接受,也得到越来越广泛的应用。本设计采用MicroWindows来实现图形界面,以窗口形式显示测量数据及其它参数。MicroWindows是一个较早出现的、开放源码的嵌入式图形用户界面软件,它提供了比较完整的图形功能,支持多种外部设备输入,具有占用空间小、可移植性好的优点。在μClinux操作系统上使用MicroWindows易于图形程序的开发。
  MicroWindows采用了层次化结构:在底层提供设备的驱动,在中间层通过一个可移植图形引擎实现绘制多边形、区域填充、使用颜色等,在顶层实现多种API以适应不同的应用环境。MicroWindows API 之间采用消息传递的基本通信机制。消息被储存在应用程序的消息队列中,不同消息对应不同的事件,核心的API通过传递对应相应事件的消息来实现各种功能,如窗口的创建、绘制、移动等等。
继承事业,薪火相传
返回列表