static Cyg_ErrNo sd_get_config(disk_channel* chan, cyg_uint32 key, const void* buf, cyg_uint32* len)
{
return -EINVAL;
}
static Cyg_ErrNo sd_set_config(disk_channel* chan, cyg_uint32 key, const void* buf, cyg_uint32* len)
{
return -EINVAL;
}
//-------------设备 I/O 函数表-----------//
(略,见前面)
//----------设备表入口----------------//
(略,见前面)
6 向eCos数据库中添加SD卡驱动程序组件包
在ecos.db中的任意位置加如下程序段:
package CYGPKG_DEVS_SD_SPCE3200 {
alias{'SD support for Score SPCE3200'}
directory devs/sd/score/spce3200
script sd_spce3200.cdl
description '
This package contains hardware support for theSDCard
on the Score SPCE3200 EV Board.'
}
“devs/sd/score/spce3200”指示了SD卡设备驱动的路径,该路径是相对于/packages目录的[8]。此时打开eCos配置工具添加包时,就可以看见SD卡驱动程序组件包已经出现在eCos数据库中,如图3所示。点击“Add”加载到平台上并编译生成一个名为“CIGPRG_DEVS_SD_SPCE3200.ecc”的库文件,即SD卡驱动程序库文件。
至此,在嵌入式操作系统cCos中成功地创建了一个基于凌阳SPCE3200的SD卡驱动程序。有了该驱动程序,就能正常访问SD卡了。
除了通过I/O组件访问硬件设备之外,eCos还提供了FAT文件系统用以管理块设备。FAT文件系统的使用,可以大大方便嵌入式系统与PC系统之间的文件交换,并为应用程序提供更为方便的操作接口。