根据芯片是否在板烧录,可以分为离线烧录和在线烧录。
离线烧录:通常指“裸片烧录”,MCU芯片在未贴PCB板之前,搭配相应的适配座放在编程器上进行烧录。我们知道嵌入式芯片工作需要基本的外围线路才能工作,烧录其实也是一样。离线烧录相当于把芯片烧录所需的外围线路和设备(如供电和JLINK)做在了离线编程器上。芯片放入适配座上电后,就构成了一个基础烧录环境,通过PC或者编程器本身的一些扩展功能,即可烧录相应程序。不考虑放置和取出芯片的时间,烧录速度非常快。
在线烧录:通常指的是,芯片已经贴在了PCB上,通过芯片本身的各种通讯接口,如USB、SWD、JTAG、UART等进行编程。这种方式受限于串行接口本身的性能,速度有的快有的慢,如果使用的是SWD或者JTAG方式,烧录速度与离线差不多,如果是通过UART之类的,受限于波特率,速度相对较慢。产品开发过程中,程序员通过jlink盒下载调试程序就属于在线烧录方式的一种。
ICP(In Circuit Programming):在电路编程,通过芯片的Debug Access Port进行代码烧录,比如ARM 内核芯片主要用SWD(Serial Wire Debug)或JTAG(Joint Test Action Group)。章节2中提到的离线烧录其实也可以归为此种方式。
ISP(In System Programming):在系统编程,可借助芯片厂商预置的Boot-loader 实现通过板载UART、USB、SPI等接口烧录代码,比如STM32系列芯片内部大都预置厂商的Boot-loader,通过ST的flash-loader上位机可以让MCU支持通过UART下载。
IAP(In Application Programming):在应用编程,由开发者实现Boot-loader功能进行烧录升级。一般来说,嵌入式产品的软件都会分为两部分,第一部分为Bootloader,第二部分为主程序(Main APP),它们存放在flash的不同区域。Bootloader是上电或者复位以后先执行的,通过它,我们可以初始化一些硬件设备、检测程序的完整性,判断是否需要从Bootloader跳转到APP或者更新APP。而主程序呢,则是真正用来实现面向客户的产品功能。通常呢,在Bootloader会实现一种或者一种以上的IAP方式,可能是UART,SPI,CAN或者Ethernet等。手机刷机、手环通过蓝牙升级等就属于这种。
海洛电子是专业从事烧录机、IC代工烧录、自动烧录器、屏蔽箱、拷贝机等产品的研发制造和销售。公司秉持着[专业、品质、诚信、服务]的经营理念,以服务客户为己任,以诚信服务,合作共赢为公司方针,我们将不断创新技术,提供更多的产品供客户选择。凭借专业的技术与热诚的服务,海洛电子愿与您共同发展,共创美好未来!
东莞市长安镇河东二路44号A栋
13925506787
zslhenry@gd-hailo.com