APM32芯得EP.35|APM32F411为什么要有ISP,你知道多少?

极海Geehy 2024-07-26 13:50


《APM32芯得》系列内容为用户使用APM32系列产品的经验总结,均转载自21ic论坛极海半导体专区,全文未作任何修改,未经原文作者授权禁止转载。




1 背景


翻阅APM32F411的手册,竟然发现它是支持ISP启动的。


我们都知道对flash编程的方式有:


1. ICP:在电路中编程,利用jlink、stlink、Geehylink、烧录器这些都属于在电路中编程。

2. IAP:在应用中编程,利用自留的bootloard程序对应用代码(APP)进行更新程序,属于IAP。

3. ISP:在系统中编程,这个是指在系统中编程。


以上是基本概念,网上有许多这个资料,我就不一一赘述,本文档的一个目的主要是解决一个问题:MCU为什么要有ISP?这个是之前一个小伙伴问的。


2 编程的阶段


在正文开始之前我们先回顾一下,对MCU编程flash一般的场景有哪些,这里我简单总结一下:


1. 开发阶段,为开发工程师在进行一些样品研发阶段,特点是对一个MCU进行多次编程,且需要进行在线仿真测试验证。

2. 量产阶段,为产品批量生产阶段,此时一般是几百上千甚至上万的货品进行出货,特点是量大。

3. 维护阶段,为产品到客户端的时候,要进行的一些产品功能升级等操作。


以上三个阶段基本涵盖了我们的MCU的编程阶段,分清以上阶段,有利于我们在什么时候考虑使用何种编程方式。


3 ISP优劣势对比


3.1 资源使用上


首先我们先看一下ISP对比另外两种编程方式,它的bootloard程序由厂家提供,编程方式一般是厂家提供的基础协议以完成:对flash、选项字节的擦、写、读等功能。常用的通信端口是串行总线:I2C/USART/USB/SPI等。


从上面我们知道,ISP:


1. bootloard程序,不占用额外的flash。

2. 通信端口非常常用,通信端口在下载程序后也可在应用中进行二次利用。


3.2 编程阶段上


上文我们了解了完编程阶段,我们下面讨论一下ISP对比其他两种编程方式时在不同的编程阶段的优劣势。


1. 首先是开发阶段,由于考虑到我们是有仿真需求的,所以我们这个阶段其实大部分人都使用的是ICP。这个阶段ICP的重量级基本是无可撼动。


2. 然后是量产阶段,量产阶段中ICP对ISP的优势就不那么明显了,因为ICP需要额外的烧录接口(SWD/JTAG),对板卡是布线有要求,且这个烧录接口仅是在程序烧录的时候使用到了,在我们的产品使用阶段,是无法使用到的。再者,一般的烧录器均是要大价格的,淘宝我找一下:



若是多线并行烧录,便要采购大量的烧录器,这对成本是一个不小的挑战。若使用ISP程序,则会省下购买烧录器的成本以及布线的PCB损耗。


当然,若是使用烧录器,成本也会随着产品量的后续增加而均摊到每一个产品上的变小。这个需要取舍。


3. 最后是维护阶段,由于维护的时候一般产品是在客户手上,此时一般而言是使用IAP进行编程,因为IAP的协议可自定义,升级也更便捷。但也有特殊情况:


   1. MCU的flash不够用,但又不想额外购置spi flash(说白了是因为成本)。

   2. MCU做控制芯片,联网的主控另有“其人”,此时从网络端拿到MCU固件再下发给MCU。


以上两种情况,若使用ISP则可以解决一定的困扰,由于ISP不占用flash,MCU的全部flash均可以保存产品的应用程序。当MCU做从控制器时,主机在板卡内部发送升级的数据给MCU,反而也简单,因为协议有现成的,不用自己构思。


通过以上我的分析,相信大家对什么时候使用ISP有了大概的认识。那接下来我们就来看看Geehy的APM32F411的ISP功能支持什么样子的编程吧。


4 APM32F411的ISP


4.1 如何启动


通过查阅APM32F411xCxE手册,它有三种启动方式,而我们所使用的ISP启动方式就是:BOOT1设置0,BOOT1设置1。



且它的系统存储器地址是 0x1FFF0000。我们设置一下BOOT1设置0,BOOT1设置1。


4.2 支持的串行总线


通过查阅APM32F411xCxE手册,这款芯片支持USART/I2C/SPI/USB对其进行编程flash。



4.3 如何使用


为了能够顺利使用APM32F411VC的bootloard,我们需要相应的评估软件:


在这个软件,我们看到Geehy给我们准备了评估USART/USB的功能。


4.3.1 USART


评估这个功能我们直接使用APM32F411VCTINI板上的GEEHYLINK预留出来的端口就行。



然后我们在GeehyProg选择COM,然后选择波特率(我的是115200),就可以连接上APM32F411了。



4.3.2 USB


评估这个功能我们首先得按照一下Geehy的DFU驱动:https://www.geehy.com/uploads/tool/dfu%E9%A9%B1%E5%8A%A8%E5%AE%89%E8%A3%85.zip。安装完驱动,设置相应的BOOT引脚后,连接板卡上的USB接口(注意不是Geehy-Link的接口):



我们可以看到设备管理器的界面:



然后我们在GeehyProg选择USB,然后点击连接,就可以看到我们连接上了APM32F411。



4.3.3 程序下载与运行


由于USART和USB在使用GeehyProg操作的时候界面是一致的,我这里选择USART进行。


我们选择“更新”选项卡,选择我们要下载进APM32F411的程序,然后选择相应的操作:


1. 擦除使用空间:擦除我们程序使用到的flash空间;擦除全部空间,擦除APM32F411的全部flash。一般产线下载程序都是擦除全部空间。

2. 写入校验,用于校验我们写入的数据跟芯片内容是否一致,这个也是必不可少。

3. 写入芯片后运行,这个用来写完程序后直接运行,这个一般看使用场景。如果是在客户端,可以使用这个方式,重启我们的“产品”。让客户感知升级已经完成。


我这里的设置如界面所示。 



点击“更新”,会发现程序下载进了flash,并开发板上LED2、LED3交替持续闪烁(可以使用“读取”功能)。


5 总结


Geehy带来的APM32F411自带Bootloard,让我们后续的产品更新上有了新思路。本分享只是有了简单使用的分享,其他支持的I2C/SPI还没有涉及,更多内容欢迎大家一起讨论。


注:文章作者在原帖中提供了工程文件,有需要请至原文21ic论坛下载


原文地址:https://bbs.21ic.com/icview-3342284-1-1.html

或点击下方 阅读原文 跳转


   0756 6299999

info@geehy.com

www.geehy.com

广东省珠海市香洲区广湾街83号01栋

极海Geehy 极海半导体是一家致力于开发工业级/车规级MCU、模拟与混合信号IC及系统级芯片的集成电路设计型企业
评论 (0)
  • 应用环境与市场需求随着科技不断进步,6K与8K显示器逐渐成为趋势,重新定义了我们对影像质量的期待。6K与8K显示器之所以备受瞩目,主要是因为它们提供了极高的分辨率。举例来说,6K显示器拥有超过6,000像素的水平分辨率,显著提升了影像的细节和清晰度,使用户能够更真实地体验影像的震撼效果;而8K显示器则更进一步将细节度推向新境界,带给用户身临其境般的感受。但随着高分辨率显示器的普及,也带来了挑战,首先是硬件需求的提升,高分辨率需要更强大的处理器和显示适配器来支持,目前6K/8K显示器主要采用最新的
    百佳泰测试实验室 2024-09-19 12:27 102浏览
  •     FPC 的含义是 Flexible Printed Circuit,柔性/挠性印制板。        (图来自网络,侵删)    FPC使用的基本材料有3种——聚酰亚胺(PI, Polyimide),铜和胶。    制作FPC时,和刚性PCB相似,也是对基本材料进行堆叠,然后热压成型。对于单面FPC,需要用两层PI分别作为载板和盖板,然后在二者之间加一层铜,铜与载板、盖板之间再各
    电子知识打边炉 2024-09-18 22:26 126浏览
  • 近年来,中国经济正处于转型升级的关键时期,高质量发展成为经济发展的重要目标。在这一伟大征程中,光耦作为一种关键性的电子元器件,正在发挥着重要的作用,助力中国经济迈向更加光明的未来。光耦概念及工作原理▲光耦(光电耦合器)光耦,全称为光电耦合器,是一种将电信号转换为光信号,再由光信号转换回电信号的器件。它由发光器件(通常是LED)和光敏器件(如光敏二极管或光敏晶体管)两部分组成,两者被隔离,以实现输入和输出电路之间的电气隔离。当LED接收到正向电流时,它会发出光线,这些光线通过透明介质照射到对面的光
    晶台光耦 2024-09-19 10:29 67浏览
  • 可穿戴设备市场一直在寻找下一个风口。站在2024年来看,智能戒指似乎更有机会。市场调研机构 GMI 最新数据报告显示,2023年智能戒指市场规模达到2.1亿美元,预测2024~2032年将以24.1%的市场复合增长率增长,至2032年达到10亿美元市场规模。图片来源:GMInsights1、走向C位Galaxy Ring,一个曾经的小众品类,却在三星发布会上稳稳占据C位。图片来源网络基于加速度计、光学心率传感器和皮肤温度传感器,Galaxy Ring支持睡眠监测、全天候心率监测、压力水平、身体和
    艾迈斯欧司朗 2024-09-19 15:30 76浏览
  • 键盘与鼠标是系统上最通用的周边装置,这些装置过往多半采有线方式做连接,目前已逐渐大量采用无线连接为主流,无线键盘和鼠标通常使用蓝牙技术或无线射频(RF)技术,然而这些技术也可能面临一些无线干扰的问题,进而造成使用者体验不佳影响品牌形象,甚至产生退货问题,这也成为采购商在采购询价(RFQ)时需留意的要点。无线键盘鼠标的无线干扰风险与解决方法近年来无线传输技术在键盘鼠标上已相当普及,市场上我们可以看到各种形形色色的无线键盘鼠标,包括了:针对特定消费族群的静音键盘鼠标、低延迟的电竞键盘鼠标。不论是何用
    百佳泰测试实验室 2024-09-20 13:29 32浏览
  • Adaptive-Sync是什么?近年来电竞屏幕随着电竞产业的蓬勃发展以及游戏玩家对于更高画质、更流畅游戏体验的需求,电竞屏幕成为游戏设备中不可或缺的一环。电竞屏幕市场的概况与发展中,其中很重要的亮点就是高刷新率跟Adaptive-Sync技术的导入,美国视讯电子标准协会(VESA)在推出DisplayPort 1.4 规格标准时,针对电竞产品新增了Adaptive-Sync(可变更新频率)功能,让用户在玩游戏时可以减少画面的撕裂与延迟等现象,提供更平滑的游戏体验,这项功能对于不同刷新率的显示适
    百佳泰测试实验室 2024-09-19 12:29 87浏览
  • 下载视频投屏复制链接笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习
    youyeye 2024-09-19 10:56 80浏览
  • 在ADTF (Automotive Data and Time-Triggered Framework)中,过滤器(Filter)扮演着数据处理的核心角色。过滤器是处理数据流的基本单元,它们接收、处理并发送数据。接下来,将分享ADTF中创建和使用过滤器,包括设置输入输出针脚(Pins)、配置触发器(Triggers)以及处理数据样本(Samples)。一、过滤器基础过滤器是ADTF中用于数据处理和转换的小型处理单元,可以通过特定的接口接收和发送数据,如图1所示。图1 Filter过滤器
    康谋 2024-09-19 09:10 125浏览
  •     DFx是 Design for X(面向产品生命周期各/某环节的设计)的缩写。这个概念是1994年由SMTA(SMT Association)组织提出的,在2000年左右开始在大型公司中应用。    DFA,Assembly 可装配性    DFC,Cost 成本    DFD,Diagnosibility 可诊断分析性    DFE,Enviroment 为环保性着想  &nb
    电子知识打边炉 2024-09-18 21:43 105浏览
  • 故障现象 一辆2013款宝马116i车,搭载N13B16A 发动机,累计行驶里程约为12.1万km。车主反映,该车行驶中偶尔加速无反应,且发动机故障灯异常点亮。 故障诊断接车后试车,故障现象无法再现。用故障检测仪检测,发动机控制单元(DME)中存储有多个与节气门相关的故障代码(图1),分析故障代码,推断故障可能是由节气门翻板过脏,偶尔卡滞引起的。 图1 DME中存储的故障代码拆下节气门总成检查,并不算脏;反复多次直接给节气门电动机短暂供电,节气门翻板打开及回位均无明显异常。用
    虹科Pico汽车示波器 2024-09-19 16:48 96浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦