最近的技術發展導致了系統調試和優化復雜性的飛躍。系統變得越來越小,越來越復雜,許多不同的功能被集成在一個芯片上。在嵌入式開發中,多個芯片之間有更多的通信。甚至什么構成了一個bug也變得更加難以定義。
更大、更復雜的系統意味著調試、故障排除或微調設備的過程更長、更艱巨。如果一個組織需要幾個月的時間來調試,那就相當于幾個月的收入損失。
很少有人愿意為調試支付額外費用。這是一種必要的邪惡。任何可以最小化調試影響的事情都是有價值的。MIPI聯盟廣泛的標準化調試和跟蹤規范組合旨在簡化物聯網(IoT)、汽車、5G和其他應用領域的移動系統開發。
分層、系統化方法
MIPI采取了分層的方法進行調試和跟蹤,從最底層的硬件一直到軟件層。這個想法是讓一個組織能夠挑選它需要的規范,有策略地將它們加入到它的嵌入式開發環境中,然后圍繞標準分層的接口和協議集添加它自己的價值。九個MIPI調試和跟蹤規范的組合最近公開提供下載:
l 用于IP套接字的MIPI千兆調試(MIPI GbD IPS)v1.0-MPI GbD IPS是一種適配器,用于促進從智能手機到物聯網端點的所有類型連接設備的遠程調試。
l MIPI Gigabit Debug for USB(MIPI GbD USB)v1.1-MIPI GbD USB最大限度地減少了調試對系統功能的影響,并使工程師能夠在連接承載其他流量時使用USB連接調試設備。
l MIPI高速跟蹤接口(MIPI HTI)v1.0-MPI HTI是數據端口的串行實現,通過在裸機環境中重用這些接口的低級別物理高速部分,利用了可用的高速串行接口技術。通過這種方式,與并行實現相比,MIPI HTI以更少的I/O引腳提供更高的傳輸帶寬。
l 用于調試和測試的MIPI窄接口(MIPI NIDnT)v1.2-MIPI NIDnT標準化了設備上用于調試和試驗程序的功能端口的使用。該規范旨在使嵌入式開發人員更容易識別復雜設計中的問題,并通過最小化對昂貴的專有測試工具的依賴來降低開發成本。設計師喜歡在移動和受移動影響的設計中廣泛使用的其他接口上執行調試和測試的多功能性。
l MIPI并行跟蹤接口(MIPI PTI)v2.0-MPI PTI是一個具有多個數據信號和時鐘的并行接口,用于將有關系統功能和行為的跟蹤數據導出到主機系統以進行分析和顯示。
l MIPI SneakPeek協議(MIPI SPP)v2.0-MIPI SPP允許調試測試系統(DTS)和移動終端目標系統(TS)之間的通信,有助于DTS內的軟件調試TS操作。用戶減少了對專用調試通信接口的依賴,并利用熟悉的地址映射讀寫事務機制來觀察、查詢和調整TS。
l MIPI系統跟蹤協議(MIPI STP)v2.2作為一種通用的基本協議開發,可由多個特定于應用程序的跟蹤協議共享,MIPI STP允許其數據流與高度優化的協議共存,該協議用于傳輸處理器程序流、定時或低層總線事務的數據。
l MIPI系統軟件跟蹤(MIPI SyS-T)v1.0-MPI SyS-T是用于在測試系統和設備(例如片上系統(SoC)或平臺)之間傳輸軟件跟蹤和調試信息的通用數據格式。在嵌入式開發中,它提供了一種與供應商或操作系統(OS)無關的便捷方法,可以跨軟件、固件或硬件實現交換調試信息。
MIPI跟蹤包裝協議(MIPI TWP)v1.1-MIPI TWP允許將多個源跟蹤流折疊為單個跟蹤流。源字節流被分配了系統唯一標識,包裝協議封裝了系統中的所有流。
此外,MIPI Debug for I3C是一種用于在DTS和TS之間傳輸調試控制和數據的規范,正在開發中,計劃于2020年公開。
MIPI調試工作組遵循了許多不同的策略,以盡量減少調試和跟蹤過程的影響。例如,減少專用接口對于物聯網和其他移動應用領域尤其重要,因為用戶無法負擔將主要的房地產用于額外的引腳和額外的尺寸。具有重用接口和利用功能接口的能力解決了高效使用不動產的需求,因此這一需求為工作組開發和完善MIPI調試和跟蹤規范提供了信息。
此外,在嵌入式開發中,在開發調試和跟蹤規范時,MIPI力求:
l 最小化引腳成本并提高基本調試接口的性能
l 提高高性能接口的帶寬、功能和可靠性,以便將高帶寬、單向處理器跟蹤數據導出到調試工具
l 部署具有高帶寬需求所需性能的物理健壯調試連接器
l 開發通用跟蹤協議,允許將許多不同的片上跟蹤源封裝到單個跟蹤數據流中
l 最大化現場系統的調試可見性
l 利用移動系統新的高帶寬功能接口進行調試傳輸
專注于增值
通過專注于限制移動數據的框架和協議的影響,并為調試和跟蹤過程提供控制,MIPI釋放了硅供應商和原始設備制造商(OEM),以最大限度地利用這些標準化管道,然后投資于有助于提高吞吐量的高價值活動。
例如,跟蹤周圍的規范;MIPI PTI、MIPI HTI、MIPI-STP、MIPI TWP和MIPI SyS-T對于為系統設計者和嵌入式開發人員提供嵌入式系統行為的可見性尤其重要。
嵌入式SoC上的流式接口可用于將有關系統功能和行為的數據導出到主機系統以進行分析和顯示。監控處理器指令和數據流的組件、在處理器上運行的軟件中的儀表或監控處理器外活動的組件可以提供數據,使開發人員能夠重建或“跟蹤”系統活動的某些方面。一個或多個嵌入式處理器的指令執行序列、嵌入式處理器內核進行的數據總線事務、系統互連上的事務快照或儀表化應用程序代碼的流式輸出都是這種跟蹤數據的示例。隨著物聯網、汽車、5G和其他應用領域移動系統中嵌入式系統的復雜性,這種可見性的重要性也在不斷增加。
通過公開規范,MIPI使開發人員、工具供應商和其他人能夠圍繞調試通信和跟蹤數據建立價值。通過這種方式,它允許一個強大的生態系統扎根,進一步擴大規范的互操作性,并豐富規范周圍的嵌入式開發環境。