嵌入式系統開發工具發展趨勢訪談
嵌入式應用從以前的簡單控制發展到今天,已經有很多非常復雜、非常高端的應用。例如蘋果公司最近推出的iPhone手機,里面有ARM11、有ARM9、也有ARM7 MCU。由于這種復雜性的提高,目前在嵌入式應用的開發過程中,工具所起的作用越來越大。如何幫助工程師完成負責的系統設計,成功地實現多種內核在同一個系統中的協同工作,是嵌入式系統工具必須達到的目標??梢哉f,是工具在幫助實現應用。當然,反過來,嵌入式應用的發展也在推動著工具的發展。
隨著消費電子產品時代的到來,現在的嵌入式系統工程師面臨著嚴峻的產品上市時間的挑戰。在加快開發周期、縮短產品上市時間的同時,還必須提高產品的質量和性能,這就需要有相應的工具予以配合。在這樣一個大環境下,將來對工具的仿真功能將有很高的要求。這種仿真功能需要能夠對各種硬件進行仿真,而不只限于CPU,還包括DSP、I/O等等。此外,對工具的性能優化也必須得到重視。例如,ARM提供的RealView MDK (微控制器開發套件)中就含有代碼覆蓋功能,能夠自動標注已執行的代碼,從而幫助工程師對應用進行完整的測試,并調整測試策略。
目前,嵌入式應用的各種硬件的仿真工具在市場上都已有供應,但是它們來自不同的供應商,從而導致在通用性支持方面不夠好。未來在這方面還需要工具提供商的共同努力。
未來兩年內,哪類嵌入式開發工具增長最快?為什么?
目前應用市場最大、最快的變化就是有越來越多的工程師從4位和8位設計轉向了32位設計。對于他們來說,是否有便利的工具幫助他們實現這種無縫轉變將是非常重要的。這就需要工具供應商提供具有這些工程師所熟悉的界面和接口的工具。在這方面,ARM RealView MDK工具支持ARM7、ARM9和ARM Cortex-M3,同時提供mVision IDE支持。mVision IDE在全球擁有龐大的用戶群,超過10萬開發工程師在使用Keil開發工具。不管以前是用8位、16位MCU,還是現在改用ARM 32位處理器,由于mVision IDE簡單易用,可以幫助工程師很快地掌握。
此外,在32位開發中一般都會用到閃存,工具對多種閃存編程的支持也就變得非常重要。
在8位MCU市場上有很多不同供應商提供的產品,在32位市場中也有很多公司提供基于ARM的產品。工具是否能夠支持這些來自不同供應商的產品也很重要。例如,前面所提ARM RealView MDK工具不僅支持Luminary、ST、三星、NXP和Atmel等供應商基于ARM處理器的標準器件外,同時還支持Cortex-M3、ARM9和ARM7處理器架構。
就技術和市場兩方面來說,貴公司面臨哪些挑戰?為什么?
前面說到現在很多嵌入式應用非常復雜,例如iPhone,這里面有一些簡單的核,也有一些復雜的核,甚至是多核處理器。工具是否能夠同時支持簡單和復雜核的編譯及調試就顯得很重要了。此外,編譯器的性能也很重要。調試往往需要一些特殊的技術,例如傳統的JTAG技術。ARM公司在編譯器方面有著20多年的經驗,我們推出了CoreSight片上調試和跟蹤技術,為SoC開發工程師提供全面的編譯和跟蹤解決方案。此外,Single Wire技術能夠實現單引腳跟蹤,降低引腳成本。這兩個技術分別滿足了高低端產品的需求。
此外,Single Wire技術和RealView工具使用同樣的編譯器,這也能大大幫助工程師降低開發難度,加快設計周期。
為了促進中國的發展,您對中國工程師有什么建議?
隨著越來越多的中國工程師開始32位應用的設計和開發,工具對他們設計開發的成功所起的決定性因素也在提高。應用越來越復雜,工具的選擇也越來越重要 (圖1)?,F在市場上有些工具是免費的,也有很多商業工具。無論是免費的還是商業的,工具的好壞往往會影響整個工程的最終結果。
在選擇工具時,主要需要注意以下幾個方面:編譯器的性能和穩定性、代碼覆蓋、仿真(不僅是對CPU的仿真,還有對其他硬件和設備的仿真)。
貴公司的產品特點是什么?
ARM公司提供32/16位RISC微處理器IP。相較于CISC、RISC指令比較精簡,但對軟件的要求更高,尤其是對編譯器的要求非常高。ARM公司在編譯器方面具有20多年的經驗,從公司建立初期就成立了專門的編譯器研發團隊,以良好的編譯器產品彌補RISC指令在這方面的“缺陷”。我們的編譯器能夠支持全系列的ARM產品,包括從ARM7到最新的ARM Cortex-A8處理器。
ARM公司在2005年收購了Keil公司,在保留其產品線的同時,更在RealView MDK工具中加入了代碼覆蓋、仿真、仿形等功能,而前面提到的mVision IDE,更能幫助成千上萬熟悉8位Keil開發工具的工程師在轉向32位ARM開發時,獲得具有他們所熟悉的開發界面和環境的工具,為他們成功轉向32位提供了便利。
2007年,ARM同英蓓特公司合作,推出中國版ARM RealView MDK。這一新產品是特別為滿足中國軟件和系統開發廠商的需求而推出的,起價低于5000元人民幣,易于納入設計工具的整體預算中。這一產品降低了中國工程師的開發成本,同時完整的本土供應和支持服務即可滿足他們的不同需求?!?/p>
在嵌入式系統開發工具領域,現在技術發展的最新趨勢是什么?
嵌入式系統軟件與應用開發實踐開始出現了融合。許多工具供應商和用戶對工具的期望日益趨同。
從編譯器到應用的開放源代碼工具應該具有符合生產的質量。開發商希望這些工具能夠無縫地一起運行。但是“免費”和“實現商業”并不相同。必須具有專業知識才能使今天的開源工具生效。
MIPS 科技公司一直致力于開源開發工具的發展。本公司與領先的公司達成合作伙伴關系,他們都是嵌入式軟件開發領域的主要開源貢獻者。
用于消費設備的嵌入式 Linux是一個重要趨勢。MIPS 科技對 Linux-MIPS 知識庫有直接貢獻,并且與 MontaVista、Wind River、Viosoft、TimeSys 等公司保持戰略合作關系,為市場提供 Linux 解決方案。
像 Eclipse 這樣的開放開發平臺和用于調試和可視化的可用插件,在未來兩年將會變得極其重要。MIPS 利用其大量的工程資源創建了基于 Eclipse 的環境,以滿足開發者的需求。利用 Eclipse平臺 ,MIPS 正處于統一嵌入式項目管理的前沿,能夠為未來的功能提供可擴展和可升級性。
在過去幾年里,MIPS 在為其授權商和客戶提供全面的工具解決方案方面加大了投資,其中包括內部增加了編譯器、軟硬件調試技術方面的投資,為優化的 GCC 工具鏈和 Linux 核移植收購了 Algorithmics 公司,以及為實現一流的調試工具收購 First Silicon Solutions (FS2)公司。
開發工具難題的另外一個關鍵部分是操作系統識別調試 (OS aware debugging)。作為 MIPS 科技的一個部門,FS2與 Viosoft 公司緊密合作解決這個問題。Viosoft Arriba 調試器與 MIPS Navigator Eclipse IDE 和 FS2EJTAG 探測器緊密集成,可提供一系列的 Linux 和 ThreadX調試功能。
這些解決方案專門針對 MIPS 的架構優勢,支持在線和離線跟蹤,并具有嵌入在內核中的性能調節功能。這些工具能夠幫助開發人員獲得采用 MIPS 內核的所有優勢。除了提供高性能、實現小面積和低功耗之外,還包括加快開發上市時間的先進分析和調試增強功能。
為了促進中國嵌入式技術的發展,您對中國工程師有什么建議?
開發人員必須清楚地知道設計面臨的挑戰,以及他們的工具的能力和局限性。嵌入式SoC 領域任何有意義的設計都需要目標定位于嵌入式領域的、集成的軟件開發工具。
能夠集成開源和免費軟件,而且可為處理器內核提供無縫調試環境的工具,必須對內核和 SoC 交互有深刻的理解。
設計人員必須充分了解“免費軟件”調試解決方案的局限性。KGDB 就是一個調試嵌入式 Linux的例子。設計工程師很快發現該免費解決方案對于調試嵌入式代碼有很大的局限性。KGDB 的局限性包括要求修補內核,不能同時支持調試大量線程和工藝,不具備在同一目標連接和調試共享庫里調試驅動器和應用的能力。
對完全集成和經過測試的供應商提供的工具和工具環境的投資,有助于設計工程師顯著縮短上市時間。供應商能夠提供未公開的見解、集成、標準和與生態系統的聯系,以縮短目前和未來設計的上市時間。供應商必須為用戶提供支持機制,包括完整的文件、支持論壇和呼叫中心。
貴公司的產品特點是什么?
MIPS 為產品開發的所有階段提供全面的工具組合,包括編輯器技術、嵌入式 RTOS 支持、EJTAG 探測器具,使用 MIPS32、MIPS64處理器和硅基于的調試 IP 的用于軟件開發的 Malta 開發板。
MIPS 軟件工具包有助于開發人員實現所有 MIPS 內核系列的嵌入式系統應用的寫入、編譯、執行和代碼調試。MIPS 軟件工具包括基于 MIPS SDE GNU 的工具鏈、MIPSsim指令集模擬器,以確定硅前(pre-silicon)內核、MIPS DSP 庫和技術支持特性。為 MIPS 架構高度優化的特定內核庫也被嵌入到 MIPS 工具鏈。
所有的 MIPS 工具都可從 MIPS 的不可分割FS2部門得到。FS2 提供集成整個工具組合、支持 MIPS 內核和獨特的單內核調試特性的全面解決方案。FS2 EJTAG 調試器完全集成到 MIPS 軟件工具鏈,支持 Eclipse 和 GDB/Insight 調試接口。對于采用嵌入式 Linux 或 ThreadX 的設計團隊,FS2開發出了先進的操作系統識別工具。這些操作系統識別工具充分利用了內核的調試 IP,并且可為操作系統環境提供由上至下的調試。FS2 工具為所有的 MIPS 調試需求提供了完全集成的、具有成本效益的“開箱即用”解決方案。這種獨特的專用內核功能和易用性可以確保最有效地利用用戶的開發時間?!?/p>
最新趨勢是什么?
·功能方面
工具之間加強了互相間的配合,使得客戶能更方便地實現整個完整的工作流程。
近幾年,IAR公司的EW集成開發環境加強了與第三方調試環境的配合,EW生成的各種文件能直接放到這些調試器中工作,相應的,通過插件方式,EW與這些調試器也實現了無縫的鏈接,例如:Atmel的AVR Studio(for AVR以及AVR32)、Microchip的MPLab(for PIC、PIC18與dsPIC等)、Aiji的EDS(for ARM),南京萬利的MedWin(for 8051)等等。
另外,EW中還能直接通過插件,直接調試基于Lab Center公司Proteus的虛擬開發板模型。集成開發環境與第三方操作系統之間的配合也大大加強,例如:IAR的EW中集成了多種調試插件,能配合各種RTOS實現直觀調試,如Micrium公司的uC/OS-II、Express Logic公司的ThreadX、ENEA公司的Epsilon,以及IAR公司自己的PowerPAC。
一些前道工具也加強了與編譯器的配合,能直接生成符合編譯器格式的工程文件,例如:Infineon的Dave(工程配置向導)以及IAR的VisualSTATE(狀態機建模工具),在生成C代碼時,能直接生成基于EW格式的代碼;通過一個與EW協同工作的特別插件、VisualSTATE還可以實現在狀態機級別的在線調試。
·性能方面
編譯器的設計更加模塊化,以實現更加精細的優化功能,使得客戶能針對應用的需求實現代碼效率和代碼速度之間的均衡。
編譯器的另一個功能發展是應對來自于汽車電子行業對代碼可靠性的需求,需要編譯器增加對代碼進行MISRA C規則(汽車工業軟件可靠性協會)的檢查。IAR EW中的MISRA C檢查器模塊符合這部分客戶的需求,目前支持的版本是MISRA C 1999版,明年將進一步支持到MISRA C 2004版。
面對消費類電子行業中Linux應用增長的趨勢,實現集成開發環境對Linux代碼某種程度的支持,目前通用的做法是能支持對GNU生成代碼的調試支持以及鏈接器層面的兼容。
未來兩年內,哪類嵌入式開發工具增長最快?為什么?
就中國的情況而言,如果說就銷售數量進行排序的話,大致為 仿真器>調試器>編譯器>其他工具如建模等。主要是中國的電子產業以制造加工為主,研發層次比較低,工程師更多地依賴仿真器/調試器進行對代碼的錯誤檢查,因此這部分的工具(特別是低端的工具),數量比較大。
如果說就增長率而言,估計今后編譯器的增長率會最快,因為我們明顯感覺到,這兩年隨著工程師的研發水平提高,大家越來越意識到要“做好一個產品”,而不僅僅是“做出一個產品”,因此,在工具的使用上,也逐步從以調試工具為主,越來越多地轉移到對商用編譯器的關注上。
就技術和市場兩方面來說,貴公司面臨哪些挑戰?為什么?
最大的挑戰不在于技術,也不是市場競爭,而來自于人們對知識產權的不夠重視。很多人認為軟件應該免費,能不花錢就不花錢,這使得在中國使用免費工具以及盜版工具的比例相當高,而產品研發始終徘徊在較低水平層次上。 筆者很欣賞這樣一句話:“Nothing is Free, Free is Nothing”,相信隨著工程師研發水平的提高以及眼界的開闊,這種情勢會慢慢改變。
為了促進中國的發展,您對中國工程師有什么建議?
“整體解決方案是毒藥”,這話可能有些偏激,但是不要迷信整體解決方案,可能是有道理的。
在當前以制造為主的中國電子行業,往往“重制造、輕研發”,上市時間對公司的壓力特別大,于是,符合這一需求的整體解決方案便應運而生,這也是中國特色。但是,我們同時看到,目前整個中國的電子產業是由半導體硬件公司來驅動的,因此整體解決方案可能存在問題:這些方案的發起是以某款芯片為中心的,方案隨這款芯片具有時效性,因為不可能方案隊伍始終專注于這個應用,這就造成了在應用需求分析上可能質量不高。另外,為了迎合客戶不希望對軟件的投入這一需求,許多方案往往采用一些免費工具去做,結果造成整體應用設計水平偏低以及產品BOM(物料清單)表的成本增高。
從“設計優秀的產品”和“提高自身技術水平”兩方面出發,我建議中國的工程師應該多接觸商業工具(包括操作系統)公司,自己獨立思考應用的設計,而不要太迷信“整體解決方案”,那會把整個產業帶入死胡同。
貴公司的產品特點是什么?
IAR的產品有以下幾個共同的特點:
·代碼效率高;
·跨平臺;
·軟件模塊化、性能穩定;
·工具鏈完整、產品整合度高?!?/p>
最新技術趨勢
建模技術在嵌入式系統需求捕獲、系統分析、設計、實現和驗證領域的更加廣泛應用,是在嵌入式系統開發工具領域,技術發展的最新趨勢。
系統分析設計方面的建模工具,在未來兩年內,將成為增長最快的嵌入式開發工具之一。
IBM Rational是系統分析設計建模工具,作為我們隨需應變的開發工具的重要方面之一,實現了IBM Rational統一過程較好實踐的關鍵原則之一—提升抽象層次。
IBM Rational的系統分析設計建模工具是基于Eclipse界面環境,采用UML2.0,并能支持SysML的Rational System Developer,以及為系統工程,包括嵌入式系統開發人員提供的系統工程最佳實踐RUP-SE,和經過實踐驗證的模型驅動系統開發框架MDSD。同時,圍繞著Eclipse,提供高度集成的開發環境,包括需求管理、配置和變更管理、文檔管理、方法和流程指導,以及滿足需要遵循相關法律和規定(如GJB5000)等要求的集成開發解決方案。
我們認為,主要的原因在于:
1. 嵌入式系統需要實現的功能越來越復雜,提高問題理解的抽象層次,并保持各個層次之間嚴格的追蹤關系,是解決復雜問題分析設計的根本方法。
2. 現在的開發團隊和產品設計方式,需要應對一個快速變化的環境。這種變化既來源于用戶需求的變化,又來自于底層軟硬件實現技術快速的變化。分析和設計方式要具有對變化目標的高適應性,各個模型抽象層次功能的封裝和復用是根本。
3. 從系統的角度,幫助嵌入式系統開發的用戶實現軟硬件協同分析和設計,實現模型級別的早期驗證。
您對中國工程師有什么建議?
IBM Rational作為IBM軟件集團五個主要的品牌之一,任務在于幫助我們的客戶有效地開發和交付軟件和系統。我們必須不斷改進自己的解決方案,充分利用我們超過20年以上的工程方法經驗、成熟的流程和工具,從客戶面臨的挑戰中學習、了解、洞察問題的本質。 我們在滿足用戶需求的同時,還應能為我們的用戶指出未來——我們有責任和能力為最終用戶交付一個可持續發展的,演進式的嵌入式系統和系統的系統。
我們建議用戶關注RUP-SE和建模技術在系統設計方面的應用實踐。
1. 基于過程質量,建立基于組織級別,遍及各個開發流程的質量保證體系。研究并采用適合自己的過程,并努力貫徹實施。
2. 基于面向對象的思想,采用建模技術,用于嵌入式系統分析設計,提高系統分析的抽象層次,通過分層,降低系統設計的復雜性,提高設計人員對復雜嵌入式系統的掌控能力。
貴公司的產品特點是什么?
IBM Rational為用戶提供軟件和系統交付平臺,以及相應的實施方法和最佳實踐。從微觀上,工具和方法的結合體現了我們特點的一個方面。
在宏觀上,IBM Rational的目標,是幫助客戶開發高質量的成功軟件,這些軟件可以長期維護和演進,并可以靈活的適應現今和未來的發展變化。
我們開發一些成熟的方法模型,專注于持續的管理,并不只是軟件的生命周期,而是作為整個應用和軟件資產的組合來說加以管理。
我們專注于客戶和客戶的價值,并以此為產品質量的最終衡量標準,了解軟件交付的質量,不僅僅是軟件會出多少個故障,這很重要,但不只是這些,更多的要幫助用戶了解最終客戶業務的價值。
作為嵌入式系統開發機構,我們將致力于構筑跨團隊、跨學科的嵌入式系統開發平臺,保證我們能實時地掌握項目的狀況,提高開發的效率和質量?!?/p>
風河公司認為,在嵌入式系統開發領域,技術發展的最新趨勢可以從企業層面、平臺層面和部件層面分別觀察,其核心是以盡可能快的速度、盡可能低的成本來滿足迅速變化的市場需求。
以往,嵌入式軟件開發的技術問題主要是在工程師和開發團隊的層面來解決。不同的工程師和開發項目之間可以共享的資源并沒有得到足夠的重視和利用,這是業界經常說的一個問題—制造每輛汽車都必須從輪子開始。共享資源、提高軟件部件的可重用性,這是整個軟件業界幾十年來的普遍趨勢,只是這個趨勢在嵌入式軟件領域的步伐比企業軟件慢了不少。隨著DSO(Device Software Optimization,設備軟件優化)概念的提出,嵌入式軟件的可重用性將會得到快速提高。這就是嵌入式軟件在企業層面的主流趨勢。
從開發平臺層面來看,開放已經成為一種主流思想,對于開放系統首先會讓人想到的就是Linux。不過,開放本身不是一種技術,而是一種包容先進技術的思路和方法。新技術往往是從封閉開始,通過走向開放而發揮更大的價值。風河公司正在努力將自己在VxWorks平臺上多年積累的技術和最新技術創新通過Linux平臺走向開放的新思路。風河以其高性能、高可靠性的VxWorks平臺在業界占有重要地位,現在這些技術都已逐漸在Linux平臺上使用了。
從部件層面來看,最主流的趨勢是多核技術的興起。這個趨勢從處理器芯片巨頭的動向可以一目了然。
對于中國的嵌入式軟件工程師來講,風河公司建議采用開放、高效并且能夠讓自己不斷積累開發成果的開發平臺與工具,讓自己能夠專注于產品功能特性的開發,而不是花費太多精力去做維護工具和基礎性、重復性的功能開發。
風河公司從戰略到產品和市場策略都順應了上述主流趨勢。風河公司是DSO概念的倡導者,這種思想已貫徹到風河公司所有的產品與技術。風河公司的集成化開發平臺Wind River Workbench,可以讓開發人員更容易在現有開發項目和工作流程中,實現各種商用級別設備軟件開發、設計和測試工具的集成,甚至可以將這些工具安裝到已預先部署的Eclipse模塊中。風河公司的設備軟件開發工具集,為設備制造商綜合配備了VxWorks和Wind River Linux平臺下各種深度應用的中間件技術,從而使他們能夠更專注于構建各種差異化的設備軟件應用,同時更準確地理解和實現復雜項目的需求,加快產品的市場響應速度?!?/p>
在嵌入式系統開發工具領域,現在技術發展的最新趨勢是什么?
嵌入式系統是一個復雜的高技術系統,要在短時間內開發出所需功能的產品是很不容易的,而市場競爭則要求產品能夠快速上市,需要有容易掌握和使用的開發工具平臺。
嵌入式系統開發工具的發展已經有二十多年的歷史,目前開放性和開放源碼成為一股強大的潮流,推動嵌入式系統設計技術向前發展,傳統的嵌入式系統開發工具已不能適應這一潮流。最新的發展趨勢是,使用Eclipse開放源碼集成化開發環境(IDE)平臺,采用插件技術,在這樣的平臺基礎上擴展許多開發工具套件。越來越多的嵌入式系統軟件供應商將Eclipse平臺作為自身工具的基礎,推出個性化的開發工具套件,除提供標準的編譯器、編輯器、調試器,還提供增強的操作系統內核級調試手段和高級的系統分析工具,如內存泄漏檢測、系統性能監控等。
總之,嵌入式開發工具將向高度集成、編譯優化、具有系統設計、可視化建模、仿真和驗證功能方向發展。
可以預見,未來兩年高級調試和監控開發工具,仿真工具等嵌入式軟件開發工具是增長點。
公司需要跟蹤嵌入式開發工具的技術發展趨勢和最新技術,了解嵌入式開發者的需求,為其提供更為豐富的,功能強大的嵌入式開發工具。
為了促進中國的發展,您對中國工程師有什么建議?
現在每個研發型企業都希望自己的產品快速進入市場,搶占商機。好的開發工具可以幫助工程師更快、更準確地解決開發過程中所遇到的問題。如果開發工具都不穩定或功能不全,會讓開發工程師覺得很無助。所以,我們建議如果條件允許還是盡量使用可靠的、性能優異的商業化嵌入式開發工具產品,所謂磨刀不誤砍柴工!
貴公司的產品特點是什么?
麥克泰從事嵌入式領域已有十多年的歷史,是國內最早的嵌入式開發工具和操作系統提供商。目前,我們的產品涵蓋嵌入式開發的整個過程,有開發參考板、多款仿真器、集成開發環境(包括編譯器、調試器等),公開源碼的RTOS和嵌入式Linux操作系統,還有一些中間件(圖形和網絡協議棧)等。這些都是國際知名廠家的產品,如來自瑞典的IAR公司的ARM開發工具和瑞士Abatron公司的BDI系列仿真器產品,基于Eclipse技術的LinuxScope調試器等在業界享有盛譽?!?/p>
現在技術發展的最新趨勢是什么?
現在的嵌入式系統開發工具非常多樣化,市場分散。目前據不完全統計,全世界嵌入式處理器的品種數已經超過1000多種,流行體系結構有30多個系列,在其上運行的操作系統環境也非常多樣化,包括VxWorks、QNX、Linux、 Nuclears、WinCE等等。不僅各種操作系統有各自的開發工具,在同一系統下不同的開發階段也有不同的開發工具。如在用戶的目標板開發初期,需要硬件仿真器來調試硬件系統和基本的驅動程序,在調試應用程序階段使用交互式的開發環境進行軟件調試,在測試階段需要專門的測試軟件進行功能和性能的測試等等。對于設計人員來說,要掌握、駕馭這樣龐大的開發體系是一件非常困難的事情,而且編程的復雜度相當大。
傳統工具很難降低編程工作的復雜度,嵌入式領域需要另一種方法來應對這些挑戰。挑戰不僅是工具方面的,還有解決問題的途徑。加州大學伯克利分校嵌入式研究方面的領先者Edward Lee博士指出,現在嵌入式系統的開發手段如基于文本編程和面向對象的工具都難以用來構建嵌入式實時系統,因為面向對象很難直觀地表達時間和并行性,而時間和并行性在現在的嵌入式系統中是必不可少的。Lee博士提出面向角色的圖形化方法是更適合嵌入式軟件設計的工具。
所以一種更為理想的、釜底抽薪的解決方案是向基于平臺的工具轉移,它能夠更好地表達整個系統,而減少與特定硬件以及操作系統的相關性,這使得更多的軟件設計和算法容易理解并被重復使用。而從基于文本的工具向圖形化工具的轉移則可以直觀地表達系統,圖形化系統設計的理念就是源于這兩大趨勢。通過簡化嵌入式編程的復雜性,降低了對系統開發人員和領域專家在嵌入式設計流程中各個步驟的要求,同時提供了從設計、原型到部署,從軟件調試、功能測試到生產檢測的統一環境,使得工程師和科學家們可以更快速地進行重復設計。
為了促進中國的發展,您對中國工程師有什么建議?
現在很多工程師在設計嵌入式系統的時候往往選擇最底層的工具,把絕大部分的時間都花在了底層的細節,而往往忽視了創新性和系統級的把握。工程師無論是為了自身的發展還是為了所設計產品的競爭力,這兩點其實都是至關重要的。
說起電子工程師,大家第一個想到的就是編碼,還有加班加點,甚至還有人自嘲為“IT民工”。那么工程師的價值要究竟體現在哪里,而且如何體現呢?
有人將理想的工程師用字母T來描述。T表示在頂部具有廣泛的知識和技能,同時在至少一個領域中具有深入的技術知識。工程師能夠分析問題或是編寫程序是遠遠不夠的,他們還要能夠利用自己的知識完成獨特創新的設計。
所以,工程師要體現自身價值,必須有系統性的眼光,能夠進行有創新性的設計。在這種情況下,工程師們更多的應該從底層的編程細節中脫身,讓工具去處理那些“常規”事務,而工程師本身就可以專注于自己的設計或研究領域,從更高的角度來看待自己在設計的系統,而不是只見樹木,不見森林。
貴公司的產品特點是什么?
NI公司的宗旨一直是致力于幫助全球的科學家和工程師們不斷創新,為了實現這樣的目標,NI采用的途徑是提供全系列的工具和平臺,這些工具和平臺的優勢在于充分集成最新的商用集成科技,降低用戶學習和使用的復雜性,從而在此基礎上,讓用戶在他們的工作中充分享受這些技術帶來的好處?,F在NI的產品應用于從系統設計、原型到發布的研發全過程。
基于NI一貫的宗旨:為工程師和科學家們降低學習最新技術的復雜性并提高工作效率。通過NI的LabVIEW圖形化開發平臺,工程師們不需要使用最底層的匯編語言或C語言進行編程,就可以將他們的設計實現快速的原型甚至發布,從而將嵌入式設計提升到了系統設計的層次。
和傳統的文本編程相比,LabVIEW本質上是一種并行結構的編程語言,而時間和并行性在現在的嵌入式系統中是必不可少的。LabVIEW可以支持多種算法設計,并通過豐富的硬件I/O支持,幫助工程師快速構建原型。更進一步的是,LabVIEW嵌入式開發模塊提供了一個開放的框架,它可以集成任意的第三方工具鏈,將生成的C代碼與LabVIEW運行庫函數和板卡支持程序包,編譯成為針對某一目標并能在之上運行的二進制代碼。通過LabVIEW嵌入式開發模塊和工具鏈,可以發布到運行任何操作系統的任何的32位處理器?!?/p>
嵌入式系統的廣泛應用引發了對嵌入式軟件質量的深入討論。目前,軟件測試仍然是保證質量與可靠性的最有力手段。
軟件缺陷日益突出
2002年的歐洲阿麗亞娜5火箭的第一次鑒定發射失敗是由于軟件故障引起。美國F16 由于軟件問題導致首航時間耽誤了一年。今年2月,12架美國F-22戰斗機在飛向日本沖繩時,由于過了國際日期變更線,導航系統出現紊亂,不得不返回到夏威夷空軍基地?;貋戆l現是軟件缺陷導致。國外某軍艦運行了850個小時,故障120多次,軟件故障占70%;致命故障12次,其中軟件原因占70%。
因此,隨著軟件在系統中的比例加大,軟件缺陷不是孤立問題,是故障引起的主要來源。因為軟件在整個系統中承擔的任務越來越多,同時軟件是人腦智慧的思維產物,容易出現缺陷。
軟件缺陷產生的原因,從軟件需求分析看,對軟件認識不充分占整個軟件的20%;設計缺陷占30%;編碼類缺陷占35%;其他來自軟件文檔。
但是任何國外測試軟件進口到中國,都需要該國的國防部批準,涉及到武器方面更是禁運。CATC(中航一集團計算機軟件可靠性管理與測評中心) 1996年成立,當時是95國家重點課題,2001年研制成果工程化,2003年該中心的GESTE研制成功,目前推出的GESTE2.0面向多個國家重點型號,并且向民用發展。
軟件開發的門道
寫了25萬行代碼,除了Web編碼外都是自己寫的。CATC的優勢是依托學校,每年由碩士、博士在相關領域研究。主要采用三級研發體制,老師帶學生做基礎語言,然后是本中心進行工程化、商品化。學生做的東西好,但質量難以保證。工程化和商品化后使可靠性大大提高。
在主持開發測試軟件的過程中,有兩點時刻提醒著我。IBM的工程師布魯克斯所寫的《人月神化》,堪稱軟件工程的經典圖書。在《人月神話》中,作者認為一個產品變成商品至少要花9個月;第二個時刻提醒我,設計師都希望把所有的好東西凝聚在新產品里面,但也可能導致大量的質量問題,因此要注重把只有工程化的東西放進去,如果想法好但沒有經過三級認證,堅決不放進去。工程化這個步驟一定不能省。
集成軟件工程師經常失敗,是因為軟件工程不是簡單的多少人月就可以做出來的。
很多人對軟件有誤解,認為軟件什么人都能編,大學畢業生就可以了。但是我相信人的思想是最難把握,思想改變人的命運。就像共產主義信仰改變人一樣,而不是火車、飛機改變我們。做一個軟件不難,但是穩定、安全、可靠,并有大量的支持很難。
GESTE2.0
由于嵌入式軟件具有軟硬件結合密切、實時性較強以及接口復雜等特點,針對嵌入式系統的軟件測試更側重于利用仿真原理進行的系統測試。GESTE(通用嵌入式軟件仿真測試環境)產品基于半實物仿真測試原理,提供了對嵌入式軟件進行系統測試的全套解決方案,并具有良好的通用性、實時性、可擴展性以及易用性。
GESTE2.0在如下領域實現了更大突破:仿真測試環境的構建與測試環境集成;測試的執行效率進一步提高;加強了測試過程的管理;改進數據收集融合算法;進一步提高可擴展性。
GESTE的面市打破了國外對我國在相關領域的技術壟斷和封鎖,填補了我國實時嵌入式軟件缺乏通用仿真測試環境的空白,對于相關領域之快速定制需求亦具有革新意義。目前,除去航空、航天、船舶、兵器和電子等相關領域的成功實踐,CATC亦在積極拓展尋求與更廣泛領域軟件企業的合作,2008年北京奧林匹克運動會即是新近成功涉足之成功案例之一,未來,還將面向汽車、通信、民航業,以及所有有大型嵌入式軟件應用的地方?!?/p>
在DSP開發工具領域,現在技術發展的最新趨勢是什么?
歷經四分之一世紀輝煌的數字信號處理器(DSP)引領了數字信息時代的新潮流,隨著DSP性能的超越和功能的豐富,對于DSP開發工具的要求也越來越高,其中最突出的表現就是高速實時仿真、高效軟件編譯和高級系統調試。
目前DSP的軟件和硬件開發工作的比例已經從最初的20%提高到80%,因此決定DSP開發成功的關鍵在于如何更好地發揮軟件系統的功效,更全面和完善地適應各種實際應用的需求。
未來兩年內,新一代支持高速實時數據交換的仿真器將增長迅速,其中以TI公司的XDS560及其兼容類型產品為代表,能夠以超過2Mbps的速度傳輸數據,并且在系統運行的過程中提供非并行的即時數據獲取能力,協作系統開發者實時系統的跟蹤調試。XDS560還能夠達到超過500Kbps的程序代碼下載速度,縮短所需花費時間,提高了設計效率,特別適合大型系統的應用,如數字媒體產品的開發。DSP集成開發環境軟件系統(IDE)的升級換代將至關重要,并且將應用得更為普及。在一個完整統一的開發界面中,研發人員不僅可以開發DSP,而且還可以同時開發包含DSP和CPU的片上系統芯片(SoC);不僅可以單獨進行開發,而且還可以通過網絡同異地團隊協同開發。
針對DSP技術的發展,如何更好地提供全面的軟件支持是一個重大的挑戰。對此,TI通過制定和推進開發式平臺的發展戰略以抓住新的發展機遇,如TI的開放式多媒體應用平臺(OMAP)和達芬奇(Davinci)數字媒體技術平臺的推出,開拓出了更為廣闊的市場領域。而面向新興市場的興起,最大的挑戰在于如何利用現有DSP開發的生態環境,以支持更多客戶的多樣化產品。
您對中國工程師有什么建議?
在中國,TI擁有有業界出色的DSP工程師群體,也有國際上豐富的本地DSP支持資源,所以在中國開發DSP具有一定的優勢。TI實施了十多年的的中國大學計劃培養了大量DSP人才。
國內許多開發手段更新較慢,還存在因陋就簡的情況,這將影響復雜數字媒體系統的開發進度。
因此對中國工程師有兩點建議,首先是“工欲善其事,必先利其器”,若有條件要盡可能采用更快更強的工具進行開發。其次是“磨刀不誤砍柴工”,要盡可能挖掘集成開發軟件中的資源,如花些時間去了解許多實用輔助軟件,如DMA、Cache和片內帶寬分析工具等。
貴公司的產品特點是什么?
作為DSP的領先者,TI在產品推廣過程中始終貫穿著DSP開發理念的推廣和普及。經過長期探索和實踐,TI所確立的eXpressDSP的開發理念對于業界DSP的發展影響深刻,使得DSP在開發創新中上升到更高層次。eXpressDSP包括TI的集成化開發系統Code Compose Studio,即CCS;提供靈活實用的DSP/BIOS,以充分支持實時軟件的開發和調試;推行通用的xDIAS軟件算法標準,以便有效地規范DSP軟件的集成,其中數字媒體軟件算法標準為xDM;擴展業界龐大的DSP第三方網絡以求最大程度地為DSP開發提供廣泛的資源。在以Davinci為主體的通用數字媒體DSP的推廣中,TI更是致力完善數字媒體單片系統的開發支持體系,在CCS的更新版本中,以DSP/BIOS Link強化了DSP與CPU之間的數字交換能力。符合xDM算法標準的數字視頻、影像、語音和音頻算法軟件通過TI的數字媒體框架進行集成。SoC的可視化功能使客戶的開發變得輕松自如,許多復雜的數字媒體資料可以一目了然,過程信息可以一覽無遺。
TI的DSP除了數字媒體產品之外,還有浮點應用系列、低功耗系列、數字控制系列等平臺,其硬件和軟件開發工具在很大程度是都可通用,具有統一的開發理念?!?/p>
在嵌入式系統開發工具領域,現在技術發展的最新趨勢是什么?
瑞薩認為,目前在嵌入式系統開發領域對應高速CPU的仿真器以及對應OS(操作系統)的調試工具的安全設計是最新的趨勢,也是未來兩年中增長最快的開發工具。
現在,從手機到液晶TV、數字TV、DSC、汽車等領域,都要使用到內置CPU的SoC及MCU的芯片。而且,內置程序的容量也在逐漸增大。以往小規模系統軟件的開發可以由一個人或幾個人負擔完成,但大規模系統軟件的開發卻需要由數十人甚至上百人才能完成。
在這樣的情況下,如何更有效、更安全地開發和使用OS系統,就成為了巨大的課題與挑戰。這是因為,OS本身就是一種軟件,經常發生一些不可預知的不良狀況。但是,對于不良狀況的分析來說,有時是十分困難的事情。
一方面,在網絡和其相連接的機器上工作時,CPU將高速化運作。如何監測高速的CPU的運動、外部處理端口就是一個有難度的課題。就好像是DRAM、SRAM等通用存儲器的數據總線從并行向串行的轉換一樣,技術在不斷地進步。
另一方面,嵌入式系統應用于與人的生命密切相關的產品時,特別是應用于汽車電子時,軟件的哪怕一點點不良狀況也是不能允許的。因此,從開發階段起使用考慮到無故障的設計工具就非常必要。
所以瑞薩認為,最重要的是從開發的開始階段就不能去生產有危險的軟件。同時,還應在實施過程中采用如下措施:安排大量工程師詳細記錄由誰負責軟件的完成及修改等工作記錄。
為了促進中國的發展,您對中國工程師有什么建議?
目前,中國的大學生能夠在大學相關課程中充分對MCU基礎知識進行學習,這已經走在了很多國家(甚至包括日本)的前面。
但中國新一代工程師面對的主要問題是如何去積累經驗。
嵌入式系統的開發通常是硬件和軟件同時進行的,其在開發過程中出現不良狀況的原因有可能是硬件或是軟件,有時甚至可能是兩者同時發生故障。在這樣的狀況下,就要求從事硬件的技術人員要相當程度的懂得軟件,從事軟件的技術開發人員也要在一定程度上懂得硬件。
另外,目前該行業存在最終產品的壽命較短的情況,這就意味著每年都有必要開發新的產品。但是從初級階段進行開發,需要花費大量的開發成本及開發時間。因此,有效地歸納總結現有的開發成果,并有效地投入新開發中加以利用是十分重要的。例如,為了讓源代碼、電路圖等可以直接投入利用,通俗易懂地進行注釋是其中的一種辦法。
但是,在中國的企業中,有時為了追趕其他競爭企業,采用設計開發的外包,或是從第三方直接購買解決方案的情況都十分普遍,當然這樣的做法可以看作是不得已的舉措。因此,為了可以在本公司內實現產品開發,下大力氣持續的培養、教育自己的技術工程師是非常重要的。
貴公司的產品特點是什么?
現在,瑞薩MCU產品線涵蓋了從4/8位MCU、16/32位CISC MCU、32位RISC MCU到雙核處理器。瑞薩正同時對多種產品線進行開發及推廣。因此,開發工具也呈現多樣化的特征。
首先,瑞薩在面向超過100MHz的處理器上,對E200的仿真程序進行開發及推廣,同時在開發對應400MHz的新仿真程序。在高端處理器的軟件開發環境中,針對程序跟蹤、設置斷點、RAM地址內容顯示、縮短下載時間等要求,主要實施的是性能改善。
其次,對應50MHz~100MHz的高速閃存內置的MCU系列的片上調試開發工具E10A-USB,也在開發推廣中。
另外,瑞薩也在積極應對針對仿真程序控制軟件使用方法的改進以及C編譯程序性能的改進。同時,CPU的性能又受到C編譯程序性能影響的情況,因此瑞薩也在努力改善第三方的C編譯程序的性能。
在高端處理器的應用中,十分重要的還有對實時操作系統(RTOS)、各種中間件及CPU主板、有兼容性能的主板的支持。目前,瑞薩不但可以自己提供開發工具、RTOS、有兼容性能的主板,還在與全世界的第三方進行合作,實施整體的技術支持。
關于從8位到16/32位MCU的工具,正在開發中對應面向汽車、產業機器的具有高性能、高安全性等要求的E30仿真器將能大大簡化與目標板的連接。
此外,面向更多用戶的低價格片上調試仿真器E8也處于開發推廣中。瑞薩同時提供被稱為“學習工具包”的初期性能評價學習用主板,并在中國舉行學習工具包的講座活動?!?/p>
在嵌入式系統開發工具領域,現在技術發展的最新趨勢是什么?
各級市場中存在多種趨勢。從純開發工具的展望中我們可以預見,將工具整合到 Eclipse 框架中是明顯的發展趨勢。這將有助于各公司更加順暢地使用和整合來自不同供應商的工具,從而提高軟件的質量和開發效率。隨著軟件的復雜程度趨于指數增長,在未來幾年內,那些能夠幫助公司簡化軟件復雜性的工具,很可能會迎來增長高峰。
就更為普遍的軟件和硬件而言,將多處理器系統和各種多核處理器引入到嵌入式設計的趨勢越來越明顯。這些新的硬件架構會給應用它們的公司帶來非??捎^的效益,但另一方面,也會進一步增加軟件的復雜性。工程師們如何對這些設備進行編程和調試? 又如何確保軟件在不同供應商提供的單核、多核架構之間容易移植?毫無疑問,改進后的實時操作系統 (RTOS) 和開發工具將在這一領域大顯身手。Enea公司正在斥巨資為這些多核架構提供優化的 RTOS 和開發工具,這將幫助工程師們降低編程復雜性、增加可移植性,并縮短產品的上市周期。
為了促進中國的發展,您對中國工程師有什么建議?
隨著中國開發的產品越來越復雜、精密,對專業工具和RTOS的需求,以及對規范的結構化開發流程的需求都有所增加。能夠成功管理這一轉變的公司將會憑借其高價值產品在國際市場上占有一席之地,而其他公司則只能徘徊在低價值、低軟件含量的市場中了。給中國工程師們的建議是要正確辨別專業軟件開發工具和操作系統的價值及需求,這將增加產品成功上市的幾率——抓準時機并切中市場需求。
貴公司的產品特點是什么?
Enea是全球領先的嵌入式實時技術軟件公司,主要提供OSE實時操作系統、Eclipse開發工具、 Element中間件、LINX IPC、Polyhedra實時數據庫和網絡應用服務平臺。Enea的OSE實時操作系統具有容錯能力,功能獨特的消息傳輸方式使它能方便地支持多處理器、多核之間的通信。OSE主要有以下幾個版本,并且具有相同的API:
支持RISC(PPC/ARM/MIPS)結構的OSE 5 (Footprint 100K);支持DSP結構的OSEck (Footprint 8K);支持MCU結構的OSE Epsilon (Footprint 4K)。
Enea的軟件被廣泛應用于成千上萬的產品中,客戶主要在電信、無線、控制、航空、汽車、醫療和消費類電子等領域?!?/p>
嵌入式系統工具在最新技術的發展是什么?
多內核開發是目前最大困難與突出目標。多內核JTAG調試工具在仿真控制時如何有效地“同時”控制多個內核,除錯時如何停止其中一個內核或多個內核,停下后如何再繼續,能否回到停下前的狀態等,都是調試工具開發技術的難點。對于工程師來講,則面臨如何編寫一個或多個程序“同時”執行的問題,而這些程序又是相互相關的。未來幾年,多內核CPU會快速發展,而如何開發這些復雜的嵌入式系統(包括如何寫程序?如何除錯?如何確定系統在不同時間/狀態下除錯?)這些都會逐漸發展出一套方法和工具。如此才能有更好的系統,更高的產出。
目前大多數中國工程師只限于使用單一內核,應多注意多內核技術發展。此外,對于操作系統,尤其是Linux系統已發展多年,已有很多這方面的成熟應用,可學習并突破目前技術。
對技術與市場方面,貴公司面對哪些挑戰?
一些公司目前面臨大量非法復制盜版工具的沖擊,經營比較困難。希望大家能多支持自主研發的產品,使嵌入式開發工具的技術能在國內生根、壯大,并能很好地配合國內半導體芯片產業的發展。
貴公司的產品特點是什么?
在內核的支持上,ARM、MIPS、PowerPC和DSP等均有開發工具,技術全面,同一界面支持不同內核。對于Linux的開發支持有更獨到的功能,可全面掌握Linux的系統資源,使工程師開發起來更容易更得心應手。
c語言相關文章:c語言教程
linux相關文章:linux教程
評論