除錯埠
除錯埠(Debug port)是電子系統或是集成电路中診斷用的接口,可以協助設計、器件制造、韌體開發、bootstrapping、自動組態、调试以及在線燒錄。一般來說,終端使用的功能不需用到除錯埠,成品會隱藏除錯埠或是使其無效。
在架構高可用性或是生命攸關系統中的除錯埠,可能會在產品的整合驗證中當作系统监视器,因此保留下來。在低價或是大量的電子產品中,有可能因為要避免設計變更而產生的成本,而保留除錯埠,而駭客或改機者也常會透過除錯埠而取得設備的額外機能。因此也有些網路安全的規範或是實務會要求移除產品的除錯埠。
硬體除錯埠的例子
- UART
- 集成电路上的JTAG埠
- 原始Xbox上的LPC匯流排除錯埠
- 串列除錯(SWD),是ARM Cortex-M系列微處理器的共用介面。
- 背景除錯模式介面(BDM)
- Atmel AVR的程式及除錯介面
- Nexus debug
微控制器上的除錯埠
微控制器一般會比主流的中央處理器要小,不過更適合用在单片系统(SoC),有可能微控制器是電路板上僅存的少數複雜晶片之一。
SoC中的微控制器會使用內部的闪存來儲存程式,也有可能有以EEPROM為基礎的熔絲,儲存MCU開機時進入運作模式需要的重要訊號。除錯埠可能是唯一初始組態定時器訊號或是在生產後載入第一個軟體的途徑。
USB設備韌體更新
自從2010年起,有許多MCU整合了USB週邊以及設備韌體更新(DFU)功能[1]。這類MCU適合一些想接觸MCU,但不想購買存取特定除錯介面(JTAG)硬體工具的玩家。
這類設備有經過設計,不容易因為燒錄不當而變成磚塊無法使用。不良的韌體更新可以透過送電狀態下長按某個鈕而清除,系統會用其內部預設的唯讀記憶體中的程式重新開機 ,後續可以利用內建的USB控制器作為燒錄介面。DFU可以視為是一種軟體的除錯埠,不過其除錯能力比專門的硬體除錯埠要弱很多,而且這有其脆弱的本質,除錯介面是除錯軟體來實現,若軟體無法正常工作,也就無法使用除錯介面了。
相關條目
參考資料
- ^ AN10986: USB In-System Programming with the LPC1300 (Rev. 1) (PDF). nxp.com. NXP Semiconductors. 24 September 2010 [5 September 2020].