網(wǎng)上看到的資料恐仑,在此做個(gè)筆記記錄下
說(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) - 在線電路編程
- ISP (In System Programing) - 在線系統(tǒng)編程
- IAP (In applicating Programing) - 在線應(yīng)用編程
常用的下載方式有
- JTAG編程:通過(guò)JTAG協(xié)議進(jìn)行編程
- SWD編程:通過(guò)SWD協(xié)議進(jìn)行編程
- UART編程:通過(guò)UART進(jìn)行編程
1. ICP
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)用戶配置字(Config)芯片壤追。
2. ISP
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)和用戶配置字(Config)疯特。
這種方式需要單片機(jī)首先要已寫(xiě)入 LDROM / BootLoader
。比如8051單片機(jī)出廠就已經(jīng)寫(xiě)入肛走,所以方便新手通過(guò)ISP+串口下載程序漓雅。新唐51單片機(jī)出廠就沒(méi)有寫(xiě)入,第一次需要購(gòu)買 Nu-Link朽色,通過(guò)ICP寫(xiě)入LDROM邻吞。
3. IAP
IAP是指“在應(yīng)用上程序設(shè)計(jì)”,通過(guò)軟件實(shí)現(xiàn)在線電擦除和編程的方法葫男。IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體抱冷,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對(duì)另一個(gè)存儲(chǔ)體重新編程梢褐,之后將程序從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)旺遮。
在線系統(tǒng)/程序升級(jí)就是使用該功能。
參考:
https://zhuanlan.zhihu.com/p/69237591
https://www.nuvoton.com.cn/support/technical-support/faq/d3e8cc25-04f1-11ea-b113-05daf7eedf03/