ADI圖形界面設計工具加速嵌入式系統的開發
——
當今的大多數嵌入式處理應用中,控制和實時編程都是通過C/C++和優化的匯編代碼庫聯合實現的。在開源端,一旦為給定的體系結構寫好了底層的驅動程序,所有的操作系統內核上層的其它代碼都能自動“繼承”。在購買部分或完整的解決方案(例如嵌入式VoIP參考設計)時,大部分基礎工作已經完成,剩下的需要處理的只是整個系統的一小部分。比如,設計工程師可能只要在已有的核心解決方案中增加一些用戶接口調整和機構增強就行了。
現在使用的另一種省時的方法是基于圖形界面的嵌入式設計。它也是建立在軟件驅動程序的代碼基礎上,但是編程的模式變成可視系統設計。通過在系統層編程,比較低層的功能被抽象成多層以簡化系統設計。在圖形編輯器下工作時,允許工程師可以從框圖層開始建立一個應用程序。
過去,這種方法適于在PC機或工作站上的原型制作,因為將算法移植到嵌入式環境之前要確保其有效。它也是控制工業流和儀器的非常有用的方法。然而在早期,這種圖形化方法不能生成足夠的有效代碼在開箱即用的嵌入式系統上運行(例如,重新寫入的重要部分不能允許按照算法實時運行)。另外,幾乎沒有支持實際數據流實時輸入輸出系統的集成外設。
因此,最近的問題已經比較突出地集中在簡化基于PC機的設計過程提高傳輸到嵌入式處理器的效率。這個問題包含以下三個方面:
1. 生成在目標處理器上運行的有效代碼
2. 無縫地集成外圍設備
3. 在處理器的圖形化工具設備和原生工具設備之間有效地轉換
這三個方面非常重要,因為他們使得新的一類程序員接觸到嵌入式處理器。比如,有更多科學背景的工程師能用直覺的方法編程并調試“數據流程序” 。我們不要求成為了解某一具體結構特性或外圍設備怎樣工作的專家。當然,經驗豐富的程序員也喜歡采用帶圖形界面的直觀設計方法。
上述第三點值得更進一步的討論。抽象體系結構和外圍設備層很重要,但不完全關閉訪問也很重要。在工具設備之間的變換能力需要進一步的優化、系統的調試和確認。
為適應嵌入式系統對圖形界面設計工具的需求,美國國家儀器(NI)去年就宣布開始研究。特別是為ADI公司的Blackfin處理器設計的LabVIEW嵌入式處理模塊為嵌入式設計工程師提供了一套完整的圖形界面開發方法。ADI公司和NI公司強強聯合,將兩家公司各自的優勢融合在一起。由此開發的產品無縫集成NI LabVIEW與ADI VisualDSP++開發環境。
傳統的嵌入式編程方法是在文本編輯器中輸入代碼,而Labview使用一組“pallets”構成系統。所有我們熟悉的編程結構(分支語句、循環等)仍可提供。另外,操作數也可用,不過使用LabVIEW真正的好處在于擴展了對信號處理和分析庫的支持。
從NI公司的角度來看,這項工作擴展了用于嵌入式開發的LabVIEW圖形界面系統設計。使用常用工具進行傳統設計和制造測試,同時在半導體上編程,所以能夠真正縮短了產品上市時間。
從ADI公司的角度來看,LabVIEW嵌入式系統為Blackfin處理器開發商提供了數百種數學和信號處理功能位于集成的I/O庫頂層。它還允許使用利用VisualDSP++開發的庫中已有的代碼。另外,使用一種稱作設備驅動程序的常用應用編程接口(API)體系結構,很容易對常用器件驅動程序〔例如模數轉換器(ADC)、數模轉換器(DAC)以及音頻和視頻編解碼器〕進行設置。
LabVIEW嵌入式系統建立其自己的一套設備驅動程序用于將多種外圍設備連接到應用設備??商峁┒喾N驅動程序用于覆蓋多種應用。即使某種設備不在LabVIEW pallet的備選范圍內,仍然為原生外圍設備提供基本的設備驅動程序。這樣在合適的LabVIEW 系統內,很容易增加用戶指定的設備驅動程序。
LabVIEW嵌入式系統還包括一個由VisualDSP++支持的實時內核(VDK)。NI公司使用了一套虛擬儀器(VI),建立連接目標體系結構的接口?,F在我們可提供多種應用實例,包括連接到CMOS傳感器的基于視覺的系統、音頻實例以及連接到教室機器人應用的“Handy Board”控制卡(見下面的鏈接)。
在每項應用中,都使用LabVIEW嵌入式系統構建流程。當用戶想要做一些修改以匹配他們的應用時,幾乎所有的修改都是在VI層上進行的(例如濾波器長度,匹配模式特性等)。通過運行"under the hood"將這些修改自動傳播生成C代碼。
該系統除了基本的系統設計工具,還有許多高級調試能力,這正是VisualDSP++工具非常寶貴之處。工程師能將工具與要調試的硬件直接連接起來,以迅速檢查出處理器和隔離問題。
LabVIEW嵌入式模塊還為Blackfin處理器提供了一個評估平臺,其中包括NI公司的“虛擬儀器教學套件(ELVIS)”連接器。這種連接器能用來與提供連接到各種NI數據采集卡和不同種類硬件產品的專用適配器連用。
評論