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