"); //-->
在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。ISP的实现一般需要很少的外部电路辅助实现,而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。 ISP和IAP很相似,都是不需要把芯片从板子上拔出来,就达到了用PC-MCU的编程接口(JTAG、串口、双绞线、SPI等)搞定新版本的升级的目的。MCU内部都是首先执行一段独立的Boot代码(这段Boot代码一般是出厂预置,或使用编程器烧录的,通常只有1k或4k,SST通常是占用一块独立的Block,Philips通常是让BootROM地址与其他Flash重叠,以达到隐藏的效果),Boot负责控制擦除程序存储器及给程序存储器编程的代码(或是处理器外部提供的执行代码),然后通过某种与PC计算机的通信方式(如,ether网口),将用户指定的某个在PC上编译完成的MCU可运行的二进制代码文件编程入MCU内的程序存储器。
ISP和IAP最大的不同是:由谁来触发。
ISP有4种触发方式:
1.由外部硬件电路:如VDD保持高电平,给RST连续3个脉冲;
2.检测状态位:如ISPEN,为0时PC指针从0000H开始执行;为1时,通过“引导向量”计算出“ISP代码”的位置。每次复位后都会检测该状态位;
3.中止控制符信号触发芯片复位:中止控制符信号就是指在异步串行口的接收脚上出现长 达一帧长度的低电平,这里一帧的长度与异步串行口的工作模式有关。
4.直接调用ISP:用户程序也可以调用,但是很危险。
4种方式的目的是相同的——进入ISP子程序,比如Philips出厂的ISP子程序在1E00H-1FFFH,只要能引导PC指针指向1E00H就可以了。
而进入ISP代码的目的是:进入BootROM。
IAP的触发比较简单一些,没有外部触发。通过一些指示位(SST为SC0/SC1、SFCF[1,0];Philips为一段IAP子程序,保存在FF00H~FFFFH地址空间中),达到引导到BootROM的目的。
殊途同归,ISP、IAP所进入的BootROM里面驻留的Boot代码,才是最终目标。
最后一种:并行编程模式。不需要BootROM,直接设置芯片的多个引脚来让芯片识别命令(如:擦除、写入、验证等),从P口传地址、数据,就可以写入Flash
用LPC2000的IAP,你自己分配好FLASH空间,指定一个BLOCK用来存放你的数据,然后通过IAP进行写操作。每次开机后,从这个BLOCK读你的数据。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
低速串行总线调试-RS232译码
用PT2124的多功能电风扇伴蟋蟀声控制电路
北京男人的迷人之处
用LC902的多功能电风扇伴鸟鸣声控制电路
低速串行总线调试-I2C译码
大学时期歌词
用LC903的多功能电风扇伴蛙鸣声控制电路
搭载Apple A18的便宜的MacBook实际上擅长什么?
全球晶圆代工产能排名:中国超越韩国,跃居第二
电流通过有缝地层导线时的回流路径及分布场图
低速串行总线调试-CAN译码
电力电子场控器件及其应用
电力电子场控器件及其应用12
电工实用线路300例
想要与众不同?Windows Embedded帮你实现
多功能电风扇伴音乐、彩灯控制电路(PT2127)
求购S3C4510B开发板
美国扩大防堵AI芯片出口走私 执行面是最大挑战
电路板设计的革命性技术:并行设计法
为探索者赋能,RIGOL发布多通道波形发生及先进计算解决方案
用BA3107的多功能电风扇伴动物叫声控制电路
iPhone 17 Pro Max苹果史上最强续航机型
谁有T2.2 for arm上传一份啊
百亿估值:宇树科技计划在2025年底前递交IPO申请,腾讯阿里押注
俄罗斯据称正在测试由英伟达 Jetson Orin 驱动的致命下一代人工智能无人机
线控技术重构汽车电子架构,电感式位置传感器成就标杆应用
写好论文的英文摘要-清华大学学报的建议
台积电欧洲首个芯片设计中心锁定德国慕尼黑,同步启动“欧洲制造计划”
低速串行总线调试-SPI译码
Gartner:到2030年,80%企业软件和应用将为多模态,2024年尚不足10%