[发明专利]一种在Bootloader层实现SDIO接口驱动的方法有效
申请号: | 201410013951.2 | 申请日: | 2014-01-13 |
公开(公告)号: | CN103761129B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 熊永华;张尧学;吴敏;陈建二;王建新;王国军;陈娅;王宁 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 长沙正奇专利事务所有限责任公司43113 | 代理人: | 马强 |
地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 bootloader 实现 sdio 接口 驱动 方法 | ||
技术领域
本发明涉及嵌入式技术领域,特别是一种在Bootloader层实现SDIO接口驱动的方法。
背景技术
SDIO(Secure Digital Input and Output)接口是由传统SD存储卡的SD总线发展来的一种兼容多种存储卡及SDIO设备的接口设备,该接口设备支持SDIO卡、复合SDIO卡、SD存储卡和MMC卡,在电路、功耗和软件上完全兼容SD存储卡。SDIO接口具有很强的可扩展性和较快的传输速度,支持即插即用,为移动设备提供了高速低功耗IO数据传输解决方案,在手机、PAD等各种移动与固定设备中应用广泛。目前已经有相机、录音器、扫描仪、GPS、蓝牙、无线网卡等多种SDIO接口设备。
SDIO接口是通用的外围接口之一,目前SDIO接口设备对操作系统有很强的依赖性,SDIO接口驱动集成在操作系统的内核中,操作系统启动后才能对SDIO接口设备进行识别和数据读写。平板电脑等移动设备上电后首先运行系统启动引导程序Bootloader将操作系统内核复制到内存中然后启动操作系统,Bootloader中不具备SDIO接口驱动程序,因此在Bootloader运行阶段SDIO接口设备无法使用。
Bootloader是在操作系统内核运行之前运行的一段程序,主要负责硬件设备的初始化、内存空间映射图的建立等工作,从而将系统的软硬件环境带到了一个合适的状态,为最终调用操作系统内核准备好正确的环境。因此在Bootloader层实现SDIO接口驱动能够在Bootloader启动阶段增强移动设备与外接设备的联系与通讯,实现在操作系统启动前识别和读写SDIO接口设备,在Bootloader原有功能的基础上扩展和开发新的功能应用,实现一些目前只能在操作系统层面上实现的应用如连接无线网络。
综上所述,目前的SDIO接口主要使用在操作系统启动后移动手持或固定设备与外接设备之间的通讯方面,国内外尚未有在Bootloader层针对SDIO驱动进行的研究。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种在Bootloader层实现SDIO接口驱动的方法,实现无操作系统环境下对SDIO接口设备的支持,解决SDIO接口设备只能在操作系统启动后使用的问题。
为解决上述技术问题,本发明所采用的技术方案是:一种在Bootloader层实现SDIO接口驱动的方法,该方法为:
1)删除操作系统内核中的SDIO接口驱动代码中与操作系统内核相关的部分,得到修改后的驱动,将修改后的驱动移植到Bootloader中,配置Bootloader,编译配置后的Bootloader;
2)将编译后的Bootloader下载到开发板中,开发板上电后顺序执行Bootloader代码;
3)在Bootloader的 C语言代码中添加检测SDIO接口设备的函数,检测是否有SDIO接口设备插入;若有,进入步骤4);否则,进入步骤8);
4)初始化SDIO接口设备;
5)判断对SDIO接口设备是否有读写操作,若有,则进入步骤6);否则,进入步骤7);
6)选择要进行的操作,产生相应的中断,根据中断调用数据传输控制驱动对SDIO接口设备进行读写;
7)退出对SDIO接口设备的操作;
8)继续执行Bootloader 代码,启动操作系统。
与现有技术相比,本发明所具有的有益效果为:本发明实现了无操作系统环境下对SDIO接口设备的支持,使SDIO接口设备的使用摆脱了对操作系统的依赖,实现了底层对SDIO接口设备的支持,在近似裸机环境的Bootloader运行阶段实现对插入的SDIO 接口设备的读取和数据写入,解决了SDIO接口设备只能在操作系统启动后使用的问题。
附图说明
图1 为SDIO接口软硬件结构图;
图2 为本发明方法总体流程图;
图3 为本发明一实施例SDIO卡初始化流程图;
图4为本发明一实施例数据传输控制流程图。
具体实施方式
如图2所示,本发明的方法步骤如下:
S1:删除操作系统内核中的SDIO接口驱动代码中与内核相关的部分,把修改后的驱动移植到Bootloader中,移植完成后用#make menuconfig 命令配置Bootloader,然后输入#make命令编译Bootloader。
S2:将重新编译后的Bootloader下载到开发板中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410013951.2/2.html,转载请声明来源钻瓜专利网。