找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2444|回复: 0
打印 上一主题 下一主题
收起左侧

STM32 USB固件库结构

[复制链接]
跳转到指定楼层
楼主
ID:105323 发表于 2016-2-12 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32 USB固件库结构如下图所示:


可见,STM32 USB固件库分为3层:Low Layer、Medium Layer和HighLayer,下面分析下这三层分别的角色:

(1)LowLayer
usb_regs(.h,.c):实现了硬件抽象层,提供了一个函数集合来操作USB外设寄存器,这个集合包括Commmomresister functions、Endpoint register functions、Buffer descriptiontable functions和Double-buffered endpoints functions四个函数集;
usb_int(.h,.c):模块处理正确中断服务程序;它提供了USB协议事件与这个库的连接,低优先级中断被CTR_LP()函数管理,用于控制模式、中断模式和批量模式(单缓冲区);高优先级中断被CTR_HP()函数管理,用于快速传输模式,像同步传输模式和批量模式(双缓冲区);
usb_mem.c(.h,.c):负责拷贝数据,从用户内存区到USB模块内存区(PMA)或者从USB模块内存区(PMA)到用户内存区;
(2)MediumLayer
usb_init(.h,.c):设置在整个库中用的到的USB初始化函数和全局变量;
usb_core(.h,.c):整个库的核,它实现了USB2.0规范;
usb_sil(.h,.c):实现外围接口的抽象层,它提供的过程实现端点的读写;
(3)High Layer:提供给开发人员应用接口

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表