欢迎来到电脑知识学习网,专业的电脑知识大全学习平台!

手机版

u盘分配单元16k-(U盘分配单元大小)

电脑选购 发布时间:2022-12-28 01:47:31
u盘分配单元16k (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_USBH awbl_imx10xx_usbh_drv_register();#endif#电脑ifdef AW_COM_USBH extern void awbl_usbh_bus_init (void); awbl_usbh_bus_init(); awbl_usbh_hub_drv_register();#endif#ifdef AW_DRV_USBH_MASS_STORAGE extern void awbl_usbh_mass_storage_drv_register (int buffer_size); awbl_usbh_mass_storage_drv_register(AW_CFG_USB_MS_BUF_SIZE);#endif2.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 /* 格式化使能,格式化一次即可 */
电脑

责任编辑:电脑知识学习网

电脑选购