基于RT1052 Aworks使能U盘功能(十九)
本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发# 1. 首先阅读原理图
前置知识,一般来说访问U盘,软件上需要满足如下几点功能。
- USB host 驱动
- USB host stack 协议栈
- File system 文件系统。
1. 首先阅读原理图
2. 设备资源及驱动适配
2.1 设备资源的注册
硬件上有两个USB口,在硬件设计上只使用USB1,其资源文件在awbl_hwconf_imx1050_usbh1.h当。
2.2 设备驱动的注册
在aw_prj_config.c文件当中
#ifdef AW_DRV_IMX1050_USBHawbl_imx10xx_usbh_drv_register();
#endif#ifdef AW_COM_USBHextern void awbl_usbh_bus_init (void);awbl_usbh_bus_init();awbl_usbh_hub_drv_register();
#endif#ifdef AW_DRV_USBH_MASS_STORAGEextern void awbl_usbh_mass_storage_drv_register (int buffer_size);awbl_usbh_mass_storage_drv_register(AW_CFG_USB_MS_BUF_SIZE);
#endif
2.3 设备宏开关
只需要在aw_prj_params.h打开如下定义
aw_prj_params.h#define AW_COM_IO_SYSTEM /**< \brief 使能 I/O 子系统 */
#define AW_COM_FS_ROOTFS /**< \brief 使能根文件系统 */
#define AW_COM_FS_FATFS /**< \brief 使能 FAT 文件系统 */
#define AW_COM_MOUNT /**< \brief 存储卷挂载点管理 */#define AW_COM_USBH /**< \brief USB协议栈裁(Host)组件 */
即可注册相关的设备资源与设备驱动。
/** \name USB协议栈裁剪配置* @{*/
#ifdef AW_COM_USBH
#define AW_DRV_USBH_MASS_STORAGE /**< \brief 大容量存储驱动(U盘&硬盘) */
#define AW_DRV_USBH_UVC /**< \brief USB通用摄像头类*/
//#define AW_DRV_USBH_HID /**< \brief USB人体接口设备类*/
//#define AW_DRV_USBH_CDC_ECM /**< \brief USB通讯设备类:网络控制模型驱动 */
#define AW_DRV_USBH_CDC_SERIAL /**< \brief USB通信设备类:USB转串口驱动*/
#endif#if defined(AW_COM_USBH) || defined(AW_COM_USBD)
#define AW_CFG_USB_MEM_SIZE (128 * 1024) /**< \brief USB协议栈内存使用空间大小 */
#endif#ifdef AW_DRV_USBH_MASS_STORAGE#ifndef AW_COM_BLOCK_DEV
#define AW_COM_BLOCK_DEV
#endif#define AW_CFG_USB_MS_BUF_SIZE (16 * 1024) /**< \brief U盘数据交互缓存,占用AW_CFG_USB_MEM_SIZE空间,影响U盘读写性能,推荐16k */#endif
一旦使能相关宏开关,对应的驱动就会被选上。
3. 如何测试
使用SDK自带的测试样例demo_udisk_fs.c即可进行测试.
4. 总结
在使用样例进行测试时,需指定USB的设备名称及是否格式化U盘。
#define __BLK_NAME DE_USB_BLK_NAME /* USB设备名 */#define __FORMAT_ENABLE 1 /* 格式化使能,格式化一次即可 */
基于RT1052 Aworks使能U盘功能(十九)相关推荐
- 基于RT1052 Awroks 使能看门狗记录(二)
本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发 1. 首先阅读原理图 正常来说看门狗超时,CPU会直接复位,有时会要求输出复位脉冲.这个功能可以使能,也可以不使能. ...
- 【正点原子STM32连载】第五十九章 USB U盘(Host)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- SAP UI5 应用开发教程之七十九 - 采用测试驱动开发理念(Test Driven Development)进行 SAP UI5 应用的功能开发(一)的试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- 个推透传消息设置通知栏展示 ios_企微功能十问 | 企业微信如何开启聊天侧边栏功能,有什么用?...
企业微信(以下简称企微)更新的速度一次比一次快,现有功能已相对完善和强大,是市场上最适合企业运营私域流量的载体.企业微信的功能很多,今天给大家介绍的是一个非常实用,但绝大多数人都不知道的功能--聊天侧 ...
- Android 基于libaums实现读写U盘文件
前言 还是我实习的时候,遇到个要求说要支持 USB,当时找了很多博客,最后这篇文章帮我解决了问题,想想自己也没有其他要补充的,就转载一下吧! 这篇博客用的第三方库只支持 FAT32 格式的 U盘,如果 ...
- android 仿qq相册功能,Android第四十九期 - 仿QQ空间上传功能+本地数据库存储
最近在看撸撸代码,他自己创了一种,网上有三种,分别是OpenDroid,greenDao,sugar,Sqlite原生写法,感觉都差不多,个人使用最优的是greenDao,下面开始介绍: 1.O ...
- 基于wpa_supplicant库的WIFI连接功能实现--wpa_cli命令解析
从这里开始,就正式进入到主题了,笔者分几节来介绍如何一点点实现基于wpa_supplicant库的WIFI连接功能.最终实现的就是类似于智能手机上的wifi连接界面功能.开发平台是linux3.2.0 ...
- netdisk 基于Flask的个人网盘
netdisk 基于Flask的个人网盘/局域网/在线 git:https://github.com/Liubingzhe-888/neDisk 功能 管理员: 文件上传 进度条更新上传进度和文件上传 ...
- 用 Cloudreve 快速建设基于OSS的个人云盘
前言 之前其实在云计算的1024中玩法中其实也有介绍过在 ECS 搭建一个 NextCloud 的网盘(),不过其实 ECS 云盘的价格还是比较贵的,在高并发下载的时候也容易遇到 I/O 瓶颈,特别是 ...
最新文章
- Onekey Ghost找不到硬盘分区怎么办
- Java获取系统文件类型图标并显示在JSP上
- SAP Fiori RouteMatched and getById
- oracle sql 语句 start with ...... connect by prior .......
- JFreeChart的简单应用及乱码解决
- xirihanlin音乐盒 vol.1
- python雷达信号处理,信号处理之功率谱原理与python实现
- java编码用gbk还是utf-8_utf-8还是GBK、java的编码问题
- Centos7+搜狗拼音输入法 安装不踩雷
- python列表找大写字母_使用Python实现将list中的每一项的首字母大写
- [转]采购订单或采购申请审批状态为IN PROCESS的解决方法
- 猿创征文|我的技术成长之路C++
- nexus5 博通芯片WIFI详解 (4)
- 优秀的选择 从年货节“走马灯”看天猫的H5创意
- ABAQUS中橡胶大变形问题的解决方案
- 深圳买学区房要注意事项有哪些
- (附源码)springboot大学医学生毕业实习分配系统 毕业设计212 002
- PIC18F66K80存储器构成(详解)
- 关于Ubuntu20.04下向日葵远程软件连接中断的解决方法
- 如何计算冲突域和广播域-图解分析