bios開發(fā)和嵌入式c哪個(gè)更好
c確實(shí)是嵌入式的基礎(chǔ),c++在嵌入式中主要是做界面。嵌入式開發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開發(fā),一般常用的系統(tǒng)有WinCE,c++fans.com/tags/ucos/'target='_blank'class='arckwlink_hide'>ucos,vxworks,linux,android等。另外,用c,c++或匯編開發(fā);用高級處理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系統(tǒng)也屬于嵌入式的開發(fā)。
嵌入式開發(fā)是什么
嵌入式開發(fā)就是指在各種微型處理器運(yùn)行嵌入式系統(tǒng)下進(jìn)行開發(fā),一般常用的操作系統(tǒng)有WinCE、Palm、uLinux、uCOS,現(xiàn)在又多了Symbian等,其實(shí)只要會C/C++、匯編語言,在哪里都差不多,都有相應(yīng)的SDK開發(fā)包。相對簡單的,如89C51、AVR等單片機(jī)匯編開發(fā),用高級一點(diǎn)的處理器,ARM系列處理器,x86,powerpc等什么的開發(fā)起來,可以裸機(jī)開發(fā),也可以運(yùn)行操作系統(tǒng),也屬于嵌入式的開發(fā).
嵌入式操作系統(tǒng)(Embedded System)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。舉例來說,大到油田的集散控制系統(tǒng)和工廠流水線,小到家用VCD機(jī)或手機(jī),甚至組成普通PC終端設(shè)備的鍵盤、鼠標(biāo)、硬盤、Modem等均是由嵌入式處理器控制的。
嵌入式系統(tǒng)無疑是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時(shí)對實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。像我們平常常見到的手機(jī)、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數(shù)字相機(jī)(DC)、數(shù)字?jǐn)z像機(jī)(DV)、U-Disk、機(jī)頂盒(Set Top Box)、高清電視(HDTV)、游戲機(jī)、智能玩具、交換機(jī)、路由器、數(shù)控設(shè)備或儀表、汽車電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設(shè)備等等都是典型的嵌入式系統(tǒng)。
嵌入式系統(tǒng)是軟硬結(jié)合的東西,一般出色的嵌入式開發(fā)工程師都熟練掌握硬件與軟件兩方面的技術(shù)。在搞硬件設(shè)計(jì)方面,有時(shí)要開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如、Board Support Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。對硬件原理非常清楚,擅長定義各種硬件接口。
究竟嵌入式開發(fā)需要具備什么
首先嵌入式需要具備的知識包括:C語言,匯編,數(shù)據(jù)結(jié)構(gòu),linux高級編程,ARM系統(tǒng),嵌入式內(nèi)核,嵌入式驅(qū)動。嵌入式開發(fā)工作的內(nèi)容包括
嵌入式分為操作系統(tǒng)和硬件兩個(gè)方面,就業(yè)的方向更廣、更深,就業(yè)機(jī)會和入職待遇比普通軟件工程師好。
開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如、Board Support Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。
從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā),嵌入式硬件設(shè)計(jì)完后,各種功能就全靠軟件來實(shí)現(xiàn)了,嵌入式設(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作。
目前有很多公司將硬件設(shè)計(jì)包給了專門的硬件公司,稍復(fù)雜的硬件都交給臺灣或國外公司設(shè)計(jì),國內(nèi)的硬件設(shè)計(jì)力量很弱,很多嵌入式公司自己只負(fù)責(zé)開發(fā)軟件。
——————————————————-
以上可以看到嵌入式需要學(xué)習(xí)的內(nèi)容是非常多和非常難的,待遇從事嵌入式待遇也是非常高的。
學(xué)習(xí)嵌入式,我剛才看到一篇很不錯(cuò)的文章,是一個(gè)??粕榻B自己如何自學(xué)嵌入式,并找到嵌入式的工作,里面介紹了他的學(xué)習(xí)方法和學(xué)習(xí)過程,希望對你有幫助。
先做個(gè)自我介紹,我07年考上一所很爛??泼褶k的學(xué)校,學(xué)的是生物專業(yè),具體的學(xué)校名稱我就不說出來獻(xiàn)丑了。09年我就輟學(xué)了,我在那樣的學(xué)校,一年學(xué)費(fèi)要1萬多,但是根本沒有人學(xué)習(xí),我實(shí)在看不到希望,我就退學(xué)了。
退學(xué)后我也迷茫,大專都沒有畢業(yè),我真的不知道我能干什么,我在糾結(jié)著我能做什么。所以輟學(xué)后我一段時(shí)間,我想去找工作,因?yàn)槲冶容^沉默寡言,不是很會說話,我不適合去應(yīng)聘做業(yè)務(wù)。我想應(yīng)聘做技術(shù)的,可是處處碰壁。
一次偶然的機(jī)會,我才聽到嵌入式這個(gè)行業(yè)。那天我去新華書店,在計(jì)算機(jī)分類那邊想找本書學(xué)習(xí)。后來有個(gè)女孩子走過來,問我是不是讀計(jì)算機(jī)的,有沒有興趣學(xué)習(xí)嵌入式,然后給我介紹了一下嵌入式現(xiàn)在的火熱情況,告訴我學(xué)嵌入式多么的有前景,給我了一份傳單,嵌入式培訓(xùn)的廣告。聽了她的介紹,我心里癢癢的,確實(shí)我很想去學(xué)會一門自己的技術(shù),靠自己的雙手吃飯。
回家后,我就上網(wǎng)查了下嵌入式,確實(shí)是當(dāng)今比較熱門的行業(yè),也是比較好找工作的,工資也是相對比較高。我就下決心想學(xué)嵌入式了。于是我去找嵌入式培訓(xùn)的相關(guān)信息,說真的,我也很迷茫,我不知道培訓(xùn)是否真的能像他們宣傳的那樣好,所以我就想了解一段時(shí)間再做打算。
后來,我在百度知道看到一篇讓我很鼓舞的文章《如何學(xué)習(xí)嵌入式》,是一個(gè)嵌入式高手介紹沒有基礎(chǔ)的朋友怎么自學(xué)入門學(xué)嵌入式,文章寫的很好,包含了如何學(xué)習(xí),該怎么學(xué)習(xí)。他提到一個(gè)方法就是看視頻,因?yàn)榭磿鴮?shí)在太枯燥和費(fèi)解的,很多我們也看不懂。這點(diǎn)我真的很認(rèn)同,我自己看書往往看不了幾頁。
我在想,為什么別人都能自學(xué)成才,我也可以的!我要相信自己,所以我就想自學(xué),如果實(shí)在學(xué)不會我再去培訓(xùn)。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統(tǒng),我是想找一個(gè)能夠告訴我該怎么學(xué)的視頻,一套從入門到精通的視頻,一個(gè)比較完整的資料,最好能有老師教,不懂可以請教的。
后來我又找到一份很好的視頻,是在IT學(xué)習(xí)聯(lián)盟推出的一份視頻《零基礎(chǔ)嵌入式就業(yè)班》(喜歡《零基礎(chǔ)嵌入式就業(yè)班》的可以復(fù)制 sina.lt/qKh 粘貼瀏覽器按回車鍵即打開)。里面的教程還不錯(cuò),很完整,可以讓我從基礎(chǔ)的開始學(xué)起。視頻比較便宜。
下面介紹下我的學(xué)習(xí)流程,希望對和我一樣完全沒有基礎(chǔ)的朋友有所幫助。
收到他們寄過來的光盤后,我就開始學(xué)習(xí)了,由于我沒有什么基礎(chǔ),我就從最簡單的C語言視頻教程學(xué)起,話說簡單,其實(shí)我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學(xué)了一個(gè)禮拜,接下來我就學(xué)了linux的基本命令,我在他們提供linux虛擬機(jī)上都有做練習(xí),敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個(gè)禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月后我基本掌握了C和linux的基本操作。
接下來我就去學(xué)習(xí)了人家的視頻的培訓(xùn)教程,是整套的,和去參加培訓(xùn)沒有多大的區(qū)別,這一看就是兩個(gè)月,學(xué)習(xí)了ARM的基本原理,學(xué)習(xí)嵌入式系統(tǒng)的概念,也掌握了嵌入式的環(huán)境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應(yīng)用到底是怎么做的,但是驅(qū)動我只是有一點(diǎn)點(diǎn)的了解,這個(gè)相對難一點(diǎn),我想以后再慢慢啃。
這兩個(gè)月,除了吃飯睡覺,我?guī)缀醵荚趯W(xué)習(xí)。因?yàn)槲抑缼缀鯖]有基礎(chǔ),比別人差勁,我只能堅(jiān)持努力著,我不能放棄,我必要要靠自己來養(yǎng)活自己,必須學(xué)好這門技術(shù),然后我就把不懂的問題總結(jié)記下來,這樣慢慢積累了一段時(shí)間,我發(fā)現(xiàn)自己真的有點(diǎn)入門了。
最后的一個(gè)月,我就去看關(guān)于實(shí)踐部分的內(nèi)容,了解嵌入式項(xiàng)目具體的開發(fā)流程,需要什么樣的知識,我就開始準(zhǔn)備這方面的知識,也就是學(xué)習(xí)這方面的視頻,同時(shí)他們建議我去找了找一些嵌入式面試的題目,為自己以后找工作做準(zhǔn)備。我就到網(wǎng)上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準(zhǔn)備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,于是我就到51job瘋狂的投簡歷,因?yàn)槲覍W(xué)歷的問題,專科沒有畢業(yè),說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報(bào)。沒有想過幾天過后,就有面試了,但是第一次面試我失敗了,雖然我自認(rèn)為筆試很好,因?yàn)槲抑白隽藴?zhǔn)備,但是他們的要求比較嚴(yán)格,需要有一年的項(xiàng)目經(jīng)驗(yàn),所以我沒有被選中。
后來陸續(xù)面試了幾家公司,終于功夫不負(fù)有心人。我終于面試上的,是在閔行的一家民營的企業(yè),公司規(guī)模比較小,我的職務(wù)是嵌入式linux應(yīng)用開發(fā),做安防產(chǎn)品的應(yīng)用的。我想我也比較幸運(yùn),經(jīng)理很看重我的努力,就決定錄用我,開的工資是3500一個(gè)月,雖然我知道在上海3500只能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養(yǎng),我自己也能養(yǎng)活自己的。我想只要我繼續(xù)努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎(chǔ)的朋友有信心,其實(shí)我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
——————————————————————————
嵌入式很難,想要成為嵌入式工程師很不容易。需要掌握好的學(xué)習(xí)方法和不懈的努力。
bios 嵌入式 rom
bios:basic input/output system 即基本輸入輸出系統(tǒng)的簡稱
嵌入式是指具有特定功能的、為解決某一問題或用于某種特定場合而開發(fā)的,具有一定處理能力的微處理系統(tǒng),比如mp3,手機(jī),PDA等
rom通常是指一種存儲介質(zhì),需要帶電寫入數(shù)據(jù),并且掉電后數(shù)據(jù)不會丟失,其存儲容量相當(dāng)有限
嵌入式系統(tǒng)的應(yīng)用和開發(fā)
嵌入式系統(tǒng)的應(yīng)用和開發(fā)
基于嵌入式系統(tǒng)的具體產(chǎn)品應(yīng)用是計(jì)算機(jī)工程史上的里程碑。深入到了各行各業(yè),其已成為高科技領(lǐng)域中必不可少的工具。 我下面為你整理了關(guān)于嵌入式系統(tǒng)的應(yīng)用和開發(fā)的文章,希望對你有所幫助。
1嵌入式系統(tǒng)簡介
嵌入式系統(tǒng)可以抽象出一個(gè)典型的組成模型,其可劃分為硬件層、軟件層及功能層。
1.1嵌入式系統(tǒng)定義
嵌入式系統(tǒng)最通用的定義是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)[1]。
根據(jù)IEEE9(國際電氣和電子工程師協(xié)會)的定義,嵌入式系統(tǒng)也可定義為控制監(jiān)視或輔助設(shè)備機(jī)器和車間運(yùn)行裝置。
嵌入式系統(tǒng)的定義很多,統(tǒng)一起來很難。對于其定義有疑問的部分研究人員將嵌入式系統(tǒng)定義為:“嵌入式系統(tǒng)是以嵌入式微處理器為內(nèi)核,以微電子技術(shù),計(jì)算機(jī)技術(shù),電子技術(shù)、對象技術(shù)為基礎(chǔ),軟硬件可根據(jù)對象需要所設(shè)置,并且嵌入到對象器件內(nèi),適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用智能化的控制系統(tǒng)?!盵2]
1.2嵌入式系統(tǒng)的特點(diǎn)
嵌入式系統(tǒng)是面向?qū)I(yè)應(yīng)用領(lǐng)域的,從其應(yīng)用角度分析,具有以下特點(diǎn):
(1)硬件層,是所有軟件的運(yùn)行基礎(chǔ),嵌入式系統(tǒng)至少擁有一個(gè)高性能處理器為硬件平臺。如ARM處理器。
(2)軟件層,其能擴(kuò)充和充分發(fā)揮硬件層功能。嵌入式系統(tǒng)需有一個(gè)多任務(wù)操作系統(tǒng)的軟件平臺,來控制管理計(jì)算機(jī)硬件和軟件資源以及合理的組織計(jì)算機(jī)工作流程。如Liunx,UC/OSⅡ等操作系統(tǒng)。
(3)嵌入式系統(tǒng)是先進(jìn)的技術(shù)及資金密集、知識產(chǎn)業(yè)化不斷創(chuàng)新的集成系統(tǒng)。其將先進(jìn)的電子科學(xué)技術(shù)與各行各業(yè)的具體應(yīng)用相結(jié)合。
(4)是面向用戶、產(chǎn)品及特定應(yīng)用的。
(5)具有較長的生命周期。與實(shí)際產(chǎn)品相結(jié)合,并與產(chǎn)品升級同步進(jìn)行。
(6)對程序質(zhì)量要求較高。一般都將系統(tǒng)中的軟件固化在存儲器中,大部分都具有較高的實(shí)時(shí)性。
(7)嵌入式系統(tǒng)不具備在其上進(jìn)行進(jìn)一步開發(fā)的能力。需要借助專門的開發(fā)工具和環(huán)境來滿足產(chǎn)品設(shè)計(jì)完成后的程序功能修改工作。
2基于ARM的嵌入式系統(tǒng)技術(shù)應(yīng)用及開發(fā)方法
2.1ARM的技術(shù)應(yīng)用特點(diǎn)
ARM(Advanced RISC Machines)是一種嵌入式微處理器,它具有低功耗、低成本、高性能的特點(diǎn),采用RISC體系結(jié)構(gòu),大量使用寄存器,具有高效的指令系統(tǒng),在實(shí)際嵌入式應(yīng)用中,只保留和嵌入式應(yīng)用緊密相關(guān)的功能硬件,去除其他的冗余功能部分,來實(shí)現(xiàn)嵌入式應(yīng)用的特殊要求[3]?;贏RM微處理器的嵌入式系統(tǒng)不同于單片機(jī)、DSP系統(tǒng),其高性能的特點(diǎn),在硬件部分的電路板設(shè)計(jì)方面是比較困難的,絕大多數(shù)的ARM板都要在4層以上。其實(shí)ARM最關(guān)鍵的是軟件部分的操作系統(tǒng),系統(tǒng)開發(fā)應(yīng)更側(cè)重于軟件方面,包括系統(tǒng)裁減,底層驅(qū)動和應(yīng)用程序等。
2.2ARM嵌入式系統(tǒng)的開發(fā)流程
基于ARM的嵌入式系統(tǒng)設(shè)計(jì)的開發(fā)流程如圖1所示。
2.3ARM嵌入式系統(tǒng)的開發(fā)方法
(1)建立系統(tǒng)的開發(fā)環(huán)境
嵌入式系統(tǒng)資源受限制,如果在其硬件平臺上直接編寫軟件,比較困難。因此根據(jù)其特點(diǎn)須在特定的開發(fā)環(huán)境下進(jìn)行。搭建相應(yīng)的軟硬件平臺:在宿主機(jī)(HOST)也就是PC機(jī)上安裝開發(fā)工具,并將編寫好的軟件程序進(jìn)行交叉編譯生成二進(jìn)制代碼,最后將其移植到目標(biāo)板的特定位置運(yùn)行。這種在宿主機(jī)(HOST)環(huán)境下開發(fā),在目標(biāo)板(TARGET)上運(yùn)行的開發(fā)模式叫交叉開發(fā)模式,交叉開發(fā)模型如圖2所示。
(2)Boot Loader引導(dǎo)程序開發(fā)
Boot loader是在嵌入式操作系統(tǒng)內(nèi)核運(yùn)行前運(yùn)行的一段程序,與我們經(jīng)常提到的BIOS功能相近,每種體系結(jié)構(gòu)都有與其相匹配的Boot Loader。通過Boot loader程序的運(yùn)行,可以初始化硬件設(shè)備,建立系統(tǒng)的內(nèi)存空間映射圖,這樣就可以將系統(tǒng)的軟、硬件環(huán)境設(shè)定在一個(gè)合適的狀態(tài),方便于最終調(diào)用操作系統(tǒng)內(nèi)核,并且為運(yùn)行用戶應(yīng)用程序準(zhǔn)備好正確的環(huán)境。
Boot loader程序由匯編和C程序兩部分組成,程序執(zhí)行過程也分為匯編和C程序代碼部分兩個(gè)階段。匯編程序與硬件設(shè)備相關(guān),不便移植,第一階段需要完成初始化看門狗、設(shè)置中斷異常向量表、堆棧、配置存儲器等,之后再跳轉(zhuǎn)到第二階段的C語言程序入口處。C程序代碼部分主要完成初始化本階段所需要的外部設(shè)備,調(diào)用NANDFLASH的API函數(shù),配置SDRAM空間,并將用戶的`程序代碼從NANDFLASH存儲器中復(fù)制到SDRAM中,最后再跳轉(zhuǎn)到用戶程序的入口[4]。
3嵌入式技術(shù)的應(yīng)用領(lǐng)域
嵌入式技術(shù)無處不在,已經(jīng)深入到了生活的各個(gè)領(lǐng)域,為我們的生活帶來了很大的方便。
(1)無線通訊領(lǐng)域。特別是智能手機(jī),全球95%的手機(jī)采用了ARM芯片,隨著手機(jī)功能愈像電腦,手機(jī)更需要功能強(qiáng)大的嵌入式芯片?,F(xiàn)在,全球售出的每一部手機(jī)中平均就有2.4塊ARM芯片。
(2)工業(yè)控制領(lǐng)域。基于ARM核的32位微控制器芯片逐漸向低端微控制器應(yīng)用領(lǐng)域擴(kuò)展,在工業(yè)控制領(lǐng)域發(fā)揮了很大的作用。
(3)網(wǎng)絡(luò)應(yīng)用。網(wǎng)絡(luò)寬帶技術(shù)不斷發(fā)展,基于ARM技術(shù)的ADSL芯片也逐步進(jìn)入競爭范圍,并取得一定優(yōu)勢。而且,語音及視頻處理也應(yīng)用了ARM技術(shù),同時(shí)對DSP的應(yīng)用領(lǐng)域提出了新的挑戰(zhàn)。
(4)儀器儀表方面。有智能儀器、智能儀表、醫(yī)療器械、色譜儀、示波器等。
(5)民用方面。如電子玩具、電子字典、游戲機(jī)、錄像機(jī)、復(fù)讀機(jī)、投影儀、照相機(jī)、空調(diào)、冰箱、洗衣機(jī)、調(diào)制解調(diào)器、防盜控制器、激光驅(qū)動器、變速控制器、汽車點(diǎn)火控制器、避雷控制、農(nóng)業(yè)節(jié)水控制系統(tǒng)、保安控制系統(tǒng)等方面。
(6)導(dǎo)航控制方面。如導(dǎo)彈控制、航天導(dǎo)航系統(tǒng)、電子干擾系統(tǒng)等。
(7)數(shù)據(jù)處理方面。如圖文圖表終端、復(fù)印機(jī)、硬盤驅(qū)動器等。
(8)農(nóng)業(yè)交通方面。智能公路(汽車導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù))、植物工廠(特種植物工廠、無土栽培技術(shù)、智能種子工程)、虛擬顯示VR機(jī)器人、信息家電(家用電器的網(wǎng)絡(luò)化)等等。
除此以外,眾多領(lǐng)域都用到了基于ARM微處理器的嵌入式技術(shù),在生活的各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。
;
問個(gè)問題啊,嵌入式開發(fā)所謂的bss段,data段,text段屬于哪方面知識,有沒有書推薦
你好,你提到的bss段,data段,text段是計(jì)算機(jī)(不一定是pc機(jī),也可能是嵌入式開發(fā)板)的引導(dǎo)程序的匯編部分,對于pc來說就是bios,而對于嵌入式產(chǎn)品就是 的 startup.s匯編程序,當(dāng)然啟動引導(dǎo)程序在機(jī)器里面會以二進(jìn)制文件形式出現(xiàn),也就是.bin文件,亦稱可執(zhí)行文件,并且把可執(zhí)行文件分為兩種情況:分別為存放態(tài)和運(yùn)行態(tài)。下面分兩部分來講解:
1、存放態(tài)是指在存儲介質(zhì)(flash或磁盤)上的分布. 此時(shí)可執(zhí)行文件一般由兩部分組成:分別是代碼段和數(shù)據(jù)段。代碼段又分為可執(zhí)行代碼段(.text)和只讀數(shù)據(jù)段(.rodata),數(shù)據(jù)段又分為初始化數(shù)據(jù)段(.data)和未初始化數(shù)據(jù)段(.bss)。分布見下圖
+-------------+-----------
| .bss |
+-------------+-- 數(shù)據(jù)段
| .data |
+-------------+-----------
| .rodata |
|_____________| 代碼段
| .text |
+-------------+-----------
2、當(dāng)可執(zhí)行文件(也就是.bin文件)被拷貝到flash等之類的外部存儲器時(shí),接下來要做的就是把可執(zhí)行文件搬運(yùn)到cpu內(nèi)部的ram中,這個(gè)過程叫裝載,也就是可執(zhí)行文件從存放態(tài)到運(yùn)行態(tài)的轉(zhuǎn)變。當(dāng)然,搬過去的時(shí)候可執(zhí)行文件在結(jié)構(gòu)上將發(fā)生變化,下面是裝載前后的變化:
| ... |
+-------------+-----------
| .bss | ZI 段
+-------------+-- 數(shù)據(jù)段
| .data | RW 段
+-------------+-----------
| .rodata |
|_____________| 代碼段(RO 段)
| .text |
+-------------+-----------
| ... |
裝載前
當(dāng)可執(zhí)行文件裝載后, 在RAM中的分布如下:
| ... |
+-------------+-- ZI段結(jié)束地址
| ZI 段 |
+-------------+-- ZI段起始地址
| 保留區(qū)2 |
+-------------+-- RW段結(jié)束地址
| RW 段 |
+-------------+-- RW段起始地址
| 保留區(qū)1 |
+-------------+-- RO段結(jié)束地址
| RO 段 |
+-------------+-- RO段起始地址
| ... |
裝載后
好了,我說的也許太含糊,那就推薦幾本書給你:《linux系統(tǒng)移植》、《linux內(nèi)核全注釋》,如果看不懂那就說明你的基礎(chǔ)還有待提高,多看一些基礎(chǔ)的書籍:《arm匯編》、《c語言》、《嵌入式系統(tǒng)設(shè)計(jì)》
希望對你有幫助,歡迎追問!??!
嵌入式開發(fā)要學(xué)什么
嵌入式Linux操作系統(tǒng)學(xué)習(xí)規(guī)劃\x0d\x0aARM+LINUX路線,主攻嵌入式Linux操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標(biāo): \x0d\x0a(1) 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(初步定為arm9) \x0d\x0a(2) 必須掌握一個(gè)嵌入式操作系統(tǒng) (初步定為uclinux或linux,版本待定) \x0d\x0a(3) 必須熟悉嵌入式軟件開發(fā)流程并至少做一個(gè)嵌入式軟件項(xiàng)目。 \x0d\x0a從事嵌入式軟件開發(fā)的好處是: \x0d\x0a(1)目前國內(nèi)外這方面的人都很稀缺。這一領(lǐng)域入門門檻較高,所以非專業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,大多數(shù)人無條件接觸。 \x0d\x0a(2)與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。 \x0d\x0a(3)哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,嵌入式不像應(yīng)用軟件那樣容易被盜版。硬件設(shè)計(jì)一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設(shè)計(jì)軟件就變成自己的產(chǎn)品了。 \x0d\x0a(4)興趣所在,這是最主要的。 \x0d\x0a從事嵌入式軟件開發(fā)的缺點(diǎn)是: \x0d\x0a(1)入門起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級軟件功底不深,則可能不適于此行。 \x0d\x0a(2)這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。 \x0d\x0a(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗(yàn)即可。 \x0d\x0a(4)平臺依托強(qiáng),換平臺比較辛苦。 \x0d\x0a興趣的由來: \x0d\x0a1、成功觀念不同,不虛度此生,就是我的成功。 \x0d\x0a2、喜歡思考,挑戰(zhàn)邏輯思維。 \x0d\x0a3、喜歡C \x0d\x0aC是一種能發(fā)揮思維極限的語言。關(guān)于C的精神的一些方面可以被概述成短句如下: \x0d\x0a相信程序員。 \x0d\x0a不要阻止程序員做那些需要去做的。 \x0d\x0a保持語言短小精干。 \x0d\x0a一種方法做一個(gè)操作。 \x0d\x0a使得它運(yùn)行的夠快,盡管它并不能保證將是可移植的。 \x0d\x0a4、喜歡底層開發(fā),討厭vb類開發(fā)工具(并不是說vb不好)。 \x0d\x0a5、發(fā)展前景好,適合創(chuàng)業(yè),不想自己要死了的時(shí)候還是一個(gè)工程師。 \x0d\x0a方法步驟: \x0d\x0a1、基礎(chǔ)知識: \x0d\x0a目的:能看懂硬件工作原理,但重點(diǎn)在嵌入式軟件,特別是操作系統(tǒng)級軟件,那將是我的優(yōu)勢。 \x0d\x0a科目:數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)。 \x0d\x0a匯編語言、C/C++、編譯原理、離散數(shù)學(xué)。 \x0d\x0a數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫。 \x0d\x0a方法:雖科目眾多,但都是較簡單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。 \x0d\x0a主攻書籍:the c++ language(一直沒時(shí)間讀)、數(shù)據(jù)結(jié)構(gòu)-C2。 \x0d\x0a\x0d\x0a2、學(xué)習(xí)linux: \x0d\x0a目的:深入掌握linux系統(tǒng)。 \x0d\x0a 方法:使用linux—〉linxu系統(tǒng)編程開發(fā)—〉驅(qū)動開發(fā)和分析linux內(nèi)核。先看深,那主講原理??磶妆楹螅辞榫胺治?,對照深看,兩本交叉,深是綱,情是目。剖析則是0.11版,適合學(xué)習(xí)。最后深入代碼。 \x0d\x0a主攻書籍:linux內(nèi)核完全剖析、unix環(huán)境高級編程、深入理解linux內(nèi)核、情景分析和源代。 \x0d\x0a3、學(xué)習(xí)嵌入式linux: \x0d\x0a目的:掌握嵌入式處理器其及系統(tǒng)。 \x0d\x0a方法:(1)嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接arm原理及匯編即可,不要重復(fù)x86。 \x0d\x0a (2)嵌入式操作系統(tǒng)類:ucOS/II簡單,開源,可供入門。而后深入研究uClinux。 \x0d\x0a (3)必須有塊開發(fā)板(arm9以上),有條件可參加培訓(xùn)(進(jìn)步快,能認(rèn)識些朋友)。 \x0d\x0a 主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他arm9手冊與arm匯編指令等。 \x0d\x0a\x0d\x0a4、深入學(xué)習(xí): \x0d\x0a A、數(shù)字圖像壓縮技術(shù):主要是應(yīng)掌握MPEG、mp3等編解碼算法和技術(shù)。 \x0d\x0a B、通信協(xié)議及編程技術(shù):TCP/IP協(xié)議、802.11,Bluetooth,GPRS、GSM、CDMA等。 \x0d\x0a\x0d\x0a2010-8-21 16:46 回復(fù) \x0d\x0a122.90.173.* 2樓\x0d\x0a\x0d\x0a C、網(wǎng)絡(luò)與信息安全技術(shù):如加密技術(shù),數(shù)字證書CA等。 \x0d\x0a D、DSP技術(shù):Digital Signal Process,DSP處理器通過硬件實(shí)現(xiàn)數(shù)字信號處理算法。 \x0d\x0a 說明:太多細(xì)節(jié)未說明,可根據(jù)實(shí)際情況調(diào)整。重點(diǎn)在于1、3,不必完全按照順序作。對于學(xué)習(xí)c++,理由是c++不只是一種語言,一種工具,她還是一種藝術(shù),一種文化,一種哲學(xué)理念、但不是拿來炫耀得東西。對于linux內(nèi)核,學(xué)習(xí)編程,讀一些優(yōu)秀代碼也是有必要的。 \x0d\x0a 注意: 要學(xué)會舉一反多,有強(qiáng)大的基礎(chǔ),很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種編程語言,并具有良好的邏輯思維。一定要理論結(jié)合實(shí)踐。 \x0d\x0a 不要一味鉆研技術(shù),雖然擠出時(shí)間是很難做到的,但還是要留點(diǎn)余地去完善其他的愛好,比如宇宙,素描、機(jī)械、管理,心理學(xué)、游戲、科幻電影。還有一些不愿意做但必須要做的! \x0d\x0a 技術(shù)是通過編程編程在編程編出來的。永遠(yuǎn)不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程在編程,完了在編程,在編程!等機(jī)會來了在創(chuàng)業(yè)(不要相信有奇跡發(fā)生,盲目創(chuàng)業(yè)很難成功,即便成功了發(fā)展空間也不一定很大)。 \x0d\x0a\x0d\x0a 嵌入式書籍推薦 \x0d\x0a Linux基礎(chǔ) \x0d\x0a 1、《Linux與Unix Shell 編程指南》 \x0d\x0a C語言基礎(chǔ) \x0d\x0a 1、《C Primer Plus,5th Edition》【美】Stephen Prata著 \x0d\x0a 2、《The C Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著 \x0d\x0a 3、《Advanced in the UNIX ,2nd Edition》(APUE) \x0d\x0a 4、《嵌入式Linux應(yīng)用程序開發(fā)詳解》 \x0d\x0a Linux內(nèi)核 \x0d\x0a 1、《深入理解Linux內(nèi)核》(第三版) \x0d\x0a 2、《Linux內(nèi)核源代碼情景分析》毛德操 胡希明著 \x0d\x0a 研發(fā)方向 \x0d\x0a 1、《UNIX Network 》(UNP) \x0d\x0a 2、《TCP/IP詳解》 \x0d\x0a 3、《Linux內(nèi)核編程》 \x0d\x0a 4、《Linux設(shè)備驅(qū)動開發(fā)》(LDD) \x0d\x0a 5、《Linux高級程序設(shè)計(jì)》 楊宗德著\x0d\x0a 硬件基礎(chǔ) \x0d\x0a 1、《ARM體系結(jié)構(gòu)與編程》杜春雷著 \x0d\x0a 2、S3C2410 Datasheet \x0d\x0a 英語基礎(chǔ) \x0d\x0a 1、《計(jì)算機(jī)與通信專業(yè)英語》 \x0d\x0a 系統(tǒng)教程 \x0d\x0a 1、《嵌入式系統(tǒng)——體系結(jié)構(gòu)、編程與設(shè)計(jì)》 \x0d\x0a 2、《嵌入式系統(tǒng)——采用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著 \x0d\x0a 3、《Building Embedded Linux Systems》 \x0d\x0a 4、《嵌入式ARM系統(tǒng)原理與實(shí)例開發(fā)》 楊宗德著\x0d\x0a 理論基礎(chǔ) \x0d\x0a 1、《算法導(dǎo)論》 \x0d\x0a 2、《數(shù)據(jù)結(jié)構(gòu)(C語言版)》 \x0d\x0a 3、《計(jì)算機(jī)組織與體系結(jié)構(gòu)?性能分析》 \x0d\x0a 4、《深入理解計(jì)算機(jī)系統(tǒng)》【美】Randal E. Bryant David O''Hallaron著 \x0d\x0a 5、《操作系統(tǒng):精髓與設(shè)計(jì)原理》 \x0d\x0a 6、《編譯原理》 \x0d\x0a 7、《數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)》 \x0d\x0a 8、《數(shù)據(jù)壓縮原理與應(yīng)用》 \x0d\x0a\x0d\x0a C語言書籍推薦 \x0d\x0a 1. The C language 《C程序設(shè)計(jì)語言》 \x0d\x0a 2. Pointers on C 《C和指針》 \x0d\x0a 3. C traps and pitfalls 《C陷阱與缺陷》 \x0d\x0a 4. Expert C Lanuage 《專家C編程》 \x0d\x0a 5. Writing Clean Code -----Microsoft for Bug-free C Programs \x0d\x0a 《編程精粹--Microsoft 編寫優(yōu)質(zhì)無錯(cuò)C程序秘訣》 \x0d\x0a 6. Embedded Systems in C and C++ 《嵌入式系統(tǒng)編程》 \x0d\x0a 7.《C語言嵌入式系統(tǒng)編程修煉》 \x0d\x0a 8.《高質(zhì)量C++/C編程指南》林銳 \x0d\x0a 盡可能多的編碼,要學(xué)好C,不能只注重C本身。算法,架構(gòu)方式等都很重要。 \x0d\x0a\x0d\x0a這里很多書其實(shí)是推薦而已,不必太在意,關(guān)鍵還是基礎(chǔ),才是重中之重!?。?/p>
嵌入式開發(fā)和底層開發(fā)有什么區(qū)別兩者的概念是什么
舉個(gè)很簡單的例子:
嵌入式開發(fā)。
如PDA手機(jī),掌上電腦,在說開點(diǎn),就是針對硬件做開發(fā),寫驅(qū)動..
嵌入式開發(fā)。
如PDA手機(jī),掌上電腦,在說開點(diǎn),就是針對硬件做開發(fā),寫驅(qū)動..
這個(gè)工資收入 相比于純WEB開發(fā)要高一倍
我給你找個(gè)文章吧呵呵.
嵌入式系統(tǒng)無疑是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時(shí)對實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。像我們平常常見到的手機(jī)、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數(shù)字相機(jī)(DC)、數(shù)字?jǐn)z像機(jī)(DV)、U-Disk、機(jī)頂盒(Set Top Box)、高清電視(HDTV)、游戲機(jī)、智能玩具、交換機(jī)、路由器、數(shù)控設(shè)備或儀表、汽車電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設(shè)備等等都是典型的嵌入式系統(tǒng)。
嵌入式系統(tǒng)是軟硬結(jié)合的東西,搞嵌入式開發(fā)的人有兩類。
一類是學(xué)電子工程、通信工程等偏硬件專業(yè)出身的人,他們主要是搞硬件設(shè)計(jì),有時(shí)要開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如、Board Support
Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。他們的優(yōu)勢是對硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對復(fù)雜軟件系統(tǒng)往往力不從心(例如嵌入式操作系統(tǒng)原理和復(fù)雜應(yīng)用軟件等)。
另一類是學(xué)軟件、計(jì)算機(jī)專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā)。如果我們學(xué)軟件的人對硬件原理和接口有較好的掌握,我們完全也可寫B(tài)SP和硬件驅(qū)動程序。嵌入式硬件設(shè)計(jì)完后,各種功能就全靠軟件來實(shí)現(xiàn)了,嵌入式設(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作(目前有很多公司將硬件設(shè)計(jì)包給了專門的硬件公司,稍復(fù)雜的硬件都交給臺灣或國外公司設(shè)計(jì),國內(nèi)的硬件設(shè)計(jì)力量很弱,很多嵌入式公司自己只負(fù)責(zé)開發(fā)軟件,因?yàn)楣径贾?,嵌入式產(chǎn)品的差異很大程度在軟件上,在軟件方面是最有“花頭“可做的),所以我們搞軟件的人完全不用擔(dān)心我們在嵌入式市場上的用武之地,越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢。
從事嵌入式軟件開發(fā)的好處是:
(1)
目前國內(nèi)外這方面的人都很稀缺。一方面,是因?yàn)檫@一領(lǐng)域入門門檻較高,不僅要懂較底層軟件(例如操作系統(tǒng)級、驅(qū)動程序級軟件),對軟件專業(yè)水平要求較高(嵌入式系統(tǒng)對軟件設(shè)計(jì)的時(shí)間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,很多軟硬件技術(shù)出現(xiàn)時(shí)間不長或正在出現(xiàn)(如ARM處理器、嵌入式操作系統(tǒng)、MPEG技術(shù)、無線通信協(xié)議等),掌握這些新技術(shù)的人當(dāng)然很找。嵌入式人才稀缺,身價(jià)自然就高,越有經(jīng)驗(yàn)價(jià)格就越高。其實(shí)嵌入式人才稀少,根本原因可能是大多數(shù)人無條件接觸,這需要相應(yīng)的嵌入式開發(fā)板和軟件,另外需要有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo)開發(fā)流程。
(2)
與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。搞企業(yè)應(yīng)用軟件的IT企業(yè),這個(gè)用戶的系統(tǒng)搞完了,又得去搞下一個(gè)用戶的,而且每個(gè)用戶的需求和完成時(shí)間都得按客戶要求改變,往往疲于奔命,重復(fù)勞動。相比而言,搞嵌入式系統(tǒng)的公司,都有自己的產(chǎn)品計(jì)劃,按自己的節(jié)奏行事。所開發(fā)的產(chǎn)品通常是通用的,不會因客戶的不同而修改。一個(gè)產(chǎn)品型號開發(fā)完了,往往有較長一段空閑時(shí)間(或只是對軟件進(jìn)行一些小修補(bǔ)),有時(shí)間進(jìn)行充電和休整。另外,從事嵌入式軟件的每個(gè)人工作范圍相對狹窄,所涉及的專業(yè)技術(shù)范圍就是那些(ARM、RTOS、MPEG、802.11等),時(shí)間長了這些東西會越搞越有經(jīng)驗(yàn),賣賣老本,幾句指導(dǎo)也夠讓那些初入道者琢磨半年的。若搞應(yīng)用軟件,可能下一個(gè)客戶要換成一個(gè)完全不同的軟件開發(fā)平臺,那就苦了。
(3)
哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,那么嵌入式是一個(gè)不錯(cuò)的主意,這可不像應(yīng)用軟件那樣容易被盜版。土木有一個(gè)叫啟明星的公司開發(fā)出一個(gè)好象叫“工程e”的掌上PDA(南校區(qū)門口有廣告),施工技術(shù)人員用該P(yáng)DA可當(dāng)場進(jìn)行土木概預(yù)算和其它土木計(jì)算,據(jù)說銷路特好。我認(rèn)識的某老師,他開發(fā)的飯館用的點(diǎn)菜PDA(WinCE平臺,可無線連網(wǎng)和上網(wǎng)),據(jù)他說銷路不錯(cuò),飯館點(diǎn)點(diǎn)PDA讓客戶點(diǎn)菜,多顯派頭檔次。我記得00級2+2班當(dāng)年有一組同學(xué)在學(xué)Windows程序設(shè)計(jì)課程時(shí)用VC++設(shè)計(jì)了一個(gè)功能很強(qiáng)的點(diǎn)菜系統(tǒng)做為課程項(xiàng)目,當(dāng)時(shí)真想建議他們將這個(gè)軟件做成PDA,估計(jì)會有些銷路(上?;疖囌灸蠌V場的Macdonald便使用很漂亮的PDA給用戶點(diǎn)食品,像摸像樣的)。這些PDA的硬件設(shè)計(jì)一般都是請其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設(shè)計(jì)軟件就變成自己的產(chǎn)品了。
從事嵌入式軟件開發(fā)的缺點(diǎn)是:
(1)
入門起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級軟件功底不深,則可能不適于此行。
(2)
這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。特別是從事嵌入式的小企業(yè)數(shù)量較多(小企業(yè)要搞自己的產(chǎn)品創(chuàng)業(yè)),知名大公司較少(搞嵌入式的大公司主要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半導(dǎo)體、Microtek、研華、華為、中興通信、上廣電等制造類企業(yè))。這些企業(yè)的習(xí)慣思維方式是到電子、通信等偏硬專業(yè)找人。由于我院以前畢業(yè)生以企業(yè)計(jì)算為主,所以我院與這些企業(yè)聯(lián)系相對較少。我院正積極努力,目前已與其中部分公司建立了聯(lián)系,爭取今后能有我院同學(xué)到這些企業(yè)中實(shí)習(xí)或就業(yè)。
(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗(yàn)即可。
我院同學(xué)若學(xué)習(xí)嵌入式,顯然應(yīng)偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方面,應(yīng)是我們的強(qiáng)項(xiàng)。對于搞嵌入式軟件的人,最重要的技術(shù)顯然是(實(shí)際上很多公司的招聘廣告上就是這樣寫的):
(1)掌握主流嵌入式微處理器的結(jié)構(gòu)與原理
(2) 必須掌握一個(gè)嵌入式操作系統(tǒng)
(3)必須熟悉嵌入式軟件開發(fā)流程并至少做過一個(gè)嵌入式軟件項(xiàng)目。
嵌入式軟件方面最重要的課程包括:
(1)
嵌入式微處理器結(jié)構(gòu)與應(yīng)用:這是一門嵌入式硬件基礎(chǔ)課程,我院用這門課取代了傳統(tǒng)的“微機(jī)原理與接口”課程(目前國內(nèi)已有少部分高校IT專業(yè)這樣做了,因?yàn)橹vx86微機(jī)原理與接口很難找到實(shí)際用處,只為教學(xué)而已)。我們說過,嵌入式是軟硬件結(jié)合的技術(shù),搞嵌入式軟件的人應(yīng)對ARM處理器工作原理和接口技術(shù)有充分了解,包括ARM的匯編指令系統(tǒng)。若不了解處理器原理,怎么能控制硬件工作,怎么能寫出節(jié)省內(nèi)存又運(yùn)行高速的最優(yōu)代碼(嵌入式軟件設(shè)計(jì)特別講究時(shí)空效率),怎么能寫出驅(qū)動程序(驅(qū)動程序都是與硬件打交道的)?很多公司招聘嵌入式軟件人員時(shí)都要求熟悉ARM處理器,將來若同學(xué)到公司中從事嵌入式軟件開發(fā),公司都會給你一本該設(shè)備的硬件規(guī)格說明書
(xxx
),您必須能看懂其中的內(nèi)存分布和端口使用等最基本的說明(就像x86匯編一樣),否則怎么設(shè)計(jì)軟件。有些同學(xué)覺得嵌入式處理器課程較枯燥,這主要是硬件課程都較抽象的原因,等我們的嵌入式實(shí)驗(yàn)室10月份建好后,您做了一些實(shí)驗(yàn)后就會覺得看得見摸得著。還有同學(xué)對ARM匯編不感興趣,以為嵌入式開發(fā)用C語言就足夠了。其實(shí)不應(yīng)僅是將匯編語言當(dāng)成一個(gè)程序設(shè)計(jì)語言,學(xué)匯編主要是為了掌握處理器工作原理的。一個(gè)不熟悉匯編語言的人,怎么能在該處理器寫出最優(yōu)的C語言代碼。在嵌入式開發(fā)的一些關(guān)鍵部分,有時(shí)還必須寫匯編,如等(可能還包括BSP)。特別是在對速度有極高要求的場合(如DSP處理器的高速圖像采集和圖像解壓縮),目前主要還要靠匯編寫程序(我看到過很多公司是這樣做的)。當(dāng)您在一個(gè)嵌入式公司工作時(shí),在查看描述原理的手冊時(shí),可能很多都是用匯編描述的(我就遇到過),這是因?yàn)楹芏嘤布O(shè)計(jì)人員只會寫或者喜歡用匯編描述,此時(shí)您就必須看懂匯編程序,否則軟硬件人員可能就無法交流。很多嵌入式職位招聘時(shí)都要求熟悉匯編。
(2) 嵌入式操作系統(tǒng)類課程
除了WinCE的實(shí)時(shí)性稍差外,大多數(shù)嵌入式操作系統(tǒng)的實(shí)時(shí)性都很強(qiáng),所以也可稱為實(shí)時(shí)操作系統(tǒng)Real Time
Operating
System.從事嵌入式的人至少須掌握一個(gè)嵌入式操作系統(tǒng)(當(dāng)然掌握兩個(gè)更好),這在嵌入式的所有技術(shù)中是最為關(guān)鍵的了。目前最重要的RTOS主要包括:
第一類、傳統(tǒng)的經(jīng)典RTOS:最主要的便是Vxworks操作系統(tǒng),以及其Tornado開發(fā)平臺。Vxworks因出現(xiàn)稍早,實(shí)時(shí)性很強(qiáng)(據(jù)說可在1ms內(nèi)響應(yīng)外部事件請求),并且內(nèi)核可極微(據(jù)說最小可8K),可靠性較高等,所以在北美,Vxworks占據(jù)了嵌入式系統(tǒng)的多半疆山。特別是在通信設(shè)備等實(shí)時(shí)性要求較高的系統(tǒng)中,幾乎非Vxworks莫屬。Vxworks的很多概念和技術(shù)都和Linux很類似,主要是C語言開發(fā)。像Bell-alcatel、Lucent、華為等通信企業(yè)在開發(fā)產(chǎn)品時(shí),Vxworks用得很多。但Vxworks因價(jià)格很高,所以一些小公司或小產(chǎn)品中往往用不起。目前很多公司都在往嵌入式Linux轉(zhuǎn)(聽說華為目前正在這樣轉(zhuǎn))。但無論如何,Vxworks在一段長時(shí)間內(nèi)仍是不可動搖的。與Vxworks類似的稍有名的實(shí)時(shí)操作系統(tǒng)還有pSOS、QNX、Nucleus等RTOS。
第二類、嵌入式Linux操作系統(tǒng):Linux的前途除作為服務(wù)器操作系統(tǒng)外,最成功的便是在嵌入式領(lǐng)域的應(yīng)用,原因當(dāng)然是免費(fèi)、開源、支持軟件多、呼擁者眾,這樣嵌入式產(chǎn)品成本會低。Linux本身不是一個(gè)為嵌入式設(shè)計(jì)的操作系統(tǒng),不是微內(nèi)核的,并且實(shí)時(shí)性不強(qiáng)。目前應(yīng)用在嵌入式領(lǐng)域的Linux系統(tǒng)主要有兩類:一類是專為嵌入式設(shè)計(jì)的已被裁減過的Linux系統(tǒng),最常用的是uClinux(不帶MMU功能),目前占較大應(yīng)用份額,可在ARM7上跑;另一類是跑在ARM
9上的,一般是將Linux
2.4.18內(nèi)核移植在其上,可使用更多的Linux功能(當(dāng)然uClinux更可跑在ARM
9上)。很多人預(yù)測,嵌入式Linux預(yù)計(jì)將占嵌入式操作系統(tǒng)的50%以上份額,非常重要。缺點(diǎn)是熟悉Linux的人太少,開發(fā)難度稍大。另外,目前我們能發(fā)現(xiàn)很多教材和很多都以ucOS/II為教學(xué)用實(shí)時(shí)操作系統(tǒng),這主要是由于ucOS/II較簡單,且開源,非常適合入門者學(xué)習(xí)實(shí)時(shí)操作系統(tǒng)原理,但由于ucOS/II功能有限,實(shí)用用得較少,所以我院不將其作為教學(xué)重點(diǎn),要學(xué)習(xí)就應(yīng)學(xué)直接實(shí)用的,比如
uClinux就很實(shí)用。況且熟悉了Linux開發(fā),不僅在嵌入式領(lǐng)域有用,對開發(fā)Linux應(yīng)用軟件,對加深操作系統(tǒng)的認(rèn)識也有幫助,可謂一舉多得。據(jù)我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式開發(fā),F(xiàn)ujitum則是在自己的處理器上大搞Linux開發(fā)。目前在嵌入式Linux領(lǐng)域,以下幾個(gè)方面的人特別難找,一是能將Linux移植到某個(gè)新型號的開發(fā)版上;二是能寫Linux驅(qū)動程序的人;三是熟悉Linux內(nèi)核裁減和優(yōu)化的人。我院在該嵌入式Linux方面的課程系列是:本科生操作系統(tǒng)必修課,然后是Linux程序設(shè)計(jì)選修課,最后是嵌入式Linux系統(tǒng)選修課。我院在Linux方面目前已有較強(qiáng)力量,魏老師和張老師熟悉Linux開發(fā),金老師和唐老師熟悉Linux系統(tǒng)管理。
第三類、 Windows
CE嵌入式操作系統(tǒng):Microsoft也看準(zhǔn)了嵌入式的巨大市場,MS永遠(yuǎn)是最厲害的,WinCE出來只有幾年時(shí)間,但目前已占據(jù)了很大市場份額,特別是在PDA、手機(jī)、顯示儀表等界面要求較高或者要求快速開發(fā)的場合,WinCE目前已很流行(據(jù)說有一家賣工控機(jī)的公司板子賣得太好,以至來不及為客戶裁減WinCE)。WinCE目前主要為4.2版(.NET),開發(fā)平臺主要為WinCE Platform Builder,有時(shí)也用EVC環(huán)境開發(fā)一些較上層的應(yīng)用,由于WinCE開發(fā)都是大家熟悉的VC++環(huán)境,所以我院學(xué)過Windows程序設(shè)計(jì)課程的同學(xué)都不會有多大難度,這也是WinCE容易被人們接受的原因,開發(fā)環(huán)境方便快速,微軟的強(qiáng)大技術(shù)支持,WinCE開發(fā)難度遠(yuǎn)低于嵌入式Linux。對于急于完成,不想拿嵌入式Linux冒險(xiǎn)的開發(fā)場合,WinCE是最合適了(找嵌入式Linux的人可沒那么好找的),畢竟公司不能像學(xué)生學(xué)習(xí)那樣試試看,保證開發(fā)成功更重要。根據(jù)不同的側(cè)重點(diǎn),WinCE還有兩個(gè)特殊版本,一個(gè)是MS PocketPC操作系統(tǒng)專用于PDA上(掌上電腦),另一個(gè)是MS 操作系統(tǒng)用于智能手機(jī)上(帶PDA功能的手機(jī)),兩者也都屬于WinCE平臺。在PDA和手機(jī)市場上,除WinCE外,著名的PDA嵌入式操作系統(tǒng)還有Palm OS(因出現(xiàn)很早,很有名)、Symbian等,但在WinCE的強(qiáng)勁沖擊下,Palm和Symbian來日還能有多長?我院可能是高校中唯一一家開設(shè)專門的“Windows CE嵌入式操作系統(tǒng)“課程的學(xué)校,這主要是基于以下原因:我院本身前面便有Windows程序設(shè)計(jì)課程,同學(xué)學(xué)過VC++后再學(xué)WinCE,非常方便自然,通過學(xué)習(xí)WinCE同樣也可了解嵌入式軟件的一般開發(fā)過程,對Linux有懼怕心理的同學(xué)也很合適。很顯然,嵌入式Linux永遠(yuǎn)不可能替代WinCE,而且將來誰占份額大還很難講,畢竟很多人更愿意接受MS的平臺,就像各國都在大力推LINUX已好長時(shí)間,但您能看到幾個(gè)在PC機(jī)上真正使用LINUX的用戶?據(jù)我觀察,目前在嵌入式平臺上,LINUX是叫得最響,但還是WinCE實(shí)際用得更多.嵌入式LINUX可能更多地是一些有長遠(yuǎn)產(chǎn)品計(jì)劃的公司,為降低成本而進(jìn)行長遠(yuǎn)考慮;
二是微軟亞洲研究院對我院WinCE課程的支持計(jì)劃,我們也很希望將來我院能有同學(xué)通過微軟的面試去實(shí)習(xí)。WinCE和多媒體(如MPEG技術(shù))是微軟亞洲工程院目前做得較多的項(xiàng)目領(lǐng)域之一,他們很需要精通WinCE的人。
總結(jié)關(guān)于嵌入式操作系統(tǒng)類課程,若您覺得自己功底較深且能鉆研下去,則可去學(xué)嵌入式Linux;若您覺得自己VC++功底較好且想短平快地學(xué)嵌入式開發(fā),則我院的WinCE課程是最好的選擇。
(3) 嵌入式開發(fā)的其它相關(guān)軟件課程
搞嵌入式若能熟悉嵌入式應(yīng)用的一些主要領(lǐng)域,這樣的人更受企業(yè)歡迎。主要的相關(guān)領(lǐng)域包括:
A、數(shù)字圖像壓縮技術(shù):這是嵌入式最重要最熱門的應(yīng)用領(lǐng)域之一,主要是應(yīng)掌握MPEG編解碼算法和技術(shù),如DVD、MP3、PDA、高精電視、機(jī)頂盒等都涉及MPEG高速解碼問題。為此,我院已預(yù)訂了一位能開設(shè)數(shù)字圖像處理課程的博士。
B、通信協(xié)議及編程技術(shù):這包括傳統(tǒng)的TCP/IP協(xié)議和熱門的無線通信協(xié)議。首先,大多數(shù)嵌入式設(shè)備都要連入局域網(wǎng)或Internet,所以首先應(yīng)掌握TCP/IP協(xié)議及其編程,這是需首要掌握的基本技術(shù);其次,無線通信是目前的大趨勢,所以掌握無線通信協(xié)議及編程也是是很重要的。無結(jié)通信協(xié)議包括無線局域網(wǎng)通信協(xié)議802.11系列,Bluetooth,以及移動通信(如GPRS、GSM、CDMA等)。
C、網(wǎng)絡(luò)與信息安全技術(shù):如加密技術(shù),數(shù)字證書CA等。我院有這方面的選修課。
D、DSP技術(shù):DSP是Digital Signal
Process數(shù)字信號處理的意思,DSP處理器通過硬件實(shí)現(xiàn)數(shù)字信號處理算法,如高速數(shù)據(jù)采集、壓縮、解壓縮、通信等。數(shù)字信號處理是電子、通信等硬件專業(yè)的課程,對于搞軟件的人若能了解一下最好。目前DSP人才較缺。如果有信號與系統(tǒng)、數(shù)字信號處理等課程基礎(chǔ),對于學(xué)習(xí)MPEG編解碼原理會有很大幫助。
(4)嵌入式開發(fā)的相關(guān)硬件基礎(chǔ)
對于軟件工程專業(yè)的學(xué)生,從事嵌入式軟件開發(fā),像數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)等硬件課程是較重要的。另外,匯編語言、C/C++、數(shù)據(jù)結(jié)構(gòu)和算法、特別是操作系統(tǒng)等軟件基礎(chǔ)課也是十分重要的。我們的主要目地是能看懂硬件工作原理,但重點(diǎn)應(yīng)是在嵌入式軟件,特別操作系統(tǒng)級軟件,那將是我們的優(yōu)勢。
我們的研究生里有些是學(xué)電子、通信類專業(yè)過來的,有較好的模擬電路和單片機(jī)基礎(chǔ),學(xué)嵌入式非常合適。嵌入式本身就是從單片機(jī)發(fā)展過來的,只是單片機(jī)不帶OS,而現(xiàn)在很多嵌入式應(yīng)用越來越復(fù)雜,以至不得不引入嵌入式操作系統(tǒng)。另外,為追求更高速的信號處理速度,現(xiàn)在在一些速度要求較高的場合,有不少公司是將一些DSP算法,如MPEG壓縮解壓縮算法等用硬件來實(shí)現(xiàn),這就涉及到HDL數(shù)字電路設(shè)計(jì)技術(shù)及其FPGA/IP核實(shí)現(xiàn)技術(shù),這方面的人目前市場上也很缺。
題外話
另外,能寫驅(qū)動程序的人目前是非常緊缺的(驅(qū)動程序也可歸于嵌入式范疇),包括桌面Windows中的DDK開發(fā)環(huán)境和WDM驅(qū)動程序。公司每時(shí)每刻都要推出新產(chǎn)品,每一個(gè)新產(chǎn)品出來了,要能被操作系統(tǒng)所使用,是必須寫驅(qū)動程序的。寫驅(qū)動程序就必須掌握操作系統(tǒng)(如Windows或Linux)的內(nèi)部工作原理,還涉及到少量硬件知識,難度較大,所以這方面的人很難找。想成為高手的同學(xué),也可從驅(qū)動程序方面獲得突破。我可說一下自己的經(jīng)歷,三年前我曾短暫地在一家公司寫過WinCE驅(qū)動程序(正是因?yàn)橹肋@方面的人緊缺,所以才要做這方面的事),盡管那以前從未做過驅(qū)動程序,應(yīng)聘那個(gè)職位時(shí)正是看準(zhǔn)了公司是很難招聘到這方面的人,既然都找不到人,驅(qū)動還得有人做,這正是可能有機(jī)會切入這一領(lǐng)域的大好機(jī)會。面試時(shí)大講自己寫過多少萬行匯編程序,對計(jì)算機(jī)工作原理如何清楚,簡歷中又寫著我曾閱讀完兩本關(guān)于Windows Driver Model的兩本英文原版書,寫過幾個(gè)小型的驅(qū)動程序練習(xí)程序(其實(shí)根本沒寫過,我們的同學(xué)將來千萬不要像我這樣,早練就些過硬功夫,就不至于淪落到我這等地步,就不用像我那樣去“欺騙”公司了,我這是一個(gè)典型的反面教材),居然一切都PASS(當(dāng)然最重要的是筆試和面試問題還說得過去),這只能說明這一領(lǐng)域找人的困難程度。公司本就未指望找到搞過驅(qū)動的人,找個(gè)有相關(guān)基礎(chǔ)的人就算不錯(cuò)了。做了以后,發(fā)現(xiàn)也并不是怎樣難的。其實(shí)搞驅(qū)動程序的工作是很舒服的,搞完一個(gè)版本就會空一段時(shí)間,只有等公司新的芯片推出或新的OS出現(xiàn)后,才需要再去開發(fā)新一版驅(qū)動,那時(shí)有將近一個(gè)月時(shí)間空閑著在等WinCE .NET Beta版推出,準(zhǔn)備將驅(qū)動程序升級到CE .NET上,現(xiàn)在在軟件工作整日忙,無限懷念那段悠閑時(shí)光。
很巧合,最近本人無意中再次體會到了嵌入式的迷人之處。上周我那用了3年的手機(jī)終于不能WORK了。此次更新,除要求有手機(jī)常見功能外,最好有MP3功能(現(xiàn)在很多英語聽力都有MP3文件),最好有英漢詞典,最好還能讀WORD文檔。最后選了個(gè)滿足以上條件的最便宜的手機(jī)DOPOD 515(斬了我2.2K,但想想這也算自己對嵌入式事業(yè)的支持,這樣便也想開了),算得上最低檔的智能手機(jī)了。回來一查,手機(jī)的about顯示,本手機(jī)Processor是ARM,其OS是MS (即WinCE .NET 4.2),這么巧合,簡直可做為學(xué)習(xí)嵌入式課程的產(chǎn)品案例了(等我們的WinCE課程開得有聲有色后,希望能從微軟研究院搞些來開發(fā)開發(fā))。有OS的手機(jī)果然了得,金山詞霸、WORD、EXCEL、REGEDIT等居然都有版的,PC上的MP3、DOC等居然在download時(shí)都可被自動轉(zhuǎn)換成格式,真是爽。完全可用Windows CE自己開發(fā)一些需要的程序download到自己的手機(jī)上。現(xiàn)在市面銷售PDA智能手機(jī)火爆,MS總是財(cái)源滾滾。但我已發(fā)現(xiàn)國產(chǎn)的ARM+LINUX手機(jī)出現(xiàn)在市面上,價(jià)格只1.2K。
我馬上要上要學(xué)嵌入式這個(gè)專業(yè),不知道發(fā)展前景如何 和難易如何
我馬上要上要學(xué)嵌入式這個(gè)專業(yè),不知道發(fā)展前景如何 和難易如何
目前發(fā)展空間很大的,智慧裝置層出不窮,工業(yè)上也有很大空間,任何專業(yè)都難,只要用心加勤快就不難了
嵌入式前景如何
搞嵌入式開發(fā)的人有兩類:一類是學(xué)電子工程、通訊工程等偏硬體專業(yè)出身的人,他們主要是搞硬體設(shè)計(jì),有時(shí)要開發(fā)一些與硬體關(guān)系最密切的最底層軟體,如、 Board Support Package(像PC的BIOS一樣,往下驅(qū)動硬體,往上支援作業(yè)系統(tǒng)),最初級的硬體驅(qū)動程式等。他們的優(yōu)勢是對硬體原理非常清楚,不足是他們更擅長定義各種硬體介面,但對復(fù)雜軟體系統(tǒng)往往力不從心(例如嵌入式作業(yè)系統(tǒng)原理和復(fù)雜應(yīng)用軟體等)。另一類是學(xué)軟體、計(jì)算機(jī)專業(yè)出身的人,主要從事嵌入式作業(yè)系統(tǒng)和應(yīng)用軟體的開發(fā)。如果我們學(xué)軟體的人對硬體原理和介面有較好的掌握,我們完全也可寫B(tài)SP和硬體驅(qū)動程式。嵌入式硬體設(shè)計(jì)完后,各種功能就全靠軟體來實(shí)現(xiàn)了,嵌入式裝置的增值很大程度上取決于嵌入式軟體,這占了嵌入式系統(tǒng)的最主要工作(目前有很多公司將硬體設(shè)計(jì)包給了專門的硬體公司,稍復(fù)雜的硬體都交給臺灣或國外公司設(shè)計(jì),國內(nèi)的硬體設(shè)計(jì)力量很弱,很多嵌入式公司自己只負(fù)責(zé)開發(fā)軟體,因?yàn)楣径贾?,嵌入式產(chǎn)品的差異很大程度在軟體上,在軟體方面是最有"花頭"可做的),所以我們搞軟體的人完全不用擔(dān)心我們在嵌入式市場上的用武之地,越是智慧裝置越是復(fù)雜系統(tǒng),軟體越起關(guān)鍵作用,而且這是目前的趨勢。
從事嵌入式軟體開發(fā)的好處是:
(1) 目前國內(nèi)外這方面的人都很稀缺。一方面,是因?yàn)檫@一領(lǐng)域入門門檻較高,不僅要懂較底層軟體(例如作業(yè)系統(tǒng)級、驅(qū)動程式級軟體),對軟體專業(yè)水平要求較高(嵌入式系統(tǒng)對軟體設(shè)計(jì)的時(shí)間和空間效率要求較高),而且必須懂得硬體的工作原理,所以非專業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,很多軟硬體技術(shù)出現(xiàn)時(shí)間不長或正在出現(xiàn)(如ARM處理器、嵌入式作業(yè)系統(tǒng)、MPEG技術(shù)、無線通訊協(xié)議等),掌握這些新技術(shù)的人當(dāng)然很難找。嵌入式人才稀缺,身價(jià)自然就高,越有經(jīng)驗(yàn)價(jià)格就越高。其實(shí)嵌入式人才稀少,根本原因可能是大多數(shù)人無條件接觸,這需要相應(yīng)的嵌入式開發(fā)板和軟體,另外需要有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo)開發(fā)流程。
(2) 與企業(yè)計(jì)算等應(yīng)用軟體不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。搞企業(yè)應(yīng)用軟體的IT企業(yè),這個(gè)使用者的系統(tǒng)搞完了,又得去搞下一個(gè)使用者的,而且每個(gè)使用者的需求和完成時(shí)間都得按客戶要求改變,往往疲于奔命,重復(fù)勞動。相比而言,搞嵌入式系統(tǒng)的公司,都有自己的產(chǎn)品計(jì)劃,按自己的節(jié)奏行事。所開發(fā)的產(chǎn)品通常是通用的,不會因客戶的不同而修改。一個(gè)產(chǎn)品型號開發(fā)完了,往往有較長一段空閑時(shí)間(或只是對軟體進(jìn)行一些小修補(bǔ)),有時(shí)間進(jìn)行充電和休整。另外,從事嵌入式軟體的每個(gè)人工作范圍相對狹窄,所涉及的專業(yè)技術(shù)范圍就是那些(ARM、RTOS、MPEG、802.11等),時(shí)間長了這些東西會越搞越有經(jīng)驗(yàn),賣賣老本,幾句指導(dǎo)也夠讓那些初入道者琢磨半年的。若搞應(yīng)用軟體,可能下一個(gè)客戶要換成一個(gè)完全不同的軟體開發(fā)平臺,那就苦了。
(3) 哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,那么嵌入式是一個(gè)不錯(cuò)的主意,這可不像應(yīng)用軟體那樣容易被盜版。我們這屆有個(gè)同學(xué)自己有點(diǎn)此類小生意,具體做什么的沒細(xì)問, 他每月要進(jìn)貨幾千片8位微控制器,現(xiàn)在自己已經(jīng)有車有房了。還有現(xiàn)在開發(fā)的飯館用的點(diǎn)菜PDA(WinCE平臺,可無線連網(wǎng)和上網(wǎng)),據(jù)說銷路不錯(cuò),飯館點(diǎn)點(diǎn)PDA讓客戶點(diǎn)菜,多顯派頭檔次。這些PDA的硬體設(shè)計(jì)一般都是請別的公司給訂做(這叫“貼牌”:OEM),都是通用的硬體,我們只管設(shè)計(jì)軟體就變成自己的產(chǎn)品了。
從事嵌入式軟體開發(fā)的缺點(diǎn)是:
(1) 入門起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬體基礎(chǔ)不好,特別是作業(yè)系統(tǒng)級軟體功底不深,則可能不適于此行。
(2) 這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類企業(yè)。特別是從事嵌入式的小企業(yè)數(shù)量較多(小企業(yè)要搞自己的產(chǎn)品創(chuàng)業(yè)),知名大公司較少(搞嵌入式的大公司主要有 Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半導(dǎo)體、 Microtek、研華、華為、中興通訊、上廣電等制造類企業(yè))。這些企業(yè)的習(xí)慣思維方式是到電子、通訊等偏硬專業(yè)找人。
(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗(yàn)即可。
同學(xué)們?nèi)魧W(xué)習(xí)嵌入式,顯然應(yīng)偏重于嵌入式軟體,特別是嵌入式作業(yè)系統(tǒng)方面,應(yīng)是我們的強(qiáng)項(xiàng)。對于搞嵌入式軟體的人,最重要的技術(shù)顯然是(實(shí)際上很多公司的招聘廣告上就是這樣寫的):
(1) 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理
(2) 必須掌握一個(gè)嵌入式作業(yè)系統(tǒng)
(3) 必須熟悉嵌入式軟體開發(fā)流程并至少做過一個(gè)嵌入式軟體專案。
在嵌入式軟體方面最重要的課程包括:
(1) 嵌入式微處理器結(jié)構(gòu)與應(yīng)用:這是一門嵌入式硬體基礎(chǔ)課程,我們說過,嵌入式是軟硬體結(jié)合的技術(shù),搞嵌入式軟體的人應(yīng)對ARM處理器工作原理和介面技術(shù)有充分了解,包括ARM的匯編指令系統(tǒng)。若不了解處理器原理,怎么能控制硬體工作,怎么能寫出節(jié)省記憶體又執(zhí)行高速的最優(yōu)程式碼(嵌入式軟體設(shè)計(jì)特別講究時(shí)空效率),怎么能寫出驅(qū)動程式(驅(qū)動程式都是與硬體打交道的)?很多公司招聘嵌入式軟體人員時(shí)都要求熟悉ARM處理器,將來若同學(xué)到公司中從事嵌入式軟體開發(fā),公司都會給你一本該裝置的硬體規(guī)格說明書 (xxx ),你必須能看懂其中的記憶體分布和埠使用等最基本的說明(就像x86匯編一樣),否則怎么設(shè)計(jì)軟體。有些同學(xué)覺得嵌入式處理器課程較枯燥,這主要是硬體課程都較抽象的原因。還有同學(xué)對ARM匯編不感興趣,以為嵌入式開發(fā)用C語言就足夠了。其實(shí)不應(yīng)僅是將組合語言當(dāng)成一個(gè)程式設(shè)計(jì)語言,學(xué)匯編主要是為了掌握處理器工作原理的。一個(gè)不熟悉組合語言的人,怎么能在該處理器寫出最優(yōu)的C語言程式碼。在嵌入式開發(fā)的一些關(guān)鍵部分,有時(shí)還必須寫匯編,如等(可能還包括BSP)。特別是在對速度有極高要求的場合(如DSP處理器的高速影象采集和影象解壓縮),目前還會用到匯編寫程式的,盡管用到的機(jī)會相對C要小得多。當(dāng)你在一個(gè)嵌入式公司工作時(shí),在檢視描述原理的手冊時(shí),可能很多都是用匯編描述的,這是因?yàn)楹芏嘤搀w設(shè)計(jì)人員只會寫或者喜歡用匯編描述,此時(shí)你就必須看懂匯編程式,否則軟硬體人員可能就無法交流。很多嵌入式職位招聘時(shí)都要求熟悉匯編。
(2) 嵌入式作業(yè)系統(tǒng)類課程
除了WinCE的實(shí)時(shí)性稍差外,大多數(shù)嵌入式作業(yè)系統(tǒng)的實(shí)時(shí)性都很強(qiáng),所以也可稱為實(shí)時(shí)作業(yè)系統(tǒng)Real System。從事嵌入式的人至少須掌握一個(gè)嵌入式作業(yè)系統(tǒng)(當(dāng)然掌握兩個(gè)更好),這在嵌入式的所有技術(shù)中是最為關(guān)鍵的了。
目前最重要的RTOS主要包括:第一類、傳統(tǒng)的經(jīng)典RTOS:最主要的便是Vxworks作業(yè)系統(tǒng),以及其Tornado開發(fā)平臺。Vxworks因出現(xiàn)稍早,實(shí)時(shí)性很強(qiáng)(據(jù)說可在1ms內(nèi)響應(yīng)外部事件請求),并且核心可極微(據(jù)說最小可8K),可靠性較高等,所以在北美,Vxworks占據(jù)了嵌入式系統(tǒng)的多半疆山。特別是在通訊裝置等實(shí)時(shí)性要求較高的系統(tǒng)中,幾乎非Vxworks莫屬。Vxworks的很多概念和技術(shù)都和Linux很類似,主要是C語言開發(fā)。像Bell- alcatel、Lucent、華為等通訊企業(yè)在開發(fā)產(chǎn)品時(shí),Vxworks用得很多。但Vxworks因價(jià)格很高,所以一些小公司或小產(chǎn)品中往往用不起。目前很多公司都在往嵌入式Linux轉(zhuǎn)(聽說華為目前正在這樣轉(zhuǎn))。但無論如何,Vxworks在一段長時(shí)間內(nèi)仍是不可動搖的。與Vxworks類似的稍有名的實(shí)時(shí)作業(yè)系統(tǒng)還有pSOS、QNX、Nucleus等RTOS。
第二類、嵌入式Linux作業(yè)系統(tǒng):Linux的前途除作為伺服器作業(yè)系統(tǒng)外,最成功的便是在嵌入式領(lǐng)域的應(yīng)用,原因當(dāng)然是免費(fèi)、開源、支援軟體多、呼擁者眾,這樣嵌入式產(chǎn)品成本會低。Linux本身不是一個(gè)為嵌入式設(shè)計(jì)的作業(yè)系統(tǒng),不是微核心的,并且實(shí)時(shí)性不強(qiáng)。
目前應(yīng)用在嵌入式領(lǐng)域的Linux系統(tǒng)主要有兩類:一類是專為嵌入式設(shè)計(jì)的已被裁減過的Linux系統(tǒng),最常用的是uClinux(不帶MMU功能),目前占較大應(yīng)用份額,可在ARM7上跑;另一類是跑在 ARM 9上的,一般是將Linux 2.4.18核心移植在其上,可使用更多的Linux功能(當(dāng)然uClinux更可跑在ARM 9上)。很多人預(yù)測,嵌入式Linux預(yù)計(jì)將占嵌入式作業(yè)系統(tǒng)的50%以上份額,非常重要。缺點(diǎn)是熟悉Linux的人太少,開發(fā)難度稍大。另外,目前我們能發(fā)現(xiàn)很多教材和很多都以ucOS/II為教學(xué)用實(shí)時(shí)作業(yè)系統(tǒng),這主要是由于ucOS/II較簡單,且開源,非常適合入門者學(xué)習(xí)實(shí)時(shí)作業(yè)系統(tǒng)原理,但由于ucOS/II功能有限,實(shí)用用得較少。況且熟悉了Linux開發(fā),不僅在嵌入式領(lǐng)域有用,對開發(fā)Linux應(yīng)用軟體,對加深作業(yè)系統(tǒng)的認(rèn)識也有幫助,可謂一舉多得。據(jù)我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式開發(fā),F(xiàn)ujitum則是在自己的處理器上大搞Linux 開發(fā)。目前在嵌入式Linux領(lǐng)域,以下幾個(gè)方面的人特別難找,一是能將Linux移植到某個(gè)新型號的開發(fā)版上;二是能寫Linux驅(qū)動程式的人; 三是熟悉Linux 核心裁減和優(yōu)化的人。不過LINUX有一個(gè)硬傷,就是沒有WINDOWS那樣的友好方便美觀的互動介面,不然微軟帝國早就守不住了。
第三類、 Windows CE嵌入式作業(yè)系統(tǒng):Microsoft也看準(zhǔn)了嵌入式的巨大市場,MS永遠(yuǎn)是最厲害的,WinCE出來只有幾年時(shí)間,但目前已占據(jù)了很大市場份額,特別是在PDA、手機(jī)、顯示儀表等介面要求較高或者要求快速開發(fā)的場合,WinCE目前已很流行(據(jù)說有一家賣工控機(jī)的公司板子賣得太好,以至來不及為客戶裁減WinCE)。WinCE目前主要為4.2版(.NET),開發(fā)平臺主要為WinCE Platform Builder,有時(shí)也用EVC環(huán)境開發(fā)一些較上層的應(yīng)用,由于WinCE開發(fā)都是大家熟悉的VC++環(huán)境,所以我院學(xué)過Windows程式設(shè)計(jì)課程的同學(xué)都不會有多大難度,這也是WinCE容易被人們接受的原因,開發(fā)環(huán)境方便快速,微軟的強(qiáng)大技術(shù)支援,WinCE開發(fā)難度遠(yuǎn)低于嵌入式Linux。對于急于完成,不想拿嵌入式Linux冒險(xiǎn)的開發(fā)場合,WinCE是最合適了(找嵌入式Linux的人可沒那么好找的),畢竟公司不能像學(xué)生學(xué)習(xí)那樣試試看,保證開發(fā)成功更重要。根據(jù)不同的側(cè)重點(diǎn) ,WinCE還有兩個(gè)特殊版本,一個(gè)是MS PocketPC作業(yè)系統(tǒng)專用于PDA上(掌上電腦),另一個(gè)是MS 作業(yè)系統(tǒng)用于智慧手機(jī)上(帶PDA功能的手機(jī)),兩者也都屬于WinCE平臺。在PDA和手機(jī)市場上,除WinCE外,著名的PDA 嵌入式作業(yè)系統(tǒng)還有Palm OS(因出現(xiàn)很早,很有名)、Symbian等,但在WinCE的強(qiáng)勁沖擊下,Palm和Symbian來日還能有多長?同學(xué)學(xué)過VC++后再學(xué) WinCE,非常方便自然,通過學(xué)習(xí)WinCE同樣也可了解嵌入式軟體的一般開發(fā)過程,對Linux有懼怕心理的同學(xué)也很合適。很顯然,嵌入式Linux 永遠(yuǎn)不可能替代WinCE,而且將來誰占份額大還很難講,畢竟很多人更愿意接受MS的平臺,就像各國 *** 都在大力推LINUX已好長時(shí)間,但你能看到幾個(gè)在PC機(jī)上真正使用LINUX的使用者?據(jù)我觀察,目前在嵌入式平臺上,LINUX是叫得最響,但還是WinCE實(shí)際用得更多。嵌入式LINUX可能更多地是一些有長遠(yuǎn)產(chǎn)品計(jì)劃的公司,為降低成本而進(jìn)行長遠(yuǎn)考慮。WinCE和多媒體(如MPEG技術(shù))是微軟亞洲工程院目前做得較多的專案領(lǐng)域之一,現(xiàn)在社會很需要精通WinCE的人?,F(xiàn)在有WINCE的智慧手機(jī),金山詞霸、WORD、EXCEL、REGEDIT等居然都有 *** artphone版的,PC上的MP3、DOC等居然在download時(shí)都可被自動轉(zhuǎn)換成 *** artphone格式,很爽的。完全可用 Windows CE自己開發(fā)一些需要的程式download到自己的手機(jī)上?,F(xiàn)在市面銷售PDA智慧手機(jī)火爆,MS總是財(cái)源滾滾。
總結(jié)關(guān)于嵌入式作業(yè)系統(tǒng)類課程,若你覺得自己功底較深且能鉆研下去,則可去學(xué)嵌入式Linux;若你覺得自己VC++功底較好且想短平快地學(xué)嵌入式開發(fā),自學(xué)WINCE是非常好的選擇。
(3) 嵌入式開發(fā)的相關(guān)領(lǐng)域
搞嵌入式若能熟悉嵌入式應(yīng)用的一些主要領(lǐng)域,這樣的人更受企業(yè)歡迎。主要的相關(guān)領(lǐng)域包括:
A、數(shù)字影象壓縮技術(shù):這是嵌入式最重要最熱門的應(yīng)用領(lǐng)域之一,主要是應(yīng)掌握MPEG編解碼演算法和技術(shù),如DVD、MP3、PDA、高精電視、機(jī)頂盒等都涉及MPEG高速解碼問題。
B、通訊協(xié)議及程式設(shè)計(jì)技術(shù):這包括傳統(tǒng)的TCP/IP協(xié)議和熱門的無線通訊協(xié)議。首先,大多數(shù)嵌入式裝置都要連入?yún)^(qū)域網(wǎng)或Inter,所以首先應(yīng)掌握 TCP/IP協(xié)議及其程式設(shè)計(jì),這是需首要掌握的基本技術(shù);其次,無線通訊是目前的大趨勢,所以掌握無線通訊協(xié)議及程式設(shè)計(jì)也是是很重要的。無線通訊協(xié)議包括無線區(qū)域網(wǎng)通訊協(xié)議802.11系列,Bluetooth,以及行動通訊(如GPRS、GSM、CDMA等)。
C、網(wǎng)路與資訊保安技術(shù):如加密技術(shù)、數(shù)字證書CA以及各種網(wǎng)路安全裝置,包括硬體防火墻、入侵檢測IDS、還有防毒墻、IPS等,中國在這方面還是沒有自己優(yōu)勢的,我們陳院長好象正在往這方面發(fā)展。
D、 DSP技術(shù):DSP是Digital Signal Process數(shù)字訊號處理的意思,DSP處理器通過硬體實(shí)現(xiàn)數(shù)字訊號處理演算法,如高速資料采集、壓縮、解壓縮、通訊等。數(shù)字訊號處理是電子、通訊等硬體專業(yè)的課程,對于搞軟體的人若能了解一下最好。目前DSP人才較缺。如果有訊號與系統(tǒng)、數(shù)字訊號處理等課程基礎(chǔ),對于學(xué)習(xí)MPEG編解碼原理會有很大幫助。
(4)嵌入式開發(fā)的相關(guān)硬體基礎(chǔ)
對于軟體工程專業(yè)的學(xué)生,從事嵌入式軟體開發(fā),像數(shù)位電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)等硬體課程是較重要的。另外,組合語言、C/C++ 資料結(jié)構(gòu)演算法、特別是作業(yè)系統(tǒng)等軟體基礎(chǔ)課也是十分重要的。我們的主要目地是能看懂硬體工作原理,但重點(diǎn)應(yīng)是在嵌入式軟體,特別作業(yè)系統(tǒng)級軟體,那將是我們的優(yōu)勢。我們的研究生里有些是學(xué)電子、通訊類專業(yè)過來的,有較好的類比電路和微控制器基礎(chǔ),學(xué)嵌入式非常合適。
嵌入式本身就是從單片機(jī)發(fā)展過來的,只是微控制器不帶OS,而現(xiàn)在很多嵌入式應(yīng)用越來越復(fù)雜,以至不得不引入嵌入式作業(yè)系統(tǒng)。另外,為追求更高速的訊號處理速度,現(xiàn)在在一些速度要求較高場合,有不少公司是將一些DSP演算法,如MPEG壓縮解壓縮演算法等用硬體來實(shí)現(xiàn),這就涉及到HDL數(shù)位電路設(shè)計(jì)技術(shù)及其 FPGA/IP核實(shí)現(xiàn)技術(shù),這方面的人目前市場上也很缺。
關(guān)注更多嵌入式請到華清遠(yuǎn)見
嵌入式具體的定義與發(fā)展前景如何?
嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機(jī)器和裝置執(zhí)行的裝置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟體和硬體的綜合體,還可以涵蓋機(jī)械等附屬裝置。目前國內(nèi)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟體硬體可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
嵌入式系統(tǒng)發(fā)展前景。嵌入式系統(tǒng)無疑是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專用裝置上,通常這些裝置的硬體資源(如處理器、儲存器等)非常有限,并且對成本很敏感,有時(shí)對實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智慧化,嵌入式更顯重要。像我們平常常見到的手機(jī)、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數(shù)字相機(jī)(DC)、數(shù)字?jǐn)z像機(jī)(DV)、U-Disk、機(jī)頂盒(Set Top Box)、高清電視(HDTV)、游戲機(jī)、智慧玩具、交換機(jī)、路由器、數(shù)控裝置或儀表、汽車電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空裝置等等都是典型的嵌入式系統(tǒng)。
想轉(zhuǎn)行軟體開發(fā),不知道嵌入式Linux前景如何?
這個(gè)問題問對人了,我就是這樣轉(zhuǎn)行的 嵌入式基本開發(fā)你會:c、c++我相信你會的 接著要會linux下c的程式設(shè)計(jì),和基于linux的驅(qū)動、網(wǎng)路等的開發(fā) 然后arm匯編稍微要懂點(diǎn),電子電路稍微要懂點(diǎn),英語尤其是專業(yè)英語要精通 然后 你就可以做些移植核心或別的程式的工作了,也就是說在linux下開發(fā)的東西移植到開發(fā)板上能執(zhí)行這才是嵌入式開發(fā)
我想轉(zhuǎn)行軟體開發(fā),不知道嵌入式Linux前景如何?
隨著iPhone的上市,一顆重磅炸彈砸向了嵌入式領(lǐng)域。嵌入式MacOS的穩(wěn)定和一貫獨(dú)具匠心的風(fēng)格配合高效能的晶片再次激起嵌入式作業(yè)系統(tǒng)的波瀾。于此同時(shí)同屬UNIX陣營的嵌入式Linux依舊保持快速成長的勢頭,繼續(xù)堅(jiān)守目前嵌入式市場的領(lǐng)軍地位。隨著ARM11慢慢的步入人們的事業(yè),未來會有大量基于ARM11核心的嵌入式Linux裝置涌現(xiàn)。 近年來, IT業(yè)的核心技術(shù)已經(jīng)集中在積體電路晶片和作業(yè)系統(tǒng)這兩個(gè)部分,而嵌入式作業(yè)系統(tǒng)則是驅(qū)動硬體系統(tǒng)的靈魂。因此,通過嵌入式軟體增加產(chǎn)品的附加值無疑是最好的選擇。世界各國和各知名廠商都在為嵌入式軟體的發(fā)展而努力。 作業(yè)系統(tǒng)領(lǐng)域,老牌Linux廠商如RedHat,Novell等都把目光轉(zhuǎn)向嵌入式領(lǐng)域。諾基亞,摩托羅拉等手持移動裝置廠商也大步邁進(jìn)嵌入式領(lǐng)域,紛紛推出新型嵌入式Linux手機(jī)。微軟正在從基于PC的軟體市場,悄然延伸至基于各種移動消費(fèi)電子產(chǎn)品、專有裝置終端的嵌入式軟體產(chǎn)品市場。據(jù)有關(guān)資料表明,2006年與嵌入式軟體對應(yīng)的裝置市場全球出貨量達(dá)到14億臺,2009年將達(dá)到22億臺。與之相對應(yīng)的是,2006年中國嵌入式軟體的市場價(jià)值是220億元,到2010年將達(dá)到550億元。移動嵌入式產(chǎn)品將是未來消費(fèi)電子類產(chǎn)品增長最快的領(lǐng)域之一?!監(jiān)livier Fontana說。2006年是微軟進(jìn)軍嵌入式產(chǎn)品領(lǐng)域的標(biāo)志性一年,該年第一季度,其嵌入式產(chǎn)品部門的業(yè)績首度盈利2000多萬美元。 嵌入式Linux未來的前景看好,但是人才的缺乏已經(jīng)成為當(dāng)前制約嵌入式Linux發(fā)展的瓶頸。一方面,因?yàn)榍度胧饺瞬蓬I(lǐng)域門檻較高,從事嵌入式軟體開發(fā)的工作人員不僅要熟練掌握c/c++,組合語言等基礎(chǔ),而且對Linux底層驅(qū)動核心,甚至是硬體都要了熟于心。另一方面,因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,很多軟硬體技術(shù)出現(xiàn)時(shí)間不長或正在如雨后春筍般的涌現(xiàn)(如ARM11處理器、嵌入式Linux作業(yè)系統(tǒng)、MPEG技術(shù)、無線通訊協(xié)議、移動USB2.0高速傳輸?shù)?,目前國內(nèi)乃至國際上能購掌握這些新技術(shù)的人才相當(dāng)匱乏。 未來幾年,市場對嵌入式Linux人才的需求旺盛。而目前熟練的Linux應(yīng)用人才只有幾千名。這意味著各大跨國公司及國內(nèi)消費(fèi)類電子巨頭企業(yè)都面臨著人才嚴(yán)重短缺的挑戰(zhàn)。由于嵌入式Linux開發(fā)人才的缺乏也帶來了這個(gè)行業(yè)可觀的薪酬待遇,嵌入式Linux的從業(yè)者薪酬比其他IT業(yè)同行大約高出50%,初入門的開發(fā)人員平均月薪一般都能達(dá)到5000元,有三年以上經(jīng)驗(yàn)的人員年薪都在10萬元以上,有10年工作經(jīng)驗(yàn)的高階嵌入式軟體工程師年薪在30萬元左右。盡管待遇可觀,可是相關(guān)企業(yè)還是很難招到合適的員工。 對于嵌入式Linux人才缺乏的現(xiàn)狀,可以通過兩種途徑來解決。一是從業(yè)者就讀于高校內(nèi)設(shè)定專門的嵌入式系統(tǒng)的專業(yè),二是對軟體專業(yè)的畢業(yè)生進(jìn)行嵌入式Linux方面的職前培訓(xùn)。 高校的軟體教育普遍以應(yīng)用軟體為主,開設(shè)嵌入式軟體專業(yè)的學(xué)校很少,而且學(xué)校不能向?qū)W生提供足夠的實(shí)踐機(jī)會?,F(xiàn)在從事嵌入式開發(fā)的人員,以自動控制、通訊專業(yè)和計(jì)算機(jī)硬體的偏多,基本是通過工作實(shí)踐逐漸轉(zhuǎn)型而來。但是也有很多計(jì)算機(jī)軟體專業(yè)甚至其他專業(yè)轉(zhuǎn)行的。究其根本,關(guān)鍵是人才本身的潛質(zhì),無論就讀何專業(yè),只要是對嵌入式Linux領(lǐng)域感興趣,下決心去學(xué)習(xí),潛質(zhì)優(yōu)秀的人才仍舊能夠輕松的踏入這一IT高薪領(lǐng)域。Uplooking在領(lǐng)先推出基于ARM11的嵌入式開發(fā)培訓(xùn)課程。聘請前Intel,AMD嵌入式專家Conke親臨授課。ARM11課程開發(fā)歷時(shí)1年,經(jīng)過多位國內(nèi),國際知名嵌入式專家研發(fā)。課程結(jié)合專案實(shí)踐和經(jīng)典理論,由淺入深,由高到低,逐一剝離,細(xì)致入微。另有9年Linux核心專家指導(dǎo)。飛思卡爾ARM11開發(fā)環(huán)境支援。力助您從非從業(yè)人員到專業(yè)IT人才轉(zhuǎn)型,從Engineer到Scientist的飛躍歷程。
問一下學(xué)建筑有前景嗎,馬上上了,不知道選這個(gè)行業(yè)前景如何
建筑行業(yè)精神回報(bào)遠(yuǎn)大于物質(zhì)回報(bào) 看你是精神理想型還是只是為了掙錢了吧 建筑今天形式明顯不如去年 萎靡的很 不過真心不知道過幾年會不會有轉(zhuǎn)機(jī) 現(xiàn)在很多大院的活兒都變得改造專案偏多了 所以。。再看看吧
追答:
建筑學(xué)有成為有錢人御用工具的趨勢,
市場話語權(quán)被那些大財(cái)團(tuán)、大老板、以及廟堂高官所掌控,
這是大多數(shù)人找出路必須要知道的前提。
當(dāng)然潛心學(xué)問是一種出路,孤芳自賞也是一種出路,
但只有少數(shù)人才有這樣的運(yùn)氣。
后面這個(gè)是別人說的 感覺也有道理 拿來給你借鑒
電子資訊工程專業(yè)的學(xué)嵌入式系統(tǒng)發(fā)展前景如何?有誰知道
應(yīng)該是具有一定優(yōu)勢的。因?yàn)榍度胧较到y(tǒng)方向一般分為嵌入式軟體和硬體的方向,在軟體方面,象c語言等系統(tǒng)級軟體用得很多,與電子靠得近的專業(yè)隊(duì)這類語言應(yīng)該接觸較多。在硬體的方向,微控制器,介面技術(shù),數(shù)電和模電等專業(yè)課程也是學(xué)過的,這些內(nèi)容在嵌入式硬體方向也完全用得上。其實(shí)嵌入式系統(tǒng)很多領(lǐng)域是需要基本的軟體和硬體知識的,所以這個(gè)專業(yè)從事嵌入式系統(tǒng)方向,是有一定優(yōu)勢的。當(dāng)然,發(fā)展前景是很好的。
采納哦
嵌入式中,BIOS要通過JTAG線燒寫到開發(fā)板中,為什么操作系統(tǒng)不能通過JTAG線燒寫到開發(fā)板而必須用USB線呢
jtag線其實(shí)是最低層的與硬件通信的連接方式。它肯定可以將OS燒寫到FLASH里,但是它的傳輸速度太慢了,就來傳輸個(gè)boot都需要幾分鐘,別說十幾兆的os了。而且也沒有太完善的操作界面。然而通過jtag燒寫了boot后,boot可以實(shí)現(xiàn)很多接口的功能,那網(wǎng)口和usb傳輸?shù)乃俣瓤隙ū萰tag快很多,所以都使用網(wǎng)絡(luò)或者usb進(jìn)行傳輸內(nèi)核到flash。當(dāng)你買到的是空片時(shí),你都可以用jtag和它連接,可見jtag是多么強(qiáng)大!