時間:2022-08-01 10:42:23
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了一篇嵌入式系統軟件開發技術研究范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
摘 要:嵌入式系統是當前工業生產控制領域的重要計算機應用技術。隨著工業現代化水平的不斷提升,嵌入式系統變得更加繁瑣復雜、功能也更加豐富。文章圍繞嵌入式系統軟件開發相關問題進行探討,詳細闡述了嵌入式系統軟件開發的幾個重要階段,對各個階段涉及到的重要技術進行了介紹。
關鍵詞:嵌入式系統;軟件開發;技術
引言
計算機技術一經問世,就成為加快推動人類社會生產活動高效開展的重要力量。在幾十年的發展里程中,計算機相關技術都實現了巨大進步。伴隨著工業現代化進程的不斷深入,嵌入式系統獲得了越來越多的關注。嵌入式系統是一種以軟件和硬件相結合為特征的計算機系統。該種系統常用于工業大型機械化生產或者國防工業等領域,通過嵌入到某些專門設備中予以實現,故此得名嵌入式系統。在數十年的實際應用過程中,嵌入式系統屢經發展,不斷創新改進,目前已經取得了許多項先進技術成果,為今后的相關領域開發工作指出了重要方向。
1 微處理器技術的選擇
微處理器技術是嵌入式系統的重要基本元素。伴隨著加工制作技術的升級,微處理器從最初的4位、8位器件開始,發展到后面的集成式單片8位微處理器、16位微處理器。時至今日,16位微處理器已經成為微處理器應用的中間類型,占據著微處理器市場的最大份額,而更高端的領域則由32位架構的器件所占據。最開始的32位器件采用的是CISC架構,而后隨著技術的發展,性能更加優異的RISC芯片則成為32位器件架構形式的主要選擇。嵌入式系統開發人員可以根據項目實際需要,綜合比較設備性能、服務、適用性以及成本等多個指標選擇最適合的微處理器。
2 系統架構的選擇
架構是系統的基礎組成,不僅關系到系統功能的實現,對于系統后續發展、優化也有著舉足輕重的作用。微處理器的架構開始時僅僅是中央處理器和部分邏輯器件構成的簡單形式。經過多年的發展,微處理器架構變得復雜、繁瑣,但調試技術還是原來那些電路仿真、芯片級調試、ROM監控器以及指令集模擬等技術。隨著嵌入式系統應用范圍不斷擴大和技術要求的不斷提高,系統架構的重要性也在與日俱增,嵌入式系統開發人員必須要認真評估各類微處理器相關特性,選取合適的系統架構,這樣才能保證開發出來的系統的健康水平。
3 設計組成
嵌入式系統的軟件開發工作包括硬件開發和軟件開發兩個部分。最開始的時候,軟、硬件的開發工作基本上都由一名技術人員負責。而且在系統開發項目的全部工作中,軟件開發所占據的比例較小,最大十分之一。隨著技術的不斷發展,嵌入式系統開發工作中軟件設計所占據的比例越來越大。原有工作模式因而發生丟了改變。專業人員專門負責嵌入式系統軟件開發的工作模式出現在上個實際80年代中期,同期軟件開發的工作量占據嵌入式系統開發工作業務量的一半以上。
近些年來,嵌入式系統發展得日漸成熟。軟件、硬件方面都實現了巨大進步。系統開發業務量持續上漲。其中,軟件開發的業務增長更為顯著,已經達到嵌入式系統開發業務量的十分之七、八左右。巨大的工作量已經不是僅僅依靠一個開發人員就能完成的,必須依靠團隊的力量。特別是隨著系統開發工作的深入,一些新的技術措施、手段紛紛涌現,成為系統開發中不可或缺的重要環節。其中一個至關重要的就是用于軟件開發后進行測試的硬件平臺。由于軟件開發業務量的高速增加,用來進行軟件測試的硬件平臺需求也就變得更加迫切。目前常用的方法有本地代碼執行原型環境、指令集軟仿真(模擬),或者是使用標準的、低成本的、現成的評估板等。而主機-目標機連接技術因為成本較低,故而推廣速度很快,其中最為著名的就是JTAG接口。
4 軟件內容
盡管軟件開發所耗費的時間越來越多,但市場對于軟件的開發周期的要求卻越來越短。為了適應市場需求,嵌入式系統軟件開發企業不得不在開發策略上下功夫。早期嵌入式系統軟件結構簡單、功能單一,使用企業自行開發的應用代碼即可實現。如今系統功能豐富,功能強大,結構復雜,軟件開發企業必須依賴外部的力量。目前,軟件開發企業往往根據項目需求,選擇對應的多任務的模型,然后使用標準的、商用的實時操作系統輔助開發。這種做法,優點是開發效率高,缺點是不可避免的遇到知識產權的問題。在全社會都越來越重視知識產權的大形勢下,嵌入式系統軟件開發,必須考慮到知識產權因素的影響,這種影響,不僅僅停留在當前所開發的軟件上,更對后續的相關軟件開發、應用拓展有著巨大的影響。
5 編程語言
編程語言是進行軟件開發設計必不可少的工具。在微處理器剛剛出現,尚停留在4位、8位器件的階段,開發人員只能選擇匯編語言進行開發。當16位微處理器技術出現以后,軟件編程語言的選擇也變得豐富起來。使用較多的有Pascal、C語言、PL/M語言。而對于一些特別的系統,Forth語言更為適合。當32位微處理器應用日漸廣泛以后,又開發出了C和ADA。其中,ADA主要應用于軍事領域,在國防事業中大展身手。時至今日,C++已經逐步取代C語言成為嵌入式系統軟件開發語言的主流,目前大約四分之一到三分之一的嵌入式系統是使用C++設計的。而本來專為嵌入式系統軟件所開發出來的Java則在要求運行時重新配置的領域實現了更大的自身價值,統一建模語言(UML)也成為高級設計方法學的最流行選擇。
6 軟件隊伍的規模和分布
上文提過,最初的嵌入式軟、硬件開發工作通常都由一名工程師予以兼任。經過多年的發展演化,軟件開發工作變得專業化、系統化、精細化,形成了專門負責軟件開發的技術業務人員。而以嵌入式系統軟件開發為職責的團隊則是今后發展的主要方向。IT行業軟件開發項目管理工作責任重大、任務艱巨。嵌入式系統軟件開發同樣如此。其區別僅在于嵌入式系統軟件開發使用過程語言,比如C語言和匯編語言進行編程。嵌入式系統軟件開發是一項技術含量和系統化要求很高的工作。開發團隊中的所有人都要對目標系統有著全面的清晰的了解,而在當前項目越來越大,工作人員越來越多的情況下,受各人業務能力水平等因素的影響,要保持所有人都同樣深入的認知水平顯然是不現實的。實際情況是團隊中部分高端人才對于某個領域認識非常深入,相關業務能力很強,這些人是開發團隊的主干,團隊管理者必須科學、協調、高效使用這些人力資源,確保他們的業務成果可以被其它人員正確使用。而面向對象編程技術則是這種應用策略在技術層面的現實體現。
7 結束語
我國正處于產業結構調整的重要時期,大規模的自動化生產成為工業生產的主流。嵌入式系統軟件遠景廣闊,市場空間巨大。軟件開發企業要牢牢把握這個機會,深入、扎實地研究嵌入式系統軟件開發技術,吸收外部優勢資源為我所用,設計出功能強大、適應廣泛的優質軟件產品,在實現企業自身的健康高速發展的同時,為我國經濟建設提供有力支持與保障。
摘要: 針對新興的嵌入式系統發展趨勢,提出了對于嵌入式系統軟件開發的幾個過程,并挑選出它們所驅動的技術,從而做出一個值得注意的技術的時間表。
關鍵詞: 嵌入式系統;軟件開發
0 引言
嵌人式系統開發經過30多年的發展,到現在算是一個成熟的技術了。由此可以從總體上確認在嵌入式系統開發展過程中出現的幾種明顯趨勢,這些趨勢指出了一系列新興的關鍵技術。
1 微處理器技術
最早的微處理器是4位和8位器件。由于制造技術越來越復雜,集成的單片8位微處理器開始出現,16位微處理器也開始使用。隨著微電子技術的發展,16位的微處理器已得到廣泛的應用。32位架構的器件逐漸占領了高端的應用市場,第一代的32位器件都是CISC架構,但目前,越來越多的RISC芯片正在提供更高的性能。嵌人式系統設計者選擇微處理器的范圍比以前大了,必須根據性能、需求、支持、可用性和價格來進行選擇。
2 系統架構
隨著微處理器的發展系統架構也在進步。最早的系統,是由CPU和一些邏輯器件組成的。多年以來,系統變得日益復雜,但都還可以使用同樣的調試技術—電路仿真、芯片級調試、ROM監控器以及指令集模擬。嵌入式系統日益強勁,而功能需求的增長則更快很多設計者開始重新審視微處理器和它們的用法。
3 設計組成
嵌入式系統發展的最初階段。所有的開發包括軟件和硬件設計,通常都是一個工程師來承擔。軟件在整個工作址中的比例很小,大約5%-10%。隨著時間的推移軟件開發占工程時間的比例持續增長。至20世紀80年代中期,軟件開發已經是由專業歡件人員來做,所占比例一般已超過整個開發工作量的50%。
在最近幾年,雖然硬件設計變得更加復雜,但軟件的份量也急劇增長,目前通常占到開發總量70%-80%。因此,需要有軟件團隊參與,同時也產生了一些新的挑戰。這些挑戰中的一個,就是要有可用的硬件平臺來進行軟件測試。由于要在更短的時間內開發更多的軟件,就需要盡快建立測試環境。發出更多的軟件,就需要盡快建立測試環境。有多種可行的方法,如本地代碼執行原型環境、指令集軟仿真(模擬),以及使用標準的、低成本的、現成的評估板。此外,低成本的主機一目標機連接技術,也變得越來越普及,有代表性的就是JTAG接口。
4 軟件內容
軟件開發所占總時間的比例一直在增加。同時,來自全球貿易和競爭的壓力使得產品投放市場的時間也一直在縮短。這極大地影響了設計的策略。最早的設計相當簡單,僅僅由自己設計的應用代碼組成。隨著系統的復雜度增加,多任務的模型被軟件開發者廣泛采納,很多開發者選擇標準的、商用的實時操作系統產品。隨著各個標準的進一步被采納,買來的軟件,或者說有“知識產權”的軟件所占的比例正穩步增長。這個趨勢給了軟件開發者很多啟示。集成標準的軟件組件—和應用代碼及其他—是我們所關心的。在多任務背景下調試是另一個值得關注的問題。與選擇知識產權有關的商業決定尤為復雜;除了當前的要求之外,還有將來的(例如移植到別的處理器)也必須加以考慮。
5 編程語言
對于早期的4位和8位微處理器,匯編語言是唯一的選擇。隨著16位微處理器技術成為現實,出現了幾種可供選擇的語言。有Pascal和C語言和PL/M語言。對某些類型的系統來說,Forth語言也曾很流行,隨著時間推移,32位技術的使用日益增多,出現了C和Ada。后者在國防部的系統中被普遍使用。
在嵌入式軟件開發中,C++開始逐步取代C語言?,F在,1/4~1/3的嵌入式系統代碼是用C++編寫的。Java語言當初是專門為嵌人式應用開發的,在要求運行時重新配置的應用場合,它找到了一席之地。統一建模語言(UML)也成為高級設計方法學的最流行選擇。
6 軟件隊伍的規模和分布
正如先前討論的一樣,最初的嵌人式系統設計只要一個人就夠了。在適當的時候,因專業化,產生了致力于軟件開發的工程師。下一步就是建立嵌人式軟件開發團隊。管理軟件開發在任何情況下都是一個挑戰,嵌入式系統開發也不例外,只是有細微差別。使用傳統的編程技術———過程語言,如C語言和匯編語言,團隊里的大部分成員都需要對整個系統了解比較全面。隨著團隊變大,這就變得越來越不可行。價況住往是,團隊里有一些特殊的人才,他們對某些專門領域很在行。為了有效地管理團隊必須使用合適的策略,將他們的專長封裝起來。盡可能使一個專家的工作成果能夠被非專家以安全、可靠和直觀的方式加以使用.在這種情況下,面向對象編程技術找到應用點。
雖然有很多非常大的公司,但軟件隊伍不是簡單的人員擴充他們正在變成分布式的。團隊的一些成員在一個地方,而其他的可能在別處。這些地點甚至有可能位于不同的國家。這種安排在歐洲很常見,在那里,真正關心的可能是交流的語言。其他地方,時區可能是個問題(可能也是一個優勢,因為分布式的團隊可以全天候工作)。隨著新興的技術中心(如印度)廣泛崛起,上述情況越來越普遍。在這一背景不,軟件組件的可重用性需求就變得很常見了。
7 UML和建模
最近幾年,UML己經成為一項關鍵的設計方法,它和逐漸增七的嵌人式軟件團隊規模關系密切。廣義上說,使用設計工具的方式有2種:或者是作為編寫代碼的指導,或者就作為直接生成代碼的一種手段。對于嵌人式軟件來說,代碼生成是有爭議的,它可能會被爭論(而且還很有道理)—每一個系統都是不同的,都有各自的特殊需求。這正是xtUML(可執行和可翻譯的UML)吸引人的地方,因為它使得應用與架構清晰地分離了。這里所遵循的,是與面向對象編程同樣的原則—使用工具和技術來平衡專家意見。
追蹤所有被當前各種嵌人式系統開發趨勢所驅動的新技術并非易事。孤立地看待其中任何一項技術也是毫無意義的,因為它們之間有著許多聯系。例如,多任務與多處理器調試相關;基于標準的RTOS技術對處理器移植來說真是件幸事;使用設計方法學可以令實現更容易。
“今天,嵌入式設備生產廠商面臨的最大問題就是軟件太多,而他們能夠用來進行測試的時間太少。過去,嵌入式設備設計制造團隊軟硬件工程師的比例為2:8,今天這個比例完全倒過來。這是因為,現在,一個設備區別于其他設備的決定性因素是軟件,層出不窮的應用,使得嵌入式用軟件的數量每2年翻一倍,而制造商卻沒有足夠的能力來滿足這一需求。不僅在消費產品領域,而且在工業、醫療器械領域都有time tomarketing的需求,在這種情況下我們開發了WindRiver test management(以下簡稱WRTM)4.0這款針對嵌入式系統的自動化測試軟件。”風河設備測試產品市場營銷副總裁IdoSarig說道。
風河的windriver testmanagement,是一個自動化的測試軟件,能夠幫助嵌入式軟件進行更好的系統測試。這次開發的軟件,是第一個為嵌入式軟件設計的自動化的測試程序,與傳統的測試程序不同,有很多新特性能夠對系統進行測試。WRTM可應用于、汽車、醫療、網絡、軍工、航天,風河在諸多領域都展開了廣泛的合作,并獲得了客戶的好評。
“雖然看起來,增加軟件工程師的數量,進行軟件開發和測試方面的投入會增加很多成本,但是如果不這么做的話,在大量依賴軟件實現的創新中,軟件故障會給設備制造商帶來巨大的經濟損失。比如幾年以前,大眾公司在中國市場銷售的奧迪Q7SUV汽車,因為軟件故障導致的召回事件,讓這家汽車制造商損失數百萬美元。而我們的測試軟件可以幫助客戶發現這類問題,并顯著的降低測試的時間和成本,這樣的成功案例有很多。我們的研究表明,用我們的軟件可以將測試時間降低30%-40%?!?
WRTM4.0有一個重要的功能就是虛擬實驗室管理器,他可以綜合全球各個測試實驗室整合出的測試信息,來查找系統問題。不僅如此,還可以為客戶節約測試方面的投入。例如,一家美國電信公司,在測試管理方面的投入高達每季度100萬美元,而每一位測試工程師希望擁有專屬的測試設備,這在很大程度上造成了重復投資,虛擬實驗室就解決了這樣問題,既保證了測試設備的獨立性,同時又避免了重復投資。此外,WRTM測試引擎可以測試支持各種版本程序語言的軟件(C,C++語言),甚至是二進制代碼,并且可以進行優化和給出參考建議。
“WMRT未來的挑戰是如何降低測試的時間,現在很多公司的實驗室都堆積了過多的測試案件,他們沒有時間去處理或者為了不承擔責任而干脆不予理會,WRTM能夠幫助客戶解決這些問題,找出不同版本之間的差別,并判斷出最可能出現問題的位置,從而使得軟件測試變得更加有針對性,節省測試時間。WRTM軟件的未來目標之一就是盡可能快速、盡可能準確地發現問題?!?