linux下spi flash驱动程序,SPI Flash(W25Q16DV) 驱动

本文详细介绍了在Linux系统下如何为SPI Flash(W25Q16DV)编写驱动程序,包括注册设备驱动、分配及配置mtd_info结构体、注册mtd_info以及关键函数的实现,如SPI读写和擦除操作。通过spi_register_driver进行驱动注册,并在probe函数中初始化和注册mtd设备,确保有效的数据传输和CPU资源管理。
摘要由CSDN通过智能技术生成

大体上可分为以下几个部分:

1.注册设备驱动 spi_register_driver

2.分配 mtd_info 结构体

3.配置 mtd_info 结构体

4.注册 mtd_info 结构体

构建 spi_driver 并注册

static struct spi_driver spi_flash_drv = {

.driver = {

.name= "spi_flash",

.owner= THIS_MODULE,

},

.probe= spi_flash_probe,

.remove= __devexit_p(spi_flash_remove),

};

static int spi_flash_init(void)

{

return spi_register_driver(&spi_flash_drv);

}

当内核中注册了同名的设备,会调用该驱动的 probe 程序

/* 分配 mtd_info 结构体 */

static struct mtd_info spi_flash_dev;

static int __devinit spi_flash_probe(struct spi_device *spi)

{

int mid, did;

spi_flash = spi;

s3c2410_gpio_cfgpin(spi->chip_select, S3C2410_GPIO_OUTPUT);

SPIFlashInit();

SPIFlashRea

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值