write实现

//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

猜你喜欢

转载自blog.csdn.net/yangang185/article/details/81843011