CE下基于Zylonite硬件平台的SD卡驱动开发
本文结合实际项目(一款以WINCE为操作系统内核的GSM/PHS双模智能手机)对嵌入式系统Windows CE5.0的底层驱动(SD卡)的架构进行了分析和研究。
以MARVELL公司提供的基于INTEL Zylonite硬件平台的BSP为基础,利用Windows CE5.0的Platform Builder集成开发环境(IDE)开发适合实际项目的SD卡驱动代码,分别以轮询和中断方式实现该驱动的动态加载,并深入分析SD卡驱动(流驱动)的详细的加载过程。
引言
随着通信领域新业务需求的不断增长及计算机技术,半导体技术和电子技术的术的迅速发展,嵌入式系统异军突起,已经渗透到社会生活的方方面面了。它是集软件,硬件于一体的高可靠性系统。其最大特点即为可以通过裁减装卸系统模块来配置整个平台所要求的功能。
Windows CE是由微软公司所开发的一个嵌入式操作系统,它与Windows平台的编程接口有很强的兼容性。其平台开发工具Platform Builder是一个完全集成的开发环境(IDE)。
本项目所涉及的硬件开发套件Intel Zylonite Development System装配有Intel的Xscale芯片处理器Monahans L(PXA300),并配有相关外设电路接口(USB2.0,SD/MMC,音频,以太网口等)及外设(触摸屏,KEYPAD,扬声器,听筒,话筒等)。其独特的结构优化能力保证了操作环境和通用应用设备可以在高频率和的情况下快速处理任务。
1、 WINCE 下的SD卡驱动架构
Wince 下SD卡驱动协议栈组成 :
u HOST硬件底层部分 (主控制端驱动) SDHC_XXX.DLL
u BUS 中间逻辑命令层 (总线驱动) SDBUS.DLL
u CLIENT上层(客户端驱动) SDMEMORY.DLL
1.1、主控制端驱动
主控制端驱动控制包含主控制器硬件,遵循主控制端驱动接口,它被用于总线驱动通信和设置操作参数。主控制器驱动接口提供一个硬件提取层,在总线和主控制端执行之间。
即:SDHC_XXX.DLL是最底层,因为这层是硬件关联层,因此取名XXX便是为了对应的具体的硬件BSP包(如本项目的硬件平台是ZYLONITE,其硬件供应商给的BSP包名即为ZYLONITE,在实际项目中我们便将SDHC_XXX.DLL取代为SDHC_ZYLONITE.DLL),它负责具体的发命令,大多数情况下都需要修改。
1.2、总线驱动
总线驱动作为提取和管理层处于主控制驱动和客户端驱动之间。它包括在SDbus.dll文件。为客户端驱动提供了标准的API,允许运行在任何的基于windows ce设备。总线驱动将是独立于应用程序和主控制端驱动,在不同的处理器之间移植,并不需要改动。SDBus.dll是中间层,负责整合命令和管理。
相关文章
- 2023-12-06轴瓦厚度测量机稳定性的测量分析
- 2024-10-29一种新型电容测量仪
- 2023-01-20天然气流量计量的高级孔板阀计量特性与误差分析
- 2022-10-14虚拟DCS技术除氧系统建模与仿真概述
- 2022-05-05基于W77E58单片机的通用数据采集和通讯仪的设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。