适用于 hbird-sdk 的 SD 卡 SPI 模式驱动及 FatFs 文件系统移植。
可在蜂鸟 RISC-V 处理器 E203 上借助 SPI 外设实现对 FAT32 格式 SD 卡进行读写。
- FAT32
- exFAT
- f_open
- f_close
- f_read
- f_write
- f_mount
- f_close
- disk_status
- disk_initialize
- disk_read
- disk_write
- sd_goIdleState
- sd_init
- sd_sendCmd
- sd_readSingleBlock
- sd_writeSingleBlock
- sd_readMultiBlock
- sd_writeMultiBlock
- sd_stopTransmission
- sd_readRes1 & sd_readRes1b & sd_readRes3_7
- spi_send8 & spi_send16 & spi_send32
- spi_receive8
- 不支持 SD v1.x 卡,只支持 SDHC、SDXC 卡
- (暂时)卡片格式需为 FAT32
- 推荐格式化工具:DiskGenius
GPIO A [0:31] | SD Card |
---|---|
VCC 3.3 | VDD |
GND | GND |
8 | SCK |
9 | CS |
10 | MOSI |
11 | MISO |
E203 GPIO 定义详见 SW or IOF Configuration
SD 卡引脚定义详见 SD MicroSD Card pinout
可直接参考
src/demo.c
- 将 src 目录下除
demo.c
外文件拷贝至你的工程目录,在main.c
中书写以下代码: - 挂载 SD 卡:
f_mount
- 注意:这里会将引脚配置为 SPI1,程序后续不可将 [8:11] 作为 IO 引脚配置使用,详见 e203 sdk 中 gpio_iof_config 源码
- 打开指定文件:
f_open
- 读取文件数据:
f_read
- 关闭文件:
f_close
- 卸载 SD 卡:
f_unmount
ZedBoard + Vivado + NucleiStudio + hbird_sdk@0.1.4