新聞中心
直接燒錄與透過 MPU/MCU 間接燒錄的比較
實作在線燒錄的兩種方式,以及如何依成本、速度與硬體複雜度在兩者之間做出選擇。
在線燒錄(In-System Programming, ISP)是一項關鍵技術,能讓微控制器(MCU)、記憶體、CPLD 等元件在不從電路板上拆下的情況下完成燒錄。由於元件在裝配完成後仍可進行燒錄、更新與設定,這項技術同時簡化了開發與製造流程。
實作在線燒錄主要有兩種方式:
- 直接在線燒錄(直接燒錄)
- 透過 MCU 或微處理器(MPU)進行在線燒錄
要選擇哪一種,主要取決於專案的具體需求、整體成本、效能期待,以及硬體設計的複雜度。兩種方式各有其優勢與取捨。
直接在線燒錄
直接在線燒錄(又稱直接燒錄)是燒錄電路板上記憶體元件最常見的作法。目標元件會直接透過專用的除錯介面進行燒錄,例如 UART、SPI、I2C、JTAG 或 SWD(Serial Wire Debug)。這些介面讓燒錄系統能將韌體直接載入元件的記憶體中。實際的燒錄程序主要有兩種進行方式:
- 透過除錯介面直接燒錄:韌體經由除錯介面直接傳送至目標元件的記憶體。這種方式相對單純,通常用於目標元件本身具備可直接通訊介面的情況。
- 透過 RAM 中的應用程式間接燒錄:燒錄系統先將一個應用程式載入目標元件的 RAM,該程式執行後會透過除錯介面與燒錄系統通訊,並實際執行燒錄作業。RAM 在此扮演可執行程式碼的暫存空間,讓燒錄系統得以將韌體寫入元件的非揮發性記憶體。
直接在線燒錄的優點
- 單純:由於直接運用標準除錯介面,實作上通常較為簡單。
- 快速:透過專用介面燒錄通常更快也更有效率,使用 JTAG/SWD 或 SPI 等高速協定時尤其明顯。
- 支援普及:許多 MCU 與可程式化元件原生就支援透過這些常見除錯介面進行直接燒錄,因此這是一種被廣泛接受且容易取得的方案。
直接在線燒錄的缺點
- 在複雜系統中彈性受限:當板上存在多顆元件時,部分元件的除錯介面可能無法使用或難以存取。此時這種方式可能完全不可行,或必須額外增加硬體才能進行。
透過 MCU/MPU 進行在線燒錄
與直接燒錄不同,透過 MCU 或 MPU 進行在線燒錄,是以一顆中介的微控制器或微處理器來燒錄目標元件。當目標元件無法直接經由除錯介面燒錄,或系統設計並未提供這類介面的存取管道時,就會採用這種作法。
在此架構中,目標元件會連接到 MCU/MPU 的某個周邊介面,例如 QSPI 或特定的 GPIO 接腳。當燒錄環境無法直接存取目標元件的除錯介面時,改由 MCU/MPU 本身的除錯介面(JTAG、USB 等)將應用程式載入中介元件的 RAM。該程式載入並執行後,會設定並初始化系統周邊、取得其控制權,再透過除錯介面與燒錄系統通訊,燒錄連接在中介 MCU/MPU 上的目標元件。
透過 MCU/MPU 燒錄的優點
- 彈性更高:在目標元件沒有直接除錯介面,或需要對周邊介面有更多控制權的複雜系統中,這項優勢特別明顯。
透過 MCU/MPU 燒錄的缺點
- 複雜度提高:由於需要額外的軟體來控制燒錄流程,系統設計會變得更為複雜。
- 燒錄速度較慢:燒錄速度取決於中介 MCU/MPU 的效能,而非目標元件本身的除錯介面,因此可能比直接燒錄來得慢。
如何在兩者之間做選擇
這項決策取決於幾個面向:
- 專案需求。若目標元件的除錯介面可供存取,且燒錄作業要求快速而單純,則以直接燒錄為佳。若系統較為複雜,或目標元件沒有除錯介面,就必須改用透過 MCU/MPU 的方式。
- 成本與硬體設計。直接燒錄通常所需資源較少、軟體也較單純;透過 MCU/MPU 燒錄則會增加軟體複雜度,並可能推高成本。
- 效能需求。直接燒錄的速度較快,適合大量生產或高效能應用。透過 MCU/MPU 燒錄雖然彈性較高,但速度可能較慢,也會帶來額外的負擔。
- 系統複雜度。元件數量有限的簡單系統,通常使用直接燒錄即可。對於元件較多的大型系統,或需要對周邊介面進行特殊控制的情況,透過 MCU/MPU 燒錄往往是更好的選擇。
結語
直接在線燒錄與透過 MCU/MPU 的在線燒錄各有所長,分別適合不同類型的專案。當可直接使用除錯介面時,一般會因為單純與快速而優先採用直接燒錄;而在需要更高彈性的情況下 — 例如複雜系統,或目標元件缺乏直接燒錄介面時 — 透過中介 MCU/MPU 燒錄則更具優勢。最終的選擇仍取決於專案的具體需求,包括硬體設計複雜度、效能要求與成本考量。