查看: 1348|回复: 1

[分享] Winbond W25Q128闪存的驱动程序和命令行Shell

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-3-4 17:00:29 | 显示全部楼层 |阅读模式
    Winbond W25Q128闪存的驱动程序和命令行Shell



    现今的微控制器都带有大容量的内部闪存。但有许多高性能MCU,如NXP i.MX RT系列控制器,都是不带闪存的,因为高性能内核的硅工艺与FLASH存储器技术不匹配,因此它们使用外部串行SPI或Quad-SPI(QSPI) )闪存来代替。

    1.png

    华邦w25q128串行闪存分线板


    为什么不将外部SPI FLASH用于“普通”微控制器呢?

    外部SPI闪存的典型用法是使用它来加载或存储数据。通过在SPI总线上添加一个小型外部器件,我可以轻松地为微控制器添加几兆字节的存储器。这样的SPI存储器设备非常便宜:我从AliExpress订购了一些带有Winbond W25Q128(16 MByte)的分线模块,每个1.50美元。该电路板使用以下引脚:


    ●    VCC:3.3V


    ●    GND


    ●    DO:SPI MISO


    ●    DI:SPI MOSI


    ●    CS:SPI芯片选择


    分线板模块上的红色LED灯指示电路板是否已通电。


    通常我使用micro-SD卡来记录数据。它们很容易获得,提供几乎“无限”的存储空间,使用FatFS文件系统,我可以轻松地与主机交换数据。但是它需要PCB上的空间,SD卡插座需要可以接触,插座是机械部件,并且成本高,加上在振动和腐蚀的环境中不太可靠。使用FLASH芯片可能是更好的解决方案。


    我用命令行界面创建了一个驱动程序:这样我可以读/写SPI FLASH存储设​​备的数据。 GitHub上提供了一个Eclipse示例项目。



    该示例在NXP(Kinetis K20DX128)的ARM Cortex-M4上运行,可以轻松移植到任何其他微控制器。
    2.png

    k20dx128使用w25q128


    该项目包括一个命令行shell:

    3.png

    串行闪存的命令行shell



    使用shell我可以读/写串行闪存:

    4.png

    串行闪存读写



    'status'命令提供发现设备的有关信息:

    5.png

    设备状态



    总结


    我现在有一个可以正常使用的Winbond W25Q128 16 MByte串行/ SPI闪存芯片的驱动程序。驱动程序仍处于早期阶段,我可能会更新它以支持其他Flash设备。使用命令行界面,我可以读/写内存。在下一步中,我计划将内存与文件系统一起使用,在以后的文章中将详细介绍。该项目可在GitHub上获得。





    作者:不吃肉的小孩                 文章出处:点击
    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2020-3-5 15:49:15 | 显示全部楼层
    这位仁兄就是做了一个命令行的界面嘛。
    其余的也没有
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-19 11:40 , Processed in 0.110073 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表