1  ISP和IAP的工作原理
  ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。 
  IAP的实现相对要复杂一些,在实现IAP功能时, 单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能。

2 ISP和IAP的优点 
  ISP技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。 
   IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。  
   ISP的实现一般需要很少的外部电路辅助实现 , 而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。

ISP 和IAP 原理与区别相关推荐

  1. 系统编程(ISP)与应用编程(IAP)的区别!

    系统编程(ISP)与应用编程(IAP)的区别! 1.定义 (1)系统编程(ISP) ISP在系统编程是指电路板上的空白器件可以编程写人最终用户代码,而不需要从电路板上取下器件.已经编程的器件也可以用I ...

  2. ISP与IAP的区别

    ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程.IAP(In ...

  3. 单片机ISP、IAP和ICP几种烧录方式的区别

    单片机ISP.IAP和ICP几种烧录方式的区别 玩单片机的都应该听说过这几个词.一直搞不太清楚他们之间的区别.今天查了资料后总结整理如下. ISP:In System Programing,在系统编程 ...

  4. ISP、IAP、ICP的区别!

    ISP.IAP.ICP烧写方式的区别 ISP:In System Programing          在系统编程 IAP:In applicating Programing    在应用编程 IC ...

  5. ISP、IAP、ICP、JTAG、SWD的编程特点!种编程方式区别总结

    转载自:http://www.eeskill.com/article/id/38434 http://bbs.ic37.com/bbsview-33838.htm 电子工程师都知道,半导体技术发展迅猛 ...

  6. 单片机三种烧录方式ISP、IAP和ICP有什么不同?

    关注+星标公众号,不错过精彩内容 编排 | strongerHuang 微信公众号 | 嵌入式专栏 学习单片机的同学,或多或少都听说过ISP.IAP和ICP,都是对单片机进行编程,下面简单来说下这几个 ...

  7. stm32数据手册boot_STM32的ISP下载的原理是什么呢?

    点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看编程笔记! 上一篇笔记分享了:STM32串口IAP分享.其中,下载IAP程序是用ISP的方式进行下载.这里的ISP又是什么呢? ISP方式下载程 ...

  8. 【IAP】STM32和GD32的IAP原理分析、教程、资料整理

    文章目录 前言 一.什么是IAP? 二.IAP执行原理(以STM32F10X为例) 2.1 STM32F10X的储存器映像 2.2 正常上电的运行流程 2.3 加入IAP后的Bootloader运行流 ...

  9. 单片机ICP、ISP、IAP

    ICP:使用JLINK等工具进行程序烧写和升级. ISP: ISP烧录的前提是单片机的ROM中固化有boot程序,此程序是用户无法修改的,用来做串口通讯和编程FLASH ROM. ISP烧录的原理是机 ...

最新文章

  1. Tarjan无向图连通性
  2. drupal建设多语言站点之四:不同语言的站点名称
  3. 在SQLServer中自动产生移动数据库的TSQL语句
  4. getpass 模块
  5. c语言解析json报文源码,GitHub - faycheng/cJSON: cJson源码和源码分析
  6. mysql整点抖动_MySQL 5.5 大量数据插入出现的抖动问题 及 解决方法
  7. (10) nginx 统计模块安装使用和优化
  8. leetcode435. 无重叠区间
  9. java access 不在本地_线上的java项目访问不到线上数据库,但是这个数据库我本地可以连接到,求解...
  10. DFS和BFS算法介绍
  11. python面向对象的特殊方法和单例模式
  12. [转]CellCtrl控件完美破解研究
  13. HDU_1198 Farm Irrigation(并查集)
  14. SAE J1939 协议源代码分析(二)-程序移植
  15. Android超精准计步器开发-Dylan计步
  16. c语言删除字符串中特定字符串,C语言删除字符串中指定字符的例子
  17. Iexplore.exe[XXXX]中发生未处理的win32异常”解决办法
  18. 【文献阅读01】Eco-Vehicular Edge Networks for Connected Transportation: A Distributed Multi-Agent Reinfor
  19. flvplayer.swf flv视频播放器使用方法
  20. 利用QGIS下载地图数据

热门文章

  1. 【数据库系统】空值的处理
  2. 如何将河道水系CAD数据导入HEC-RAS中?详细教程!
  3. Windows 7 Build 7068 下载泄露
  4. html+css3跑马灯(抖音我们的照片记录幸福到永远)
  5. 2016福州大学软件工程第二次作业成绩
  6. 解决IOS下window.open页面打不开问题
  7. 【论文】联邦学习区块链 论文集(一)
  8. 学ios 需要学html5me,针对iOS平台移植Flash内容的指导教程(1)
  9. MacOS 配置 go 开发环境
  10. 计算机面试工作计划,信息技术部面试自我介绍