首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于eCos系统的SPCE3200中SD卡驱动程序的开发
来源:本站整理  作者:佚名  2009-06-17 10:41:44



 设备驱动程序是介于硬件和嵌入式系统eCos内核之间的软件接口,是一种底层的、专用于某一硬件的软件组件。在eCos系统[1]中,设备驱动程序以包(Package)的形式存在,当需要使用该设备时,通过eCos环境配置工具把该设备驱动程序包加载到内核中,编译后生成一个库文件,用户使用时,只需要打开该设备,直接调用接口API函数即可。设备驱动程序的作用如图1所示[2]。

 在eCos系统中一般把设备分为4类:字符设备、块设备、网络接口、其他设备。
  SPCE3200是凌阳公司推出的一款32位支持嵌入式系统处理器,其内部具有SD卡控制器,属于块设备类[3]。对SPCE3200内部的SD卡控制器必须编写驱动程序,以便完成SD卡的读写操作。下面将介绍具体实现过程,这里规定SD卡使用“/dev/sd”作为其名称。
1 建立SD卡驱动程序目录结构
  在编写驱动程序前,首先需要为SD卡驱动建立其目录结构。eCos系统要求所有驱动程序均保存在/packages/devs目录下的对应子目录内,按照图2所示在eCos/ packages/devs/sd/Spce3200 目录下分别建立名为“cdl”、“include”、“current”3个目录,分别用于存放SD卡驱动所需的cdl文件、驱动程序头文件和源程序文件。

2  建立SD卡驱动程序文件
  在cdl目录内,首先创建一个叫做“sd_spce3200.cdl”的文件。然后,在src目录内建立一个名为“sd_spce3200.c”驱动程序的源程序,并将名为“sd_card_driver_spce3200.c”的文件复制到src目录内,该文件是凌阳科技提供的针对SPCE3200内部SD卡控制器的基本操作程序。

3 设计SD卡驱动的CDL文件

  组件定义语言CDL(Component Definition Language)是eCos组件框架的一个关键部分。eCos中所有的包都必须具有至少一个CDL脚本对其进行描述[4]。CDL脚本包含了该包中所有配置选项的详细信息,并提供了如何对该包进行编译的信息[5]。这里,在CDL文件的模板框架中添加关于SD卡配置项的代码如下:
  cdl_package CYGPKG_DEVS_SD_SPCE3200 {
  display 'SD driver for SPCE3200'
  include_dir cyg/io
  compile sd_card_driver_spce3200.c
  compile -library=libextras.a sd_spce3200.c
  description 'SD driver for SCORE SPCE3200'
  cdl_component CYGPKG_DEVS_SD_SPCE3200_OPTIONS {
  display'CompileOptions'
  flavor rnone
  no_define
  cdl_optionCYGDAT_DEVS_SD_SPCE3200_NAME{
  display 'Device name for theSDDriver'
  flavor data
  default_value{''/dev/sd''}
  description ' This option specifies the name of the sd-card device'
  }
  }
  }

[1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:129,816.40000 毫秒