單片機的燒寫原理是什么?有哪些芯片燒寫方法?
日期:2021-09-26 13:13:02 瀏覽量:3358 標(biāo)簽: 芯片燒錄
單片機燒寫,又稱為單片機程序下載、燒錄等,本質(zhì)上是單片機和PC機按照芯片廠家規(guī)定的編程協(xié)議,通過芯片廠家規(guī)定的接口,把已編譯好的程序傳輸?shù)絾纹瑱C,單片機把數(shù)據(jù)存儲到自身存儲器中的過程。在嵌入式系統(tǒng)中,常需要將代碼或數(shù)據(jù)燒寫至MCU片內(nèi)Flash或者片外的Nor Flash、Nand Flash、SPI Flash等。單片機的燒寫原理是什么?哪種方式對于產(chǎn)品來說是最好的呢?下面來介紹幾種芯片燒寫方法。
編程器燒寫
使用專用編程器加上對應(yīng)的適配座完成Flash燒寫操作,要求芯片先燒寫完成再焊接在目標(biāo)板上,這種方式是最常用的,速度快、易上手是它的最大特點。有了專業(yè)工具的輔助,流水線上的普通工人稍作培訓(xùn)就能上崗操作。由于各種芯片不同封裝,需要不同的適配座,這是客戶需要考慮的投入。
ISP燒寫
在系統(tǒng)編程(In-System Programming),通過MCU片內(nèi)BootROM完成在板Flash燒寫操作。要求芯片出廠時帶有ISP固件,一般通過串行方式燒寫,這種方式燒寫速度很慢,不適用燒寫容量大的代碼場合。比如:LPC1700系列芯片,通過串口接口,使用上位機軟件FlashMagic即可燒寫,由于串行燒寫速度慢,不適用于量產(chǎn)燒寫的場合。
IAP燒寫
在應(yīng)用中編程(In-Application Programming – IAP),支持用戶程序運行時燒寫Flash,但要求部分用戶程序已經(jīng)燒寫至MCU片內(nèi)Flash。
調(diào)試接口燒寫
由于Arm?內(nèi)核的芯片越來越普及,借助仿真器通過MCU的調(diào)試接口(如JTAG/SWD等)控制MCU完成片內(nèi)Flash甚至外擴的Flash燒寫。這種方式芯片先焊接在板上再燒寫,適用于產(chǎn)品維修升級,不需要多次焊接芯片,特別對于管腳數(shù)較大的芯片,多次焊接容易導(dǎo)致?lián)p壞;同樣適用于封裝怪異的MCU,如QFP144/QFN/HVQFN/BGA等。
通常我們把第一種稱為離線燒寫或者裸片燒寫,另外的ISP燒寫、IAP燒寫、調(diào)試接口燒寫稱為在線燒寫,就是芯片已經(jīng)安裝至電路板的情況下,不需要將芯片從電路板取下即可完成Flash的燒寫操作。
理解這個原理需要知道幾個知識點:
單片機內(nèi)部是有程序的,是出廠時固化在硬件中,用戶無法修改的(這也會被認(rèn)為它內(nèi)部沒有程序),這些程序可以調(diào)用各種通信接口、內(nèi)部存儲器等;
可以下載的通信接口:JTAG,SPI,UART,usb等;(還有很多可以擴展485、以太網(wǎng)等)
編程協(xié)議:一般大廠都會公開的,在芯片的專用技術(shù)手冊中會有;
存儲器:有很多種,掩膜,EPROM,EEROM,flash等壽命不一樣,掩膜只能一次,而且要工廠做,flash擦寫次數(shù)10000+;
可以這樣比喻性的理解:單片機就是電腦的主板,我們寫的程序就是操作系統(tǒng),主板里面裝入引導(dǎo)操作系統(tǒng)的基本程序,下載程序就是給電腦裝系統(tǒng)!
初次接觸嵌入式的朋友對編程、燒錄的概念感到困惑,認(rèn)為內(nèi)存必須用火燒制。實際上,嵌入式編程、燒錄的概念,就是將程序?qū)懭氪鎯ζ鳎愃朴谌粘I钪械南螺d。此外,該記錄器功能齊全,用戶可以刪除、檢查、編程、檢查、加密等常用命令序列,自由組織單個命令。值得注意的是,一般來說,支持芯片型號較多的記錄器更好,可以最大限度地提高生產(chǎn)率。