當前位置:首頁 » 文件管理 » 嵌入式解壓縮

嵌入式解壓縮

發布時間: 2023-05-11 13:09:25

① 如何編程將word中的附件(嵌入式對象)保存到文件 有使用過word另存為docx格式,解壓再解析embeddings

1、不明白為什麼要解壓縮出來,也許LZ是希望提取Word中的各種「對象」吧

包括word、ppt、excel等,然後將提取的這些附件「另存為」一個一個單獨的文件,如果是這樣的話

那麼可以參考:向word插入一個已經存在的excel

objectoMissing=System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Applicationword=
newMicrosoft.Office.Interop.Word.Application();//創建word對象
word.Visible=true;//顯示出來
Microsoft.Office.Interop.Word.Documentdcu=
word.Documents.Add(refoMissing,refoMissing,
refoMissing,refoMissing);//創建一個新的空文檔,格式為默認的
dcu.Activate();//激活當前文檔
objecttype=@"Excel.Sheet.12";//插入的excel格式,這里我用的是excel2010,所以是.12
objectfilename=@"C:list.xlsx";//插入的excel的位置
word.Selection.InlineShapes.AddOLEObject(
reftype,reffilename,refoMissing,refoMissing);//執行插入操作

那麼只需要進行相反的操作就可以了,所以這里的關鍵是獲取Document.InlineShapes集合對象,通過該對象識別插入的「對象」,然後再將這些對象轉換為合適的類型,通過SaveAs方法另存一下


2、將doc轉換為docx,原理類似,我的方法是在安裝了word2007(組件版本office12)的前提下,用C#打開文檔,然後利用SaveAs方法將其轉換為docx(2007)格式

② 我馬上要上大學要學嵌入式這個專業,不知道發展前景如何 和難易如何

我馬上要上大學要學嵌入式這個專業,不知道發展前景如何 和難易如何

目前發展空間很大的,皮運智慧裝置層出不窮,工業上也有很大空間,任何專業都難,只要用心加勤快就不難了

嵌入式前景如何

搞嵌入式開發的人有兩類:一類是學電子工程、通訊工程等偏硬體專業出身的人,他們主要是搞硬體設計,有時要開發一些與廳握盯硬體關系最密切的最底層軟體,如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)、游戲機、智慧玩具、交換機、路由器、數控裝置或儀表、汽車電子、家電控制系統、醫療儀器、航天航空裝置等等都是典型的嵌入式系統。

想轉行軟體開發,不知道嵌入式Linux前景如何?

這個問題問對人了,我就是這樣轉行的 嵌入式基本開發你會:c、c++我相信你會的 接著要會linux下c的程式設計,和基於linux的驅動、網路等的開發 然後arm匯編稍微要懂點,電子電路稍微要懂點,英語尤其是專業英語要精通 然後 你就可以做些移植核心或別的程式的工作了,也就是說在linux下開發的東西移植到開發板上能執行這才是嵌入式開發

我想轉行軟體開發,不知道嵌入式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語言等系統級軟體用得很多,與電子靠得近的專業隊這類語言應該接觸較多。在硬體的方向,微控制器,介面技術,數電和模電等專業課程也是學過的,這些內容在嵌入式硬體方向也完全用得上。其實嵌入式系統很多領域是需要基本的軟體和硬體知識的,所以這個專業從事嵌入式系統方向,是有一定優勢的。當然,發展前景是很好的。
採納哦

③ 數字機頂盒解碼原理

其實說白了,數字機頂盒就是一種把數字信號轉換成模擬信號的變換設備。
我們大部分時候會產生這樣的疑問,既然從電視台發出的是模擬信號,接收到電視機的也必須是模擬信號,那為什麼還要用到數字機頂盒呢?現在生活中,我們總是希望自己的電視機能播放清晰度高的電視節目,從模擬電視向高清晰度數字電視過渡,是一個跨越式的過渡,可以說無法直接兼容,也就是說目前的所有的模擬電視是不能使用的,所以一步到位是不現實的。通常現在的做法是:電視台將模擬信號先轉換成數字信號,傳送到家中的數字機頂盒後,將數字信號轉變成模擬信號輸入給現在的模擬電視機顯示信息,這樣有效地避免了電視信號在傳輸過程中導致的干擾和損耗,電視接收的信號質量得到了很大程度的改善。
數字機頂盒的主要技術有:信道解碼、信源解碼、上行數據的調制編碼、嵌入式CPU、MPEG-2解壓縮、機頂盒軟體、顯示控制和加解擾技術。
(1)信道解碼:數字電視機頂盒中的信道解碼電路相當於模擬電視機中的高頻頭和中頻放大器。在數字電視機頂盒中,高頻頭是必須的,不過調諧范圍包含衛星頻道、地面電視接收頻道、有線電視增補頻道。根據DTV目前已有的調制方式,信道解碼應包括QPSK、QAM、 OFDM、VSB解調功能。
(2)信源解碼:模擬信號數字化後,信息量激增,必須採用相應的數據壓縮標准。數字電視廣播採用MPEG-2視頻壓縮標准,適用多種清晰度圖像質量。音頻目前則有AC-3和MPEG-2兩種標准。信源解碼器必須適應不同編碼策略,正確還原原始音、視頻數據。
(3)上行數據的調制編碼:開展互動式應用,需要考慮上行數據的調制編碼問題。目前普遍採用的有3種方式,採用電話線傳送上行數據,採用乙太網卡傳送上行數據和通過有線網路傳送上行數據。
(4)嵌入式CPU:嵌入式CPU是數字電視機頂盒的心臟,當數據完成信道解碼以後,首先要解復用,把傳輸流分成視頻、音頻,使視頻、音頻和數據分離開,在數字電視機頂盒專用的CPU中集成了32個以上可編程PID濾波器,其中兩個用於視頻和音頻濾波,其餘的用於PSI、SI和Private數據濾波。CPU是嵌入式操作系統的運行平台,它要和操作系統一起完成網路管理,顯示管理、有條件接收管理(IC卡和 Smart卡)、圖文電視解碼、數據解碼、OSD、視頻信號的上下變換等功能。為了達到這些功能,必須在普通32~64位CPU上擴展許多新的功能,並不斷提高速度,以適應高速網路和三維游戲的要求。
(5)MPEG-2解碼:MPEG-2是數字電視中的關鍵技術之一,目前實用的視頻數字處理技術基本上是建立在 MPEG-2技術基礎上,MPEG-2是包括從網路傳輸到高清晰度電視的全部規范。MP@LL用於VCD,可視電話會議和可視電話用的H.263和 H.261是它的子集。MP@ML用於DVD、SDTV,MP@MH用於HDTV。
MPEG-2圖像掘虧信號處理方法分運動預測、DCT、量化、可變長編碼4步完成,電路是由RISC處理器為核心的ASIC電路組成。
MPEG-2解壓縮電路包含視頻、音兄飢頻解壓縮和其它功能。在視頻處理上要完成主畫面、子畫面解碼,最好具有分層解碼功能。圖文電視可用APHA迭顯功能選加在主畫面上,這就要求解碼器能同時解調主畫面圖像和圖文電視數據,要有很高的速度和處理能力。OSD是一層單色或偽彩色字幕,主要用於用戶操作提示。
在音頻方面,由於歐洲DVB採用MPEG-2伴音,美國的ATSC採用杜比AC-3,因而音頻解碼要具有以上兩種功能。
(6)數字電視機頂盒軟體:電視數字化後,數字電視技術中軟體技術佔有更為重要的位置。除了音視頻的解碼由硬體實現外,包括電視內容的重現、操作界面的實現、數據廣播業務的實現,直至機頂盒和個人計算機的互聯以及和Internet的互聯都需要由軟體來實現,具體如下:
1 硬體驅動層軟體: 驅動程序驅動硬體功能,如射頻解調器、傳輸解復用器、A/V解碼器、OSD、視頻編碼器等。
2 嵌入式實時多任務操作系統:嵌入式實時操作系統是相對於桌面計算機操作系統羨散返而言的,它不裝在硬碟中,系統結構緊湊,功能相對簡單,資源開資較小,便於固化在存儲器中。嵌入式操作系統的作用與PC機上的DOS和Windows相似,用戶通過它進行人機對話,完成用戶下達的指定。指定接收採用多種方式如:鍵盤、滑鼠、語音、觸摸屏、紅外遙控器等。

④ 嵌入式系統工程的研究領域

嵌入式系統工程主要是完成整個嵌入式系統的設計,例如車載導航GPS,系統工程就要完姿寬鬥成整個機器的電路設計和操作系統是屬於嵌入式技術與應用中的。
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一,像常見到的手機、PDA、機頂盒、高清電視(HDTV)、路由器、汽車電子、醫療儀器、航天航空設備等等都是典型的嵌入式系統。目前我國嵌入式系統發展最大制約因素是稀缺人才,這主要有兩方面的原因:一是與我們高校的專業設置有關,我國高校的計算機教育普遍以應用軟體為主,很少涉及嵌入式軟體的課程,因此企業很難招聘到馬上可以投入嵌入式軟體開發的實戰型人才;二是嵌入式領域門檻相對較高,知識要求比較全面,而且需要一定的實驗環境(開發板和工具軟體)和有經驗的人進行指導。嵌入式主要是基於LINUX操作系統下面的C開發,在ARM9(目前企業最流跡磨行的)開發平台下進行的,當然還有WINCE操作系統。
所以在嵌入式里用得最多的編程語言就是C語言以及匯編語言(主要用於單片機的開發)。
嵌入式系統(Embedded System ),IEEE對於嵌入式系統的定義是:An Embedded system is the devices used to control, monitor, or assist the operation of equipment, machinery or plants.嵌入式系統是「用於控制、監視或者輔助操作機器和設備的裝置」。
在中國嵌入式系統領域,比較認同的嵌入式系統概念是:嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬體設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用於實現對其他設備的控制、監視或管理等功能。
嵌入式系統一般指非PC系統,它包括硬體和軟體兩部分。硬體包括處理器/微處理器、存儲器及外設器件和I/O埠、圖形控制器等。軟體部分包括操作系統軟體(OS)(要求實時和多任務操作)和應用程序編程。有時設計人員把這兩種軟體組合在一起。應用程序控制著系統的運作和行為;而操作系統控制著應用程序編程與硬體的交互作用。
嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點:
1)對實時多任務有很強的支持能力,能完成多任務並且有較短的中斷響應時間;從而使內部的代碼和實時內核心的執行時間減少到最低限度。巧帶
2)具有功能很強的存儲區保護功能。這是由於嵌入式系統的軟體結構已模塊化,而為了避免在軟體模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟體診斷。
3)可擴展的處理器結構,以能最迅速地開展出滿足應用的最高性能的嵌入式微處理器。
4)嵌入式微處理器必須功耗很低,尤其是用於攜帶型的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。
嵌入式計算機系統同通用型計算機系統相比具有以下特點:
1.嵌入式系統通常是面向特定應用的嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統設計趨於小型化,移動能力大大增強,跟網路的耦合也越來越緊密。
2.嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合後的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
3.嵌入式系統的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘,力爭在同樣的矽片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
4.嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
5.為了提高執行速度和系統可靠性,嵌入式系統中的軟體一般都固化在存儲器晶元或單片機本身中,而不是存貯於磁碟等載體中。
6.嵌入式系統本身不具備自舉開發能力,即使設計完成以後用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發。
嵌入式系統一般指非 PC 系統,有計算機功能但又不稱之為計算機的設備或器材。它是以應用為中心,軟硬體可裁減的,適應應用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。 簡單地說,嵌入式系統集系統的應用軟體與硬體於一體,類似於 PC 中 BIOS 的工作方式,具有軟體代碼小、高度自動化、響應速度快等特點,特別適合於要求實時和多任務的體系。嵌入式系統主要由嵌入式處理器、相關支撐硬體、嵌入式操作系統及應用軟體系統等組成,它是可獨立工作的「器件」。
嵌入式系統幾乎包括了生活中的所有電器設備,如掌上 PDA 、移動計算設備、電視機頂盒、手機上網、數字電視、多媒體、汽車、微波爐、數字相機、家庭自動化系統、電梯、空調、安全系統、自動售貨機、蜂窩式電話、消費電子設備、工業自動化儀表與醫療儀器等。
嵌入式系統的硬體部分,包括處理器 / 微處理器、存儲器及外設器件和 I/O 埠、圖形控制器等。嵌入式系統有別於一般的計算機處理系統,它不具備像硬碟那樣大容量的存儲介質,而大多使用 EPROM 、 EEPROM 或快閃記憶體 (Flash Memory) 作為存儲介質。軟體部分包括操作系統軟體 ( 要求實時和多任務操作 ) 和應用程序編程。
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬體資源(如處理器、存儲器等)非常有限,並且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。像我們平常常見到的手機游戲、PDA、電子字典、可視電話、VCD/DVD/MP3Player、數字相機(DC)、數字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數控設備或儀表、汽車電子、家電控制系統、醫療儀器、航天航空設備等等都是典型的嵌入式系統。
嵌入式系統是軟硬結合的東西,搞嵌入式開發的人有兩類。
一類是學電子工程、通信工程等偏硬體專業出身的人,他們主要是搞硬體設計,有時要開發一些與硬體關系最密切的最底層軟體,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅動硬體,往上支持操作系統),最初級的硬體驅動程序等。他們的優勢是對硬體原理非常清楚,不足是他們更擅長定義各種硬體介面,但對復雜軟體系統往往力不從心(例如嵌入式操作系統原理和復雜應用軟體等)。
另一類是學軟體、計算機專業出身的人,主要從事嵌入式操作系統和應用軟體的開發。如果我們學軟體的人對硬體原理和介面有較好的掌握,我們完全也可寫BSP和硬體驅動程序。嵌入式硬體設計完後,各種功能就全靠軟體來實現了,嵌入式設備的增值很大程度上取決於嵌入式軟體,這佔了嵌入式系統的最主要工作(有很多公司將硬體設計包給了專門的硬體公司,稍復雜的硬體都交給台灣或國外公司設計,國內的硬體設計力量很弱,很多嵌入式公司自己只負責開發軟體,因為公司都知道,嵌入式產品的差異很大程度在軟體上,在軟體方面是最有「花頭「可做的),所以我們搞軟體的人完全不用擔心我們在嵌入式市場上的用武之地,越是智能設備越是復雜系統,軟體越起關鍵作用,而且這是趨勢。
從事嵌入式軟體開發的好處是:
(1)國內外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂較底層軟體(例如操作系統級、驅動程序級軟體),對軟體專業水平要求較高(嵌入式系統對軟體設計的時間和空間效率要求較高),而且必須懂得硬體的工作原理,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,發展太快,很多軟硬體技術出現時間不長或正在出現(如ARM處理器、嵌入式操作系統、MPEG技術、無線通信協議等),掌握這些新技術的人當然很找。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟體,另外需要有經驗的人進行指導開發流程。
(2)與企業計算等應用軟體不同,嵌入式領域人才的工作強度通常低一些(但收入不低)。搞企業應用軟體的IT企業,這個用戶的系統搞完了,又得去搞下一個用戶的,而且每個用戶的需求和完成時間都得按客戶要求改變,往往疲於奔命,重復勞動。相比而言,搞嵌入式系統的公司,都有自己的產品計劃,按自己的節奏行事。所開發的產品通常是通用的,不會因客戶的不同而修改。一個產品型號開發完了,往往有較長一段空閑時間(或只是對軟體進行一些小修補),有時間進行充電和休整。另外,從事嵌入式軟體的每個人工作范圍相對狹窄,所涉及的專業技術范圍就是那些(ARM、RTOS、MPEG、802.11等),時間長了這些東西會越搞越有經驗,賣賣老本,幾句指導也夠讓那些初入道者琢磨半年的。若搞應用軟體,可能下一個客戶要換成一個完全不同的軟體開發平台,那就苦了。
(3)哪天若想創業,搞自已的產品,那麼嵌入式是一個不錯的主意,這可不像應用軟體那樣容易被盜版。土木學院有一個叫啟明星的公司開發出一個好象叫「工程e」的掌上PDA(南校區門口有廣告),施工技術人員用該PDA可當場進行土木概預算和其它土木計算,據說銷路特好。我認識的某大學老師,他開發的飯館用的點菜PDA(WinCE平台,可無線連網和上網),據他說銷路不錯,飯館點點PDA讓客戶點菜,多顯派頭檔次。我記得00級2+2班當年有一組同學在學Windows程序設計課程時用VC++設計了一個功能很強的點菜系統做為課程項目,當時真想建議他們將這個軟體做成PDA,估計會有些銷路(上海火車站南廣場的Macdonald便使用很漂亮的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處理器的高速圖像採集和圖像解壓縮),主要還要靠匯編寫程序(我看到過很多公司是這樣做的)。當您在一個嵌入式公司工作時,在查看描述原理的手冊時,可能很多都是用匯編描述的(我就遇到過),這是因為很多硬體設計人員只會寫或者喜歡用匯編描述,此時您就必須看懂匯編程序,否則軟硬體人員可能就無法交流。很多嵌入式職位招聘時都要求熟悉匯編。
(2) 嵌入式操作系統類課程
除了WinCE的實時性稍差外,大多數嵌入式操作系統的實時性都很強,所以也可稱為實時操作系統Real Time Operating 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功能有限,實用用得較少,要學習就應學直接實用的,比如 uClinux就很實用。況且熟悉了Linux開發,不僅在嵌入式領域有用,對開發Linux應用軟體,對加深操作系統的認識也有幫助,可謂一舉多得。據我所知,Intel、Philip都在大搞ARM+LINUX的嵌入式開發,Fujitum則是在自己的處理器上大搞Linux開發。在嵌入式Linux領域,以下幾個方面的人特別難找,一是能將Linux移植到某個新型號的開發版上;二是能寫Linux驅動程序的人;三是熟悉Linux內核裁減和優化的人。第三類、 Windows CE嵌入式操作系統:Microsoft也看準了嵌入式的巨大市場,MS永遠是最厲害的,WinCE出來只有幾年時間,但已佔據了很大市場份額,特別是在PDA、手機、顯示儀表等界面要求較高或者要求快速開發的場合,WinCE已很流行(據說有一家賣工控機的公司板子賣得太好,以至來不及為客戶裁減WinCE)。Win CE主要為4.2版(.NET),開發平台主要為WinCE Platform Builder,有時也用EVC環境開發一些較上層的應用,由於WinCE開發都是大家熟悉的VC++環境,這也是WinCE容易被人們接受的原因,開發環境方便快速,微軟的強大技術支持,WinCE開發難度遠低於嵌入式Linux。對於急於完成,不想拿嵌入式Linux冒險的開發場合,WinCE是最合適了(找嵌入式Linux的人可沒那麼好找的),畢竟公司不能像學生學習那樣試試看,保證開發成功更重要。根據不同的側重點 ,WinCE還有兩個特殊版本,一個是MS PocketPC操作系統專用於PDA上(掌上電腦),另一個是MS SmartPhone操作系統用於智能手機上(帶PDA功能的手機),兩者也都屬於WinCE平台。在PDA和手機市場上,除WinCE外,著名的PDA嵌入式操作系統還有Palm OS(因出現很早,很有名)、Symbian等,但在WinCE的強勁沖擊下,Palm和Symbian來日還能有多長?很顯然,嵌入式Linux永遠不可能替代WinCE,而且將來誰占份額大還很難講,畢竟很多人更願意接受MS的平台,就像各國政府都在大力推LINUX已好長時間,但您能看到幾個在PC機上真正使用LINUX的用戶?據我觀察,在嵌入式平台上,LINUX是叫得最響,但還是WinCE實際用得更多.嵌入式LINUX可能更多地是一些有長遠產品計劃的公司,為降低成本而進行長遠考慮。WinCE和多媒體(如MPEG技術)是微軟亞洲工程院做得較多的項目領域之一,他們很需要精通WinCE的人。總結關於嵌入式操作系統類課程,若您覺得自己功底較深且能鑽研下去,則可去學嵌入式Linux。
(3) 嵌入式開發的其它相關軟體課程
搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關領域包括:
A、數字圖像壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編解碼演算法和技術,如DVD、MP3、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。
B、通信協議及編程技術:這包括傳統的TCP/IP協議和熱門的無線通信協議。首先,大多數嵌入式設備都要連入區域網或Internet,所以首先應掌握TCP/IP協議及其編程,這是需首要掌握的基本技術;其次,無線通信是的大趨勢,所以掌握無線通信協議及編程也是是很重要的。無結通信協議包括無線區域網通信協議802.11系列,Bluetooth,以及移動通信(如GPRS、GSM、CDMA等)。
C、網路與信息安全技術:如加密技術,數字證書CA等。
D、DSP技術:DSP是Digital Signal Process數字信號處理的意思,DSP處理器通過硬體實現數字信號處理演算法,如高速數據採集、壓縮、解壓縮、通信等。數字信號處理是電子、通信等硬體專業的課程,對於搞軟體的人若能了解一下最好。目DSP人才較缺。如果有信號與系統、數字信號處理等課程基礎,對於學習MPEG編解碼原理會有很大幫助。
(4)嵌入式開發的相關硬體基礎
對於軟體工程專業的學生,從事嵌入式軟體開發,像數字電路、計算機組成原理、嵌入式微處理器結構等硬體課程是較重要的。另外,匯編語言、C/C++、數據結構和演算法、特別是操作系統等軟體基礎課也是十分重要的。嵌入式本身就是從單片機發展過來的,只是單片機不帶OS,而很多嵌入式應用越來越復雜,以至不得不引入嵌入式操作系統。另外,為追求更高速的信號處理速度,在一些速度要求較高的場合,有不少公司是將一些DSP演算法,如MPEG壓縮解壓縮演算法等用硬體來實現,這就涉及到HDL數字電路設計技術及其FPGA/IP核實現技術,這方面的人市場上也很缺。題外話,另外,能寫驅動程序的人是非常緊缺的(驅動程序也可歸於嵌入式范疇),包括桌面Windows中的DDK開發環境和WDM驅動程序。公司每時每刻都要推出新產品,每一個新產品出來了,要能被操作系統所使用,是必須寫驅動程序的。寫驅動程序就必須掌握操作系統(如Windows或Linux)的內部工作原理,還涉及到少量硬體知識,難度較大,所以這方面的人很難找。
想成為高手的同學,也可從驅動程序方面獲得突破。我可說一下自己的經歷,2011年前我曾短暫地在一家公司寫過WinCE驅動程序(正是因為知道這方面的人緊缺,所以才要做這方面的事),盡管那以前從未做過驅動程序,應聘那個職位時正是看準了公司是很難招聘到這方面的人,既然都找不到人,驅動還得有人做,這正是可能有機會切入這一領域的大好機會。面試時大講自己寫過多少萬行匯編程序,對計算機工作原理如何清楚,簡歷中又寫著我曾閱讀完兩本關於Windows Driver Model的兩本英文原版書,寫過幾個小型的驅動程序練習程序(其實根本沒寫過,我們的同學將來千萬不要像我這樣,早練就些過硬功夫,就不至於淪落到我這等地步,就不用像我那樣去「欺騙」公司了,我這是一個典型的反面教材),居然一切都PASS(當然最重要的是筆試和面試問題還說得過去),這只能說明這一領域找人的困難程度。公司本就未指望找到搞過驅動的人,找個有相關基礎的人就算不錯了。做了以後,發現也並不是怎樣難的。其實搞驅動程序的工作是很舒服的,搞完一個版本就會空一段時間,只有等公司新的晶元推出或新的OS出現後,才需要再去開發新一版驅動,那時有將近一個月時間空閑著在等WinCE .NET Beta版推出,准備將驅動程序升級到CE .NET上,在軟體學院工作整日忙,無限懷念那段悠閑時光。很巧合,本人無意中再次體會到了嵌入式的迷人之處。我那用了3年的手機終於不能WORK了。此次更新,除要求有手機常見功能外,最好有MP3功能(很多英語聽力都有MP3文件),最好有英漢詞典,最好還能讀WORD文檔。最後選了個滿足以上條件的最便宜的手機DOPOD 515(斬了我2.2K,但想想這也算自己對嵌入式事業的支持,這樣便也想開了),算得上最低檔的智能手機了。回來一查,手機的about顯示,本手機Processor是ARM,其OS是MS Smartphone(即WinCE .NET 4.2),這么巧合,簡直可做為學習嵌入式課程的產品案例了(等我們的WinCE課程開得有聲有色後,希望能從微軟研究院搞些Smartphone來開發開發)。有OS的手機果然了得,金山詞霸、WORD、EXCEL、REGEDIT等居然都有smartphone版的,PC上的MP3、DOC等居然在download時都可被自動轉換成smartphone格式,真是爽。完全可用Windows CE自己開發一些需要的程序download到自己的手機上。市面銷售PDA智能手機火爆,MS總是財源滾滾。但我已發現國產的ARM+LINUX手機出現在市面上,價格只1.2K。在GOOGLE網上能搜索太多的關於嵌入式系統的討論了,有很多有經驗者談自己的體會,投入到其中的論壇中,你會切身感到嵌入式學習的熱潮。要麼走ARM+WinCE,要麼走ARM+LINUX,要麼走ARM+VXWORKS。每個搞嵌入式的人都可選一條路,條條大路通羅馬。

⑤ 懂嵌入式的進

目前來說嵌入式軟體方向很有前景,最常見的是嵌入式Linux方向。

下面的信息希望對你有所幫助。
嵌入式軟體方面最重要的課程包括:
(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等居然都有 smartphone版的,PC上的MP3、DOC等居然在download時都可被自動轉換成smartphone格式,很爽的。完全可用 Windows CE自己開發一些需要的程序download到自己的手機上。現在市面銷售PDA智能手機火爆,MS總是財源滾滾。

總結關於嵌入式操作系統類課程,若你覺得自己功底較深且能鑽研下去,則可去學嵌入式Linux;若你覺得自己VC++功底較好且想短平快地學嵌入式開發,自學WINCE是非常好的選擇。
(3) 嵌入式開發的相關領域
搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關領域包括:
A、數字圖像壓縮技術:這是嵌入式最重要最熱門的應用領域之一,主要是應掌握MPEG編解碼演算法和技術,如DVD、MP3、PDA、高精電視、機頂盒等都涉及MPEG高速解碼問題。
B、通信協議及編程技術:這包括傳統的TCP/IP協議和熱門的無線通信協議。首先,大多數嵌入式設備都要連入區域網或Internet,所以首先應掌握 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核實現技術,這方面的人目前市場上也很缺。

關於嵌入式領域內的相關專業問題,建議LZ還可以到華清遠見的網站上了解一下,也可以具體電話咨詢一下華清遠見的專業老師,另外,各大書店及圖書館也有華清遠見出版的暢銷嵌入式專業圖書,了解一下相信對你有幫助

⑥ linux下怎麼解壓zip文件

Linux下如何解壓.zip和.rar文件,對於Window下的常見壓縮文件.zip和.rar,Linux也有相應的方法來解壓它們:

(1)對於zip linux下提供了zip和unzip程序,zip是壓縮程序,unzip是解壓程序。它們的參數選項很多,這里只做簡單介紹,舉例說明一下其用法:

# zip all.zip *.jpg 這條命令是將所有.jpg的文件壓縮成一個zip包

# unzip all.zip

這條命令是將all.zip中的所有文件解壓出來

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。

Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。

嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的操作系統。

基本思想

Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。

多用戶、多任務

Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。

支持多種平台

Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。

參考資料:

Linux-網路

熱點內容
銳志哪個配置性價比最高 發布:2025-02-12 17:38:43 瀏覽:917
智能推送演算法 發布:2025-02-12 17:38:41 瀏覽:834
拍照上傳器 發布:2025-02-12 17:34:29 瀏覽:651
androidweb框架 發布:2025-02-12 17:32:45 瀏覽:75
安卓編程賀卡 發布:2025-02-12 17:32:44 瀏覽:837
php獲取資料庫的欄位 發布:2025-02-12 17:29:02 瀏覽:765
伺服器地址消失 發布:2025-02-12 17:23:36 瀏覽:950
後台執行php腳本 發布:2025-02-12 17:21:45 瀏覽:470
spring編程式事務 發布:2025-02-12 17:16:55 瀏覽:397
nginx禁止ip訪問 發布:2025-02-12 17:15:14 瀏覽:273