2.27. FLASH自定义空间作为EXTFLAH设备
Overview
截取FLASH中的一段空间,作为EXTFLASH设备;EXTFLASH可通过设备操作接口、文件系统接口进行读写,并可通过USB枚举为mass_storage设备。
2.27.1. 示例
示例工程: apps/demo/demo_DevKitBoard
;
代码实现: apps/common/fat_nor/extflash.c
。
2.27.2. 软件配置
- (1)配置EXTFLAH空间
在配置文件
cpu/wl82/tools/isd_config_rule.c
中,配置EXTFLAH空间大小,工具会根据当前代码资源等情况在FLASH靠后一块可用大小的空间作为EXTFLASH。//截取flash的一段空间作为extflash设备 EXTFLASH_ADR=AUTO; EXTFLASH_LEN=0x100000; EXTFLASH_OPT=1;
- (2)使能EXTFLASH
在配置文件
apps/demo/demo_DevKitBoard/include/app_config.h
中,使能宏TCFG_EXTFLASH_ENABLE
。
2.27.3. 文件系统读写EXTFLASH
将EXTFLASH挂载至文件系统,即可通过文件系统接口读写EXTFLASH,示例代码 apps/common/fat_nor/extflash.c
-> extflash_mount_to_fs_test()
函数。
2.27.4. 枚举为mass_storage设备
将EXTFLASH枚举为mass_storage设备,插入电脑即可读写。在配置文件 apps/demo/demo_DevKitBoard/include/app_config.h
中,使能宏 TCFG_EXTFLASH_UDISK_ENABLE
,
通过宏 ``TCFG_PC_ENABLE``使能USB从机模式,并增加USB设备类MASSSTORAGE_CLASS,如下:
#define USB_DEVICE_CLASS_CONFIG (CDC_CLASS | MASSSTORAGE_CLASS)