2013年6月27日

ISP、IAP 區別


ISP : In System Programming (在系統燒錄)
IAP : In Application Programming (在軟體燒錄)

這兩種方式都不需要將要 MCU從PCB上取下即可做燒錄或除錯。

ISP:
利用燒錄器直接燒錄板子上的MCU,如 JTAG、SWD、SBW 。
通常需要些外部電路與 MCU內部燒錄介面連結,再經由 MCU內部的燒錄介面對內部的Memory 做資料的讀寫。

燒錄器透過MCU內部的JTAG界面對內部的Flash做讀寫動作
ISP 示意圖












IAP:
將 內部 Flash分成兩個區塊,一區放置燒錄內部 Flash的程式碼(Boot Loader),另一區才是主程式碼(main),可以經由 UART、USB或網路來做韌體更新,只需要給定特定的Command 或開機流程,就可以進入Boot Loader做自身燒寫的動作,可以不需要外加外部電路,不過相對的,可放置的Code size因此會變小。
透過內部Boot Loader 對Flash 做燒錄。
IAP 示意圖















注1. Boot Loader:通常要先經過 ISP燒錄到 Flash 或是 MCU出廠時已經預燒錄好,有些 MCU 如STM32 原廠有規劃一個區域放置 Boot Loader,這個區域是無法被更動的,只要依照原廠給的方式就可以進入Boot Loader模式,不需要事先燒錄Boot Loader。


參考資料:
http://www.360doc.com/content/11/0718/12/4384349_134257221.shtml

沒有留言:

張貼留言