//mount
if mount -t vfat /dev/mmcsd0 /fs/microsd
//mmcsd_sdio.c
static const struct block_operations g_bops =
{
mmcsd_open, /* open */
mmcsd_close, /* close */
mmcsd_read, /* read */
#ifdef CONFIG_FS_WRITABLE
mmcsd_write, /* write */
#else
NULL, /* write */
#endif
mmcsd_geometry, /* geometry */
mmcsd_ioctl /* ioctl */
};
snprintf(devname, 16, "/dev/mmcsd%d", minor);
//register driver: mmcsd_sdio.c
ret = register_blockdriver(devname, &g_bops, 0, priv);
if (ret < 0)
//write对应的函数
#ifdef CONFIG_FS_WRITABLE
static ssize_t mmcsd_write(FAR struct inode *inode, FAR const unsigned char *buffer,
size_t startsector, unsigned int nsectors)
{
FAR struct mmcsd_state_s *priv;
#if defined(CONFIG_MMCSD_MULTIBLOCK_DISABLE)
size_t sector;
size_t endsector;
#endif