wince7下SD host驱动学习笔记

主机控制器(host controller)、主机适配器(host adapter)或主机总线适配器(host bus adapter,HBA) AHCI是SATA原生的操作模式,Windows Vista开始的Windows已内置通用的Microsoft AHCI驱动程序。自1960年代以来使用不同的技术完成类似的目标:I/O通道,或者单纯的“通道”,它是一个单独的处理器,可以与CPU平行的独立地访问。但是,WWN更长(8字节)。一个HBA上有两种类型的WWN:节点WWN(WWNN)被主机总线适配器上的所有端口共享,端口WWN(WWPN)则是每个端口唯一。HBA的SAS接口可以连接SATA设备,反之SATA控制器的SATA接口不能连接SAS设备。 阅读详情

SD驱动框架:

        wince系统中sd驱动框架如下图所示,软件部分总体上可以分为3个层。最底层的是SD Host Controller Driver(sdhc.dll),这一层就是对硬件SD控制器直接操作的驱动层。在系统移植时,这一层驱动就需要根据实际处理器的SD控制器做修改。中间一层是SD Bus Driver(sdbus.dll),顾名思义是SD总线的驱动代码,负责SD HOST层和Client层之间的通信。它由微软实现,在系统移植时这一层一般不需要修改。最顶层为Client层,这一层会根据不同的设备来加载不同的驱动。如对于SD卡,这一层就会加载SD Memory(sdmemory.dll)。对于SD WiFi,这一层就会加载SDIO WiFi。

 

SD主控制器驱动(sdhc.dll):

        这一层驱动采用的是标准的流驱动接口,其接口实现在zc702的platform\zynq7000\src\drivers\sdhc\Sdhc.c文件中。在SDH_Init函数中调用SDHCDAllocateContext()函数来向SD总线层申请一个SD 上下文p_hc_context(实际是一个PSDCARD_HC_CONTEXT的结构体),然后通过SDHCDSetXXX将host 层的接口函数填入p_hc_context。最后通过SDHCDRegisterHostController()函数向SD总线层注册这个SD上下文。如下所示:

    // Register API functions

    SDHCDSetControllerInitHandler(p_hc_context,SDHInitialize);
    SDHCDSetControllerDeinitHandler(p_hc_context, SDHDeinitialize);
    SDHCDSetBusRequestHandler(p_hc_context,SDHBusRequestHandler);
    SDHCDSetCancelIOHandler(p_hc_context, SDHCancelIoHandler);
    SDHCDSetSlotOptionHandler(p_hc_context, SDHSlotOptionHandler);

    // Register ourself as a host controller

    status = SDHCDRegisterHostController(p_hc_context);

各接口函数的功能:

SDHInitialize:该函数主要是进行SD控制器的硬件初始化,注册系统中断,创建IST线程等。

SDHDeinitialize:这个函数执行与SDHInitialize相反的操作,注销系统中断,注销IST线程等。

SDHBusRequestHandler:这个函数处理SD总线传递下来的请求命令。处理完成后会调用SDHCDIndicateBusRequestComplete函数来通知总线层。

SDHCancelIoHandler:用于取消处于挂起状态的命令

SDHSlotOptionHandler:总线层调用这个函数并传入一些命令,这个函数再根据这些命令执行相应的处理函数来设置和获取SD底层的信息。这些命令及对应的含义如下所示:

SDHCDSetSlotPower:设置电压
SDHCDSetSlotInterface:设置时钟和总线宽度
SDHCDSetSlotPowerState:设置SD电源状态
SDHCDGetSlotPowerState:获取SD电源状态
SDHCDGetWriteProtectStatus:获取SD存储卡写保护状态
SDHCDQueryBlockCapability:获取HCD最大和最小块长度
SDHCDGetSlotInfo:获取SD控制器支持的总线宽度、电压范围、最大时钟速率等信息
SDHCDAckSDIOInterrupt:应答SDIO中断,清除中断标记位
一篇比较好的SD驱动文章: http://www.cnblogs.com/songtitan/archive/2007/02/11/647293.html

[转]wince 蓝牙 [转]wince 蓝牙 <br /> <br />上面是WinCE中蓝牙协议栈的架构图:<br /><br />      可以看到,HCI传输层以上的协议层全部由WinCE实现了,所以蓝牙模块只需要实现了基带层和链路管理层,并提供HCI传输接口给WinCE就可以了。WinCE支持使用USB、UART、SDIO等接口的蓝牙模块。<br />开发板上使用的是CSR-BC4-EXT-C2-PA蓝牙模块,模块接在串口0上。使用CSR的BCSP传输协议。以下是配置方法:<br />1 添加Bluetooth Sta 阅读详情

相关推荐

sd host controller spec

sd host controller spec

Win7系统USB3.0驱动解决方案

Win7系统USB3.0驱动解决方案 【下载地址】Win7系统USB3.0驱动解决方案 本项目提供了一款专为Windows 7系统设计的USB3.0驱动程序,旨在解决在VMware虚拟机中安装Windows 7后,U盘等移动设备无法被识别的问题。通过安装Intel(R) USB 3.0 eXtensible Host C...

gitblog_06789的博客 775

SD Host Controller Simplified Specification Version 3.00

SD Host Controller Simplified Specification Version 3.00 sdcard.org

四极管 SD card技术了解

【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated) 先记下,以后再研究。 原文地址:http://www.cnblogs.com/songtitan/archive/2007/02/11/647293.html SD Card Driver on ADS Summary 了解SD card. 1 WinCE 5.0下SD Stac

杨琦(四极管) 1747

GPU计算板卡设计原理图:735-基于3U VPX的AGX Xavier GPU计算主板

基于3U VPX的 Jetson AGX Xavier GPU计算主板是LINUX环境下软件开发等理想工具。是用于视频处理,相机信号,支持PCIE、USB、RS422、RS232、网口、SPI、I2C等综合性的信号计算主板。3. 支持外接HDMI连接显示器,并支持键盘,鼠标等外接设备进行调试。8 核 ARM v8.2 64 位 CPU、8 MB L2 + 4 MB L3。4路Gigabit Ethernet (10/100/100)link。1路RS232,1路RS485。1路 NVMe PCIeX4。

980

快衰落、慢衰落,平坦衰落、频率选择性衰落

目录一、大尺度衰落和小尺度衰落二、平坦衰落和频率选择性衰落1.反射墙、固定天线模型2.相干带宽和时延扩展三、快衰落和慢衰落1.反射墙、运动天线模型2.相干时间和多普勒扩展四、联系总结 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、大尺度衰落和小尺度衰落 移动无线信道的主要特征是信道强度关于时间和频率的变化,大致分两种: 大尺度衰落: .

weixin_45662974的博客 3万+

Intel (R) 82801G (ICH7 Family) USB Universal Host Controller前面有感叹号

   症状:1、打印机不能正常打印,老是“脱机打印”,查看打印机首选项,文字都变成了?? 2、鼠标不能使用。  解决步骤: 1、怀疑是打印机驱动问题,更新驱动,不行。 2、下载笔记本主板驱动,重启,不行。 3、又下载不同版本驱动,重启还是不行。 4、装“驱动人生”,把有问题的USB驱动卸载,在重新启动驱动人生,自动到网上下载U

qingfengke78的专栏 1万+

银河麒麟V10 SP3系统下如何安全安装gcc-toolset-10(附yum仓库避坑指南)

本文详细介绍了在银河麒麟V10 SP3系统中安全部署gcc-toolset-10的完整方案。核心在于通过配置默认禁用的yum仓库(如EPKL仓库)并配合--enablerepo参数进行精准安装,有效规避依赖冲突风险,实现与系统默认GCC 7.3的稳定共存。文章还提供了多版本环境切换、系统维护及故障排查的实用指南,确保操作的可控与可逆。

h0i1j2k3l的博客 590

SD-HOST Controller design-----SD CLK 设计

该模块最终输出两个时钟:一个为fifo_sd_clk,另一个为out_sd_clk_dft。当分频时候,div_counter开始计数,记到相应分频的时候,将hclk进行翻转,得到分频的时候给到fifo_sd_clk;当sd clk使能为低或者停时钟信号为高的时候,fifo_sd_clk为0。第二个为out_sd_clk_dft。当sd clk使能为低或者停时钟信号为高的时候,fifo_sd_clk为0。当不进入testmode时,分频系数为0 的时候为hclk,分频系数不为0的时候,则接分频后的时钟。

weixin_44297949的博客 441

WorkVisual传输程序报错_发现一个内部错误

WorkVisual传输程序报错_发现一个内部错误

qq_16401025的博客 2458

Tiktok/抖音旋转验证码

主要记录一下旋转验证码的逆向思路

记录一些web逆向的过程 5976

WinCE SD驱动分析

1.SD驱动架构<br /><br />如上图所示,WinCE下SD卡驱动协议栈组成 :<br />HOST硬件底层部分 (主控制端驱动)SDHC_XXX.DLL<br />BUS 中间逻辑命令层 (总线驱动)SDBUS.DLL<br />CLIENT上层(客户端驱动)SDMEMORY.DLL(1)主控制端驱动<br />主控制端驱动控制包含主控制器硬件,遵循主控制端驱动接口,它被用于总线驱动通信和设置操作参数。主控制器驱动接口提供一个硬件提取层,在总线和主控制端执行之间。即:SDHC_XXX.DLL是最底

左手技术 右手写诗 1114

YOLOv13多分支融合机制+SE注意机制 RepVGGBlock_OREPA架构 map提升4.89,召回率提升8.66

本文提出了一种改进的YOLOv13目标检测模型,通过引入RepVGGOREPA模块和重参数化技术,显著提升了模型性能。实验结果表明,采用RepVGGBlock后,mAP提升4.89,召回率提升8.66%。文章详细介绍了模型移植过程,包括创建YOLOv13-REPVGGOREPA配置文件、修改任务处理代码和模块初始化文件,并提供了完整的OREPA模块实现代码。该模块通过多尺度特征融合和SE注意力机制,实现了训练时的丰富表征能力和推理时的高效计算,为YOLO系列模型提供了新的优化思路。

FJN110的博客 2650

WinCE下SD卡驱动开发

转载自:http://www.cnblogs.com/nesta/archive/2008/05/30/967860.html  这个博客上的东东值得学习      WinCE 5.0下面SD卡驱动的开发。这是我做的第一个项目,当时做这个项目花费了相当的时间和精力,搞的我精疲力尽。几乎可以说当时对WinCE一点都不懂。也不知道从何处下手,就东看西看。东改西改,改的是一塌糊涂。幸好老板和老大

716

【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中)

你是否在全网苦寻【图像去噪(ImageDenoising)】的相关资料?你的目标是否是看懂【图像去噪(ImageDenoising)】的相关论文,复现代码,跑出结果,并试图创新?你是否需要发表【图像去噪(ImageDenoising)】的相关论文毕业?你是否需要做【图像去噪(ImageDenoising)】的相关项目,开发软件,研究算法,获得专利或者软著?只要是与【图像去噪(ImageDenoising)】有关的问题,那么请继续往下看。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

拉曼光谱入门:7.拉曼光谱仪光学系统结构详解

本文系统拆解了拉曼光谱仪从激光器输出经聚焦照明、二向色镜/陷波滤光片组滤除瑞丽散射、衍射光栅色散至CCD探测的完整光路,阐述了各光学模块在微弱非弹性散射信号提取、杂散光抑制及高分辨光谱成像中的工程原理与技术参数要求。

qq_53529450的博客 224

SD驱动问题及相关文章

     近来调了个SD卡驱动方面的问题,顺便看了一些文章,觉得不错,就拿来了,方便自己以后再看!   问题:在插拔卡时需要播放声音,但是卡在卡槽里时,休眠唤醒的时候也会发声音,开机的时候播放声音会卡   在handadddevice里处理<br />                if (fSameCard)<br />                 {<br /><br />                     delete psdDevice;<br />                 

csu_yang的专栏 2918

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

wince下SD卡驱动开发

WinCE 5.0下面SD卡驱动的开发。这是我做的第一个项目,当时做这个项目花费了相当的时间和精力,搞的我精疲力尽。几乎可以说当时对WinCE一点都不懂。也不知道从何处下手,就东看西看。东改西改,改的是一塌糊涂。幸好老板和老大都比较宽容,给了我充裕的时间和支持,将自己有关SD卡在WinCE 5。0下面的驱动理解的点滴给记录下来,希望能够对别人有所帮助。     目前WinCE下面的驱动主要有两种

zhubin0613的专栏 885

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated)

SD Card Driver on ADS Summary 了解SD card. 1 WinCE 5.0下SD Stack. 6 Bus Driv

kkwant的博客 415

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

WinCE 5.0下面SD卡驱动的开发(转)

WinCE 5.0下面SD卡驱动的开发。这是我做的第一个项目,当时做这个项目花费了相当的时间和精力,搞的我精疲力尽。几乎可以说当时对WinCE一点都不懂。也不知道从何处下手,就东看西看。东改西改,改的是一塌糊涂。幸好老板和老大都比较宽容,给了我充裕的时间和支持,将自己有关SD卡在WinCE 5。0下面的驱动理解的点滴给记录下来,希望能够对别人有所帮助。    目前WinCE下面的驱动主要有两种架构

jeanszu的专栏 1162

WindowsCE下面SD卡的驱动

WindowsCE下面SD卡的驱动 收藏 WinCE 5.0下面SD卡驱动的开发。这是我做的第一个项目,当时做这个项目花费了相当的时间和精力,搞的我精疲力尽。几乎可以说当时对WinCE一点都不懂。也不知道从何处下手,就东看西看。东改西改,改的是一塌糊涂。幸好老板和老大都比较宽容,给了我充裕的时间和支持,将自己有关SD卡在WinCE 5。0下面的驱动理解的点滴给记录下来,希望能够对别人有所帮助。  

C151151的专栏 1350

USB 3G驱动和USB HOST驱动加载

********************************LoongEmbedded********************************作者:LoongEmbedded(kandi)时间:2010.11.02类别:WINCE驱动开发********************************LoongEmbedded********************************USB 3G驱动和USB HOST驱动加载环境:WINCE6.0+S3C2443,USB HOST通过USB

LoongEmbedded的专栏 2990

详解WinCE下USB Host驱动开发

作者:我想说wince离我远点 转自:http://blog.csdn.net/lqxandroid2012/article/details/8649271 WinCE下所有的驱动都是以DLL的形式,被device.exe进程加载的,所以每个驱动程序中都要实现DllEntry函数。      在注册表的HKEY_LOCAL_MACHINE/Drivers/USB/LoadCl

老瓦的笔记本 600

WinCE SD模块结构

SD驱动采用微软的架构public自带就有,可看注册表中HKEY_LOCAL_MACHINE\Drivers\BuiltIn项下的host,bus项设置,检查HKEY_LOCAL_MACHINE\Drivers\Active下host,bus两层驱动. 逻辑上主要是: SDHC_xxx.dll是最底层,负责具体的发命令什么的, SDBus.dll是中间层,负责整合命令和管理,这两个在HK

cjwsimple 654
上一篇: u-boot中链接地址和加载地址的相关知识
下一篇: ARM Linux 3.x的设备树(Device Tree)
EmSoftEn
博客等级 码龄12年 40粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值