WinCE6.0+S3C6410 USB驱动架构分析

简介:
学习 WinCE 下的 USB 驱动几天了,有了一个整体的了解,这里对网上的资料和个人的理解做一个总结。软件平台是 WinCE6.0 ,硬件平台是 S 3C 6410
        1 WinCE 设备的三种角色
    USB 是主从结构,分为主端和从端。一般主端称为 Host ,从端称为 Client ,但是在 WinCE 系统中有些不同,主端称为 Host ,从端称为 Function
     对于 USB 而言,搭载 WinCE 系统的嵌入式设备可以扮演三种不同的角色,即三种不同的功能: Host Function 以及 OTG
    WinCE 设备经常会外接各种 USB 设备,如 RNDIS Print Mass Storage HID 设备等,此时作为主端使用,实现的是 Host 功能。
     WinCE 设备连接 PC 机时,便是作为从端使用,实现的是 Function 的功能。但此时 WinCE 设备可以表现为多种形式,有 Mass Storage RNDIS 或者串口设备。比如 WinCE 设备连接 PC 进行同步时表现为串口设备。
     WinCE 设备实现 OTG 功能时,既可以作为主端使用,也可以做为从端使用。
        2 WinCE6.0 中的 USB 驱动框架
       USB 的驱动架构如下图所示,包含了它的三种角色。
3 WinCE6.0 中的 USB 目录结构
       WinCE6.0 中对 USB 已经有了很好的支持,下面看看微软已经做了哪些工作。
     从上面的目录结构可以看出,微软提供的 USB 驱动是根据三种不同角色来划分的。 USB 对应着 USB Host 的功能, USBFN 对应着 USB Function 功能, USBOTG 对应着 USB OTG 功能。
      1 WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USB 的下层目录如下:
    结合架构图理解, CLASS 文件夹对应 USB Host Client Driver 部分,是上层的应用协议,各个文件夹对应有 HID 设备、打印机、大容量存储器、 USB 串口等应用。 CLIENTCMN COMMON 两个文件夹是各种应用的公用代码。
    HCD 文件夹实现的是控制器驱动程序模块,为 USBD 模块提供底层支持。 HCD 模块主要提供对各个协议的支持,包括 OHCI(open host controller inferface) UHCI   (universal host controller interface) 以及 EHCI   (enhanced host controller interface) 。具体的关于这几个协议的介绍请查看后面的链接资料。
    USBD 文件夹是通用串行总线驱动程序模块,利用 HCD 模块的支持,实现各种接口函数提供给上层,使得上层能够与外围设备进行通信。
    COMMON INC 文件夹实现的是锁功能,包含 lock.h lock.cpp
      2 WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USBFN 的下层目录如下:
     结合架构图, CLASS 文件夹对应 USB Function Client Driver 部分,下面的各个文件夹对应着 WinCE 设备的表现形态,常用的有三大类: RNDIS SERIAL STORAGE 。这些和 USB Host 驱动中的不同,那些指的是外围设备,这里指的是 WinCE 设备本身。文件夹 COMPOSITEFN UFNPRN 是共用的代码。
    CONSTROLLER 文件夹实现了底层控制器的驱动。当 WinCE 设备跟 PC USB 线连接时,表现为多种形式:大容量存储器( Mass Storage )、一个网卡( RNDIS )或者一个串口设备( Serial Class) 等,所以需要一个控制系统,把这部分分离了出来做成一层驱动,叫做 Controller (控制器),由该层驱动来控制 WinCE 设备到底表现成一种什么形式,包括卸载旧的 Client ,加载新的 Client MDD 文件夹实现的是该部分驱动的 MDD 部分, PDD 部分的硬件是 NET2280 控制器,在文件夹 NET2280 中实现。
    UFNCLIENTLIB 是该驱动的基础公共代码。
      3 WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USBOTG 的下层目录如下:
    USB OTG 结构比较简单,驱动实现按照标准的流接口形式,分为 MDD PDD 两部分, MDD 部分对应上面的文件夹, PDD 部分的硬件采用的是 ISP1301 收发器,在 TRANS 文件夹中实现。
     4 WinCE6.0 系统的 USB 功能定制
    WinCE6.0 USB 相关的定制包含两部分:内核服务层和设备驱动层。
        内核服务层的定制在 Catalog Items View 中的” Core OS -> CEBASE -> Core OS Services -> USB Host Support ”,如图:
        设备驱动层的定制在 Catalog Items View 中的” Device Drivers -> USB Function -> USB Function Clients ”,如图:


本文转自jazka 51CTO博客,原文链接:http://blog.51cto.com/jazka/737486,如需转载请自行联系原作者
相关文章
|
3月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
628 49
|
6月前
|
人工智能 API 数据安全/隐私保护
Apifox 与 Apipost 的 API 文档引擎对比:底层架构、性能与可扩展性分析
深入探索市场上两大主流API工具——Apifox和Apipost的文档能力时,发现了令人惊讶的差距。这不仅仅是功能多寡的问题,更关乎开发效率与团队协作的质变。
|
3月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
378 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
3月前
|
Java API 开发工具
灵码产品演示:软件工程架构分析
本演示展示灵码对复杂软件项目的架构分析与文档生成能力。通过Qwen3模型,结合PlantUML,自动生成系统架构图、微服务时序图,并提取API接口文档,实现高效、智能的代码理解与文档输出。
225 5
|
3月前
|
存储 JSON 数据处理
ClkLog埋点与用户行为分析系统:架构升级与性能全面提升
随着越来越多企业在实际业务中使用 ClkLog,数据规模和分析需求也不断提升,部分用户日活已经超过10万,为了顺应这一趋势,ClkLog 秉持 “开放透明、持续演进”的理念,推出了迄今为止最重要的一次性能优化升级。新版本在大规模数据处理与复杂查询场景中,性能表现实现了跨越式提升。经过多轮研发与严格测试,新版本现已正式上线:在原有付费版 1.0 的基础上架构全面升级,并同步发布全新的 2.0 版本。为用户带来更强的性能与更广的适用场景。
|
8月前
|
人工智能 自然语言处理 数据可视化
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
|
5月前
|
数据可视化 IDE Java
OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
OneCode图生代码技术通过可视化设计与Java注解驱动,实现UI到代码的高效转换,支持设计即开发、组件复用与动态加载,提升企业应用开发效率与协作能力。
OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
|
4月前
|
存储 前端开发 JavaScript
如何开发设备管理系统中的经验分析报表板块 ?(附架构图+流程图+代码参考)
设备管理系统(EMS)助力企业高效管理设备生命周期,涵盖采购、维护到报废全流程。本文详解经验分析报表模块设计与开发,涵盖动态看板、点检、巡检、维修、保养及库存统计功能,提供代码示例与架构设计建议,提升设备管理效率与决策水平。
|
7月前
|
机器学习/深度学习 人工智能 算法
大型多模态推理模型技术演进综述:从模块化架构到原生推理能力的综合分析
该研究系统梳理了大型多模态推理模型(LMRMs)的技术发展,从早期模块化架构到统一的语言中心框架,提出原生LMRMs(N-LMRMs)的前沿概念。论文划分三个技术演进阶段及一个前瞻性范式,深入探讨关键挑战与评估基准,为构建复杂动态环境中的稳健AI系统提供理论框架。未来方向聚焦全模态泛化、深度推理与智能体行为,推动跨模态融合与自主交互能力的发展。
499 13
大型多模态推理模型技术演进综述:从模块化架构到原生推理能力的综合分析

热门文章

最新文章