《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 多核軟件開發套件

多核軟件開發套件

2012-11-01
作者:德州儀器(TI)

Sanjay Bhal 戰略市場營銷經理,多核與媒體基礎架構業務部

Raj Sivarajan 軟件工程設計經理,多核與媒體基礎架構業務部

Raghu Nambiath 軟件設計工程師,多核與媒體基礎架構業務部

介紹

    多核數字信號處理器(DSP) 現已開始在不同的細分市場逐漸推廣,包括測量測試、關鍵任務、工業自動化、醫療與高端影像設備,以及高性能計算等。隨著這些應用的處理需求不斷增長,德州儀器(TI) 通過了新一代可擴展高性能TMS320C66x 多核DSP。C66x 器件建立在TI KeyStone 架構基礎之上,可為多核器件中的每個內核提供全面的處理功能,是實現真正多核創新的平臺。TI C66x 高性能DSP 包括采用單、雙、四以及八內核配置提供的引腳兼容及可擴展器件。

    德州儀器(TI) 對多核DSP 編程模型思路非常全面,已經開發出一系列能夠在TI 多核DSP 平臺上實現快速開發的可擴展工具與軟件。本文主要介紹TI 多核軟件開發套件(MCSDK),具體內容涵蓋對各種可用軟件套件以及實用程序及工具鏈的概述,可為編程人員開發Linux 等高級操作系統以及實時操作系統SYS/BIOS 助一臂之力。

MCSDK 的優勢

    TI MCSDK 旨在提供一個軟件開發環境,通過TI 高性能多核DSP 平臺實現快速開發,加速產品上市進程。MCSDK 實現這一目標的方法包括:

    ·為客戶提供經測試的良好集成型通用軟件層,客戶無須從頭開發通用層。例如,TI MCSDK 為配置和控制各種片上外設及加速器集成并測試了各種驅動器??蛻艨墒褂抿寗悠鹘涌诩訌娖陷斎胼敵?I/O) 機制以及加速功能。由于該軟件是專為器件優化的,因此使用MCSDK 的客戶可從理想的性能優勢中獲益;

   ·集成SYS/BIOS 實時操作系統及Linux 高級操作系統支持;

   ·為簡化編程以及在TI 可擴展多核DSP 平臺上實現未來可移植性提供定義完善的應用編程接口。例如,用于內部核心通信的API 可在不進行任何代碼修改的情況下,擴展支持TI 多核DSP 的雙、四或八內核版本。此外,相同API 還可用于使用Serial RapidIO® 等行業標準IO 實現器件間的通信;

    ·建立示例文檔,可幫助編程人員開發其應用。這些示例將為在多核上運行RTOS 和在多核上同時運行RTOS 與HLOS 提供有力幫助。此外,這些示例還將展示各種應用情況,不但可幫助客戶開發新應用,而且還可提供一個從單內核系統到多核系統或從多核系統到單內核系統移植的路徑;

    ·與Code Composer StudioTM 等TI 工具以及TI 第三方工具生態系統集成。

下圖(圖1)是上述MCSDK 及各種組件的概覽圖。

1. TI MCSDK 組件

    TI MCSDK 實際上由兩個軟件生態系統構成。第一個生態系統基于Linux,第二個基于SYS/BIOS。兩個都包含可幫助客戶便捷啟動開發的所有功能性軟件。每個生態系統都包含用于多核器件編程的各種機制(比如處理器間通信),在相同器件的不同內核上既可獨立使用,也可組合使用。以下章節將總體介紹每個MCSDK 組件。

Linux MCSDK

    Linux 多核軟件開發套件(MCSDK) 為支持運行在TI C66x 系列高性能多核DSP 上的Linux 生態系統奠定了堅實基礎。該套件包含可隨時投入使用的Linux 內核、驅動器、樣片應用以及經驗證的工具,可充分滿足客戶的產品開發需求。Linux MCSDK 以開源發行版形式在www.linux-c6x.org上提供,包含預構建二進制程序,可隨時通過在參考平臺上運行來演示TI 高性能多核DSP 的功能。

    總體而言,支持C66x 多核DSP 的Linux 是C66x 多核客戶、獨立開發者以及廠商協作社區推動的結果,可幫助參與和強化總體開發生態系統。目前已有多個參與方參與內核與工具鏈的開發和上游對接。具體包括GCC 工具鏈的CodeSourcery(現在是Mentor EmbeddedTM 的一部分)以及內核社區知名的Linux 開發商等。

生態系統組件

    對Linux 生態系統的支持預計將是各種更豐富高性能應用的關鍵使能技術,可幫助客戶輕松推出基于TI C66x 多核DSP 的平臺。總的來說,該基礎架構可通過增添市場導向型應用來幫助客戶降低開發成本,集中精力提升價值定位。

    Linux MCSDK 采用uClinux 類內核,因其較小的占位面積非常適合多核DSP 的開發。另外,Linux MCSDK 還包含支持訪問DSP 內部所有外設的器件驅動器,這些外設將隨實際DSP 的不同而不同。圖2 是支持KeyStone 器件的外設與驅動器。

2. Linux MCSDK 的軟件生態系統組件

進程間通信

   多核架構的主要編程要求之一就是能夠在各種內核之間進行高效通信。TI Linux MCSDK 支持在運行SYS/BIOS 的核心之間,以及其它Linux 內核之間的通信,從而可為滿足各種潛在產品需求提供高度的靈活性。

內核間的IPC

    TI Linux MCSDK 通過SYS/Link 模塊提供進程間通信(IPC) 驅動器,以在運行Linux 高級操作系統(HLOS) 的兩個內核以及運行SYS/BIOS 實時操作系統(RTOS) 的多個內核之間實現通信。在預期的使用情況下,應在信號處理應用在BIOS 內核上執行的同時控制運行在Linux 內核上的代碼。該軟件架構將幫助運行Linux 的主機內核把信號處理分配給多個內核的同時,順暢地繼續執行其它任務。SYS/Link IPC 模塊可為在多個內核中發送和接收不同字長消息提供MessageQ 支持。

    如圖3 所示,Linux MCSDK 還能使用一種支持IO 虛擬的標準化Linux 框架virtIO 在單一DSP 內實現在多個內核中運行的多個Linux 實例。

3. 多個Linux 實例情況下的IPC 使用

軟件開發工具

    Linux MCSDK 可為用戶提供各種編譯器工具及調試選項。在編譯器方面,開源社區普遍使用的GCC 與二進制工具可通過Mentor Embedded 提供給C66x 多核DSP。在信號處理代碼等應用實例中,開發人員能夠使用TI 提供的編譯器獲得更高性能。另外,GCC 和TI 編譯器還具有互操作性,因此開發人員可選擇使用TI 編譯器或GCC 滿足不同部分的應用代碼需求,而系統的其余部分則仍然使用GCC 構建。這樣用戶就可高度靈活地進行與代碼性能有關的利弊權衡。

    在調試方面,用戶模式下的應用可使用Mentor Embedded 提供的GDB。對內核調試或者無操作系統的程序運行,使用Mentor Embedded 提供的Debug Sprite 和TI 基于CCS 的調試器,就可實現基于JTAG 的調試。

TI C66x EVM 上的創造性演示體驗

     Linux MCSDK 的最后一個組件是創造性(OOB) 演示軟件與示例應用。OOB 演示應用包含Web 界面,可為用戶提供通過以太網連接PC 訪問EVM 的控制面板,以便在啟動后提供各種功能。在初期版本中,控制面板可提供一種簡便的方法為用戶更新引導加載程序及內核。后續版本將支持可展示和演示多核相關功能的其它基本功能,比如運行BIOS 和/或Linux 的內核間IPC 通信以及下載和引導多核應用等。

BIOS MCSDK

    BIOS 多核軟件開發套件(MCSDK) 以集成方式提供內核基本構建塊,可為在TI 高性能多核DSP 上使用SYS/BIOS 實時操作系統進行應用軟件開發提供便利。BIOS MCSDK 在統一可下載套件中綁定全部主要嵌入式軟件,并在TI 網站上免費提供。BIOS MCSDK 配套提供的軟件均為預構建庫源代碼,并按BSD 許可證進行分銷。除了基礎軟件元素外,BIOS MCSDK 還提供使用這些組件的演示應用,可展示客戶使用BIOS MCSDK 創建應用的方法。

    BIOS MCSDK 采用這種結構進行設計的驅動因素之一,是為了簡化各平臺間的設計流程以及對客戶在各個TI 器件之間進行移植的考慮。TI 了解客戶可能有采用通用軟件支持不同器件的多種產品,因此移植策略應重點考慮利用客戶在現有以及未來TI 器件上的軟件投資。例如,該流程可從在TI 評估平臺上運行內含TI 演示軟件開始,然后將該演示移植至客戶平臺,最后在客戶平臺上導出客戶應用。另外一個步驟就是將該應用移植到新一代TI 架構上(圖4)。

4. 將應用移植到TI 新一代應用SoC 平臺上

    BIOS MCSDK 使用TI Code Composer StudioTM(CCS) 作為集成開發環境(IDE)。在軟件更新方面,BIOS MCSDK 使用Eclipse 的更新特性通過CCS 自動發現并安裝新軟件。

軟件概覽

BIOS MCSDK 中的軟件組件(圖5)可分為下列類型:

.器件專用軟件驅動器

.內核目標軟件

.平臺專用軟件

.演示與工具

5. BIOS MCSDK 的軟件組件

    器件專用軟件驅動器:該軟件套件包含芯片支持庫、低級驅動器、平臺庫以及傳輸協議。該套件中的軟件重在簡化對諸如加速器等器件硬件的訪問,并可作為應用開發的最低層API。

    平臺專用軟件:本軟件提供與TI 參考平臺配套使用的平臺專用功能的實施示例,其目的是用作客戶平臺開發活動示例。

    平臺庫可使用通用API 對平臺進行抽象,簡化各器件間的移植。它提供軟件實用程序來控制硬件部件(比如EEPROM、FLASH、UART)并完成平臺/器件初始化。

    平臺庫API 由跨不同平臺的通用工具使用。這些工具包括EEPROM 寫入器、NAND/NOR 寫入器以及上電自檢等。因此,要為新器件或新平臺添加這些工具,應隔離工作,以便添加專門用于該硬件的平臺庫。與其它組件一樣,該平臺庫具有單元測試應用,可在將模塊移植到新平臺時使用。

    內核目標內容:該軟件集提供更高級功能,包括實時嵌入式操作系統、跨內核以及跨器件通信的處理器間通信、基本網絡協議棧及協議、經優化的專用算法庫以及儀表工具等。

    一項重要多核使能技術包含處理器間的通信,其不但可跨越使用共享存儲器的內核及器件實現高效通信(內核間通信),而且還可跨越SRIO 與PCIe 等外設實現器件間的通信。處理器間的通信機制和API 支持精細線程多核編程模型。此外,通用IPC 接口還可簡化跨內核和/或器件的應用處理節點工作,滿足多核應用設計與優化的需求。

    第二項重要使能技術是儀表工具,其對用戶掌控應用執行狀況具有至關重要的意義,可分析并優化性能。BIOS MCSDK 包含系統分析器工具,其可定義一系列API,而API 則能夠以可移植方法將儀器代碼插入軟件,以便在各種TI 平臺中重復使用。某項應用的圖形化輸出示例如下(圖6)

6. BIOS MCSDK 的系統分析器工具

   演示與工具:該軟件集覆蓋多種器件,提供構建于上述軟件的示例、演示以及工具。BIOS MCSDK 包含演示應用,旨在作為示例展示如何使用基礎軟件構建多核應用。當前版本中可供下載的演示包括用于展示BIOS MCSDK 部分重要組件的創造性應用,以及用于顯示多核信號處理的影像處理應用。

    各種工具包括通用引導加載程序、FLASH 及EEPROM 寫入器、評估板上電自檢、多核/多影像引導工具,以及從不同模式(比如NAND/NOR、EMAC、SRIO)引導的簡明示例等。

演示

創造性演示

     BIOS MCSDK 的創造性演示是一種以CCS 項目方式提供的高性能DSP 實用程序應用(HUA)。該演示可通過演示代碼及Web 頁面向用戶演示如何將自己的DSP 應用連接至各種不同的BIOS MCSDK 軟件元素,其中包括SYS/BIOS、網絡開發套件(NDK)、芯片支持庫(CSL) 以及平臺庫。

在執行時,HUA 可使用Web 服務器讓用戶使用PC 通過以太網連接至平臺。用戶使用HUA 可執行各種功能,比如讀/寫閃存、診斷或者提供統計及信息。該演示可通過演示代碼及Web 頁面向用戶演示如何將自己的DSP 應用連接至各種不同的BIOS MCSDK 軟件元素,其中包括SYS/BIOS、網絡開發套件(NDK)、芯片支持庫(CSL) 以及平臺庫(圖7)。

7. 高性能DSP 實用程序應用(HUA)

 

    影像處理演示(圖8)則展示了如何在BIOS MCSDK 多核信號處理過程中集成主要組件。其采用了處理器間通信功能、經優化的影像庫、網絡開發套件以及系統分析器。后者用于采集和分析基準信息。

8. BIOS MCSDK 的影像處理應用軟件框架

    本演示經配置可運行于器件所支持的任意數量的內核上。可將本演示劃分為第一個內核上的單個主系統任務和分配給所有內核的多個從系統任務。主系統任務負責對輸入數據進行分組,并將工作分配給從系統任務,然后自從系統任務采集結果,并發送輸出數據。當前支持的算法有邊緣檢測,但經擴展后可支持更多種算法。

總結

   TI MCSDK 可為客戶提供一種適用于Linux 和SYS/BIOS 的高穩健集成型軟件開發環境,其目標是使用基于KeyStone 架構的高性能DSP 實現快速開發,進而加速上市進程。

   如欲了解有關MCSDK 的更多詳情,敬請訪問www.ti.com/mcsdk;也可訪問www.ti.com/c66multicore,查看有關KeyStone 架構以及C66x 系列高性能多核DSP 的詳細介紹。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产97色在线 | 日韩 | 亚洲天堂在线播放 | freexxxx性香港hd性 | 日韩不卡手机视频在线观看 | 日韩欧美亚洲综合 | 日韩精品一区二区三区免费观看 | 怡红院在线视频精品观看 | 国产自产一c区 | 369看片你懂的永久免费 | 97影院理论在线观看 | 成人影院在线观看免费 | 在线天天干 | 曰批免费动漫视频播放免费 | 精品久久香蕉国产线看观看亚洲 | 欧美特黄a级高清免费大片 欧美太黄太色视频在线观看 | 在线观看永久免费 | 一区二区在线视频 | 黄色青青草 | 一本大道香蕉在线观看视频 | 国产国产成人人免费影院 | 免费黄色看片网站 | 交在线观看网站视频 | 怡红院在线观看视频 | 欧美一级在线视频 | 免费的三级网站 | 亚洲精品欧美精品日韩精品 | 欧美高清亚洲欧美一区h | 怡春院日本一区二区久久 | 国产 欧美 日产中文 | 欧美日韩一级二级三级 | 国内不卡一二三四区 | 成人18在线视频播放 | 日本aaa大片| 色天使亚洲 | www.亚色| 亚洲精品天堂在线 | 国产不卡a | 日本青草视频 | 国产特级全黄一级毛片不卡 | 日本簧片在线观看 | 日本免费大黄 |