嵌入式系統(tǒng)開發(fā)工具發(fā)展(5)
NI技術市場工程師 湯敏
1 在嵌入式系統(tǒng)開發(fā)工具領域,現(xiàn)在技術發(fā)展的最新趨勢是什么?
現(xiàn)在的嵌入式系統(tǒng)開發(fā)工具非常多樣化,市場很分散,目前據(jù)不完全統(tǒng)計,全世界嵌入式處理器的品種總量已經(jīng)超過1000多種,流行體系結構有30多個系列,在其上運行的操作系統(tǒng)環(huán)境也非常多樣化,包括VxWorks、QNX、Linux、 Nuclears、WinCE等等。不僅各種操作系統(tǒng)有各自的開發(fā)工具,在同一系統(tǒng)下開發(fā)的不同階段也有不同的開發(fā)工具。如在用戶的目標板開發(fā)初期,需要硬件仿真器來調試硬件系統(tǒng)和基本的驅動程序,在調試應用程序階段可以使用交互式的開發(fā)環(huán)境進行軟件調試,在測試階段需要一些專門的測試工具軟件進行功能和性能的測試等等。對于設計人員來說,要掌握、駕馭這樣龐大的開發(fā)體系是一件非常困難的事情,而且編程的復雜度相當大。
現(xiàn)在傳統(tǒng)工具很難降低編程工作的復雜度,嵌入式領域需要另一種方法來應對這些挑戰(zhàn)。挑戰(zhàn)不僅是工具方面的,還有解決問題的途徑。 Edward Lee博士是加州大學伯克利分校嵌入式研究方面的領先者,他指出現(xiàn)在嵌入式系統(tǒng)的開發(fā)手段如基于文本編程和面向對象的工具都難以用來構建嵌入式實時系統(tǒng),因為面向對象很難直觀地表達時間和平行性(parallelism),而時間和平行性在現(xiàn)在的嵌入式系統(tǒng)中是必不可少的。Lee博士提出面向角色(actor-oriented)的圖形化方法是更適合嵌入式軟件設計的工具。
所以一種更為理想的、釜底抽薪的解決方案是向基于平臺的工具轉移,它能夠更好地表達整個系統(tǒng),而減少與特定硬件以及操作系統(tǒng)的相關性,這使得更多的軟件設計和算法容易理解并被重復使用。而從基于文本的工具向圖形化工具的轉移則可以直觀地表達系統(tǒng),圖形化系統(tǒng)設計(Graphical System Design)的理念就是源于這兩大趨勢。通過簡化嵌入式編程的復雜性,它降低了對系統(tǒng)開發(fā)人員和領域專家在嵌入式設計流程中各個步驟的要求;同時提供了從設計、原型到部署,從軟件調試、功能測試到生產(chǎn)檢測的統(tǒng)一環(huán)境,使得工程師和科學家們可以更快速地進行重復設計。
2 為了促進中國的發(fā)展,您對中國工程師有什么建議?
現(xiàn)在很多工程師在設計嵌入式系統(tǒng)的時候往往選擇最底層的工具,把絕大部分的時間都花在了底層的細節(jié),而往往忽視了創(chuàng)新性和系統(tǒng)級的把握。工程師無論是為了自身的發(fā)展還是為了所設計產(chǎn)品的競爭力,這兩點其實都是至關重要的。
說起電子工程師,大家第一個想到的就是coding,還有加班,甚至還有人自嘲為’IT民工’. 那么工程師的價值究竟體現(xiàn)在哪里,而且如何體現(xiàn)呢?有人將理想的工程師用字母T來描述。T表示在頂部具有廣泛的知識和技能,同時在至少一個領域中具有深入的技術知識。工程師能夠分析問題或是編寫程序是遠遠不夠的,他們還要能夠利用他們的知識完成獨特創(chuàng)新的設計。
所以,工程師要體現(xiàn)自身價值,必須有系統(tǒng)性的眼光,能夠進行有創(chuàng)新性的設計。在這種情況下,工程師們更多的應該從底層的編程細節(jié)中‘逃離’出來,讓工具去處理那些“常規(guī)”事務,而工程師本身就可以專注于自己的設計或研究領域,從更高的角度來看待自己在設計的系統(tǒng),而不是只見樹木,不見森林。
3 貴公司的產(chǎn)品特點是什么?
NI的宗旨一直是致力于幫助全球的科學家和工程師們不斷創(chuàng)新,為了實現(xiàn)這樣的目標NI采用的途徑是提供全系列的工具和平臺,這些工具和平臺的優(yōu)勢在于充分集成最新的商用即成科技,降低用戶學習和使用的復雜性,從而在此基礎上,讓用戶在他們的工作中充分得享這些技術帶來的好處?,F(xiàn)在NI的產(chǎn)品應用于從系統(tǒng)設計、原型到發(fā)布的研發(fā)全過程。
基于NI一以貫之的宗旨:為工程師和科學家們降低學習最新技術的復雜性并提高工作效率,通過NI的LabVIEW圖形化開發(fā)平臺,工程師們不需要使用最底層的匯編語言甚至C語言進行編程,就可以將他們的設計實現(xiàn)快速的原型甚至發(fā)布,從而將嵌入式設計提升到了系統(tǒng)設計的層次。
和傳統(tǒng)的文本編程相比,LabVIEW天生是一種并行結構的編程語言,而時間和并行性在現(xiàn)在的嵌入式系統(tǒng)中是必不可少的。LabVIEW可以支持多種算法設計,并通過豐富的硬件I/O支持,幫助工程師快速構建原型,更進一步的是,LabVIEW嵌入式開發(fā)模塊提供了一個開放的框架,它可以集成任意的第三方工具鏈,將生成的C代碼與LabVIEW運行庫函數(shù)和板卡支持程序包,編譯成為針對某一目標并能在之上運行的二進制代碼。通過LabVIEW嵌入式開發(fā)模塊和工具鏈,可以發(fā)布到運行任何操作系統(tǒng)的任何的32位處理器。
圖1 LabVIEW嵌入式模塊的開放框架
LabVIEW為嵌入式系統(tǒng)開發(fā)提供了一個跨越多種、多代產(chǎn)品的連貫性的平臺,使設計人員能夠多年重復并改進其設計,而不必替換其整個工具集或者重新學習不同的設計方法,從而使設計的速度和質量得到提高。同時,其圖形化的編程模式使得更多的工程師和科學家可以使用他們的專業(yè)知識開發(fā)嵌入式應用,通過LabVIEW平臺,來自各行各業(yè)的專家,例如控制工程師、生物醫(yī)學工程師以及機械工程師能夠利用最新的計算技術,解決最終目的,而不必在底層的嵌入式系統(tǒng)編程細節(jié)上花費太多的時間??梢哉f,LabVIEW為嵌入式系統(tǒng)開發(fā)提供了前所未有的革新方式。
評論