說(shuō)到燒錄程序,我最開(kāi)始接觸學(xué)習(xí)的是STC的51單片機(jī),通過(guò) STC-ISP 燒錄軟件連接串口下載程序。后來(lái)學(xué)習(xí)STM32,也可以通過(guò)串口下載,為了方便在機(jī)調(diào)試,使用 J-Link 連接 JTAG/SWD 下載和調(diào)試程序。
現(xiàn)在來(lái)整理下單片機(jī)下載程序方式。
單片機(jī)燒錄方式主要分為三種:ICP、IAP、ISP。
ICP (In Circuit Programing) - 在線(xiàn)電路編程
ISP (In System Programing) - 在線(xiàn)系統(tǒng)編程
IAP (In applicating Programing) - 在線(xiàn)應(yīng)用編程
常用的下載方式有
JTAG編程:通過(guò)JTAG協(xié)議進(jìn)行編程
SWD編程:通過(guò)SWD協(xié)議進(jìn)行編程
UART編程:通過(guò)UART進(jìn)行編程
ICP是指“在電路編程”。一般需要 xx-Link 燒錄工具,連接PC和MCU。
常用的燒錄工具為J-Link、ST-Link、Nu-Link。與之配套的燒錄軟件為J-Flash、st-link utility、NuMicro_ICP_Programming_Tool。通過(guò)SWD接口進(jìn)行燒錄。這種方式某些情況下可以重寫(xiě)LDROM(也就是BootLoader,啟動(dòng)引導(dǎo)程序或引導(dǎo)區(qū))
比如新唐單片機(jī),PC上運(yùn)行的軟件“NuMicro ICP編程工具”透過(guò)SWD的端口更新晶片內(nèi)部LDROM、APROM、數(shù)據(jù)閃存(DataFlash)和目標(biāo)用戶(hù)配置字(Config)芯片。
image.png
ISP是指“在系統(tǒng)上編程”。一般通過(guò)PC串口就可以下載程序(通常需要串口轉(zhuǎn)換模塊,比如PL2303、RS-485等)。
比如新唐單片機(jī),目標(biāo)芯片使用USB/UART/SPI/I2C/RS-485/CAN周邊接口的LDROM引導(dǎo)代碼去更新晶片內(nèi)部APROM、數(shù)據(jù)閃存(DataFlash)和用戶(hù)配置字(Config)。
image.png
這種方式需要單片機(jī)首先要已寫(xiě)入 LDROM / BootLoader
。比如8051單片機(jī)出廠(chǎng)就已經(jīng)寫(xiě)入,所以方便新手通過(guò)ISP+串口下載程序。新唐51單片機(jī)出廠(chǎng)就沒(méi)有寫(xiě)入,第一次需要購(gòu)買(mǎi) Nu-Link,通過(guò)ICP寫(xiě)入LDROM。
IAP是指“在應(yīng)用上程序設(shè)計(jì)”,通過(guò)軟件實(shí)現(xiàn)在線(xiàn)電擦除和編程的方法。IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶(hù)程序時(shí),可對(duì)另一個(gè)存儲(chǔ)體重新編程,之后將程序從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。
在線(xiàn)系統(tǒng)/程序升級(jí)就是使用該功能。
適用于所有電子電路制造行業(yè)、及半導(dǎo)體相關(guān)產(chǎn)業(yè)