单片机下载有三种:
①离线下载:
离线下载为把单片机取下,放在编程器上下载,这种方式通常使用并行的方式写入程序。量产的时候一般用离线方式,烧好的芯片拿到车间焊接。很多公司下载是专人负责,保密性强,我们接项目时也是这种方式给客户,烧一个芯片说明你生产了一台,用这种方式提成。
②一种为在系统下载:
在系统下载就是你说的ISP(In System Programming),单片机在线路板上不用取下。USB下载只是其中之一,像STC单片机可以通过串口下载,ATMEL单片机通过SPI下载,还有的像ARM单片机通过JTAG下载等等。研发的时候一般用ISP方式下载,可以在线编程,就像我们平常用户使用的下载方式,这样不用来回焊下芯片,可直接进行编程在线下载。当然,当我们使用这种方式的时候要注意去官网查看该单片机是否支持ISP下载;比如STC公司的51单片机支持该下载方式,并在官网提供该下载方式的电路设计,如图:
直接通过串口下载电路(TTL电平转换)
通过USB转串口下载电路(都为TTL电平,所以不用转换电平)
③一种为升级下载(通过IAP方式):
升级下载和ISP下载差不多,之不过通过已经写入到单片机的程序来改写自身的FLASH。多用于远程方式烧写,这种方式常用在手机或示波器等仪器的升级,或通过以太网这种远程的方式改变程序。卖到客户手中后就用升级下载,这种时候你的设备可以在全国乃至全球各地,不可能跑过去一个客户一个客户的改烧写。那么就用这种方式。总结:
至于为什么能使用串口下载程序进入单片机FLASH,这个问题对于我这种哎钻牛角尖的人种来说真的很费解,按照我现在的理解,我想应该是FLASH的某个地址段添加了串口程序(针对串口方式下载)吧,再结合上位机下载软件进行对FLASH的写操作!