spi_disk.c:自定义文件,是diskio.c中各函数指向的执行函数 定义静态全局变量_s_SPI_Init_OK,用于指示当前磁盘初始化状态 SPI_disk_status函数:获取驱动器状态。_s_SPI_Init_OK为0时返回STA_NOINIT。 SPI_disk_initialize函数:驱动器初始化。执行SPIFlash初始化函数,执行完毕后将_s_SPI_Init_OK置1。 SPI_di...
初始化磁盘的函数,主要是把spi-flash初始化: DSTATUS disk_initialize ( BYTE pdrv /* Physical drive nmuber to identify the drive */ ) { DSTATUS stat; int result; char t = 0; switch (pdrv) { case SPI_FLASH : //init spi-bus SPI_Flash_Init(); if(SPI_FLASH_TYPE != FLASH_ADDRESS)...
在Middleware中选择FATFS设置,并勾选User-defined因为 SPI Flash 在上面没有 Function Parameters跳过 Locale and Namespace Parameters: CODE_PAGE(Code page on target):Simplified Chinese GBK(DBCS,OEM,Windows)支持简体中文编码 USE_LFN(Use Long Filename):Enabled with dynamic working buffer on the STACK支持长...
3)建立一个STM32的工程,为方便调试,我们应重载printf()底层函数实现串口打印输出,可以参考已经建立好的printf()打印输出工程。 3、移植 1)在已经建立好的工程目录User文件夹下新建两个文件夹,FATFS_V0.09和SPI_SD_Card,FATFS_V0.09用于存放FATFS源文件,SPI_SD_Card用于存放SPI的驱动文件。 2)将ff.c添加到工程...
fatfs 移植和使用在 SPI文件系统对于嵌入式系统的重要性是不言而喻的,有了 文件系统管理数据和外设变得方便许多,同时简化了应用的 开发。今天我们来以在 SPIFLASH 上建立文件系统为例, 看看 FATFS 文件系统怎么移植和使用。
就先来移植文件系统了。由于stm8sRAM实在有限只有6K,于是选择非常小的fatFS来移植。网上大部分移植都是基于STM32平台的,资源如此有限的情况还是不太多的。 我使用的是一块norflash,spi接口,移植过程发现,由于norflash每次写数据都需要擦除,而我的flash为GD25Q32,4M,最大写单位为page,256个字节。最小擦出单位sector...
GET_BLOCK_SIZE返回的参数有关。BLOCK_SIZE的真实作用是擦出的最小单位,在SD卡中一般为512B,norflash datasheet里也有一个block,但和这个含义不同,spi flash本来最小擦出单位是4096,因为我只用到512,所以这个地方也要以512为擦除单位,才能初始化成功。
使用SPI FLASH模拟U盘,并在电脑上打开该U盘可以看见通过 FATFS 创建的文件。 2. 创建项目 在已移植好文件系统的《FATFS》项目基础上,添加 USB 模拟 U 盘的功能。 配置USB MSC设备 点击1处,选中后Device(FS),3处选择MSC大容量存储设备,4处改为4096与FLASH扇区大小保持一致,其他参数默认。
1、基于spiflash的fatfs配置-王京石硬件平台:stm32f103VCT6、w25x16软件平台:fatfs R0.10由于产品需要存储大量数据,stm32单片机存储有限需要使用外部flash辅助存储.考虑各方面原因最后选用了一款spiflash型号为w25x16,spi总线操作,拥有2M的存储单元.为了方便,我们想到了使用文件系统fatfs。此文档记录了配置流程,为以后做参考...
SPI_FLASH_SectorRead(buff, sector, count);// translate the reslut code here return RES_OK;case...