我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1193|回复: 2

[零组件/半导体] 如何通过STM32CubeMX制作外部Flash的烧写驱动 (.stdlr)

[复制链接]

该用户从未签到

56

主题

19

回帖

160

积分

二级逆天

积分
160

终身成就奖

发表于 2021-1-9 10:21:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
[paragraph]目前,越来越多的应用需要扩展外部的Flash来满足存储需求。那么,在调试及批量生产的过程中,需要对外扩的Flash进行烧录操作。由于STM32ST-LINKUtility以及STM32CubeProgrammer中,对Flash支持的型号有限,只能覆盖一部分MCU和Flash的型号,无法完全满足客户的需求。而且,它提供的externalloader的制作模板存在覆盖的芯片型号较少,且无法前期QSPIFlash调试的问题。本文旨在提供一种通过stm32CubeMX制作externalFlashloader的方法。客户可以根据自己的型号,进行定制化的生成。本文中,以某客户实际使用的MCU(STM32H750)和Flash(S25LP128F)为例进行讲解。
准备工作
安装STM32CubeIDE
安装MCU对应型号的HAL库
Externalloader开发ExternalLoader的开发分成三个部分,第一部分是使用STM32CubeMX进行工程的配置及生成。第二部分是外部Flash的驱动调试,主要包含初始化,擦除,写入以及读出等操作。第三部分调用驱动函数进行externalloader的生成,包括外部Flash信息的定义,包括Flash容量的大小,page的大小,以及Sector相关的信息;第三步中externalloader所需要的代码及对应器件的驱动,可以在下面的GitHub仓库中获取,同时也欢迎大家将自己调试好的器件驱动提交到该仓库。
地址:
https://github.com/WellinZHANG/External_Loader
使用STM32CubeMX生成工程此处,我们使用STM32CubeIDE集成的STM32CubeMX进行工程的配置和生成。
新建工程
选择对应的器件,填入工程名称,并选择存放位置:
管脚配置
按照硬件原理图选择好对应的Flash管脚,此处选择为Bank2,配置如下图。注意调整管脚的速度为High,同时使能QSPI的中断。FlashSize值设置为N,Flash的大小配置2N+1。
时钟配置
根据板子上的时钟源,进行对应的时钟配置,此处采用内部作为系统PLL的时钟源。
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-11-13 11:05
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    6

    主题

    468

    回帖

    633

    积分

    二级逆天

    积分
    633

    社区居民终身成就奖

    QQ
    发表于 2021-1-9 13:46:00 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5014

    回帖

    16

    积分

    二级逆天

    积分
    16

    社区居民终身成就奖优秀斑竹奖

    QQ
    发表于 2021-1-9 16:28:44 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表