最近看到一个小伙伴问了一个比较基础的问题,大概就是问:单片机烧录程序常见方法有哪些?
下面就来说下常见的三种烧录程序的方法:ISP、IAP和ICP,以及它们的区别。
ISP
ISP:In System Programing,在系统编程。
ISP 是指可以在板级上进行编程,也就是不用拆芯片下来,写的是整个程序,一般是通过 ISP 接口线来写。
支持ISP的芯片一般在芯片内部固化了一段(用ISP升级的)boot程序。
比如:使用STC-ISP对STC芯片编程,利用Flash loader对STM32编程等。
ICP
ICP:In Circuit Programing,在电路编程。
ICSP:In-Circuit Serial Programming,在电路串行编程。如:对EEPROM编程等。
ICP编程方式网上各有说法,从字面含义(在电路)来说,所有处于编程的芯片都需要上电,都处于电路中。不严格来说利用J-Link、ST-Link、e-Link32等工具进行编程也属于在电路编程(ICP)。
在维基百科中,ISP(在系统编程),也称为在电路串行编程(ICSP)。
IAP
IAP:In applicaTIng Programing,在应用编程。在程序运行的过程中进行编程(升级程序,更新固件)。
IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。[来自:百度百科]
IAP通信口IAP的通信口有许多种:UART串口、ETH以太网、I2C、SPI......等。按理说只要能传输数据的通信口都能实现IAP的功能。
IAP的应该非常广泛,可以参考我之前分享的一篇文章:STM32官方IAP例程详细说明,以及Demo演示
ISP 与 IAP 的区别
1.打个比喻吧1、ISP 是把房子拆了再重造一间,那么在造好之前当然是不能住人的啦!2、IAP 是在造好的房子里边进行一些装修,当然人可以继续住啦!
2.应用场合1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了;2,IAP 如果有网管系统的话,用网管下载一切搞定,人不用跑来跑去,
3.ISP 和 IAP 的工作原理ISP 的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过 SPI 或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。
IAP 的实现相对要复杂一些,在实现 IAP 功能时,单片机内部一定要有两块存储区,一般一块被称为 BOOT 区,另外一块被称为存储区。单片机上电运行在 BOOT 区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了 IAP 功能。
4.ISP 和 IAP 的优点ISP 技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。
IAP 技术是从结构上将 Flash 存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。
ISP 的实现一般需要很少的外部电路辅助实现,而 IAP 的实现更加灵活,通常可利用单片机的串行口接到计算机的 RS232 口,通过专门设计的固件程序来编程内部存储器,可以通过现有的 INTERNET 或其它通讯方式很方便地实现远程升级和维护。
上一篇:玩转单片机得弄明白DMA原理
下一篇:单片机低功耗几点内容
推荐阅读最新更新时间:2024-11-17 12:19
推荐帖子
- 电容滤波的单相桥式不可控整流电路工作波形问题
- 请问那个电容滤波的单相桥式不可控整流电路中工作波形b)中,i2是输入电流嘛?还是电容的充电电流?然后为啥有相位相差180的两个正弦波?电容滤波的单相桥式不可控整流电路工作波形问题【请问那个电容滤波的单相桥式不可控整流电路中工作波形b)中,i2是输入电流嘛?还是电容的充电电流?】此图中电流波形是错误的,不必再看了。我在本坛发过关于整流的八篇帖子,其中第二篇中有电容滤波的电压电流波形,可以参考。整流杂谈图b中的电流i就是图
- 西里古1992 模拟电子
- 【藏书阁】实用电源电路集锦
- 目录第一章直流稳压电源第二章可调直流稳压电源第三章开关电源第四章交流稳压电源第五章变化电源第六章逆变电源第七章充电电源第八章应急电源第九章新旗舰在电源中的应用第十章其他电源【藏书阁】实用电源电路集锦O(∩_∩)O谢谢LZ,LZ辛苦谢谢你的好资料你的技术资料太好了。学习谢谢你的好资料你辛苦了。上次的资料丢啦感谢楼主,收藏了非常感谢楼主,整理了这么多资料辛苦了谢谢谢谢啊爱爱爱谢谢楼主的慷慨,楼主辛苦了原帖由hu72于201
- wzt 电源技术
- 各类数码产品的静电防护知识
- 本帖最后由jameswangsynnex于2015-3-320:03编辑数码产品的静电防护随着各种IC体积越来越小,集成度越来越高的,静电对各种数码产品的潜在威胁已经越来越突出。欧盟也强制执行了各类数码电子产品静电防护要达到接触放电4KV,国内虽然还没有官方明确条文规定,但冬天中国北方地区都是静电破坏的重灾区,很多产品销售都因为静电造成的反修率高问题丢失了北方市场。防止静电对各类产品的破坏也就更应受到开发工程师的重视。静电对电子产品损害有哪些特点?1.隐蔽性人体不
- xys_zhang 移动便携
- 非电是什么意思
- 非电是什么意思,喷淋箱的非电说明怎么写?谢谢非电是什么意思就是不用电的意思吧。就是不加电的情况
- azhu 模拟电子
- 拾音器如何进行选型呀?
- 现在拾音器有的很便宜,有的很贵。有个项目要用到拾音器,不知道如何进行选型了,也不知道性能差异多少?有没有一些指标可以判断?拾音器如何进行选型呀?
- shcpz 安防电子
- 拆一款含博士量很高的安全气囊控制器
- 拆一个德国生产的一个古董级的安全气囊控制器,标签上的03-08-14可能是生产日期,03年8月14日生产?控制器有3个安装孔,用来和车身固定,还有4个用来固定盖板的螺丝,盖板冲压了一些条形图案,可能是用来增加盖板强度的。控制器顶部有一个巨大的可拆卸线束,线束上有一个白色的连接器拆/装装置,将其拨动到左侧后黄色的连接器就会脱离控制器,方便取下线速,拨动到右侧就会压实锁紧。白色的拆/装装置在锁紧后会被黄色的凸起卡住,这样可以避免震动导致白色装置转
- littleshrimp 汽车电子
设计资源 培训 开发板 精华推荐
- 使用 Analog Devices 的 LT1317BIS8 的参考设计
- 便携式镍镉/镍氢电池充电器
- 使用 ROHM Semiconductor 的 BD45345 的参考设计
- LT5575 的典型应用 - 800MHz 至 2.7GHz 高线性度直接转换正交解调器
- LTC1681、36V-72V DC 至 5V/7A 同步正向转换器
- DC9000B,基于 LTC5800 芯片天线 + 100 个节点容量的 SmartMesh IP 入门套件
- TPA3116蓝牙功放板 -开源公开版 V1.4 TC版
- OP295GSZ 低噪声单电源前置放大器的典型应用
- TCR5SB49、200mA、4.9V 输出电压 CMOS 低压降稳压器的典型应用
- 用于 LED 照明的 DC 到 DC 单路输出电源