isp,iap,sw-jtag

news2024/11/29 20:44:26

https://blog.csdn.net/weixin_45905650/article/details/107707858?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167098526816800180634199%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167098526816800180634199&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-107707858-null-null.142v68control,201v4add_ask,213v2t3_control1&utm_term=stm32%20ISP&spm=1018.2226.3001.4187
在这里插入图片描述

1 ) 主闪存存储器(Main Flash)启动:从STM32内置的Flash启动(0x0800 0000-0x0807 FFFF),一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。
以0x08000000 对应的内存为例,则该块内存既可以通过0x00000000 操作也可以通过0x08000000 操作,且都是操作的同一块内存。

2 ) 系统存储器(System Memory)启动:系统储存器指的是STM32的内置ROM,选择该启动模式后,内置ROM的起始地址将被重映射到0x00000000地址,代码在此处开始运行。ROM中有一段出厂预置的代码,这段代码起到一个桥的作用,允许外部通过UART/CAN或USB等将代码写入STM32的内置Flash中。这段代码也被称为ISP(In System Programing)代码,这种烧录代码的方式也被称为ISP烧录。
一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的ISP程序中,提供了串口下载程序的固件,可以通过这个ISP程序将用户程序下载到系统的Flash中。
以0x1FFFFFF0对应的内存为例,则该块内存既可以通过0x00000000 操作也可以通过0x1FFFFFF0操作,且都是操作的同一块内存。

3 ) 片上SRAM启动:从内置SRAM启动(0x2000 0000-0x3FFFFFFF),既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。SRAM 只能通过0x20000000进行操作,与上述两者不同。从SRAM 启动时,需要在应用程序初始化代码中重新设置向量表的位置。该方法是在STM32的内置SRAM中启动,选择该启动模式后,内置SRAM的起始地址将被重映射到0x00000000地址,代码在此处开始运行。这种模式由于烧录程序过程中不需要擦写Flash,因此速度较快,适合调试,但是掉电丢失。

原文链接:https://blog.csdn.net/bruceoxl/article/details/128028961
在这里插入图片描述

ISP:In System Programing 在系统编程
IAP:In applicating Programing 在应用编程
ICP:In Circuit Programing 在电路编程

什么是DFU—USB接口的ISP

FLASH 的容量越来越大, ISP 的 USART 真的很慢了。Can 的效率也不是很高. USB 是个更好的替代方法。于是有了DFU模式。
在这里插入图片描述

DFU全称为Device Firmware update,
是ST官方推出的一个通过USB接口进行IAP升级的方案,同串口ISP一样,他们都集成在了芯片内部的Bootloader区段,可以通过配置boot引脚来启动。(具体可参照ST文档:AN2606)。不过内置DFU的芯片大部分型号都比较新,如果你用的型号没有内置DFU程序,没关系我们也可以通过CubeMX来快速生成和移植一个DFU功能程序到你的Flash中来使用。

以ISP方式下载程序时需要把STM32的BOOT0引脚置1、BOOT1引脚置0,即从系统存储区(System Memory)启动。

**为什么设置从System Memory启动就可以使用串口来下载我们的程序呢?**那是因为在芯片出厂前ST官方已经把一段自举程序(BootLoader程序)固化到这一块存储区。

对于STM32F103ZET6来说,System Memory的起始地址为0x1FFFF000,可在芯片手册的内存映射图里找到:

注意:不同系列不同型号的STM32固化的BootLoader是不同的,即使用的通讯接口是不同的。如STM32F1xxx系列只支持USART1:

STM32F4xxx系列只支持USART1、USART3、CAN2等接口:

IAP与ISP有什么不同?
从基本功能来看,IAP程序与ISP程序所做的事情好像是一样的,都是引导加载程序,所以网上有很多文章把IAP程序与ISP程序都称为BootLoader程序,要注意区分。

但是,ISP与IAP还是有点区别的。
STM32内部Flash分为两部分,System Flash和User Flash。上电之后执行哪个Flash里的程序有boot脚来控制。System Flash内存放的是ST官方编写的自举程序(ISP程序),我们是没有办法改变的。User Flash是我们可以使用的Flash空间,我们编写的代码就是要烧录到User Flash中。我们可以把User Flash分为两部分,前面一部分空间用于烧写我们编写的IAP程序,后面一部分用于烧写我们编写的应用程序。其中,IAP程序用于更新我们的应用程序。
ISP程序用于把我们编写的程序更新到0x08000000地址上,如果我们的产品中的程序有IAP程序+应用程序,则此时0x08000000地址存放的程序就是IAP程序。ISP程序、IAP程序、应用程序的关系示意图如下:

制作stm32 dfu类型的文件升级包

对于stm32来说,有几种烧录程序的方式,分别是isp,iap,sw-jtag。

其中的dfu模式就是属于isp模式的一种。这种模式一般就stm32f4以上或者互联网型的stm32f1支持。需要有usb接口。还需要自己写引导程序以及应用iap的方式去升级兴趣点所在)。对于大多数可以升级的产品来说,dfu升级是最简单快速的方法之一。

制作dfu文件,第一步就是要自己ide生成hex文件或者bin文件,之后用专用的软件将生成的hex或者bin文件生成dfu文件。这个专用的软件就是Dfu file manager。自己可以去官网下载。或者跳到以下链接,这是我自己上传的安装包 DfuSeDemo&&Dfu_File_Manager.zip

https://download.csdn.net/download/hugetree_bibi/19811715

原文链接:https://blog.csdn.net/hugetree_bibi/article/details/118191273

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87759.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS:通过setTimeout和promise来了解js代码执行机制(面试题讲解)

目录 1.setTimeout定时器 2.promise函数 补充:1.什么是宏任务与微任务 补充:2.宏任务和微任务的执行顺序 补充:3.js的执行顺序 补充:4.答案揭晓 前几天碰到一个关于js执行顺序的面试题,一时间竟然有点模糊&#…

BCN-PEG-Folate 环丙烷环辛炔聚乙二醇叶酸 BCN-PEG-FA

双环[6,1,0]壬炔 (BCN) (环丙烷环辛炔)可以通过无铜的点击化学与叠氮化物标记的分子或生物分子反应生成稳定的三氮唑连接。 产品名称 BCN-PEG-Folate 环丙烷环辛炔聚乙二醇叶酸 中文名称 环丙烷环辛炔聚乙二醇叶酸 英文名称 BCN-PEG-Folate BCN…

统信软件高级系统研发工程师:sysOM 在系统可靠性与安全上实践

一、系统可靠性 SRE是判断系统是否可靠、可用、有效重要标准,它包括: 服务水平指标SLI:衡量服务使用情况量化指标。 比如IO读写速率、网络延迟。通常量化指标会转换为比率、平均值或百分比。服务水平目标SLO:一段时间、区间内的目…

花1块钱让你的网站支持 ChatGPT

点击上方卡片“前端司南”关注我您的关注意义重大原创前端司南最近 ChatGPT 在技术圈子可太火了,票圈也被刷屏。我也决定来凑个热闹,给自己的博客加一个 ChatGPT 对话功能。先附上体验链接[1],源码在底部也可以找到。体验 ChatGPTChatGPT[2] …

1区SCI潜力刊,中科院分区即将更新,有望冲击2区

1区 计算机物联网类SCI&EI 01 期刊详情 【出版社】Elsevier 【指标情况】自引率6.30% 【期刊简介】IF:5.5-6.0,JCR1区,中科院分区预计月底公布 【检索情况】SCI&EI 双检,正刊 【参考周期】3-4个月左右录用 【截稿日期】2023.2.…

cv2.circle()函数报错(tensor 转 array 感觉是bug)

前言 我不理解为啥opencv-python可视化一堆报错,同一个三通道图像,cv2.imshow()没有问题,cv2.circle()就一直有问题,搞了一晚,心态炸了!!! cv2需要的图片矩阵(H, W, C&…

FKM规范 针对非焊接构件疲劳强度评估的实例介绍(下篇)

本文主要结合FKM规范及FKM inside ANSYS软件针对非焊接构件的手动计算实例及软件计算实例进行介绍,希望大家对FKM规范在非焊接构件疲劳强度评估中的手动及软件计算过程有基本的了解。 一、写在前面 FKM Inside ANSYS软件,该软件是在FKM 规范的基础上&a…

不想写日报、周报,这个报表自动化软件太牛了,仅需三分钟

昨天看到一个哥们发帖说IT部门负责做报表的同事阳了,再加上年底各个业务部门报表需求旺盛,现在他们是忙的饭都吃不上,天天凌晨才能回家。京东的人倒是被解放了,毕竟强东说汇报只能1页ppt。但对于万千其他公司的朋友们来说&#xf…

【POJ No. 2114】 游船之旅 Boatherds

【POJ No. 2114】 游船之旅 Boatherds 北大OJ 题目地址 【题意】 河流总是形成一棵树(以村庄为节点),超过两条河流时可以在交叉路口汇入。游船的定价政策非常简单:两个村庄之间的每条河流都有一个价格(两个方向的价格…

向现实「低头」,大众「调战略」

越来越多的汽车制造商,在修正自己的战略。 作为全球智能电动汽车领头羊,特斯拉针对欺诈指控为自己辩护,解释称其自动驾驶技术只是未能实现自己设定的目标,而不是误导消费者。2019年4月,其首席执行官埃隆马斯克声称&…

电脑技巧:推荐几款装机必备的软件

目录 1、火绒安全 2、Geek Uninstaller 卸载神器 3、Potplayer 4、Edge微软官方浏览器 5、Snipaste 截图神器 6、Everything 本地搜索神器 7、Honeyview 超好用的图片查看工具 8、Bandizip 解压缩工具 9、傲梅分区助手 分区必备神器 10、ToDesk 远程协助工具 11、剪…

数字化采购浪潮下,MRO工业品采购商城系统如何助力企业深化智能升级

工业品作为工程建设、机械制造等行业发展过程中不可缺少的一部分,市场前景十分广阔。根据艾瑞咨询数据显示,2020年我国工业品市场规模为10.6万亿元,其中MRO市场占比为20%。而在万亿规模下,我国工业品市场上下游存在诸多行业痛点&a…

(八)并发集合——阻塞队列

阻塞队列---BlockQueue BlockingQueue是带阻塞功能的队列,继承了Queue接口,当执行入队操作时,如果队列满了,则阻塞调用者;当执行出队操作时,如果队列是空的,也阻塞调用者。 public interface Bl…

RK3568平台开发系列讲解(Linux系统篇)内存映射与虚拟内存

🚀返回专栏总目录 文章目录 一、内存映射二、内存保护三、内存锁定3.1、锁定指定的内存段3.2、锁定进程的所有内存页沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章讲介绍几个对虚拟内存进行系统级控制的系统调用,合理使用它们,能极大地提高应用的执行效率,…

C++ Reference: Standard C++ Library reference: Containers: map: map: at

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/at/ 公有成员函数 <map> std::map::at mapped_type& at (const key_type& k); const mapped_type& at (const key_type& k) const;访问元素 返回对键k标识的元素的映射值的引用。 如…

1、CSS基础之初识

文章目录一、简介二、基础语法语法格式注释举个例子三、CSS的数值与单位颜色值长度值四、CSS样式类型内联式&#xff08;行内嵌&#xff09;内嵌式&#xff08;内部样式表&#xff09;外链式&#xff08;外部样式表&#xff09;五、文字排版六、格式化列表七、格式化链接八、We…

网络实验之RIPV2协议(一)

一、RIPV2协议简介 RIP (Routing Information Protocol) 路由协议是一种相对古老&#xff0c;在小型以及同介质网络中得到了广泛应用的一种路由协议。RIP 采用距离向量算法&#xff0c;是一种距离向量协议。RIP-1是有类别路由协议&#xff08;Classful Routing Protocol&#x…

[R语言]RMarkdown: 入门与操作

Rmarkdown入门汇总 R Markdown介绍 RMarkdown为我们的数据分析创建一个清晰美观的报告&#xff0c;它能够包含代码&#xff0c;图&#xff0c;表&#xff0c;说明&#xff0c;查看的人能够很清楚地理解。 RMarkdown利用Markdown的语法&#xff0c;能够被方便的转成其他类型(…

超店有数推出TikTok达人批量触达工具,让海量达人同时带货不再是梦

近年来&#xff0c;TikTok的全球化步伐越来越快。作为全球知名的短视频应用&#xff0c;TikTok目前日活跃用户超过8亿。电子商务业务规模保持快速增长。今年TikTok Shop黑五大促已于11月28日正式收官&#xff0c;TikTok Shop在黑五大促期间GMV增长126%&#xff0c;订单量增长13…

汇编前四章学习笔记

汇编学习笔记&#xff08;by 小白奋斗ing&#xff09; 参考《汇编语言&#xff08;第三版&#xff09;》王爽著 1.基础知识 1.1 机器语言 二进制编码 1.2 汇编语言 1.3 汇编语言的组成 1.4进制表示符 二进制&#xff08;B&#xff09;&#xff0c;十六进制&#xff08;H&a…