⑴ 實時操作系統有哪些
問題一:硬實時操作系統和軟實時操作系統有什麼不同? 國際上常見的嵌入式操作系統大約有40種左,右如:linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他們基本可以分為兩類,一類是面向控制、通信等領域的實時操作系統,如windriver公司的vxworks、isi的psos、qnx系統軟體公司的qnx、ati的nucleus等;另一類是面向消費電子產品的非實時操作系統,這類產品包括個人數字助理(pda)、行動電話、機頂盒、電子書、webphone等,系統有Microsoft的WinCE,3的Palm,以及Symbian和Google的Android等。
(一)VxWorks
VxWorks操作系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時操作系統(RTOS),是Tornado嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌人式實時操作系統領域逐漸占據一席之地。
VxWorks具有可裁剪微內核結構;高效的任務管理;靈活的任務間通訊;微秒級的中斷處理;支持POSIX 1003.1b實時擴展標准;支持多種物理介質及標準的、完整的TCP/IP網路協議等。
然而其價格昂貴。由於操作系統本身以及開發環境都是專有的,價格一般都比較高,通常需花費功0萬元人民幣以上才能建起一個可用的開發環境,對每一個應用一般還要另外收取版稅。一般不通供源代碼,只提供二進制代碼。由於它們都是專用操作系統,需要專門的技術人員掌握開發技術和維護,所以軟體的開發和維護成本都非常高。支持的硬體數量消肢有限。(二)Windows CE
Windows CE與Windows系列有較好的兼容性,無疑是Windows CE推廣的一大優勢。其中WinCE3.0是一種針對小容量、移動式、智能化、32位、了解設備的模塊化實時嵌人式操作系統。為建立針對掌上設備、無線設備的動態應用程序和服務提供了一種功能豐富的操作系統平台,它能在多種處理器體系結構上運行,並且通常適用於那些對內存佔用空間具有一定限制的設備。它是從整體上為有限資源的平台設計的多線程、完整優先權、多任務的操作系統。它的模塊化設計允許它對從掌上電腦到專用的工業控制器的用戶電子設備進行定製。操作系統的基本內核需要至少200KB的ROM。由於嵌入式產品的體積、成本等方面有較嚴格的要求,所以處理器部分佔用空間應盡可能的小。系統的可用內存和外存數量也要受限制,而嵌入式操作系統就運行在有限的內存(一般在ROM或快閃記憶體)中,因此就對操作系統的規模、效率等提出了較高的要求。從技術角度上講,銀渣Windows CE作為嵌入式操作系統有很多的缺陷:沒有開放源代碼,使應用開發人員很難實現產品的定製;在效率、功耗方面的表現並不出色,而且和Windows一樣佔用過的系統內存,運用程序龐大;拿搏世版權許可費也是廠商不得不考慮的因素。(三)嵌入式Linux
這是嵌入式操作系統的一個新成員,其最大的特點是源代碼公開並且遵循GPL協議,在近一年多以來成為研究熱點,據IDG預測嵌入式Linux將占未來兩年的嵌入式操作系統份額的50%。
由於其源代碼公開,人們可以任意修改,以滿足自己的應用,並且查錯也很容易。遵從GPL,無須為每例應用交納許可證費。有大量的應用軟體可用。其中大部分都遵從GPL,是開放源代碼和免費的。可以稍加修改後應用於用戶自己的系統。有大量的免費的優秀的......>>
問題二:實時操作系統有哪些 實時操作系統是保證在一定時間限制內完成特定功能的操作系統。實時操作系統有硬實時和軟實時之分,硬實時要求在規定的時間內必須完成操作,這是在操作系統設計時保證的;軟實時則只要按照任務的優先順序,盡可能快地完成操作即可。我們通常使用的操作系統在經過一定改變之後就可以變成實時操作系統。
例如,可以為確保生產線上的機器人能獲取某個物體而設計一個操作系統。在「硬」實時操作系統中,如果不能在允許時間內完成使物體可達的計算,操作系統將因錯誤結束。在「軟」實時操作系統中,生產線仍然能繼續工作,但產品的輸出會因產品不能在允許時間內到達而減慢,這使機器人有短暫的不生產現象。一些實時操作系統是為特定的應用設計的,另一些是通用的。一些通用目的的操作系統稱自己為實時操作系統。但某種程度上,大部分通用目的的操作系統,如微軟的Windows NT或IBM的OS/390有實時系統的特徵。這就是說,即使一個操作系統不是嚴格的實時系統,它們也能解決一部分實時應用問題。
大體上,實時操作系統(RTOS)要求:
多任務
處理能被區分優先次序的進程線
一個中斷水平的充份數量
被裝入作為微型設備一部分的內含小操作系統經常要求實時操作系統。一些核心問題能被考慮以符合實時操作系統的需求。然而,因為像設備驅動程序這樣的其他成份,也通常被特別的方法需要,一個實時操作系統通常比核心更大。
問題三:實時操作系統有哪些 實時操作系統是保證在一定時間限制內完成特定功能的操作系統。實時操作系統有硬實時和軟實時之分,硬實時要求在規定的時間內必須完成操作,這是在操作系統設計時保證的;軟實時則只要按照任務的優先順序,盡可能快地完成操作即可。我們通常使用的...
問題四:操作系統都有哪些 實時操作系統 上 1 目前當下操作系統有PC端:Windows;Linux; Mac os; Unix;WAP端有:Android;ios
問題五:實時操作系統的實時任務 在實時系統中必然存在著若干個實時任務,這些任務通常與某些個外部設備相關,能反應或控制相應的外部設備,因而帶有某種程度的緊迫性。可從不同的角度對實時任務加以分類。1、 按任務執行時是否呈現周期性變化來劃分:a、周期性實時任務外部設備周期性地發出激勵信號給計算機,要求它按照指定周期循環執行,以便周期性的控制某種外部設備。b、非周期性實時任務外部設備所發出的激勵信號並無明顯的周期性,但都必須聯系著一個截止時間。 它又可分為開始截止時間(任務在某時間以前必須開始執行)和完成截止時間(任務在某時間以前必須完成)兩部分。2、根據對截至時間的要求來劃分:a、硬實時任務b、軟實時任務
問題六:windows實時操作系統有哪些 Windows7、Windows8、Windows10,至少有這三款。
問題七:實時操作系統的比較 實時系統與分時系統特徵的比較(1)多路性。實時信息處理系統與分時系統一樣具有多路性。系統按分時原則為多個終端用戶服務;而對實時控制系統,其多路性則主要表現在經常對多路的現場信息進行採集以及對多個對象或多個執行機構進行控制。(2)獨立性。實時信息處理系統與分時系統一樣具有獨立性。每個終端用戶在向分時系統提出服務請求時,是彼此獨立的操作,互不幹擾;而在實時控制系統中信息的採集和對對象的控制,也彼此互不幹擾。(3)及時性。實時信息系統對實時性的要求與分時系統類似,都是以人所能接受的等待時間來確定;而實時控制系統的及時性,則是以控制對象所要求的開始截止時間或完成截止時間來確定的,一般為秒級、百毫秒級直至毫秒級,甚至有的要低於100微秒。(4)交互性。實時信息處理系統具有交互性,但這里人與系統的交互,僅限於訪問系統中某些特定的專用服務程序。它不像分時系統那樣能向終端用戶提供數據處理服務、資源共享等服務。(5)可靠性。分時系統要求系統可靠,相比之下,實時系統則要求系統高度可靠。因為任何差錯都可能帶來巨大的經濟損失甚至無法預料的災難性後果。因此,在實時系統中,採取了多級容錯措施來保證系統的安全及數據的安全。
問題八:嵌入式實時操作系統和軟實時操作系統的區別 嵌入式實時系統中採用的操作系統我們稱為嵌入式實時操作系統,它既是嵌入式操作系統,又是實時操作系統。作為一種嵌入式操作系統,它具有嵌入式軟體共有的可裁剪、低資源佔用、低功耗等特點;而作為一種實時操作系統(本文對實時操作系統特性的討論僅限於強實時操作系統,下面提到的實時操作系統也均指強實時操作系統),它與通用操作系統(如Windows、Unix、Linux等)相比有很大的差別,下面我們將通過比較這兩種操作系統之間的差別來逐步描述實時操作系統的主要特點。
我們在日常工作學習環境中接觸最多的是通用操作系統,通用操作系統是由分時操作系統發展而來,大部分都支持多用戶和多進程,負責管理眾多的進程並為它們分配系統資源。分時操作系統的基本設計原則是:盡量縮短系統的平均響應時間並提高系統的吞吐率,在單位時間內為盡可能多的用戶請求提供服務。由此可以看出,分時操作系統注重平均表現性能,不注重個體表現性能。如對於整個系統來說,注重所有任務的平均響應時間而不關心單個任務的響應時間,對於某個單個任務來說,注重每次執行的平均響應時間而不關心某次特定執行的響應時間。通用操作系統中採用的很多策略和技巧都體現出了這種設計原則,如虛存管理機制中由於採用了LRU等頁替換演算法,使得大部分的訪存需求能夠快速地通過物理內存完成,只有很小一部分的訪存需求需要通過調頁完成,但從總體上來看,平均訪存時間與不採用虛存技術相比沒有很大的提高,同時又獲得了虛空間可以遠大於物理內存容量等好處,因此虛存技術在通用操作系統中得到了十分廣泛的應用。類似的例子還有很多,如Unix文件系統中文件存放位置的間接索引查詢機制等,甚至硬體設計中的Cache技術以及CPU的動態分支預測技術等也都體現出了這種設計原則。由此可見,這種注重平均表現,即統計型表現特性的設計原則的影響是十分深遠的。
實時操作系統,即RTOS(Real-TIme operating system),是指當外界事件或數據產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速響應,並控制所有實時任務協調一致運行的操作系統。對於實時操作系統,前面我們已經提到,它除了要滿足應用的功能需求以外,更重要的是還要滿足應用提出的實時性要求,而組成一個應用的眾多實時任務對於實時性的要求是各不相同的,此外實時任務之間可能還會有一些復雜的關聯和同步關系,如執行順序限制、共享資源的互斥訪問要求等,這就為系統實時性的保證帶來了很大的困難。因此,實時操作系統所遵循的最重要的設計原則是:採用各種演算法和策略,始終保證系統行為的可預測性(predictability)。可預測性是指在系統運行的任何時刻,在任何情況下,實時操作系統的資源調配策略都能為爭奪資源(包括CPU、內存、網路帶寬等)的多個實時任務合理地分配資源,使每個實時任務的實時性要求都能得到滿足。與通用操作系統不同,實時操作系統注重的不是系統的平均表現,而是要求每個實時任務在最壞情況下都要滿足其實時性要求,也就是說,實時操作系統注重的是個體表現,更准確地講是個體最壞情況表現。舉例來說,如果實時操作系統採用標準的虛存技術,則一個實時任務執行的最壞情況是每次訪存都需要調頁,如此累計起來的該任務在最壞情況下的運行時間是不可預測的,因此該任務的實時性無法得到保證。從而可以看出在通用操作系統中廣泛採用的虛存技術在實時操作系統中不宜直接採用。
由於實時操作系統與通用操作系統的基本設計原則差別很大,因此在很多資源調度策略的選擇上......>>
問題九:實時操作系統的特徵 1)高精度計時系統計時精度是影響實時性的一個重要因素。在實時應用系統中,經常需要精確確定實時地操作某個設備或執行某個任務,或精確的計算一個時間函數。這些不僅依賴於一些硬體提供的時鍾精度,也依賴於實時操作系統實現的高精度計時功能。2)多級中斷機制一個實時應用系統通常需要處理多種外部信息或事件,但處理的緊迫程度有輕重緩急之分。有的必須立即作出反應,有的則可以延後處理。因此,需要建立多級中斷嵌套處理機制,以確保對緊迫程度較高的實時事件進行及時響應和處理。3)實時調度機制實時操作系統不僅要及時響應實時事件中斷,同時也要及時調度運行實時任務。但是,處理機調度並不能隨心所欲的進行,因為涉及到兩個進程之間的切換,只能在確保「安全切換」的時間點上進行,實時調度機制包括兩個方面,一是在調度策略和演算法上保證優先調度實時任務;二是建立更多「安全切換」時間點,保證及時調度實時任務。實時操作系統的特點IEEE 的實時UNIX分委會認為實時操作系統應具備以下的幾點:1、非同步的事件響應2、切換時間和中斷延遲時間確定3、優先順序中斷和調度4、搶占式調度
⑵ 嵌入式操作系統有哪些
常見的嵌入式操作系統有WINDOWS CE、iOS、Linux、Android、FreeRTOS。
1、WINDOWS CE,WINDOWS CE是微軟開發的一個開放的、可升級的32位嵌入式操作系統,是基於掌上型電腦類的電子設備操作系統。Windows CE具有模塊化、結構化和基幹Win32應用程序接日以及與處理器無關等特點。
2、iOS,蘋果的iOS系統可以說是蘋果公司賴以生存的核心技術,在iPhone、iPad、iTouch、iPod等設備上運行的iOS具備了嵌入式的全部特性。
3、Linux,Linux是一個類似於Unix的操作系統。Linux從1991年問世到現在,短短10年的時間內已發展成為一個功能強大、設計完善的操作系統,Linux系統不僅能夠運行於PC平台,還在嵌入式系統方面大放光芒,在各種嵌人式Linux OS迅速發展的狀況下,Linux OS逐漸形成了可與Windows CE等EOS進行抗衡的局面。
4、Android,Android是一個包括操作系統,中間件以及一些重要應用程序的專門針對移動設備的層次結構的軟體集。Android操作系統內置了一部分應用程序,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、通訊錄以及其他的程序。
5、FreeRTOS,FreeRTOS是一個迷你操作系統內核的小型嵌入式系統。功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統的需要。
⑶ 市場上的串口伺服器一般跑什麼系統ucos、uclinux、還是linux還是單片機裸奔期待詳細答案!
我見過的有裸奔的,linux的。這個具體要看客戶需要,凱梁直接轉發的裸奔的就可以了,需要協議轉換的就要linux,因為牽扯祥茄到動態庫。當然不局限於以上兩種,不同的公司有不同的盯宴運解決方案,一般以Linux+arm9為主流。
⑷ 學習嵌入式開發要學習哪些知識
嵌入式Linux操作系統學習規劃
ARMLINUX路線,主攻嵌入式Linux操作系統及其上應用軟體開發目標:
(1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9)
(2) 必須掌握一個嵌入式操作系統 (初步定為uclinux或linux,版本待定)
(3) 必須熟悉嵌入式軟體開發流程並至少做一個嵌入式軟體項目。
從事嵌入式軟體開發的好處是:
(1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,大多數人無條件接觸。
(2)與企業計算等應用軟體不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。
(3)哪天若想創業,搞自已的產品,嵌入式不像應用軟體那樣容易被盜版。硬體設計一般都是請其它公司給訂做(這叫「貼牌」:OEM),都是通用的硬體,我們只管設計軟體就變成自己的產品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟體開發的缺點是:
(1)入門起點較高,所用到的技術往往都有一定難度,若軟硬體基礎不好,特別是操作系統級軟體功底不深,則可能不適於此行。
(2)這方面的企業數量要遠少於企業計算類企業。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。
(4)平台依託強,換平台比較辛苦。
興趣的由來:
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰邏輯思維。
3、喜歡C
C是一種能發揮思維極限的語言。關於C的精神的一些方面可以被概述成短句如下:
相信程序員。
不要阻止程序員做那些需要去做的。
保持語言短小精幹。
一種方法做一個操作。
使得它運行的夠快,盡管它並不能保證將是可移植的。
4、喜歡底層開發,討厭vb類開發工具(並不是說vb不好)。
5、發展前景好,適合創業,不想自己要死了的時候還是一個工程師。
方法步驟:
1、基礎知識:
目的:能看懂硬體工作原理,但重點在嵌入式軟體,特別是操作系統級軟體,那將是我的優勢。
科目:數字電路、計算機組成原理、嵌入式微處理器結構。
匯編語言、C/C、編譯原理、離轎沒散數學。
數據結構和演算法、操作系統、軟體工程、網路、資料庫。
方法:雖科目眾多,但都是較簡單的基礎,且大部分已掌握。不一定全學,可根據需要選修。
主攻書籍:the c programming language(一直沒時間讀)、數據結構-C2。
2、學習linux:
目的:深入掌握linux系統。
方法:使用linux—〉linxu系統編程開發—〉驅動開發和分析linux內核。先看深,那主講原理。看幾遍後,看情景分析,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學習。最後深入代碼。
主攻書籍:linux內核完全剖析、unix環境高級編程、深入理解linux內核、情景分析和源代。
3、學習嵌入式linux:
目的:掌握嵌入式處理器其及系統。
方法:(1)嵌入式微處理器結構與應用:直接arm原理及匯編即可,不要重復x86。
(2)嵌入式操作系統類:ucOS/II簡單,開源,可供入門。而後深入研究uClinux。
(3)必須有塊開發板(arm9以上),有條件可參加培訓(進步快,能認識些朋友)。
主攻書籍:毛德操的《嵌入式系統》及其他arm9手冊與arm匯編指令等。
4、深入學習:
A、數字圖像壓縮技術:主要是應掌握祥冊MPEG、mp3等編解碼演算法和技術。
B、通信協議及編程技術:TCP/IP協議、802.11,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回復
122.90.173.* 2樓
C、網路與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:Digital Signal Process,DSP處理器通過硬體實現數字信號處理演算法。
說明:太多細節未說明,可根據實際情況調整。重點在於1、3,不必完全按照順序作。對閉宴納於學習c,理由是c不只是一種語言,一種工具,她還是一種藝術,一種文化,一種哲學理念、但不是拿來炫耀得東西。對於linux內核,學習編程,讀一些優秀代碼也是有必要的。
注意:要學會舉一反多,有強大的基礎,很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,並具有良好的邏輯思維。一定要理論結合實踐。
不要一味鑽研技術,雖然擠出時間是很難做到的,但還是要留點餘地去完善其他的愛好,比如宇宙,素描、機械、管理,心理學、游戲、科幻電影。還有一些不願意做但必須要做的!
技術是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機會來了在創業(不要相信有奇跡發生,盲目創業很難成功,即便成功了發展空間也不一定很大)。
嵌入式書籍推薦
Linux基礎
1、《Linux與Unix Shell 編程指南》
C語言基礎
1、《C Primer Plus,5th Edition》【美】Stephen Prata著
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
5、《Linux高級程序設計》 楊宗德著
硬體基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統——體系結構、編程與設計》
2、《嵌入式系統——採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系統原理與實例開發》 楊宗德著
理論基礎
1、《演算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》【美】Randal E. Bryant David O''Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網路》
8、《數據壓縮原理與應用》
C語言書籍推薦
1. The C programming language 《C程序設計語言》
2. Pointers on C 《C和指針》
3. C traps and pitfalls 《C陷阱與缺陷》
4. Expert C Lanuage 《專家C編程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《編程精粹--Microsoft 編寫優質無錯C程序秘訣》
6. Programming Embedded Systems in C and C 《嵌入式系統編程》
7.《C語言嵌入式系統編程修煉》
8.《高質量C/C編程指南》林銳
盡可能多的編碼,要學好C,不能只注重C本身。演算法,架構方式等都很重要。
這里很多書其實是推薦而已,不必太在意,關鍵還是基礎,才是重中之重!
⑸ UC/OS與Linux操作系統的區別
uc/os比較簡單一點,開始學的uc/os,感覺沒意思了就開始學linux,感覺ucos只是在單片機上跑跑,像arm9的一般是跑linux。其實先學哪個都差不多,因為學習方法大不相同,差別太大了,ucos太簡單,就一些信號量,郵箱什麼的,懂了也就會了,linux有點難,涉及知識太多,光是涉及內核以外的編程就需要大把大把的經典書籍去看。興趣很重要,都靠興趣過來的。
⑹ 常見的嵌入式操作系統有哪些
常見的嵌入式系統
Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive
什麼是嵌入式操作系統?
嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟體,它是嵌入式系統的重要組成部分。
嵌入時操作系統具有通用操作系統的基本特點,能夠有效管理復雜的系統資源,並且把硬體虛擬化。
從應用角度可分為通用型嵌入式操作系統和專用型嵌入式操作系統。
常見的通用型嵌入式操作系統有Linux、VxWorks、Windows CE.net等。
常用的專用型嵌入式操作系統有Smart Phone、Pocket PC、Symbian等。
按實時性可分為兩類:
實時嵌入式操作系統主要面向控制、通信等領域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系統軟體公司的QNX、ATI的Nucleus等。
非實時嵌入式操作系統主要面向消費類電子產品。這類產品包括PDA、行動電話、機頂盒、電子書、WebPhone等。如微軟面向手機應用的Smart Phone操作系統。【龍江包郵】
⑺ linux系統主要是什麼人在用
嵌入式Linux操拿耐稿作系統:Linux的前途除作為伺服器操作系統外,最成功的便是在嵌入式領域的應用,原因當然是免費、開源、支持軟體多、呼擁者眾,這樣嵌入式產品成本會低。Linux本身不是一個為嵌入式設計的操作系統,不是微內核的,並且實時性不強。目前應用在嵌入式消孝領域的Linux系統主要有兩類:一類是專為嵌入式設計的已被裁減過的Linux系統,最常用的是uClinux(不帶MMU功能),目前占較大應用份額,可在ARM7上跑;另一類是跑在ARM 9上的,一般是將Linux 2.4.18內核移植在其上,可使用更多的Linux功能(當然uClinux更可跑在ARM 9上)。很多人預測,嵌入式Linux預計將占嵌入式操作系統的50%以上份額,非常重要。缺點是熟悉Linux的人太少,開發難度稍大。另外,目前我們能發現很多教材和很多大學都以ucOS/II為教學用實時操作系統,這主要是由於ucOS/II較簡單,且開源,非常適合入門者學習實時操作系統原理,但由於ucOS/II功能有限,實用用得較少,所以正規高校軟體學院不將其作為教學重點,要學習就應學直接實用的,比如 uClinux就很實用。況且熟悉了Linux開發,不僅在嵌入式領域有用,對開發Linux應用軟體,對加深操作系統的認識也有幫助,可謂一舉多得。據我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式開發,Fujitum則是在自己的處理器上大搞Linux開發。目前在嵌入式Linux領域,以下幾個方面的人特別難找,一是能將Linux移植到某個新型號的開發版上;二是能寫Linux驅動程序的人;三是熟悉Linux內核裁減和優化的人。正規高校軟體學院在該嵌入式Linux方面的課程系列是:本科生操作系統必修課,然後是Linux程序設計選修課,最後是嵌入式Linux系統選修課。正規高校軟體學院在Linux方面目前已有較畝扒強力量,魏老師和張老師熟悉Linux開發,金老師和唐老師熟悉Linux系統管理。
⑻ stm32可以移植嵌入式系統嗎
」嵌入式系統「和」操作系統「不是一個概念。如果你說的是操作系統,可以的。一般微控制器用在工業控制領域,需要對外界事件快速做出反應,一般安裝的是實時操作系統。常見的有VxWorks(NASA的航天設備用的)uClinux(有些路由器裡面的),FreeRTOS,uC/OS等。
⑼ 我馬上要上大學要學嵌入式這個專業,不知道發展前景如何 和難易如何
目前發展空間很大的,皮運智慧裝置層出不窮,工業上也有很大空間,任何專業都難,只要用心加勤快就不難了
搞嵌入式開發的人有兩類:一類是學電子工程、通訊工程等偏硬體專業出身的人,他們主要是搞硬體設計,有時要開發一些與廳握盯硬體關系最密切的最底層軟體,如BootLoader、 Board Support Package(像PC的BIOS一樣,往下驅動硬體,往上支援作業系統),最初級的硬體驅動程式等。他們的優勢是對硬體原理非常清楚,不足是他們更擅長定義各種硬體介面,但對復雜軟體系統往往力不從心(例如嵌入式作業系統原理和復雜應用軟體等)。另一類是學軟體、計算機專業出身的人,主要從事嵌入式作業系統和應用軟體的開發。如果我們學軟體的人對硬體原理和介面有較好的掌握,我們完全也可寫BSP和硬體驅動程式。嵌入式硬體設計完後,各種功能就全靠軟體來實現了,嵌入式裝置的增值很大程度上取決於嵌入式軟體,這佔了嵌入式系統的最主要工作(目前有很多公司將硬體設計包給了專門的硬體公司,稍復雜的硬體都交給台灣或國外公司設計,國內的硬體設計力量很弱,很多嵌入式公司自己只負責開發軟體,因為公司都知道,嵌入式產品的差異很大程度在軟體上,在軟體方面是最有"花頭"可做的),所以我們搞軟體的人完全不用擔心我們在嵌入式市場上的用武之地,越是智慧裝置越是復雜系統,軟體越起關鍵作用,而且這是目前的趨勢。
從事嵌入式軟體開發的好處是:
(1) 目前國內外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂較底層軟體(例如作業系統級、驅動程式級軟體),對軟體專業水平要求較高(嵌入式系統對軟體設計的時間和空間效率要求較高),而且必須懂得硬體的工作原理,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,很多軟硬體技術出現時間不長或正在出現(如ARM處理器、嵌入式作業系統、MPEG技術、無線通訊協議等),掌握這些新技術的人當然很難找。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟體,另外需要有經驗的人進行指導開發流程。
(2) 與企業計算等應用軟體不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。搞企業應用軟體的IT企業,這個使用者的系統搞完了,又得去搞下一個使用者的,而且每個使用者的需求和完成時間都得按客戶要求改變,往往疲於奔命,重復勞動。相比而言,搞嵌入式系統的公司,都有自己的產品計劃,按自己的節奏行事。所開發的產品通常是通用的,不會因客戶的不同而修改。一個產品型號開發完了,往往有較長一段空閑時間(或只是對軟體進行一些小修補),有時間進行充電和休整。另外,從事嵌入式軟體的每個人工作范圍相對狹窄,所涉及的專業技術范圍就是那些(ARM、扮和RTOS、MPEG、802.11等),時間長了這些東西會越搞越有經驗,賣賣老本,幾句指導也夠讓那些初入道者琢磨半年的。若搞應用軟體,可能下一個客戶要換成一個完全不同的軟體開發平台,那就苦了。
(3) 哪天若想創業,搞自已的產品,那麼嵌入式是一個不錯的主意,這可不像應用軟體那樣容易被盜版。我們這屆有個同學自己有點此類小生意,具體做什麼的沒細問, 他每月要進貨幾千片8位微控制器,現在自己已經有車有房了。還有現在開發的飯館用的點菜PDA(WinCE平台,可無線連網和上網),據說銷路不錯,飯館點點PDA讓客戶點菜,多顯派頭檔次。這些PDA的硬體設計一般都是請別的公司給訂做(這叫「貼牌」:OEM),都是通用的硬體,我們只管設計軟體就變成自己的產品了。
從事嵌入式軟體開發的缺點是:
(1) 入門起點較高,所用到的技術往往都有一定難度,若軟硬體基礎不好,特別是作業系統級軟體功底不深,則可能不適於此行。
(2) 這方面的企業數量要遠少於企業計算類企業。特別是從事嵌入式的小企業數量較多(小企業要搞自己的產品創業),知名大公司較少(搞嵌入式的大公司主要有 Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半導體、 Microtek、研華、華為、中興通訊、上廣電等製造類企業)。這些企業的習慣思維方式是到電子、通訊等偏硬專業找人。
(3)有少數公司經常要碩士以上的人搞嵌入式,主要是基於嵌入式的難度。但大多數公司也並無此要求,只要有經驗即可。
同學們若學習嵌入式,顯然應偏重於嵌入式軟體,特別是嵌入式作業系統方面,應是我們的強項。對於搞嵌入式軟體的人,最重要的技術顯然是(實際上很多公司的招聘廣告上就是這樣寫的):
(1) 掌握主流嵌入式微處理器的結構與原理
(2) 必須掌握一個嵌入式作業系統
(3) 必須熟悉嵌入式軟體開發流程並至少做過一個嵌入式軟體專案。
在嵌入式軟體方面最重要的課程包括:
(1) 嵌入式微處理器結構與應用:這是一門嵌入式硬體基礎課程,我們說過,嵌入式是軟硬體結合的技術,搞嵌入式軟體的人應對ARM處理器工作原理和介面技術有充分了解,包括ARM的匯編指令系統。若不了解處理器原理,怎麼能控制硬體工作,怎麼能寫出節省記憶體又執行高速的最優程式碼(嵌入式軟體設計特別講究時空效率),怎麼能寫出驅動程式(驅動程式都是與硬體打交道的)?很多公司招聘嵌入式軟體人員時都要求熟悉ARM處理器,將來若同學到公司中從事嵌入式軟體開發,公司都會給你一本該裝置的硬體規格說明書 (xxx Specification),你必須能看懂其中的記憶體分布和埠使用等最基本的說明(就像x86匯編一樣),否則怎麼設計軟體。有些同學覺得嵌入式處理器課程較枯燥,這主要是硬體課程都較抽象的原因。還有同學對ARM匯編不感興趣,以為嵌入式開發用C語言就足夠了。其實不應僅是將組合語言當成一個程式設計語言,學匯編主要是為了掌握處理器工作原理的。一個不熟悉組合語言的人,怎麼能在該處理器寫出最優的C語言程式碼。在嵌入式開發的一些關鍵部分,有時還必須寫匯編,如Bootloader等(可能還包括BSP)。特別是在對速度有極高要求的場合(如DSP處理器的高速影象採集和影象解壓縮),目前還會用到匯編寫程式的,盡管用到的機會相對C要小得多。當你在一個嵌入式公司工作時,在檢視描述原理的手冊時,可能很多都是用匯編描述的,這是因為很多硬體設計人員只會寫或者喜歡用匯編描述,此時你就必須看懂匯編程式,否則軟硬體人員可能就無法交流。很多嵌入式職位招聘時都要求熟悉匯編。
(2) 嵌入式作業系統類課程
除了WinCE的實時性稍差外,大多數嵌入式作業系統的實時性都很強,所以也可稱為實時作業系統Real TimeOperating System。從事嵌入式的人至少須掌握一個嵌入式作業系統(當然掌握兩個更好),這在嵌入式的所有技術中是最為關鍵的了。
目前最重要的RTOS主要包括:第一類、傳統的經典RTOS:最主要的便是Vxworks作業系統,以及其Tornado開發平台。Vxworks因出現稍早,實時性很強(據說可在1ms內響應外部事件請求),並且核心可極微(據說最小可8K),可靠性較高等,所以在北美,Vxworks占據了嵌入式系統的多半疆山。特別是在通訊裝置等實時性要求較高的系統中,幾乎非Vxworks莫屬。Vxworks的很多概念和技術都和Linux很類似,主要是C語言開發。像Bell- alcatel、Lucent、華為等通訊企業在開發產品時,Vxworks用得很多。但Vxworks因價格很高,所以一些小公司或小產品中往往用不起。目前很多公司都在往嵌入式Linux轉(聽說華為目前正在這樣轉)。但無論如何,Vxworks在一段長時間內仍是不可動搖的。與Vxworks類似的稍有名的實時作業系統還有pSOS、QNX、Nucleus等RTOS。
第二類、嵌入式Linux作業系統:Linux的前途除作為伺服器作業系統外,最成功的便是在嵌入式領域的應用,原因當然是免費、開源、支援軟體多、呼擁者眾,這樣嵌入式產品成本會低。Linux本身不是一個為嵌入式設計的作業系統,不是微核心的,並且實時性不強。
目前應用在嵌入式領域的Linux系統主要有兩類:一類是專為嵌入式設計的已被裁減過的Linux系統,最常用的是uClinux(不帶MMU功能),目前占較大應用份額,可在ARM7上跑;另一類是跑在 ARM 9上的,一般是將Linux 2.4.18核心移植在其上,可使用更多的Linux功能(當然uClinux更可跑在ARM 9上)。很多人預測,嵌入式Linux預計將占嵌入式作業系統的50%以上份額,非常重要。缺點是熟悉Linux的人太少,開發難度稍大。另外,目前我們能發現很多教材和很多大學都以ucOS/II為教學用實時作業系統,這主要是由於ucOS/II較簡單,且開源,非常適合入門者學習實時作業系統原理,但由於ucOS/II功能有限,實用用得較少。況且熟悉了Linux開發,不僅在嵌入式領域有用,對開發Linux應用軟體,對加深作業系統的認識也有幫助,可謂一舉多得。據我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式開發,Fujitum則是在自己的處理器上大搞Linux 開發。目前在嵌入式Linux領域,以下幾個方面的人特別難找,一是能將Linux移植到某個新型號的開發版上;二是能寫Linux驅動程式的人; 三是熟悉Linux 核心裁減和優化的人。不過LINUX有一個硬傷,就是沒有WINDOWS那樣的友好方便美觀的互動介面,不然微軟帝國早就守不住了。
第三類、 Windows CE嵌入式作業系統:Microsoft也看準了嵌入式的巨大市場,MS永遠是最厲害的,WinCE出來只有幾年時間,但目前已佔據了很大市場份額,特別是在PDA、手機、顯示儀表等介面要求較高或者要求快速開發的場合,WinCE目前已很流行(據說有一家賣工控機的公司板子賣得太好,以至來不及為客戶裁減WinCE)。WinCE目前主要為4.2版(.NET),開發平台主要為WinCE Platform Builder,有時也用EVC環境開發一些較上層的應用,由於WinCE開發都是大家熟悉的VC++環境,所以我院學過Windows程式設計課程的同學都不會有多大難度,這也是WinCE容易被人們接受的原因,開發環境方便快速,微軟的強大技術支援,WinCE開發難度遠低於嵌入式Linux。對於急於完成,不想拿嵌入式Linux冒險的開發場合,WinCE是最合適了(找嵌入式Linux的人可沒那麼好找的),畢竟公司不能像學生學習那樣試試看,保證開發成功更重要。根據不同的側重點 ,WinCE還有兩個特殊版本,一個是MS PocketPC作業系統專用於PDA上(掌上電腦),另一個是MS SmartPhone作業系統用於智慧手機上(帶PDA功能的手機),兩者也都屬於WinCE平台。在PDA和手機市場上,除WinCE外,著名的PDA 嵌入式作業系統還有Palm OS(因出現很早,很有名)、Symbian等,但在WinCE的強勁沖擊下,Palm和Symbian來日還能有多長?同學學過VC++後再學 WinCE,非常方便自然,通過學習WinCE同樣也可了解嵌入式軟體的一般開發過程,對Linux有懼怕心理的同學也很合適。很顯然,嵌入式Linux 永遠不可能替代WinCE,而且將來誰占份額大還很難講,畢竟很多人更願意接受MS的平台,就像各國 *** 都在大力推LINUX已好長時間,但你能看到幾個在PC機上真正使用LINUX的使用者?據我觀察,目前在嵌入式平台上,LINUX是叫得最響,但還是WinCE實際用得更多。嵌入式LINUX可能更多地是一些有長遠產品計劃的公司,為降低成本而進行長遠考慮。WinCE和多媒體(如MPEG技術)是微軟亞洲工程院目前做得較多的專案領域之一,現在社會很需要精通WinCE的人。現在有WINCE的智慧手機,金山詞霸、WORD、EXCEL、REGEDIT等居然都有 *** artphone版的,PC上的MP3、DOC等居然在download時都可被自動轉換成 *** artphone格式,很爽的。完全可用 Windows CE自己開發一些需要的程式download到自己的手機上。現在市面銷售PDA智慧手機火爆,MS總是財源滾滾。
總結關於嵌入式作業系統類課程,若你覺得自己功底較深且能鑽研下去,則可去學嵌入式Linux;若你覺得自己VC++功底較好且想短平快地學嵌入式開發,自學WINCE是非常好的選擇。
(3) 嵌入式開發的相關領域
搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關領域包括:
A、數字影象壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編解碼演演算法和技術,如DVD、MP3、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。
B、通訊協議及程式設計技術:這包括傳統的TCP/IP協議和熱門的無線通訊協議。首先,大多數嵌入式裝置都要連入區域網或Inter,所以首先應掌握 TCP/IP協議及其程式設計,這是需首要掌握的基本技術;其次,無線通訊是目前的大趨勢,所以掌握無線通訊協議及程式設計也是是很重要的。無線通訊協議包括無線區域網通訊協議802.11系列,Bluetooth,以及行動通訊(如GPRS、GSM、CDMA等)。
C、網路與資訊保安技術:如加密技術、數字證書CA以及各種網路安全裝置,包括硬體防火牆、入侵檢測IDS、還有防毒牆、IPS等,中國在這方面還是沒有自己優勢的,我們陳院長好象正在往這方面發展。
D、 DSP技術:DSP是Digital Signal Process數字訊號處理的意思,DSP處理器通過硬體實現數字訊號處理演演算法,如高速資料採集、壓縮、解壓縮、通訊等。數字訊號處理是電子、通訊等硬體專業的課程,對於搞軟體的人若能了解一下最好。目前DSP人才較缺。如果有訊號與系統、數字訊號處理等課程基礎,對於學習MPEG編解碼原理會有很大幫助。
(4)嵌入式開發的相關硬體基礎
對於軟體工程專業的學生,從事嵌入式軟體開發,像數位電路、計算機組成原理、嵌入式微處理器結構等硬體課程是較重要的。另外,組合語言、C/C++ 資料結構演演算法、特別是作業系統等軟體基礎課也是十分重要的。我們的主要目地是能看懂硬體工作原理,但重點應是在嵌入式軟體,特別作業系統級軟體,那將是我們的優勢。我們的研究生里有些是學電子、通訊類專業過來的,有較好的類比電路和微控制器基礎,學嵌入式非常合適。
嵌入式本身就是從單片機發展過來的,只是微控制器不帶OS,而現在很多嵌入式應用越來越復雜,以至不得不引入嵌入式作業系統。另外,為追求更高速的訊號處理速度,現在在一些速度要求較高場合,有不少公司是將一些DSP演演算法,如MPEG壓縮解壓縮演演算法等用硬體來實現,這就涉及到HDL數位電路設計技術及其 FPGA/IP核實現技術,這方面的人目前市場上也很缺。
關注更多嵌入式請到華清遠見
嵌入式系統是「控制、監視或者輔助裝置、機器和裝置執行的裝置」(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。目前國內一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟體硬體可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。
嵌入式系統發展前景。嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用裝置上,通常這些裝置的硬體資源(如處理器、儲存器等)非常有限,並且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智慧化,嵌入式更顯重要。像我們平常常見到的手機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數字相機(DC)、數字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智慧玩具、交換機、路由器、數控裝置或儀表、汽車電子、家電控制系統、醫療儀器、航天航空裝置等等都是典型的嵌入式系統。
這個問題問對人了,我就是這樣轉行的 嵌入式基本開發你會:c、c++我相信你會的 接著要會linux下c的程式設計,和基於linux的驅動、網路等的開發 然後arm匯編稍微要懂點,電子電路稍微要懂點,英語尤其是專業英語要精通 然後 你就可以做些移植核心或別的程式的工作了,也就是說在linux下開發的東西移植到開發板上能執行這才是嵌入式開發
隨著iPhone的上市,一顆重磅炸彈砸向了嵌入式領域。嵌入式MacOS的穩定和一貫獨具匠心的風格配合高效能的晶片再次激起嵌入式作業系統的波瀾。於此同時同屬UNIX陣營的嵌入式Linux依舊保持快速成長的勢頭,繼續堅守目前嵌入式市場的領軍地位。隨著ARM11慢慢的步入人們的事業,未來會有大量基於ARM11核心的嵌入式Linux裝置涌現。 近年來, IT業的核心技術已經集中在積體電路晶片和作業系統這兩個部分,而嵌入式作業系統則是驅動硬體系統的靈魂。因此,通過嵌入式軟體增加產品的附加值無疑是最好的選擇。世界各國和各知名廠商都在為嵌入式軟體的發展而努力。 作業系統領域,老牌Linux廠商如RedHat,Novell等都把目光轉向嵌入式領域。諾基亞,摩托羅拉等手持移動裝置廠商也大步邁進嵌入式領域,紛紛推出新型嵌入式Linux手機。微軟正在從基於PC的軟體市場,悄然延伸至基於各種移動消費電子產品、專有裝置終端的嵌入式軟體產品市場。據有關資料表明,2006年與嵌入式軟體對應的裝置市場全球出貨量達到14億台,2009年將達到22億台。與之相對應的是,2006年中國嵌入式軟體的市場價值是220億元,到2010年將達到550億元。移動嵌入式產品將是未來消費電子類產品增長最快的領域之一。」Olivier Fontana說。2006年是微軟進軍嵌入式產品領域的標志性一年,該年第一季度,其嵌入式產品部門的業績首度盈利2000多萬美元。 嵌入式Linux未來的前景看好,但是人才的缺乏已經成為當前制約嵌入式Linux發展的瓶頸。一方面,因為嵌入式人才領域門檻較高,從事嵌入式軟體開發的工作人員不僅要熟練掌握c/c++,組合語言等基礎,而且對Linux底層驅動核心,甚至是硬體都要了熟於心。另一方面,因為這一領域較新,目前發展太快,很多軟硬體技術出現時間不長或正在如雨後春筍般的涌現(如ARM11處理器、嵌入式Linux作業系統、MPEG技術、無線通訊協議、移動USB2.0高速傳輸等),目前國內乃至國際上能購掌握這些新技術的人才相當匱乏。 未來幾年,市場對嵌入式Linux人才的需求旺盛。而目前熟練的Linux應用人才只有幾千名。這意味著各大跨國公司及國內消費類電子巨頭企業都面臨著人才嚴重短缺的挑戰。由於嵌入式Linux開發人才的缺乏也帶來了這個行業可觀的薪酬待遇,嵌入式Linux的從業者薪酬比其他IT業同行大約高出50%,初入門的開發人員平均月薪一般都能達到5000元,有三年以上經驗的人員年薪都在10萬元以上,有10年工作經驗的高階嵌入式軟體工程師年薪在30萬元左右。盡管待遇可觀,可是相關企業還是很難招到合適的員工。 對於嵌入式Linux人才缺乏的現狀,可以通過兩種途徑來解決。一是從業者就讀於高校內設定專門的嵌入式系統的專業,二是對軟體專業的畢業生進行嵌入式Linux方面的職前培訓。 高校的軟體教育普遍以應用軟體為主,開設嵌入式軟體專業的學校很少,而且學校不能向學生提供足夠的實踐機會。現在從事嵌入式開發的人員,以自動控制、通訊專業和計算機硬體的偏多,基本是通過工作實踐逐漸轉型而來。但是也有很多計算機軟體專業甚至其他專業轉行的。究其根本,關鍵是人才本身的潛質,無論就讀何專業,只要是對嵌入式Linux領域感興趣,下決心去學習,潛質優秀的人才仍舊能夠輕松的踏入這一IT高薪領域。Uplooking在全國領先推出基於ARM11的嵌入式開發培訓課程。聘請前Intel,AMD嵌入式專家Conke親臨授課。ARM11課程開發歷時1年,經過多位國內,國際知名嵌入式專家研發。課程結合專案實踐和經典理論,由淺入深,由高到低,逐一剝離,細致入微。另有9年Linux核心專家指導。飛思卡爾ARM11開發環境支援。力助您從非從業人員到專業IT人才轉型,從Engineer到Scientist的飛躍歷程。
建築行業精神回報遠大於物質回報 看你是精神理想型還是只是為了掙錢了吧 建築今天形式明顯不如去年 萎靡的很 不過真心不知道過幾年會不會有轉機 現在很多大院的活兒都變得改造專案偏多了 所以。。再看看吧
追答:
建築學有成為有錢人御用工具的趨勢,
市場話語權被那些大財團、大老闆、以及廟堂高官所掌控,
這是大多數人找出路必須要知道的前提。
當然潛心學問是一種出路,孤芳自賞也是一種出路,
但只有少數人才有這樣的運氣。
後面這個是別人說的 感覺也有道理 拿來給你借鑒
應該是具有一定優勢的。因為嵌入式系統方向一般分為嵌入式軟體和硬體的方向,在軟體方面,象c語言等系統級軟體用得很多,與電子靠得近的專業隊這類語言應該接觸較多。在硬體的方向,微控制器,介面技術,數電和模電等專業課程也是學過的,這些內容在嵌入式硬體方向也完全用得上。其實嵌入式系統很多領域是需要基本的軟體和硬體知識的,所以這個專業從事嵌入式系統方向,是有一定優勢的。當然,發展前景是很好的。
採納哦
⑽ ucos ii與uclinux哪個更容易上手
ucos ii,所謂麻雀雖小,五臟俱全