论坛风格切换切换到宽版
发帖 回复
返回列表  提醒:不能用迅雷等P2P下载,否则下载失败标(二级)的板块,需二级才能下载,没二级不要购买,下载不了
  • 1031阅读
  • 2回复

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

上一主题 下一主题
离线army521
 

性别:
人妖
发帖
59
金币
99
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看楼主 倒序阅读 使用道具 0楼 发表于: 2021-01-09

目前,越来越多的应用需要扩展外部的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的时钟源。



评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

一般

差劲
离线szhj14e

性别:
人妖
发帖
428
金币
421
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 1楼 发表于: 2021-01-09


离线zengfanlong

性别:
人妖
发帖
5036
金币
4975
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 2楼 发表于: 2021-01-09
    


快速回复
限150 字节
 
上一个 下一个