29 使用内核里的W25Q32设备驱动

W25Q32是一个spi接口的存放芯片, 容量32M比特(4M字节).
驱动文件在"drivers/mtd/devices/m25p80.c"

static struct spi_driver m25p80_driver = { 
    .driver = { 
        .name   = "m25p80",
        .of_match_table = m25p_of_table,
    },  
    .id_table   = m25p_ids, //使用id_table来匹配
    .probe  = m25p_probe,
    .remove = m25p_remove,
};

//支持的芯片型号
static const struct spi_device_id m25p_ids[] = {
 	  ...
    {"at25df321a"}, {"at25df641"},  {"at26df081a"},
    {"mx25l4005a"}, {"mx25l1606e"}, {"mx25l6405d"}, {"mx25l12805d"},
    {"mx25l25635e"},{"mx66l51235l"},
    {"n25q064"},    {"n25q128a11"}, {"n25q128a13"}, {"n25q512a"},
    {"s25fl256s1"}, {"s25fl512s"},  {"s25sl12801"}, {"s25fl008k"},
    {"s25fl064k"},
    {"sst25vf040b"},{"sst25vf016b"},{"sst25vf032b"},{"sst25wf040"},
    {"m25p40"}, {"m25p80"}, {"m25p16"}, {"m25p32"},
    {"m25p64"}, {"m25p128"},
    {"w25x80"}, {"w25x32"}, {"w25q32"}, {"w25q32dw"},
    {"w25q80bl"},   {"w25q128"},    {"w25q256"},
	...
}; 

w25q32接在spi0接口,在设备树文件里的描述:

&spi0 {
    status = "okay";

    spiflash {
        compatible = "w25q32"; //设备名就为"w25q32"与设备驱动里的id_table项匹配
        reg = <0>;
        status = "okay";
        spi-max-frequency = <10000000>;
        buswidth = <8>;
    };  
};


因设备驱动提供的是mtd接口,所以设备驱动与设备匹配后会产生"mtd0 mtdblock0"等设备文件

mkfs.ext2 /dev/mtdblock0   //先格式化设备分区
mount /dev/mtdblock0 /mnt    //再挂载上来操作即可
1. W25Q80 (8M-bit)、W25Q16 (16M-bit)和W25Q32 (32M-bit)串行闪存为空间、引脚和电源有限的系统提供了存储解决方案。25Q系列提供的灵活性和性能远远超过普通的串行闪存设备。他们是理想的代码隐藏到RAM,执行代码直接从双/四SPI (XIP)和存储声音,文本和数据。设备运行在单一2.7V至3.6V的电源上,电流消耗低至5mA有源,断电1a。所有的设备都提供节省空间的包装。W25Q80/16/32数组被组织成4,096/8,192/16,384个可编程页,每个页有256个字节。多达256字节可以被编程一次使用页程序指令。页面可以按16组(扇区擦除)、128组(32KB块擦除)、256组(64KB块擦除)或整个芯片(芯片擦除)擦除。W25Q80/16/32分别有256/512/1024个可擦除扇区和16/32/64个可擦除块。小的4KB扇区为需要数据和参数存储的应用程序提供了更大的灵活性。(见图2)。W25Q80/16/32支持标准串行外围接口(SPI),和高性能双/四输出以及双/四I/O SPI使用SPI引脚:串行时钟,芯片选择,串行数据I/O0 (DI), I/O1 (DO), I/O2 (/WP),和I/O3 (/HOLD)。SPI时钟频率高达80MHz的支持允许等效时钟率160MHz的双输出和320MHz的四次输出时,使用快速读双/四次输出指令。这些传输速率可与8位和16位并行闪存存储器相媲美。一个保持针,写保护针和可编程写保护,顶部或底部阵列控制,提供进一步的控制灵活性。此外,该设备支持JEDEC标准制造商和设备识别64位唯一序列号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值