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