導航:首頁 > 編程系統 > windriverlinux

windriverlinux

發布時間:2023-03-20 03:52:19

㈠ 嵌入式操作系統的分類

嵌入式操作系統的分類 篇1

第一類、傳統的經典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上跑;另一類是跑在ARM9上的,一般是將Linux2.4.18內核移植在其上,可使用更多的Linux功能(當然uClinux更可跑在ARM9上)。很多人預測,嵌入式Linux預計將占嵌入式操作系統的50%以上份額,非常重要。缺點是熟悉Linux的人太少,開發難度稍大。目前很多教材和很多大學都以ucOS/II為教學用實時操作系統,這主要是由於ucOS/II較簡單,且開源,非常適合入門者學習實時操作系統原理,但ucOS/II的缺點是功能有限,實用用得較少,所以要學習就應學直接實用的,比如uClinux就很實用。況且熟悉了Linux開發,不僅在嵌入式領域有用,對開發Linux應用軟體,對加深操作系統的認識也有幫助,可謂一舉多得。據說,目前Intel、Philip都在大搞ARM+LINUX的嵌入式開發,Fujitum則是在自己的處理器上大搞Linux開發。目前在嵌入式Linux領域,以下幾個方面的人特別難找,一是能將Linux移植到某個新型號的開發版上;二是能寫Linux驅動程序的人;三是熟悉Linux內核裁減和優化的人。

第三類、WindowsCE嵌入式操作系統:

Microsoft也看準了嵌入式的巨大市場,WinCE出來只有幾年時間,但目前已佔據了很大市場份額,特別是在PDA、手機、顯示儀表等界面要求較高或者要求快速開發的場合,WinCE目前已很流行(據說有一家賣工控機的公司板子賣得太好,以至來不及為客戶裁減WinCE)。WinCE目前主要為4.2版(.NET),開發平台主要為WinCEPlatformBuilder,有時也用EVC環境開發一些較上層的應用,由於WinCE開發都是大家熟悉的VC++環境,所以學習Windows程序設計課程不會有多大難度,這也是WinCE容易被人們接受的原因,開發環境方便快速,微軟的強大技術支持,WinCE開發難度遠低於嵌入式Linux。對於急於完成,不想拿嵌入式Linux冒險的開發場合,WinCE是最合適了(找嵌入式Linux的人可沒那麼好找的),畢竟公司不能像學生學習那樣試試看,保證開發成功更重要。根據不同的側重點,WinCE還有兩個特殊版本,一個是MSPocketPC操作系統專用於PDA上(掌上電腦),另一個是MSSmartPhone操作系統用於智能手機上(帶PDA功能的手機),兩者也都屬於WinCE平台。在PDA和手機市場上,除WinCE外,著名的PDA嵌入式操作系統還有PalmOS(因出現很早,很有名)、Symbian等,但在WinCE的強勁沖擊下,Palm和Symbian來日還能有多長?據觀察,目前在嵌入式平台上,LINUX是叫得最響,但還是WinCE實際用得更多。嵌入式LINUX可能更多地是一些有長遠產品計劃的公司,為降低成本而進行長遠考慮。WinCE和多媒體(如MPEG技術)是微軟亞洲工程院目前做得較多的項目領域之一,他們很需要精通WinCE的人。

嵌入式操作系統的分類 篇2

目前我國已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌人式操作系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除了是具備了一般的操作系統最基本的功能,比如:任務調度、同步機制、中斷處理、文件功能之外的話,它還含有以下的特針:

(1)可裝卸性:開放性、可伸縮性的體系結構。

(2)強實時性:EOS實時性一般較強,可用於各種設備控制當中。

(3)統一的介面:提供各種設備驅動接入。

(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用。

(5)提供強大的網路功能,支持TCP/IP協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面。

(6)強穩定性,弱交互性:嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS臭有較強的穩定性。嵌入式操作系統的用戶接日一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。

(7)固化代碼:在嵌入系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統。

(8)更好的硬體適應性,也就是良好的移植性。

國際上用於信息電器的嵌入式操作系統有40種左右。現在,市場上非常流行的EOS產品,包括3Corn公司下屬子公司的PalmOS,全球佔有份額達50%,Microsoft公司的WindowsCE不過29%。在美國市場,PalmOS更以80%的佔有率遠超WindowsCE.開放源代碼的Linux很適於做信息家電的開發。

然而我們常見的嵌入式系統有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive.嵌入式操作系統的發展也必將帶動新一輪的科技競爭。

嵌入式操作系統的分類 篇3

常見的嵌入式系統有這么多:

Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、CExecutive、autosar......

什麼是嵌入式操作系統?

嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟體,它是嵌入式系統的重要組成部分。嵌入時操作系統具有通用操作系統的基本特點,能夠有效管理復雜的系統資源,並且把硬體虛擬化。

從應用角度可分為通用型嵌入式操作系統和專用型嵌入式操作系統。常見的通用型嵌入式操作系統有Linux、VxWorks、WindowsCE.net等。常用的專用型嵌入式操作系統有SmartPhone、PocketPC、Symbian等。

按實時性可分為兩類:

實時嵌入式操作系統主要面向控制、通信等領域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系統軟體公司的QNX、ATI的Nucleus,很多汽車電子行業都是利用實時性很強的操作系統等。

非實時嵌入式操作系統主要面向消費類電子產品。這類產品包括PDA、行動電話、機頂盒、電子書、WebPhone等。如微軟面向手機應用的SmartPhone操作系統。

嵌入式系統的設計和實現而言,基本上需要四種不同的工作:系統設計工作,硬體設計工作,驅動程序和操作系統移植工作和應用程序設計開發工作。

1、 系統設計工作

在系統的設計階段,系統分析師將根據需求確定系統的硬體的基本構成,根據系統的需求選擇使用那種處理器,使用哪種操作系統,使用那些軟體開發工具。系統分析師往往是較為完整的參與過嵌入式系統設計的全過程,對於系統應用的行業較為了解,對於嵌入式系統本身的開發流程十分清楚的人。

2、硬體設計工作

系統硬體設計人員需要根據系統分析師的設計結果,進行硬體原理圖的設計。通常需要硬體設計人員熟悉嵌入式系統的硬體構成。硬體設計人員需要了解常用的嵌入式系統處理器,存儲器(Flash,SDRAM),乙太網MAC晶元,音頻/視頻編解碼晶元,電源管理晶元,匯流排介面電路(USB,PCI),液晶顯示模塊,可編程邏輯器件(FPGA/CPLD),無線網路通信模塊(Bluetooth,WLAN,GPRS)等硬體電路構成元素的基本工作原理,連接使用方法,使用注意事項,基本調試方法等內容。在網路上能找到很多公司的評估板的原理圖,對於這些原理圖要仔細研究,摸清處理器同存儲器,網卡,液晶模塊等器件的連接方法和原因。通過對這些電路的研究,能夠較快地了解整個嵌入式系統的構成,這些電路同實際產品中的電路雖有一定差別的,特別是對於手持設備,但這些差別不影響初學者學習嵌入式系統的硬體設計基本構成。

1)學習Linux系統安裝、常用命令、應用程序安裝。

2)學習Linux下的C編程、這本書必學《UNIX環境高級編程》、《UNIX網路編程》,RechardStevens寫的,C高手大都學習過《C和指針》、《C缺陷與陷阱》、《高質量C/C++編程指南》、《C專家編程》、《TheCprogrammingLanguage》

3)程序員大都要學:數據結構,嵌入式程序員數據結構必學!

4)底層開發人員大都要學:微機原理、計算機體系結構,嵌入式開發人員必學!

5)單片機可以讓一個從事軟體開發的人了解和如何操作硬體,有必要學,因為一開始就從ARM入手,不太現實!

6)ARM體系結構,其中有匯編。

7)數字電路有必要學習,不然你在做底層開發時真的會不知道怎麼看原理圖,起碼也得懂與或門吧。

8)ARM+Linux應用程序開發。(前提是要有開發板)

9)要做底層開發,就必須知道軟硬體之間是如何銜接和配合工作的,那麼電子技術應該要好好學習了,很多時候會用到模擬電路知識,這是區別好手與菜鳥的不同之處之一。

10)Linux下的匯編要學,這樣你才能真正了解你寫的程序是如何在一個特定的硬體上跑的。這是區別好手與菜鳥的不同之處之二。

11)TCP/IP協議棧要學,所有的嵌入式高手都得掌握的東西,這是區別好手與菜鳥的不同之處之三。

12)有了這些東西,拿下Linux驅動已經不再話下,需要你去學習Linux內核源代碼和Linux驅動程序設計,這是一個技術升華。

13)音頻、視頻的解碼解碼技術你得學。

14)各種IC,各種bootloader你能夠參與其開發設計。

15)自行設計開發新產品,新技術。

學到這個地步差不多要花個3年的時間吧。但是後面的路該怎麼走呢?嵌入式系統性的東西搞了一個產品之後,基本上一些套路都摸清楚了。

不同的行業,對於系統的要求是不一樣的,比如汽車行業,航空航天行業等一些高精度,高安全的需要對實時性要求非常之高,對於安全性和可靠性的要求非常嚴格。而有些行業比如消費類產品,娛樂類的,生活用具方面的對於用戶體驗是不一樣的,數碼產品對於一些圖像聲音的處理,要求更高,需要高清,高品質的。而對於一些通信設備類對於網路的應答數據傳輸要求就非常嚴格,等等。這些根據不同的要求,選擇符合自己的操作系統,能對開發工作有更大的幫助。

嵌入式操作系統的分類 篇4

DOS

微軟一開始選用了派特森的Q-DOS「QUICKANDDISKOPERATINGSYSTEM」為基礎然後再擴充功能而成MS-DOS,主要是採用由IBM提供的使用8088微處理器的計算機作開發平台,它是以16位元組單人單工操作系統,特別適合一些功能簡單裝置使用。

WindowsCE

雖然微軟Windows系統已經稱霸了PCDesktop環境。但是對於嵌入式系統這塊大餅,微軟也是垂涎已久,桌上型的Windows桌業系統對於嵌入式系統來說自然是太過於肥大的產物,於是微軟推出精簡版的WindowsCE作為進攻嵌入式系統的主力。目前主要應用於PDA上頭,但是跟微軟一系列Windows系統一般,WindowsCE也承襲了原有的缺點:耗系統資源、不穩定、效率不佳等等。毛病實在太多,後來將整個架構重新改寫後推出WindowsCE3.0版,或稱為PocketPC。改版之後的確改進了不少缺點。

WindowsCE可應用於PDA、WebPAD、ThinClient等等。是採用WindowsCE為操作系統的SIMPad(西門子公司所有)。

Palm

由PalmComputing公司的嵌入式操作系統,目前最大的應用在PDA,是市場佔有率最高的PDA操作系統,Palm操作系統架構非常簡潔,因為少去了很多功能,如內存管理、多任務等等,使得Palm可以非常不耗系統資源,硬體需求低,連帶的整體耗電量便可壓縮到非常低,因此採用Palm操作系統的PDA都有待機時間長的優點。

EPOC

由英國手持裝置大廠Psion所開發,常用於PDA與手機結合的場合。最有名的例子Nokia9110系列手機,它就是採用EPOC系統。

著名的嵌入式實時系統

實時系統是嵌入式系統里頭非常重要的一環,很多人都誤以為實時系統執行速度非常快的系統,事實上不然,所謂實時代表的意義是『實時反應』,一般多人多任務操作系統如:Windows、UNIX,在上面執行的軟體都一起分享CPU,因為CPU速度快,所以我們感覺好象可以同時執行多支軟體,其實在系統內部的同一時間內都只有一個程序在執行,每個軟體都必須排隊,而且規定只能用一小段時間後就要換下一位,但是因為CPU速度夠快,很快又可以被執行到,所以人們感覺並不會很明顯軟體是一段一段在執行。這是一般所謂的非實時性的操作系統運作模式,而實時操作系統具有立即反應而且不能讓出資源的特性,例如汽車的ABS煞車系統,如果不採用能夠立即反應的實時系統,後果可就不堪設想。而這類的應用多半多屬體積小、功能簡單的地方,所以也算是嵌入式系統。QNX的QNXOS、WindRiver的VxWorks、Microware的OS9、pSOS等等,都是有名的嵌入式實時系統公司。

Linux

Linux不是都用來做伺服器嗎?不然就是Cluster,怎麼會跟嵌入式系統扯上關系?不要懷疑,Linux除了對伺服工作應付自如外,嵌入式系統也難不倒Linux。

那麼究竟Linux有怎樣獨特的能耐,可以想變大就變大想縮小就縮小?又用Linux來發展嵌入式系統有什麼優點?請看底下介紹。

開放原始碼、模塊化設計

Linux採用GPL授權,除了把原始碼公開以外,任何人都可以自由使用、修改、散布,而Linux核心本身采模塊化設計,讓人很容易增減功能,例如我的平台並不需要藍芽的功能,我只要不把這項功能加入,有需要就加入,不需要就刪除,由於這樣的高的彈性,我們可以調校出最適合我們硬體平台的核心出來。

相較於Linux,Windows是走封閉原始碼路線,所以我們完全無法得知或修改它的核心部份。另外因為是採用GPL授權自然就沒有什麼權利金或保密協議的約束。

穩定性夠

Linux不屬於任何一家公司,但是它的開發人員卻是全世界最多的,每天在全球都有無數的人參與LinuxKernel的改進、除錯、測試,這樣嚴苛的條件造就了穩定度高的Linux。

就因為如此,Linux雖不是商業的產物但是品質卻不遜於商業產品。

網路功能強大

Linux的架構是參造UNIX系統而來,因此Linux也承襲了UNIX強大的網路功能。在這個每樣事情都講求網路的時代下,只能說是Linux大放異彩的年代。未來可能家裡的電冰箱、冷氣、電視機都會連上網路,如何增加這些家電的網路功能,Linux可以替他們辦到。

跨平台

Linux一開始是基於Intel386機器而設計,但是隨著網路的散布,各式各樣的需求涌現,因此就有許多工程師致力於各式平台的移植,造成了Linux可以在x86、MIPS、ARM/StrongARM、PowerPC、Motorola68k、HitachiSH3/SH4、Transmeta..等等平台上運作的盛況。這些平台幾乎涵蓋了所有嵌入式系統所需的CPU,因此選擇Linux就可以把更多的`硬體平台納入考量的范圍。

嵌入式環境不如x86PC那樣單純,嵌入式環境所採用的CPU架構之多,使用Linux作開發,就等於有更多硬體的選擇,硬體成本是商業公司考量的一大重點,選擇多自然可以找到最合適的硬體,對於公司的競爭力是有極大的幫助。

應用軟體眾多

自由軟體世界裡有個很大的特色就是軟體超級多,而且幾乎都是符合GPL標准,換句話說,大家都可以自由取用,因為這些軟體多半是由工程師業余空暇時間所發展,而且不以營利為性質,所以並不能擔保這些軟體完全沒有BUG,但是仍舊有許多殺手級的軟體出現,大家熟知的KDE與GNOME便是很好的證明,當然與嵌入式系統較為相關如:gcc編譯器、Kdevelop整合式開發環境等等。

通常我們都會先在PC端造出模擬出嵌入式的環境,並直接在上頭開發,因此用的工具也都與開發一般Desktop軟體類似,良好的工具能夠增加開發的速度。

選擇多樣

如果公司有能力可以自己實作Linux嵌入式系統,因為程序代碼全部都開放在那裡,您可以隨心所欲的設計出自己想要的EmbeddedLinux系統,但是有更多的公司的業務重點不在於此,這時候您也可以選擇購買商業版的EmbeddedLinux系統,像是有名的Redhat公司、Lineo、MontaVista..等等,這些都是商業的Linux公司,購買他們的產品就可以得到完整的服務。因此商業或非商業全都在於您的需求。

自行開發系統

當然您也可以自行開發系統,嚴格控制硬體,但是相對的必須投注更大的成本在於研發系統上,原則上如果目標簡單明確只是一些基本的I/O控制,例如:跑馬燈。便適合自己開發,但是如果系統過於復雜則必須審慎評估自行研發的難度與時程的控管。

嵌入式操作系統的分類 篇5

進程的同步(直接制約):synchronism

指系統中一些進程需要相互合作,共同完成一項任務。具體說,一個進程運行到某一點時要求另一夥伴進程為它提供消息,在未獲得消息之前,該進程處於等待狀態,獲得消息後被喚醒進入就緒態。同步是指在互斥的基礎上(大多數情況),通過其它機制實現訪問者對資源的有序訪問。在大多數情況下,同步已經實現了互斥,特別是所有寫入資源的情況必定是互斥的。少數情況是指可以允許多個訪問者同時訪問資源。

進程的互斥(間接制約)mutualexclusion

由於各進程要求共享資源,而有些資源需要互斥使用,因此各進程間競爭使用這些資源,進程的這種關系為進程的互斥。某一資源同時只允許一個訪問者對其進行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。

相關概念:

互斥:指多個進程不能同時使用同一個資源;

死鎖:指多個進程互不相讓,都得不到足夠的資源;

飢餓:指一個進程一直得不到資源(其他進程可能輪流佔用資源)

臨界資源:系統中某些資源一次只允許一個進程使用,稱這樣的資源為臨界資源或互斥資源或共享變數

臨界區:進程中訪問臨界資源的一段代碼。

臨界區問題

臨界區(criticalsection):進程中訪問臨界資源的一段代碼。

進入區(entrysection):在進入臨界區之前,檢查可否進入臨界區的一段代碼。如果可以進入臨界區,通常設置相應"正在訪問臨界區"標志

退出區(exitsection):用於將"正在訪問臨界區"標志清除。

剩餘區(remaindersection):代碼中的其餘部分。

使用臨界區應遵循的准則

有空讓進:當無進程在臨界區時,任何有權使用臨界區的進程可進入

無空等待:不允許兩個以上的進程同時進入臨界區

多中擇一:當沒有進程在臨界區,而同時有多個進程要求進入臨界區,只能讓其中之一進入臨界區,其他進程必須等待

有限等待:任何進入臨界區的要求應在有限的時間內得到滿足

讓權等待:處於等待狀態的進程應放棄佔用CPU

平等競爭:任何進程無權停止其它進程的運行進程之間相對運行速度無硬性規定

Linux下的進程包含以下幾個關鍵要素:

有一段可執行程序;

有專用的系統堆棧空間;

內核中有它的控制塊(進程式控制制塊),描述進程所佔用的資源,這樣,進程才能接受內核的調度;

具有獨立的存儲空間

進程和線程有時候並不完全區分,而往往根據上下文理解其含義。

嵌入式操作系統的分類 篇6

1、緒論

電控機械式自動變速器(,AMT)具有傳動效率高、成本低、操作容易、駕駛舒適等優點,已成為車輛自動變速器發展的一個重要方向。AMT的核心部件是電控單元(TCU),實時採集和檢測輸入信號(發動機轉速、輸入軸轉速和車速,油門踏板位置、節氣門開度、變速箱油溫等以及各種狀態信號)並進行調理、存儲,同時,TCU根據這些運行參數進行工況判斷並發出控制信號,完成車輛的平穩起步或自動換擋,從而使車輛獲得優良的舒適性、燃油經濟性與動力性能。較之傳統的控制器,TCU有更多的感測器,執行器以及更為復雜的控制演算法,若TCU設計不合理,難以滿足實時性與可靠性的要求,同時,如果換擋規律不合理,汽車難以獲得較好的燃油經濟性和動力性。本文從TCU硬體和軟體設計做了相應的介紹。

2、TCU軟體設計

TCU軟體部分的核心是控制策略,其主要部分是最佳換擋規律。本控制器採用兩種換擋控制策略,即經濟性換擋規律,綜合性換規律,通過模式選擇開關進行切換,使用Simulink搭建的換擋控制策略。

Simulink模型無法直接燒寫到單片機中運行,編寫好的程序通過Simulink提供的RTW工具生成可用的C代碼,編寫介面嵌入到軟體系統中。生成的C代碼是上層核心演算法程序,只提供與底層程序的介面,而底層程序則須自己編寫並留出對應介面和上層代碼對應介面進行連接[3]。然後把相應的C代碼添加到CCS中的工程文件中,並編寫代碼的介面,實現軟體三部分的無縫連接;其中驅動程序包括信號輸入通道設置與信號處理驅動程序、輸出通道設置與輸出處理、通信設置與數據轉換。

3、TCU硬體設計

根據TCU的功能需求,把硬體電路劃分以下幾個部分:信號採集輸入調理電路、執行器控制電路以及主控電路。

(1)主控電路:TCU的硬體電路選擇了TMS320F2812主控晶元,兩個16位通用定時器,以負責離合器轉速信號、車速信號等脈沖信號的採集;8個16位的脈寬調制(PWM)通道、可以實現對離合器電磁閥、換擋電磁閥的控制;16通道A/D轉換器,在採集節氣門位置、離合器位置等感測器輸入的多路模擬信號的應用中,可以簡化硬體,提高系統可靠性;擁有改進的區域網絡(eCAN)支持CAN2.0B協議,以實現串列信號的輸入輸出以及與汽車發動機ECU的信息交換,實現ECU之間的CAN通信。

(2)輸入電路:對於主控晶元TMS320F2812晶元上帶有AD轉換模塊的處理晶元,其輸入的模擬信號需要經過簡單的濾波、放大後才可接入DSP。開關量信號採用光電隔離來實現信號的轉換,數字信號調理部分的作用是將仿正弦信號經過處理後,變成電平范圍在DSP允許范圍內的方波信號。數字信號調理部分的設計採用先濾波後整形,最後光電隔離的辦法。

(3)TMS320F2812主控晶元EV外設提供的PWM外設功能,對電路進行控制,但,由控制器輸出的PWM波的峰值電壓只有5V,不足以驅動電磁閥,這就需要電磁閥驅動電路將PWM控制信號的功率進行放大,從而控制電磁閥正常工作。

4、結論

自行設計了TCU軟硬體,對設計的TCU做了相應的硬體在環試驗,利用RealTimeWorkshop實現控制模型向C代碼的轉化,優化後下載到TCU,進行了硬體在環模擬實驗,篇幅有限,本文不做具體說明。試驗結果表明,設計的該TCU,能按照控制策略實時、准確、可靠的控制AMT的換擋過程,同時,同時獲得了較好的經濟性以及動力性能。為AMT控制器的開發提供了參考。

㈡ 嵌入式Linux系統開發模式

嵌入式系統通常為一個資源受限的系統。直接在嵌入式系統的硬體平台上編寫軟體比較困難,有時甚至是不可能的。目前,一般採用的辦法是,先在通用計算機上編寫程序,然後,通過交叉編譯,生成目標平台上可運行的二進制代碼格式,最後下載到目標平台上的特定位置上運棚運行,下面就由福州卓躍教育做具體步驟介紹。
第一步,建立嵌入式Linux應用開發環境。目前,常用的交叉開發環境主要有開放和商業兩種類型。開放的交叉開發環境的典型代表是GNU工具鏈,目雹培前已經能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業的交叉開發環境主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。交叉開發環境是指編譯、鏈接和調試嵌入式應用軟體的環境。它與運行嵌入式應用軟體的環境有所不同,通常採用宿主機/目標機模式。
第二步,交叉編譯和鏈接。在完成嵌入式軟體的編碼之後,就是進行編譯和鏈接,以生成可執行代碼。由於開發過程大多是在Intel公司x86系列CPU的通用計算機上進行的,而目標環境的處理器晶元卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處源和唯理器,這就要求在建立好的交叉開發環境中進行交叉編譯和鏈接。
第三步,交叉調試。
①硬體調試。如果不採用在線模擬器,可以讓CPU直接在其內部實現調試功能,並通過在開發板上引出的調試埠,發送調試命令和接收調試信息,完成調試過程。目前,Motorola公司提供的開發板上使用的是DBM調試埠,而ARM公司提供的開發板上使用的則是JTAG調試埠。使用合適的軟體工具與這些調試埠進行連接,可以獲得與ICE類似的調試效果。
②軟體調試。在嵌入式Linux應用開發系統中,Linux系統內核調試,可以先在Linux內核中設置一個調試樁(debug stub),用作調試過程中和宿主機之間的通信伺服器。然後,可以在宿主機中通過調試器的串口與調試樁進行通信,並通過調試器控制目標機上Linux內核的運行。

㈢ 嵌入式 是什麼

嵌入式 是什麼
(Institute of Electrical and Electronics Engineers,美國電氣和電子櫻盯工程師協會)對嵌入式系統的定義:「用於控制、監視或者輔助操作機器和裝置的裝置」。原文為:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。

嵌入式系統是一種專用的計算機系統,作為裝置或裝置的一部分。通常,嵌入式系統是一個控製程式儲存在ROM中的嵌入式處理器控哪頌頌制板。事實上,所有帶有數字介面的裝置,如手錶、微波爐、錄影機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含作業系統,但大多數嵌入式系統都是由單個程式實現整個控制邏輯。[1]

從應用物件上加以定義,嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
嵌入式 是做什麼的?
嵌入式實際上是軟體硬體相結合的嵌入式系統。

軟體一般是一種計算機作業系統,比如Linux硬體則是執行使用者要求的執行裝置,比如小電機,電路板等等。

做嵌入式開發,則分為軟體開發和硬體開發兩方面。

我現在的工作就屬於嵌入式,是電視機的開發。

需要學習的有:

軟體上至少要掌握一種作業系統比如Linux,一門程式語言比如C語言,還要掌握一些與硬體會話的匯編和編譯原理等。

硬體方面至少要有電路基礎。
嵌入式系統是什麼意思?
根據IEEE(國際電機工程師協會)的定義,嵌入式系統是「控制、監視或者輔助裝置、機器和裝置執行的裝置」(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants)。這主要是從應用上加以定義的,從中可以看出嵌入式系統是軟體和硬體的綜合體,還可以涵蓋機械等附屬裝置。

這個定義上,可從幾方面來理解嵌入式系統:

◆嵌入式系統是面向使用者、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優勢。因此可以這樣理解上述三個面向的含義,即嵌入式系統是與應用緊密結合的,它具有很強的專用性,必須結合實際系統需求進行合理的裁減利用。

◆嵌入式系統是將先進的計算機技術、半導體技術和電子技術和各個行貳的具體應用相結合後的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識整合系統。所以,介入嵌入式系統行業,必須有一個正確的定位。例如Palm之所以在PDA領域佔有70%以上的市場,就是因為其立足於個人電子消費品,著重發展圖形介面和多工管理;而風河的Vxworks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。

◆嵌入式系統必須根據應用需求對軟硬體進行裁剪,滿足應用系統的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬體基礎,然後在其上開發出適應各種需要的系統,是一個比較好的發展模式。目前的嵌入式系統的核心往往是一個只有幾K到幾十K微核心,需要根據實際的使用進行功能擴充套件或者裁減,但是由於微核心的存在,使得這種擴充套件能夠非常順利的進行。

實際上,嵌入式系統本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統都可以叫嵌入式系李鄭統,而且有時很難以給它下一個准確的定義。現在人們講嵌入式系統時,某種程度上指近些年比較熱的具有作業系統的嵌入式系統,本文在進行分析和展望時,也沿用這一觀點。

一般而言,嵌入式系統的構架可以分成四個部分:處理器、儲存器、輸入輸出(I/O)和軟體(由於多數嵌入式裝置的應用軟體和作業系統都是緊密結合的,在這里我們對其不加區分,這也是嵌入式系統和Windows系統的最大區別)。
嵌入式是什麼意思呢?
嵌入式linux

嵌入式 Linux是以Linux為基礎的嵌入式作業系統,它被廣泛應用在行動電話、個人數字助理(PDA)、媒體播放器、消費性電子產品以及航空航天等領域中。

1. 嵌入式Linux系統就是利用Linux其自身的許多特點,把它應用到嵌入式系統里。

Linux做嵌入式的優勢,首先,Linux是開放原始碼的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支援;其次,Linux的核心小、效率高,核心的更新速度很快,linux是可以定製的,其系統核心最小隻有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。 Linux還有著嵌入式作業系統所需要的很多特色,突出的就是Linux適應於多種CPU和多種硬體平台,是一個跨平台的系統。到目前為止,它可以支援二三十種CPU。而且效能穩定,裁剪性很好,開發和使用都很容易。很多CPU包括家電業晶片,都開始做Linux的平台移植工作。移植的速度遠遠超過java的開發環境。也就是說,如果今天用Linux環境開發產品,那麼將來換CPU就不會遇到困擾。同時,Linux核心的結構在網路方面是非常完整的,Linux對網路中最常用的TCP/IP協議有最完備的支援。提供了包括十兆、百兆、千兆的乙太網路,以及無線網路,Toker ring(令牌環網)、光纖甚至衛星的支援。所以Linux很適於做資訊家電的開發。

還有使用Linux為的是來開發無線連線產品的開發者越來越多。Linux在快速增長的無線連線應用主場中有一個非常重要的優勢,就是有足夠快的開發速度。這是因為LInux有很多工具,並且Linux為眾多程式設計師所熟悉。因此,我們要在嵌入式系統中使用Linux作業系統。

Linux的大小適合嵌入式作業系統——Linux固有的模組性,適應性和可配置性,使得這很容易做到。另外,Linux原始碼的實用性和成千上萬的程式設計師熱切其望它用於無數的嵌入式應用軟體中,導致很多嵌入式Linux的出現,包括:Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,FirePlug,Linux和PizzaBox Linux

相對,Linux的圖形介面還相對較弱,但近年Linux的圖形介面發展也很快,這也就不是問題。

2. 什麼是嵌入式Linux

嵌入式linux 是將日益流行的Linux作業系統進行裁剪修改使之能在嵌入式計算機系

統上執行的一種作業系統嵌入式linux既繼承了Interlnet上無限的開放原始碼資源又具有嵌

入式作業系統的特性 嵌入式Linux的特點是版權費免費;購買費用媒介成本技術支援全世界的自由軟體

開發者提供支援網路特性免費而且效能優異軟體移植容易程式碼開放有許多應用軟

件支援應用產品開發周期短新產品上市迅速因為有許多公開的程式碼可以參考和移植

實時效能RT_Linux Hardhat Linux 等嵌入式Linux支援實時效能穩定性好安全性好

3. 嵌入式Linux有巨大的市場前景和商業機會出現了大量的專業公司和產品如Montavista

Lineo Emi等有行業協會如Embedded Linux Consortum等得到世界著名計算機公司和OEM

板級廠商的支援例如IBM Motorola Intel等 傳統的嵌入式系統廠商也採用了Linux策略 如

Lynxworks Windriver QNX等還有Internet上的大量嵌入式Linux愛好......
嵌入式系統開發到底是做什麼的
嵌入式系統開發就是對於除了電腦之外的所有電子裝置上作業系統的開發,開發物件有手機,掌上電腦,機電系統等。

嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體裝置、嵌入式作業系統以及用 戶的應用程式等四個部分組成,用於實現對其他裝置的控制、監視或管理等功能

嵌入式系統一般指非PC系統,它包括硬體和軟體兩部分。硬體包括處理器/微處理器、儲存器及外設器件和I/O埠、圖形控制器等。軟體部分包括作業系統軟體(OS)(要求實時和多工操作)和應用程式程式設計。有時設計人員把這兩種軟體組合在一起。應用程式控制著系統的運作和行為;而作業系統控制著應用程式程式設計與硬體的互動作用。

………………………………………………………………………………

嵌入式系統非常難,但是嵌入式開發前景也是非常好的,一般從事嵌入式開發的待遇都在6000-15000之間。怎樣

學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。

先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。

退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。

一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。

回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關資訊,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。

後來,我在網路知道看到一篇讓我很鼓舞的文章,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視訊,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。

我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。

主意一定,我就去搜索嵌入式的視訊,雖然零星找到一些嵌入式的視訊,但是都不系統,我是想找一個能夠告訴我該怎麼學的視訊,一套從入門到精通的視訊,一個比較完整的資料,最好能有老師教,不懂可以請教的。

後來我又找到一份很好的視訊,是在IT學習聯盟網站推出的一份視訊《零基礎嵌入式就業班》(喜歡《零基礎嵌入式就業班》的可以復制 sina.lt/qKh 貼上瀏覽器位址列按回車鍵即開啟)。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視訊比較便宜。

下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。

......
嵌入式是什麼意思?
1、簡單的說就是用於控制、監視或者輔助操作機器和裝置的裝置。

2、可以理解為微型電腦。比如平板電腦就是一個嵌入式系統,智慧手機也是嵌入式系統,銀行取款機也是.......可以說凡是能智慧互動控制的都是嵌入式系統。

3、打個比方說:拿一個嵌入式開發板,裝上螢幕,就能成為平板電腦。裝個溫度探測器,就可以成為溫度檢測儀。裝個螢幕+GPS模組,就能成為車載導航儀。裝個讀卡器+3G模組,就可以成為POS機......當然實際開發起來沒有說的這么簡單,會設計硬體開發+軟體開發等各方面。
嵌入式是干什麼的
嵌入式系統通常是指內部包含只能控制器的裝置,它具有整合度高,體積小、反應速度快、智慧化、穩定及可靠性強等特點。 舉一個簡單的例子就能明白了 比如說我們的電腦都裝有作業系統,因為安裝了作業系統以後會使電腦的效用被充分的利用起來,但是現在智慧化的裝置、各種儀器、電子裝置越來越多,比如說我們的手機、智慧洗衣機、智慧電冰箱等等,這些東西不可能把電腦用的作業系統安裝在其中,只能開發一些體積小的、功能完備的小型系統安裝在這些東西上,被安裝的這些作業系統就叫做「嵌入式的作業系統」
嵌入式軟體工程師是做什麼的
嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體裝置、嵌入式作業系統以及使用者的應用程式等四個部分組成,用於實現對其他裝置的控制、監視或管理等功能。

嵌入式軟體工程師就是編寫嵌入式系統的工程師。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

想成為嵌入式工程師,就需要學習嵌入式,怎樣學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。

先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。

退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。

一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。

回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關資訊,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。

後來,我在網路知道看到一篇讓我很鼓舞的文章《如何學習嵌入式》,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視訊,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。

我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。

主意一定,我就去搜索嵌入式的視訊,雖然零星找到一些嵌入式的視訊,但是都不系統,我是想找一個能夠告訴我該怎麼學的視訊,一套從入門到精通的視訊,一個比較完整的資料,最好能有老師教,不懂可以請教的。

後來我又找到一份很好的視訊,是在IT學習聯盟網站推出的一份視訊《零基礎嵌入式就業班》(喜歡《零基礎嵌入式就業班》的可以復制 sina.lt/qKh 貼上瀏覽器按回車鍵即開啟)。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視訊比較便宜。

下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。

收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視訊教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機器上都有做練習,敲linux的基本命令,寫簡單的C語言程式碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的程式碼,這樣一月後我基本掌握了C和linux的基本操作。

......
嵌入式系統到底是什麼
書的話我推薦《嵌入式linux應用開發完全手冊》,很不錯,你有什麼問題可以問我,我通訊大三目前也在研究嵌入式,步驟大致如下:

第一步: 嵌入式開發 pcb設計,一般為開發板的電路裁減和擴充,由開發板原理圖為基礎,畫出PCB和封裝庫,設計自己的電路。

第二步: SOPC技術,一般為FPGA,CPLD開發,利用VHDL等硬體描述語言做專用arm晶片開發,寫出自己的邏輯電路,基於ALTER或XILINUX的FPGA做開發。Arm9

第三步: SOC設計,分前端,後端實現,這是硬體設計的核心技術:晶片設計.能做到這步,已經不屬於平凡的技術人員。arm9開發板

軟體道路:

㈣ 嵌入式操作系統有哪些

常見的嵌入式系統

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下安裝windriver

最簡埋或單的方法就是做一個GHOST的鏡像文件,現在的系統機會都是這樣安裝的,幾分鍾就搞定了,而且網上也有這種版本差鄭的系統安裝軟體下載,你看看這個視頻就虛液頌知道怎麼裝了

㈥ 關於linux方面找工作

你現在已經學習了linux的一些通用招式。我覺得你找一個系統管理員的工作應該問題不大。
如果要內做開發工作,你就容面臨選擇。你可以根據興趣或者行業前景,要知道linux能做的事情很多,比如oracle的資料庫,Java, Apache等都是最先在linux下實現的。C語言也是隨著Unix誕生的。還有現在很火的移動終端android, 其內核還是linux。
所以,你要選擇一個方向學習,比如你學習資料庫,那可以用做金融,游戲,科研等;你學習內核,那你可以做驅動。
建議你接受zkx1217童鞋的建議。先投簡歷!!!!

㈦ 嵌入式linux和linux有什麼不同.linux的作用是什麼

Linux作為開源免費操作系統,以其作為系統的應用可以較方便的進行系統功能的裁剪和跨體系結構移植。

  1. 在不同的目標體系結構下(x86,ARM,PowerPC etc.),由於匯編指令集的不同,同一段代碼利用不同的編譯器和庫文件生成的可執行代碼是不同的。不同體系的Linux其開發工具是不同的。

  2. 嵌入式linux屬於高度裁剪過的Linux,他將桌面Linux所具有的大部分應用功能(如GUI 工具,計算器,電子郵件 etc.)和部分系統功能省略,但集成了開發者希望嵌入式產品所具有的特殊應用功能(比如 一款以Linux為系統的觸摸式海事導航儀可以根據功能需要去除不需要的功能塊,但加入GPS定位,航速航向計算,航線規劃,觸摸檢測和對應功能實現等功能)。

嵌入式系統往往是指系統的資源(如DRAM/FLASH ROM,功耗,工作頻率 etc.)有較大限制且系統的工作環境相對多變和惡劣(如溫濕度變化大,酸鹼度腐蝕,外部撞擊和振動,外部電磁干擾,靜電導致的高壓損壞電路 etc.)。這也就需要開發人員更多的發現和假想可能的突發情況並採取相應預防措施。大部分嵌入式系統對響應的時間限制和正確性也有極高的要求。

㈧ 學習Linux能做什麼

Linux運維是一個融合多學科的綜合性技術崗位(網路、系統、開發、安全版、應用架構、存儲等權),可以多個職業發展方向,主要包括:
1. Linux運維工程師
主要負責具體的產品運維工作,需要具有一定的開發能力,需深入了解業務,能夠判斷系統架構的優劣對比,對業務的掌控決定了相應運維工程師在業務發展中的作用,該職業長期發展方向是成為大型系統架構師。
2. Linux運維平台研究工程師
該職業是專門研究運維相關通用平台和技術,需要有一定的產品線運維經驗或相關運維需求,對研發能力有較高要求,長遠發展方向是成為各個技術縱向領域的技術專家。
3. 資料庫工程師
資料庫工程師是一個非常重要的崗位,一般公司都很重視,其還有細分領域,主要包括資料庫內核、雲資料庫等,長遠發展是資料庫領域的技術專家、資料庫架構師。
4.運維總監
該崗位需擁有豐富的運維經驗,對協調和推進能力要求比較高,擁有一定的技術基礎,是後期轉型的理想管理崗位。
相較於其他的IT技術,Linux運維是一個很不錯的選擇,市場需求量一直都很大,找工作也更加容易一些,而且隨著經驗、資歷和技術的增加,薪資和發展前景都很不錯!

㈨ windriverice2使用方法

Wind River ICE是Wind River提供的一套多功能硬體調試及模擬系統,支持Wind River自家的VxWorks、Linux等操作系統,可以滿足軟體開發、模擬、調試等多項需求。以下是Wind River ICE2使用方法的簡要介紹:

1. 連接Wind River ICE2:將Wind River ICE2系統連接到目標開發板的調試介面(如JTAG),然後通過網線將Wind River ICE2系統連瞎卜雀接到PC。

2. 安裝Wind River ICE2驅弊告動:在PC上安裝Wind River ICE2驅動程序,驅動程序通常包括IDE擴展程序和Wind River ICE2 USB驅動程序。

3. 設置Wind River ICE2系統參數:使用Wind River ICE2配置工具設置Wind River ICE2系統參數,例如IP地址、燒磨早錄程序等。

4. 連接開發軟體:在PC上安裝開發環境,如Wind River Workbench,建立起對目標平台的連接。

5. 啟動Wind River ICE2:在PC上啟動Wind River ICE2,讓Wind River ICE2與目標板通訊。

6. 進行調試:使用Wind River ICE2提供的調試工具,在PC上與目標平台進行程序調試、模擬等操作。

需要說明的是,使用Wind River ICE2進行開發可能需要具備一定的相關知識和技能,建議在開發前仔細閱讀相關手冊和文檔,以便更好地利用Wind River ICE2進行開發和調試。

㈩ Yocto編譯傑發或MTK的linux或android時的幾個問題

編譯問題1(audiomanager_7.0.bb的do_configure報錯):

錯誤:CMake Error at Plugins/PluginCommandInterfaceCAPI/cmake/CommonAPI.cmake:352 (message):

|   Failed to generate files from FIDL:

手動執行一下:

$ commonapi-generator-linux-x86 -ll verbose -sk Default -d . /data/linux/hz_rs28_bm/sources/神燃build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/audiomanager/7.0-r1/audiomanager-7.0/Plugins/PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl

-bash: /data/linux/hz_rs28_bm/sources/src/build/tools/commonapi_tool/commonapi-generator/commonapi-generator-linux-x86: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

解決(需要安裝32位的glibc庫和32位java jre環境):

$ sudo yum install glibc.i686

$ sudo yum install java-1.8.0-openjdk.i686

$ sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.i386/jre/bin/java /bin/java

$ java -version    (保證是32位的java)

編譯問題2(perl_5.20.0.bb的do_package報錯):

錯誤:ERROR: obj failed with exit code 256 (cmd was 『arm-poky-linux-gnueabi-obj』 –only-keep-debug

… generate_uudmap: File format not recognized

解決(tar在1.29版本之後需要exclude在路徑的前面):

sources/meta/poky/bitbake/lib/bb/fetch2/bzr.py

tar_flags = 「–exclude 『.bzr』 –exclude 『.bzrtags'」

修改成:

tar_flags = 「–exclude=』.bzr』 –exclude=』.bzrtags'」

sources/meta/poky/bitbake/lib/bb/fetch2/cvs.py

tar_flags = 「–exclude 『CVS'」

修改成:

tar_flags = 「–exclude=』CVS'」

sources/meta/poky/bitbake/游輪虛lib/bb/fetch2/repo.py

tar_flags = 「–exclude 『.repo』 –exclude 『.git'」

修改成:

tar_flags = 「–exclude=』.repo』 –exclude=』.git'」

sources/meta/poky/bitbake/lib/bb/fetch2/svn.py

tar_flags = 「–exclude 『桐顫.svn'」

修改成:

tar_flags = 「–exclude=』.svn'」

sources/meta/poky/meta/recipes-devtools/quilt/quilt-0.63.inc

       tar -cf – bin/ –exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf – )

       tar -cf – compat/ –exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf – )

       tar -cf – quilt/ –exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf – )

       tar -cf – test/ –exclude mail.test –exclude delete.test | ( cd ${D}${PTEST_PATH} && tar -xf – )

修改成:

        tar -c –exclude=\*.in bin/ | ( cd ${D}${PTEST_PATH} && tar -xf – )

        tar -c –exclude=\*.in compat/ | ( cd ${D}${PTEST_PATH} && tar -xf – )

        tar -c –exclude=\*.in quilt/ | ( cd ${D}${PTEST_PATH} && tar -xf – )

        tar -c –exclude=mail.test –exclude=delete.test test/ | ( cd ${D}${PTEST_PATH} && tar -xf – && chmod 777 test)

sources/meta/poky/meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch

+       cd $(BUILDDIR); tar -cf – $(TESTDIR) –exclude *.o | ( cd $(DESTDIR) && tar -xf – )

修改成:

+       cd $(BUILDDIR); tar -c –exclude=*.o $(TESTDIR) | ( cd $(DESTDIR) && tar -xf – )

sources/meta/poky/meta/recipes-support/attr/acl.inc

tar -cf – test/ –exclude nfs | ( cd ${D}${PTEST_PATH} && tar -xf – )

修改成:

tar -c –exclude=nfs test/ | ( cd ${D}${PTEST_PATH} && tar -xf – )

sources/meta/poky/meta/recipes-support/attr/attr.inc

tar -cf – test/ –exclude ext | ( cd ${D}${PTEST_PATH} && tar -xf – )

修改成:

tar -c –exclude=ext test/ | ( cd ${D}${PTEST_PATH} && tar -xf – )

sources/meta/poky/meta/recipes-devtools/perl/perl-ptest.inc

       tar -cf – * –exclude \*.o –exclude libperl.so –exclude Makefile –exclude makefile –exclude hostperl \

               –exclude miniperl –exclude generate_uudmap –exclude patches | ( cd ${D}${PTEST_PATH} && tar -xf – )

修改成:

        tar -c –exclude=\*.o –exclude=libperl.so –exclude=Makefile –exclude=makefile –exclude=hostperl \

                –exclude=miniperl –exclude=generate_uudmap –exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )

編譯問題3(libunwind_1.1.bb的do_compile報錯):

錯誤:make[1]: latex2man: Command not found

解決:

$ sudo yum install texlive-tetex

$ sudo rpm -ivh ~/latex2man-1.18-2.noarch.rpm

編譯問題3(qt5-app_1.0.bb的do_compile報錯):

錯誤(有一批類似的錯誤):ld: cannot find -lgtest

解決:

$ vi atc_linux/application/btate/btate.pro

equals(MY_BUILD_SYSTEM, atc) {

    LIBS += -L $(DA_LIBDIR)/lib -lgtest -lpthread -lbluetoothclient -lglobalbus -lappobj -lapputils

} else {

    LIBS += -L$(DA_TOP)/application/lib -L$(DA_TOP)/../../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/atc-binarys/1.0-r0/image/usr/lib -lgtest -lpthread -lbluetoothclient -l

globalbus -lappobj -lapputils

}

$ vi atc_linux/application/gps/gps_bin.pro

equals(MY_BUILD_SYSTEM, atc) {

    LIBS += -L $(DA_LIBDIR)/lib  -lapputils  -lglobalbus -lappobj -lgps

} else {

    LIBS += -L$(DA_TOP)/application/lib -L$(DA_TOP)/../../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gpsd/3.10-r0/gpsd-3.10/ -lapputils  -lglobalbus -lappobj -lgps

}

$ vi atc_linux/application/dvr/dvr_bin.pro

equals(MY_BUILD_SYSTEM, atc) {

        LIBS    += -L${DA_TOP}/lib/lib/ -ldvr -ludev -lsurface_atc -lglobalbus -lappobj -lapputils -lstorage_atc -lgps

} else {

        LIBS    += -L${DA_TOP}/application/lib -L$(DA_TOP)/../../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/gpsd/3.10-r0/gpsd-3.10/ -ldvr -ludev -lsurface_atc -lglobalbus –

lappobj -lapputils -lstorage_atc -lgps

}

$ vi atc_linux/application/dvr/dvr_bin.pro

INCLUDEPATH +=  ${DA_TOP}/kernel/kernel-3.18/drivers/ \

                ../common/  \

                ../utils/   \

                ../appobj/include/          \

                ../globalbus/include/       \

                ../appcommon/include/       \

                ../storage_atc/             \

                ../dvr/gps/             \

                ../gps/include/         \

                ../gps/includeex/       \

編譯問題4(makall報錯):

報錯:./makall: line 169: mkisofs: command not found

解決:$ sudo yum install mkisofs

編譯問題5(修改ac83xx_systemd_defconfig再編譯時報錯):

報錯:Applying patch remove-selinux-android.patch

patching file system/extras/ext4_utils/make_ext4fs.c

Hunk #1 FAILED at 62.

1 out of 1 hunk FAILED — rejects in file system/extras/ext4_utils/make_ext4fs.c

解決:

$ vi sources/meta/meta-atc/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb

在裡面做個假的do_patch(),bitbake會優先使用本bb文件的do_patch()函數。

do_patch(){

}

編譯問題6(修改ac83xx_systemd_defconfig再編譯時報錯):

報錯:sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/qtbase/5.5.0+gitAUTOINC+c619d2daac-r0/git/src/corelib/tools/qregexp.cpp:3947:1: internal compiler error: in add_stores, at var-tracking.c:6000

解決:

$ cd sources/meta/poky/meta/recipes-devtools/gcc/gcc-4.9/

$ wget  http://openlinux.windriver.com/overc/sources/core2_64/gcc-4.9.2-r0.1/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch

$ vi sources/meta/poky/meta/recipes-devtools/gcc/gcc-4.9.inc

    file://0058-gcc-r212171.patch \

    file://0059-gcc-PR-rtl-optimization-63348.patch \

    file://target-gcc-includedir.patch \

    file://0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch \

其實就是這個文件:

$ cat 0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch

From Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Stefan=20M=C3=BCller-Klieser?= <[email protected]>

Date: Tue, 7 Apr 2015 16:15:11 +0200

Subject: [PATCH] gcc/var-tracking.c: backport from gcc trunk r212178

MIME-Version: 1.0

Content-Type: text/plain; charset=UTF-8

Content-Transfer-Encoding: 8bit

resolves a bug seen on cortexa8 building qt5 libraries.

2014-06-30  Joseph Myers  <[email protected]>

    * var-tracking.c (add_stores): Return instead of asserting if old

    and new values for conditional store are the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212178 138bc75d-0d04-0410-961f-82ee72b054a4

Signed-off-by: Stefan Müller-Klieser <[email protected]>

---

gcc/var-tracking.c | 3 ++-

1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c

index 65d8285..7c38910 100644

--- a/gcc/var-tracking.c

+++ b/gcc/var-tracking.c

@@ -5997,7 +5997,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip)

    {

      cselib_val *oval = cselib_lookup (oloc, GET_MODE (oloc), 0, VOIDmode);

-      gcc_assert (oval != v);

+      if (oval == v)

+        return;

      gcc_assert (REG_P (oloc) || MEM_P (oloc));

      if (oval && !cselib_preserved_value_p (oval))

--

1.9.1

編譯問題7(修改ac83xx_systemd_defconfig再編譯時報錯):

報錯:libevdev/1.2.2-r0/libevdev-1.2.2/test/test-main.c:24:19: fatal error: check.h: No such file or directory

解決:

$ vi meta/poky/meta/recipes-support/libevdev/libevdev_1.2.2.bb

LIC_FILES_CHKSUM = 「file://COPYING;md5= \

                    file://libevdev/libevdev.h;endline=21;md5=″

DEPENDS += 「libcheck」

SRC_URI = 「 http://www.freedesktop.org/software/libevdev/ ${BP}.tar.xz」

編譯問題8(修改ac83xx_systemd_defconfig再編譯時報錯):

報錯:python報錯: 『do_rootfs』, lineno: 17, function

Exception: CalledProcessError: Command 『[『』, 『-ks』, …

解決: 沒有實際問題,重新編譯一次即可,可能是機器太忙導致超時,或者某個命令執行不成功。

編譯問題9(preuboot編譯工具問題):

報錯:make: armv7a-mediatek451_001_vfp-linux-gnueabi-gcc: Command not found

解決:

$ vi atc_linux/bootloader/preuboot/Makefile

#CROSS_COMPILE  :=armv7a-mediatek451_001_vfp-linux-gnueabi-

CROSS_COMPILE  :=arm-poky-linux-gnueabi-

$ vi ../../atc_linux/bootloader/preuboot/driver/mmc/include/linux/list.h

#ifndef NULL

    #define NULL 0

#endif

閱讀全文

與windriverlinux相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接