【经验】灵动微电子MM32F5系列微控制器QSPI Flash及2nd Bootloader引导加载程序总结及注意事项
灵动微电子MM32F5系列微控制器具备QSPI接口,可以外接QSPI Flash,扩大可使用的Flash空间,从而满足那些需要大Flash空间应用的需求,让Flash空间的大小不再成为限制应用开发的瓶颈。为了让用户能尽量像使用片内Flash那样下载和运行程序,减少额外操作,需要有对应的下载算法与相应的2nd Bootloader。
本文以PLUS-F5270开发板为例(该开发板搭载的灵动微电子MM32F5277E9PV微控制器具备QSPI接口,且板载W25Q64JVISQ QSPI Flash芯片),前面文章介绍了MM32F5系列芯片的QSPI引脚,以及与QSPI Flash通信的过程,在MDK平台上实现客制化的下载算法,简单的2nd Bootloader,并以MindSDK的hello_world样例工程为例,进行少量的修改,使其能够存储在QSPI Flash上,最终验证了微控制器能够运行存储在QSPI Flash上的应用程序。本文介绍下开发时的一些注意事项及问题解决方法。
注意事项
外置QSPI Flash选型
在进行QSPI Flash的选型过程中,尤其要关注其工作电压的范围,部分QSPI Flash的额定工作电压为1.8V,若在3.3V电压下,是无法正常工作的,反之亦然。
除了电压范围外,部分QSPI Flash芯片在默认情况下,处于非四线模式,原本QSPI的D2&D3引脚会被用于写保护使能和HOLD使能,使能四线模式的方法,需参照使用的QSPI Flash芯片手册进行操作。
QSPI Flash与微控制器连接时,为了满足阻抗匹配的要求,其信号线上需要串联22Ω或33Ω的电阻,否则,在与QSPI Flash通信时,会发现读到的数据与期望的数据可能不一致。
生成FlashLoader时出现显示路径不同的warning
在配置FlashLoader的MDK工程文件时,在Options for Target -> C/C++(AC6) -> warnings选项下,若选择All warnings选项,在build时会出现warning:
FlashDev.c(25): warning: non-portable path to file '"..\FlashOS.h"'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#include "..\FlashOS.H" // FlashOS Structures
^~~~~~~~~~~~~~
"..\FlashOS.h"
将该配置选项修改为AC5-like Warnings后,样例build无问题。
Program Size: Code=4088 RO-data=4256 RW-data=4 ZI-data=0
After Build - User command #1: cmd.exe /C copy "Objects\MM32F5270_QSPI_FlashLoader.axf" "..\MM32F5270_QSPI_FlashLoader.FLM"
已复制 1 个文件。
".\Objects\MM32F5270_QSPI_FlashLoader.axf" - 0 Error(s), 0 Warning(s).
生成下载算法时出现L6305 warning
查看整个下载算法工程文件,会发现当前工程中没有启动文件与主函数,默认只有几个功能函数,在这种情况下,编译会爆出下面的警告:
L6305W: Image does not have an entry point. (Not specified or not set due to multiple choices.)
但下载算法本身是不需要启动文件和主函数的,只在下载代码时由调试器调用下载算法中的功能,因此,需忽略该warning。选择Options for Target -> Linker` -> Misc controls选项,修改该选项内容为--diag_suppress L6305 。
修改源文件后下载该文件出现无法加载闪存编程算法的问题
对比所生成的下载算法大小与工程文件的`Options for Target -> Debug -> settings -> Flash Download -> RAM for Algorithm -> Size选项下配置的算法大小,发现当前下载算法大于Size所配置的大小,因此,需适当调大Size的大小,例如由0x1000增加到0x2000。
在实现下载算法时,为了保证下载算法足够小,其代码量不要过多,需删除未使用的函数。
应用程序不能出现影响QSPI使用的代码
需要检查应用程序的代码,对可能影响到QSPI的代码进行调整,例如GPIO的配置,GPIO时钟的复位,以及直接对QSPI的操作。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自灵动MM32MCU公众号,原文标题为:灵动微课堂 (第250讲)|mm32-2nd-bootloader技术白皮书(6)——总结及注意事项,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
灵动微电子MM32F0160系列MCU FlexCAN-FD通信应用指南
MM32F0160系列MCU具有一个 FlexCAN 模块,该模块遵循 ISO 11898-1 标准、 CAN FD 和 CAN 2.0B 协议规范,不仅兼容传统CAN,还支持CAN FD模式。本章节初步学习使用MM32F0160 FlexCAN-FD接口实现CAN FD通信,相关例程参考灵动官网的LibSamples或在此基础上修改。
设计经验 发布时间 : 2024-01-07
使用灵动MM32F5270 MCU UART配置实现LIN通信
本文主要简述MM32F5270 UART是如何实现LIN通信的。从LIN驱动程序、 主机程序、从机程序和验证等方面来讲代码实现。
设计经验 发布时间 : 2024-02-23
【经验】灵动MindSDK搭建Keil MDK开发环境指南
本文介绍基于Windows操作系统构建嵌入式系统开发环境过程中需要使用的主要软件Keil MDK,并对一些需要特别关注的要点重点说明。Keil MDK是灵动官方的软件开发平台MindSDK支持的主要编译工具之一。
设计经验 发布时间 : 2023-07-02
“MindMotion·Star“ Series: Major Member MM32F5260 Officially in Mass Production
At the Shenzhen Elexcon 2024 in late August, MindMotion Microelectronics officially unveiled the “MindMotion·Star” series of high-performance MM32 MCU products, featuring four sub-series: MM32F3, MindMotion Dubhe MM32F5, MindMotion Alioth MM32G5, and MindMotion Phecda MM32H5. MindMotion is excited to announce the formal launch of a key member of the MindMotion Dubhe sub-series: the MM32F5260.
产品 发布时间 : 2024-10-25
MindMotion(灵动微) MCU选型表
32位高性能,高性价比MCU,Core核心有M0、M0+、2XM0、M3、STAR-MC1,Flash存储容量范围 16KB~2048KB,RAM存储容量范围 2KB~128KB,工作电压:1.8~48V,CPU频率(MHz):48~180MHz,GPIO 端口数(个):6~86,LQFP/TSSOP/QFN等多种封装形式。
产品型号
|
品类
|
内核
|
管脚数(个)
|
工作温度(℃)
|
CPU频率(MHz)
|
工作电压(V)
|
GPIO 端口数(个)
|
Flash(KB)
|
SRAM (KB)
|
封装/外壳/尺寸
|
MM32F0163D7PV
|
32位MCU
|
M0
|
64
|
-40℃~105℃
|
96MHz
|
2.0~5.5V
|
57
|
128KB
|
16KB
|
LQFP64
|
选型表 - MindMotion 立即选型
【IC】“灵动·星”系列MM32高性能MCU产品搭载Star-MC1提供强劲内核动力,性能提升20%
“灵动·星”系列 MM32 高性能 MCU 产品,搭载安谋科技(Arm China)Star-MC1 内核性能,其1.5 DMIPS / MHz,提升 20% ,4.02 CoreMark / MHz,提升20% 。目前包含 4 个子系列: MM32F3,灵动·天枢 MM32F5,灵动·玉衡 MM32G5,灵动·天玑 MM32H5,为用户提供灵活、丰富的选择。
产品 发布时间 : 2024-10-23
MindMotion(灵动微)MM32系列32位MCU选型指南
描述- 灵动微电子成立于2011年,是中国本土领先的通用32位MCU产品及解决方案供应商。灵动微电子的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。
型号- MM32G0163D4PV,MM32L0XX,MM32F0144C6PM,MM32F5230,MM32SPIN580C,MM32G0020,MM32G0140,MM32L073PF,MM32F0133C4Q,MM32SPIN080GN,MM32SPIN560CM,MM32SPIN023C,MM32F0133C4P,MM32F5287L8PV,MM32SPIN533AM,MM32F0162D7P,MM32F0121C6P,MM32F0163D4Q,MM32SPIN0230,MM32SPIN080C,MM32F0141C1T,MM32L062NT,MM32F0020B1N,MM32F0144C1TV,MM32F5330,MM32G0001,MM32G0120,MM32F0144C1TM,MM32F0163D7P,MM32SPIN030CN,MM32G0121C1TV,MM32F0010A1TV,MM32SPIN07PF,MM32SPIN05PFOP,MM32SPIN0230B1TV,MM32SPIN37PSD,MM32G0001A6T,MM32F3270,MM32F0121C4P,MM32F0121C4Q,MM32F5277E9PV,MM32F5287L9PV,MM32F0163D6P,MM32F5333D6PV,MM32SPIN0280DAPV,MM32F0121C4N,MM32SPIN080G,MM32SPIN560,MM32F0144C4PM,MM32F0144C4PV,MM32F5280,MM32SPIN06NT,MM32F0140,MM32SPIN560C,MM32F0020,MM32G5333D6QV,MM32F0162D4Q,MM32F0050C1TV,MM32F0273D6P,MM32SPIN0230B3NV,MM32SPIN06PF,MM32G0144C4QV,MM32SPIN0280,MM32L052NT,MM32F5270,MM32F0144C4P,MM32F5277E8PV,MM32F031C6T6,MM32F0130,MM32F0010,MM32F0020B1TV,MM32F5333D7PV,MM32G0144C4PV,MM32SPIN080CN,MM32F0144C4Q,MM32SPIN060G,MM32L0136C7P,MM32F0133C7P,MM32SPIN05NW,MM32F5331D3NV,MM32F0040B1T,MM32SPIN05NT,MM32G0001A6T1V,MM32SPIN06PT,MM32F0120,MM32F0162D6P,MM32F5331D3NM,MM32F003NW,MM32G0160,MM32SPIN27NF,MM32F0163D4QM,MM32SPIN05PF,MM32F031,MM32F3273G6P,MM32F0163D4QV,MM32L0136B6P,MM32G0001A1TV,MM32F0133C6P,MM32SPIN0280D7PV,MM32F5277E7PV,MM32F0144C6P,MM32SPIN222C,MM32F0144C6PV,MM32F0010A6T,MM32G0001A1T,MM32F3273G7P,MM32L0130,MM32G0001A1N,MM32SPIN05PT,MM32G0121C4PV,MM32F0010A1T,MM32F5233D7PV,MM32SPIN27PF,MM32F0010A1N,MM32G5330,MM32SPINEBK,MM32SPIN07,MM32F3273G8P,MM32SPIN160C,MM32SPIN06,MM32F0040B1N,MM32SPIN0230B1NV,MM32L0136C6P,MM32SPIN05,MM32L0020,MM32F0050,MM32SPIN0280D6PV,MM32SPIN533,MM32F031K6U6,MM32F3273G9P,MM32F0163D6PM,MM32SPIN040C,MM32G0020B1T,MM32F0163D6PV,MM32F003,MM32SPIN37,MM32G0020B1N,MM32F0273D8P,MM32F0160,MM32L0136C3T,MM32F0040,MM32G0001A1NV,MM32SPIN0280D6QV,MM32F0144C1T,MM32F103CBT6,MM32F5233D6PV,MM32F0144C4QM,MM32F3273E6P,MM32SPIN27PQ,MM32SPIN27PS,MM32SPIN27PT,MM32L0136C4N,MM32SPIN27,MM32F0020B1NV,MM32F0270,MM32G0121C4QV,MM32F031F6U6,MM32F0273D7P,MM32F003TW,MM32G0144C1TV,MM32F3273E7P,MM32F0141B1T,MM32G0163D6PV,MM32F0163D7PM,MM32SPIN030C,MM32F0163D7PV,MM32F0131C7P,MM32F103,MM32SPIN05TW,MM32F031Y6Y6,MM32F0141C4P,MM32F0141C4Q,MM32F0141C4N,MM32F031K6T6,MM32F0010A1NV,MM32F0131C6P,MM32SPIN422C,MM32F0020B1T,MM32SPIN0280D4PV,MM32L0020B1T,MM32F103RBT6,MM32L0020B1N,MM32F031F6P6,MM32F0121C1N,MM32F0050C1NV,MM32F5333D4QM,MM32G0001A6TV,MM32SPIN360C,MM32,MM32F5333D4QV,MM32F0141C6P,MM32F0141B4P,MM32F0131C4P,MM32F0131C4Q,MM32SPIN0230B3TV,MM32SPIN533A,MM32SPIN033A,MM32F5287L7PV,MM32F5233D4QV
【IC】灵动发布全新入门级32位MCU MM32G0001系列,内置时钟全温度范围内偏差不超过±2%
灵动股份推出全新超值型MM32G0001系列MCU。2023年初,灵动首次发布了其主打高性价比的MM32G系列,目前已陆续推出了G0140,G0160和G5330系列产品。为进一步丰富MM32G系列产品组合,灵动和上下游合作伙伴通力合作,打造出全新入门级超值型MM32G0001系列MCU。
新产品 发布时间 : 2023-07-01
【IC】灵动微电子高性能通用32位MCU产品MM32H5480荣获“2024年度硬核MCU芯片奖”
近日,第六届硬核芯生态大会在深圳举办,同期2024年度硬核中国芯获奖榜单正式发布。作为国内领先的本土通用32位MCU产品及解决方案供应商,MindMotion灵动微电子凭借高性能产品MM32H5480斩获“2024年度硬核MCU芯片奖”。
原厂动态 发布时间 : 2024-10-18
【IC】灵动新推出32位MCU MM32F0120,主频高达72MHz,提供64KB Flash和8KB RAM
灵动微电子发布的MM32F0120,搭载Cortex M0内核,主频高达72MHz,提供64KB Flash和8KB RAM,最高支持48pin封装。适用于屏显控制、电动玩具、电源管理、马达控制、无线快充等多种应用场合。
产品 发布时间 : 2024-09-11
The High-performance MCU MM32F52 Series featuring the Arm China “STAR-MC1” Processor Is Available for Order
The MM32F52 series is MindMotion announced the first family of high-performance MCUs featuring the Arm China “STAR-MC1” processor, which is based on the Arm-v8 architecture and offers approximately 20% higher performance per unit compared to Cortex-M3 and Cortex-M4.
新产品 发布时间 : 2023-06-07
【IC】灵动微电子发布灵动·天枢子系列新成员:MM32F5260,搭载国产Star-MC1内核,内核动力强劲
在8月底的深圳嵌入式电子展上,灵动微电子正式发布了“灵动星”系列MM32高性能MCU产品,包含4个子系列:MM32F3,灵动·天枢 MM32F5,灵动·玉衡MM32G5,灵动·天玑MM32H5。9月30日灵动微电子正式发布灵动·天枢子系列的重磅成员:MM32F5260。
产品 发布时间 : 2024-10-10
灵动MM32SPIN⸺专注电机控制的MCU和SOC
型号- SPIN080G,MM32SPIN030C,SPIN360C,MM32SPIN06NT,SPIN033A,SPIN590G,MM32SPIN560C,MM32SPIN05PT,MM32SPIN580C,MM32SPIN05TW,SPIN0260,MM32SPIN27PF,MM32SPINEBK,MM32SPIN0230B3NV,MM32SPIN080GN,MM32SPIN06PF,SPIN02XX,MM32SPIN07,MM32SPIN0280,MM32SPIN160C,SPIN533A,MM32SPIN,MM32SPIN560CM,SPIN27,MM32SPIN023C,MM32SPIN06,MM32SPIN05,MM32SPIN0230B1NV,MM32SPIN422C,MM32SPIN0280D4PV,MM32SPIN0280D6PV,SPIN060G,SPIN0250,SPIN080C,SPIN222C,SPIN0290,SPIN040C,MM32SPIN080CN,MM32SPIN0230,MM32SPIN060G,MM32SPIN080C,SPIN0230,MM32SPIN040C,SPIN56XX,MM32SPIN37,MM32SPIN05NW,SPIN580C,SPIN160C,SPIN023C,MM32SPIN05NT,MM32SPIN06PT,MM32SPIN0280D6QV,MM32SPIN360C,SPIN0280,SPIN495C,MM32SPIN030CN,MM32SPIN27NF,SPIN560C,SPIN05XX,MM32SPIN07PF,SPIN07,SPIN06,MM32SPIN05PF,MM32SPIN27PQ,MM32SPIN0230B3TV,SPIN5630,MM32SPIN05PFOP,MM32SPIN27PS,MM32SPIN27PT,MM32SPIN0230B1TV,MM32SPIN37PSD,SPIN05,MM32SPIN533A,MM32SPIN033A,MM32SPIN27,MM32SPIN0280D7PV,MM32SPIN222C,SPIN080X,SPIN422C,MM32SPIN0280DAPV,SPIN030C,MM32SPIN080G
灵动微电子扎根张江造“芯”,打造本土32位MCU知名品牌
灵动微电子成立于2011年,2016年进军MCU市场,2019年积极向工业、大家电、汽车等领域发力,目前已涵盖消费电子、电机与电源、家电、汽车、计算机与通信、工业控制等应用领域,客户群体包括飞利浦、小米、汇川、海尔、海信、美的等,是中国本土领先的通用32位MCU 产品及解决方案供应商。
原厂动态 发布时间 : 2024-09-19
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论