单片机的烧写原理是什么?有哪些芯片烧写方法?
日期:2021-09-26 13:13:02浏览量:2465标签:芯片烧录
单片机烧写,又称为单片机程序下载、烧录等,本质上是单片机和PC机按照芯片厂家规定的编程协议,通过芯片厂家规定的接口,把已编译好的程序传输到单片机,单片机把数据存储到自身存储器中的过程。在嵌入式系统中,常需要将代码或数据烧写至MCU片内Flash或者片外的Nor Flash、Nand Flash、SPI Flash等。单片机的烧写原理是什么?哪种方式对于产品来说是最好的呢?下面来介绍几种芯片烧写方法。
编程器烧写
使用专用编程器加上对应的适配座完成Flash烧写操作,要求芯片先烧写完成再焊接在目标板上,这种方式是最常用的,速度快、易上手是它的最大特点。有了专业工具的辅助,流水线上的普通工人稍作培训就能上岗操作。由于各种芯片不同封装,需要不同的适配座,这是客户需要考虑的投入。
ISP烧写
在系统编程(In-System Programming),通过MCU片内BootROM完成在板Flash烧写操作。要求芯片出厂时带有ISP固件,一般通过串行方式烧写,这种方式烧写速度很慢,不适用烧写容量大的代码场合。比如:LPC1700系列芯片,通过串口接口,使用上位机软件FlashMagic即可烧写,由于串行烧写速度慢,不适用于量产烧写的场合。
IAP烧写
在应用中编程(In-Application Programming – IAP),支持用户程序运行时烧写Flash,但要求部分用户程序已经烧写至MCU片内Flash。
调试接口烧写
由于Arm®内核的芯片越来越普及,借助仿真器通过MCU的调试接口(如JTAG/SWD等)控制MCU完成片内Flash甚至外扩的Flash烧写。这种方式芯片先焊接在板上再烧写,适用于产品维修升级,不需要多次焊接芯片,特别对于管脚数较大的芯片,多次焊接容易导致损坏;同样适用于封装怪异的MCU,如QFP144/QFN/HVQFN/BGA等。
通常我们把第一种称为离线烧写或者裸片烧写,另外的ISP烧写、IAP烧写、调试接口烧写称为在线烧写,就是芯片已经安装至电路板的情况下,不需要将芯片从电路板取下即可完成Flash的烧写操作。
理解这个原理需要知道几个知识点:
单片机内部是有程序的,是出厂时固化在硬件中,用户无法修改的(这也会被认为它内部没有程序),这些程序可以调用各种通信接口、内部存储器等;
可以下载的通信接口:JTAG,SPI,UART,usb等;(还有很多可以扩展485、以太网等)
编程协议:一般大厂都会公开的,在芯片的专用技术手册中会有;
存储器:有很多种,掩膜,EPROM,EEROM,flash等寿命不一样,掩膜只能一次,而且要工厂做,flash擦写次数10000+;
可以这样比喻性的理解:单片机就是电脑的主板,我们写的程序就是操作系统,主板里面装入引导操作系统的基本程序,下载程序就是给电脑装系统!
初次接触嵌入式的朋友对编程、烧录的概念感到困惑,认为内存必须用火烧制。实际上,嵌入式编程、烧录的概念,就是将程序写入存储器,类似于日常生活中的下载。此外,该记录器功能齐全,用户可以删除、检查、编程、检查、加密等常用命令序列,自由组织单个命令。值得注意的是,一般来说,支持芯片型号较多的记录器更好,可以最大限度地提高生产率。