本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发# 1. 首先阅读原理图

前置知识,一般来说访问U盘,软件上需要满足如下几点功能。

  1. USB host 驱动
  2. USB host stack 协议栈
  3. 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盘功能(十九)相关推荐

  1. 基于RT1052 Awroks 使能看门狗记录(二)

    本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发 1. 首先阅读原理图 正常来说看门狗超时,CPU会直接复位,有时会要求输出复位脉冲.这个功能可以使能,也可以不使能. ...

  2. 【正点原子STM32连载】第五十九章 USB U盘(Host)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  3. SAP UI5 应用开发教程之七十九 - 采用测试驱动开发理念(Test Driven Development)进行 SAP UI5 应用的功能开发(一)的试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  4. 个推透传消息设置通知栏展示 ios_企微功能十问 | 企业微信如何开启聊天侧边栏功能,有什么用?...

    企业微信(以下简称企微)更新的速度一次比一次快,现有功能已相对完善和强大,是市场上最适合企业运营私域流量的载体.企业微信的功能很多,今天给大家介绍的是一个非常实用,但绝大多数人都不知道的功能--聊天侧 ...

  5. Android 基于libaums实现读写U盘文件

    前言 还是我实习的时候,遇到个要求说要支持 USB,当时找了很多博客,最后这篇文章帮我解决了问题,想想自己也没有其他要补充的,就转载一下吧! 这篇博客用的第三方库只支持 FAT32 格式的 U盘,如果 ...

  6. android 仿qq相册功能,Android第四十九期 - 仿QQ空间上传功能+本地数据库存储

    最近在看撸撸代码,他自己创了一种,网上有三种,分别是OpenDroid,greenDao,sugar,Sqlite原生写法,感觉都差不多,个人使用最优的是greenDao,下面开始介绍:    1.O ...

  7. 基于wpa_supplicant库的WIFI连接功能实现--wpa_cli命令解析

    从这里开始,就正式进入到主题了,笔者分几节来介绍如何一点点实现基于wpa_supplicant库的WIFI连接功能.最终实现的就是类似于智能手机上的wifi连接界面功能.开发平台是linux3.2.0 ...

  8. netdisk 基于Flask的个人网盘

    netdisk 基于Flask的个人网盘/局域网/在线 git:https://github.com/Liubingzhe-888/neDisk 功能 管理员: 文件上传 进度条更新上传进度和文件上传 ...

  9. 用 Cloudreve 快速建设基于OSS的个人云盘

    前言 之前其实在云计算的1024中玩法中其实也有介绍过在 ECS 搭建一个 NextCloud 的网盘(),不过其实 ECS 云盘的价格还是比较贵的,在高并发下载的时候也容易遇到 I/O 瓶颈,特别是 ...

最新文章

  1. Onekey Ghost找不到硬盘分区怎么办
  2. Java获取系统文件类型图标并显示在JSP上
  3. SAP Fiori RouteMatched and getById
  4. oracle sql 语句 start with ...... connect by prior .......
  5. JFreeChart的简单应用及乱码解决
  6. xirihanlin音乐盒 vol.1
  7. python雷达信号处理,信号处理之功率谱原理与python实现
  8. java编码用gbk还是utf-8_utf-8还是GBK、java的编码问题
  9. Centos7+搜狗拼音输入法 安装不踩雷
  10. python列表找大写字母_使用Python实现将list中的每一项的首字母大写
  11. [转]采购订单或采购申请审批状态为IN PROCESS的解决方法
  12. 猿创征文|我的技术成长之路C++
  13. nexus5 博通芯片WIFI详解 (4)
  14. 优秀的选择 从年货节“走马灯”看天猫的H5创意
  15. ABAQUS中橡胶大变形问题的解决方案
  16. 深圳买学区房要注意事项有哪些
  17. (附源码)springboot大学医学生毕业实习分配系统 毕业设计212 002
  18. PIC18F66K80存储器构成(详解)
  19. 关于Ubuntu20.04下向日葵远程软件连接中断的解决方法
  20. 如何计算冲突域和广播域-图解分析

热门文章

  1. openlayers绘制线段和多边形
  2. 咕泡p6java架构师五期涨薪班
  3. 7.2 Java(农夫果园【3】:一个农场,专门种植销售各类水果,在这个系统中需要描述下列水果葡萄、草莓、苹果)
  4. 【清华集训2017模拟】Catalan
  5. win11--鼠标-文本选择光标变成白色
  6. 成都web前端培训班
  7. 流媒体视频服务:快速搭建一个简单的流媒体视频服务(一)
  8. BUAA 439 孟竹屌丝玩儿游戏
  9. EasyClick 插件异常 IDE致命错误
  10. AutoCAD打开报错,致命错误:无效的配置路径/文件名