KeyStone多核SoC工具套件: 單個(gè)平臺滿(mǎn)足所有需求
過(guò)去,實(shí)施和部署多核片上系統 (SoC) 器件的一大挑戰一直都是為編程和調試這些平臺提供適當的工具。開(kāi)發(fā)人員要充分發(fā)揮多核性能優(yōu)勢,就必須進(jìn)行高效率分區,并在這些核上運行高質(zhì)量軟件。復雜多核系統的調試會(huì )面臨同步處理模式以及子系統接口訪(fǎng)問(wèn)受限所帶來(lái)的其它復雜性。開(kāi)發(fā)和調試多核 SoC 所花費的時(shí)間以及實(shí)現理想 SoC 性能的能力可用來(lái)衡量工具套件的優(yōu)勢。
TI 支持 KeyStone 擴展的 Code Composer StudioTM (CCStudio) 集成型開(kāi)發(fā)環(huán)境包含業(yè)界最佳的多核數據可視化技術(shù),支持調試、驗證以及跟蹤功能。TI 近期推出了全新 KeyStone 多核 SoC,其具有 ARM® RISC 處理器和 TMS320C66x DSP 核組成的異構組合。支持 KeyStone 擴展的 CCStudio 工具套件與KeyStone 器件及軟件共同開(kāi)發(fā),為 SoC 提供了一個(gè)統一系統級視圖,從而可直觀(guān)查看ARM 及 DSP 核、加速器以及外設。本文引用地址:http://dyxdggzs.com/article/257834.htm介紹
隨著(zhù)處理器功能的增強,其復雜程度也在加大。這就使開(kāi)發(fā)人員對軟件進(jìn)行調試、故障排除和維護的能力面臨更大的挑戰。隨著(zhù)多核處理器的推出,實(shí)施和分析工作的嚴格程度也在呈指數級上升。
試想下列情形:一群才華橫溢的工程師在考慮有朝一日能使用這種振奮人心的新 SoC 開(kāi)發(fā)全新的無(wú)線(xiàn)基站。這種新器件將幫助這些工程師所在的公司迅速高效地向市場(chǎng)推出極具競爭力的新產(chǎn)品。雖然選用的 SoC 是具有 RISC 和 DSP 核組合的異構多核器件,但工程設計團隊還是按職能組建,分成了獨立的 ARM 和 DSP 開(kāi)發(fā)團隊。他們清楚他們必須合作,共同在統一平臺上解決整合系統軟件的難題。問(wèn)題是,有沒(méi)有工具能夠應付該 SoC 的復雜性?
工程設計團隊的經(jīng)理有類(lèi)似的保留意見(jiàn)。雖然全新 SoC 有望實(shí)現性能的飛躍,實(shí)現顯著(zhù)降低的功耗以及比現有解決方案還低的成本,但工程團隊管理人員清楚,采用其它 SoC 曾因集成、調試和系統測試流程中無(wú)限期的延遲和不能確定的進(jìn)度,致使欠佳的調試及分析工具屢遭指責。該 SoC 平臺的一個(gè)潛在優(yōu)勢是,軟件可跨多種產(chǎn)品重復使用,但團隊管理人員擔心支持該 SoC 的工具是否真的可以及時(shí)用于重復使用和再測試。
最后,該產(chǎn)品線(xiàn)的業(yè)務(wù)管理人員也持謹慎態(tài)度。憑借部署日趨復雜產(chǎn)品的豐富經(jīng)驗,她清楚地認識到盡管最新一代 SoC 具有極好的新特性與新優(yōu)勢,但能否對其充分利用,及能否對開(kāi)發(fā)團隊可迅速成功實(shí)施的特性進(jìn)行確定,這要取決于業(yè)務(wù)團隊。在產(chǎn)品部署的業(yè)務(wù)方面,上市時(shí)間是個(gè)關(guān)鍵因素,產(chǎn)品調試、集成、測試以及試用中出現任何波折,都會(huì )給收入及利潤帶來(lái)負面影響。
那么,工程師究竟在探尋多核 SoC 器件開(kāi)發(fā)工具的哪些特定功能呢?
- 首先,開(kāi)發(fā)人員需要全局性的查看處理元素。他們不僅需要看到特定處理核上的事件,還需要同時(shí)看到所有核上的所有處理情況;
- 其次,他們需要能夠看到處理元素之間的通信。要識別難以排除的故障,比如導致過(guò)長(cháng)延遲的根源,在每個(gè)處理元素執行時(shí)必須要能看見(jiàn)所有的互動(dòng)狀況;
- 多核工具必備的一項重要功能就是,能夠測量 SoC 每個(gè)元件的利用情況,以確定處理核是否得到適當的利用。開(kāi)發(fā)人員需要確定分配給某個(gè)處理元素的任務(wù)是否已接近過(guò)載水平,如果是,如何重新均衡 SoC;
- 最后,還需要具備識別不暢流程并判斷處理死鎖和系統低效的能力。在多核 SoC 上開(kāi)發(fā)軟件解決方案的工程設計團隊必須確保整個(gè)系統能夠實(shí)時(shí)運行,系統的設計和分區可優(yōu)化硅芯片架構。要保證這一點(diǎn),軟件開(kāi)發(fā)人員必須下大力度實(shí)時(shí)了解運行中的解決方案。其結論就是隨時(shí)可用于現場(chǎng)測試和最終部署的高集成產(chǎn)品。圖 1 的示例就是這種調試模式下的 TI KeyStone 范例。
為滿(mǎn)足這些需求,工具套件必須能解析 SoC 每個(gè)處理元素與接口的性能并提供報告。工具必須能夠顯示所有處理元件的同步及時(shí)序關(guān)系。只顯示每個(gè)獨立核或可編程實(shí)體是不夠的。
采用德州儀器 (TI) KeyStone 多核 SoC 器件的產(chǎn)品開(kāi)發(fā)人員非常喜歡基于 TI CCStudio 工具套件的業(yè)界最佳多核開(kāi)發(fā)與調試工具。開(kāi)發(fā)人員可迅速高效地解決深度系統級問(wèn)題,確保最短的集成與測試周期。此外,當通過(guò)遠程跟蹤功能部署完產(chǎn)品后,他們還可充分利用這種詳細深入的觀(guān)察。這不但可對現場(chǎng)問(wèn)題做出快速響應,而且還可游刃有余地為最終客戶(hù)、服務(wù)提供商以及運營(yíng)商提供支持。由于 TI 推出了首個(gè)異構多核器件集,在現有的 DSP 多核組合中添加了 ARM® 處理器,因此它現在可通過(guò)支持 KeyStone 擴展的 CCStudio 工具套件,將相同級別的覆蓋范圍及分析功能帶給 ARM 開(kāi)發(fā)人員。

圖 1:從調試和跟蹤的角度看 KeyStone 異構多核 SoC 架構
啟動(dòng)調試流程
分析儀套件是該工具鏈上的又一重要環(huán)節,其包含核級跟蹤功能和系統級跟蹤功能以及可充分利用片上軟硬件事件嗅探器插裝的邏輯分析器功能。此外,該套件還包含支持軟件插裝的 KeyStone 擴展 —— 多核系統分析器 (Multicore System Analyzer)。每款工具均支持特定使用案例,可充分利用多種彼此同步的技術(shù)實(shí)現更加完善的系統解決方案。綜上所述,該套件可為通用全局時(shí)限提供整個(gè)核與工具的數據關(guān)聯(lián),同時(shí)可在整個(gè)工具中支持視圖的同步滾動(dòng)。
如圖 2 所示,CCStudio 不僅提供用于 DSP 和 ARM 的代碼開(kāi)發(fā)工具,而且還具有分析工具套件,有助于實(shí)現開(kāi)發(fā)階段的性能優(yōu)化。CCStudio 經(jīng)過(guò)擴展,不但提供其長(cháng)期以來(lái)一直具備的 DSP 支持,而且還整合了 LinuxTM 支持。這樣 Linux ARM 開(kāi)發(fā)人員就可在 CCStudio 環(huán)境中使用熟悉的 Linux GDB 調試器進(jìn)行調試。CCStudio 能夠以中止模式同步調試運行在 Linux OS 及其核上的 ARM 應用,實(shí)現執行流程的端對端跟蹤。
可通過(guò)調試器同時(shí)控制核的功能是一項非常實(shí)用的多核調試特性,支持同步程序狀態(tài)檢測。如果開(kāi)發(fā)人員為解決死鎖與競爭狀態(tài),需要調試跨多個(gè)核運行的一致性程序,該特性就非常有價(jià)值。同步“死鎖”運行及步進(jìn)是對稱(chēng)多處理 (SMP) 環(huán)境中另一項重要調試功能,該環(huán)境需要以精細粒度形式理解互動(dòng)的直觀(guān)視圖。CCStudio 的多核觸發(fā)功能是另一項高價(jià)值特性,可用于查看處理器間的依賴(lài)性與性能。在 DSP和 ARM® 多核觸發(fā)環(huán)境中,處理器或處理器集經(jīng)配置后,可觸發(fā)或響應外部處理器事件。例如,如果處理器 1 遭遇斷點(diǎn),就可向處理器 2 發(fā)出信號,要求其暫停運行或執行其它調試工作。該技術(shù)有助于發(fā)現間歇干擾、崩潰、失控代碼以及偽中斷。

圖 2:多核的性能加上單核的簡(jiǎn)易性,可通過(guò)統一集成型工具查看和調試 DSP 及 ARM 核
核跟蹤
跟蹤分析器 (Trace Analyzer) 運行在核層面,可幫助開(kāi)發(fā)人員分析 CPU 程序與數據跟蹤并實(shí)現可視化。CCStudio 提供可在目標點(diǎn)設置和觸發(fā)跟蹤采集的不同途徑。數據采集使用片上嵌入式跟蹤緩存器 (ETB) 或 XDS 跟蹤接收器硬件進(jìn)行,可在充分使用 KeyStone 架構的硬件插裝和非侵入式分析功能的同時(shí)在跟蹤分析器中進(jìn)行后處理。這有助于軟件設計人員使用跟蹤數據深入了解同函數與異函數 CPU 周期失速分析與高速緩存分析,優(yōu)化系統性能。CCStudio 可為 DSP 和 ARM 兩種核提供核跟蹤支持,并包含傳統 ETM 跟蹤工具,可幫助 ARM LinuxTM 開(kāi)發(fā)人員在其喜好的調試環(huán)境中工作。
跟蹤分析器可通過(guò)幾項重要特性實(shí)現高難度實(shí)時(shí)問(wèn)題調試。首先,它包含有功能調用圖,可幫助用戶(hù)查看達到評估狀態(tài)所采取的步驟。它還可提供針對詳細 PC 跟蹤數據的日志視圖。DSP 與 ARM 核的源代碼關(guān)聯(lián)特性有助于確定每行代碼與當前狀態(tài)執行系統的關(guān)系。該分析器提供高級數據導航功能,包括查找、搜索與過(guò)濾控制、縮放與測量標記以及同步視圖滾動(dòng)等。所有這一切都得到了 CCStudio 工具庫的支持。此外,跟蹤分析器的結果能夠以“csv”格式導出,可用于其它地方查看與分析。核跟蹤是最常用的技術(shù)之一,可提供程序執行順序的指令級直觀(guān)視圖。核跟蹤無(wú)需代碼插裝,即可提供核級執行直觀(guān)視圖,在 TI KeyStone 架構中支持 DSP 和 ARM 核元素。
系統跟蹤
對于需要調試系統級問(wèn)題的情況而言,KeyStone 架構提供了片上系統跟蹤模塊。該模塊提供硬件加速軟件插裝與硬件總線(xiàn)監測功能,可通過(guò)跟蹤重要的事務(wù)處理點(diǎn),“看見(jiàn)”從每個(gè)主接口到所選從接口之間的事務(wù)處理。開(kāi)發(fā)人員可使用系統跟蹤功能監控系統事務(wù)處理,進(jìn)行非侵入式數據采集,并使用 CCStudio 邏輯分析器完成后處理。對于系統級直觀(guān)視圖而言,該技術(shù)不但可通過(guò)插裝來(lái)自核的跟蹤提供重要功能,而且還可將其與處理器外部的硬件監控事件相結合。
邏輯分析工具可為系統跟蹤事件與消息提供圖形化事件時(shí)限視圖,用于顯示數據吞吐量與使用案例分析,如下頁(yè)圖 3 所示。它不但可采用層級結構或平面結構管理大量的事件來(lái)源,而且還可提供諸如縮放、測量標記、書(shū)簽以及分選等高級功能。

圖 3:邏輯分析工具與系統跟蹤模塊的關(guān)聯(lián)
LinuxTM 軟件開(kāi)發(fā)人員通過(guò)使用可加載 Linux 系統跟蹤模塊 (STM) 字符模式設備驅動(dòng)器,可迅速發(fā)揮系統跟蹤技術(shù)優(yōu)勢。無(wú)需任何應用代碼更改,即可將調試數據與插裝日志路由至 STM 端口,其還兼具傳統“printf”調試功能的所有優(yōu)勢。例如,ARM® Linux 開(kāi)發(fā)人員可使用標準 C 語(yǔ)言庫打印功能,無(wú)需修改任何代碼便可直接輸出至 STM 設備。這樣可將所有插裝發(fā)送輸出至系統跟蹤端口,其不但可自動(dòng)為消息打上時(shí)間戳,而且還能夠與來(lái)自其它應用或任務(wù)的消息進(jìn)行關(guān)聯(lián)。
多核系統分析工具
在處理集成型應用軟件時(shí),可使用軟件插裝以及 KeyStone 元素的完整視圖擴展基于硬件插裝的核與系統跟蹤功能。KeyStone 多核系統分析工具 (MCSA) 建立在統一插裝架構 (UIA) 基礎之上,其可定義一整套 API、接口與規范來(lái)采用軟件插裝實(shí)時(shí)采集數據。這可使來(lái)自 SoC 各個(gè)部分的插裝組件協(xié)同工作。
與核及系統跟蹤分析工具類(lèi)似,MCSA 支持現場(chǎng)數據分析以及采集和后處理模式,可幫助軟件開(kāi)發(fā)人員測試進(jìn)度與進(jìn)程??蓡⒂煤徒眠\行時(shí)間日志。MCSA 可輕松實(shí)現分析可視化,提供諸如執行圖、持續時(shí)間分析、環(huán)境識別配置文件、負載分析以及統計分析等功能。MCSA 的一項重要優(yōu)勢是:它可通過(guò)以太網(wǎng)或 JTAG 端口進(jìn)行本地系統分析。此外,它事實(shí)上還可通過(guò)以太網(wǎng)擴展嵌入式跟蹤緩沖器。這可幫助遠程軟件開(kāi)發(fā)人員或測試人員協(xié)助并參與應用軟件集成和測試工藝。這些功能可促進(jìn)對已部署系統的遠程訪(fǎng)問(wèn),大幅提升對現場(chǎng)報告缺陷及問(wèn)題的響應能力。
軟件團隊成員可采用這種 KeyStone SoC 級分析儀高效完成其設計的驗證以及系統級應用軟件的調試。支持核外硬件輔助監控事件的系統級關(guān)聯(lián)“執行流”對識別系統級互動(dòng)問(wèn)題非常有幫助。開(kāi)發(fā)人員可獲得嵌入在核中的器件級全局時(shí)間戳信息,而系統跟蹤信息則可建立通用全局時(shí)基,這可為定時(shí)關(guān)聯(lián)系統級事件和理解各種依賴(lài)性提供強大的方案。
互連總線(xiàn)嗅探器可在系統監控模式下設置陷阱捕獲硬件事件與事務(wù)處理信息,從而可為總線(xiàn)地址和數據監控提供重要的直觀(guān)視圖。這種直觀(guān)圖可幫助團隊分析 SoC 行為,診斷偽事務(wù)處理或事件。這些嗅探器采集的信息經(jīng)過(guò)進(jìn)一步處理,可與核跟蹤信息關(guān)聯(lián)起來(lái),通過(guò)統一的視角提供 DSP 與 ARM® 核總線(xiàn)級直觀(guān)視圖。
此外,開(kāi)發(fā)人員還可充分利用總線(xiàn)傳輸分析工具和性能監控器來(lái)提供整體總線(xiàn)與流量的直觀(guān)視圖,比如適用于通道、讀取、編寫(xiě)以及釋放量的 DMA 傳輸分析。另外還提供多個(gè)重要的性能優(yōu)化信息集,比如吞吐量、通道交錯以及傳輸時(shí)長(cháng)等所提供的性能數據信息。性能監控器可為復雜的 SoC 互連提供非侵入式直觀(guān)視圖,幫助理解可持續數據帶寬與時(shí)延特性。這對實(shí)現實(shí)時(shí)性能目標具有非常重要的意義。
CToolLib
被稱(chēng)為 CTools 的使能器套件是 CCStudio 工具套件及其 KeyStone 擴展背后的主要片上調試及跟蹤技術(shù)。他們可在多個(gè)層面上提供工具:SoC 系統級、子系統與核支持,包括 IEEE 1149.1 (JTAG)。有了 CTools,KeyStone 工具套件既支持傳統上基于 JTAG 外部仿真器的調試,也可提供無(wú)需外部調試器或跟蹤采集器的現場(chǎng)(無(wú) JTAG)調試及跟蹤功能。通過(guò)使用 CToolsLib 產(chǎn)品組合,軟件開(kāi)發(fā)人員可充分利用嵌入式目標 API 集合實(shí)現對 CTools 調試及跟蹤功能的便捷訪(fǎng)問(wèn)。CToolsLib API 以源代碼形式提供,可簡(jiǎn)化工程師將其嵌入在自己的應用中,從而可在需要現場(chǎng)調試的時(shí)候在調試過(guò)程中進(jìn)行現場(chǎng)訪(fǎng)問(wèn)。API 采用 C 語(yǔ)言編寫(xiě),包含 HTML 文檔與數據結構。該庫套件包含的功能包括高級事件觸發(fā) (AET)、嵌入式跟蹤緩沖、系統跟蹤、DSP 跟蹤、ARM 跟蹤,以及支持多核導航器與 TeraNet 等特定 KeyStone SoC 特性的插裝。此外,CCStudio 還提供各種實(shí)用程序,可使用該分析工具套件導入和分析現場(chǎng)調試及跟蹤信息。
CCStudio Eclipse產(chǎn)業(yè)環(huán)境
CCStudio 是 Eclipse 平臺的組成部分,其不但可將調試與測試選項進(jìn)一步擴展,使其適用于 KeyStone 軟件開(kāi)發(fā)團隊,而且還可在穩健的系統上提供可充分利用其它 Eclipse 元素或插件的選項。支持 KeyStone 擴展的 CCStudio 提供大量系統級及 SoC 元素級分析功能,并可為采用或不采用外部調試器提供高度的靈活性。與 Eclipse 集成,既可幫助開(kāi)發(fā)人員高度靈活地整合 Eclipse 功能,為 CCStudio 提供補充,也可為個(gè)別更熟悉 Eclipse 元素的開(kāi)發(fā)人員提供方便。
結論
支持 KeyStone 擴展的 CCStudio 工具套件無(wú)需修改代碼便可提供一流的系統級直觀(guān)視圖和分析功能。這對需要直觀(guān)視圖來(lái)更好地理解多核和多操作系統問(wèn)題的開(kāi)發(fā)人員來(lái)說(shuō),具有非常重要的意義。如果沒(méi)有這樣優(yōu)異的直觀(guān)視圖,開(kāi)發(fā)人員需要依靠定制解決方案及其自己的資源來(lái)理解復雜的多核問(wèn)題。這會(huì )讓問(wèn)題解決的時(shí)間拖上數天乃至數星期。如圖 4 所示,采用 TI 工具套件,幾分鐘內便可獲得支持充足信息與直觀(guān)視圖的非侵入式調試及分析功能,從而可顯著(zhù)縮短開(kāi)發(fā)時(shí)間,實(shí)現更理想的進(jìn)度。最終客戶(hù)將對高性能產(chǎn)品的及時(shí)交付充滿(mǎn)信心。

圖 4:支持 KeyStone 擴展的 CCStudio 工具套件為產(chǎn)品交付提供最高效率的途徑
評論