嵌入式技術(shù)優(yōu)缺點(diǎn)分析
從事嵌入式軟件開(kāi)發(fā)的好處是:
1 目前國(guó)內(nèi)外這方面的人都很稀缺。
一方面,是因?yàn)檫@一領(lǐng)域入門(mén)門(mén)檻較高,不僅要懂較底層軟件(例如操作系統(tǒng)級(jí)、驅(qū)動(dòng)程序級(jí)軟件),對(duì)軟件專業(yè)水平要求較高(嵌入式系統(tǒng)對(duì)軟件設(shè)計(jì)的時(shí)間和空間效率要求較高),而且必須懂得硬件的工作原理(推薦:網(wǎng)絡(luò)工程師培訓(xùn)),所以非專業(yè)IT人員很難切入這一領(lǐng)域;
另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,很多軟硬件技術(shù)出現(xiàn)時(shí)間不長(zhǎng)或正在出現(xiàn)(如ARM處理器、嵌入式操作系統(tǒng)、MPEG技術(shù)、無(wú)線通信協(xié)議等),掌握這些新技術(shù)的人當(dāng)然很找(嵌入式技術(shù)培訓(xùn):ARM開(kāi)發(fā)培訓(xùn)、FPGA培訓(xùn)、DSP培訓(xùn) 等 )。嵌入式人才稀缺,身價(jià)自然就高,越有經(jīng)驗(yàn)價(jià)格就越高。其實(shí)嵌入式人才稀少,根本原因可能是大多數(shù)人無(wú)條件接觸,這需要相應(yīng)的嵌入式開(kāi)發(fā)板和軟件,另外需要有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo)開(kāi)發(fā)流程。
與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。
搞企業(yè)應(yīng)用軟件的IT企業(yè),這個(gè)用戶的系統(tǒng)搞完了,又得去搞下一個(gè)用戶的,而且每個(gè)用戶的需求和完成時(shí)間都得按客戶要求改變,往往疲于奔命,重復(fù)勞動(dòng)。相比而言,搞嵌入式系統(tǒng)的公司,都有自己的產(chǎn)品計(jì)劃,按自己的節(jié)奏行事。所開(kāi)發(fā)的產(chǎn)品通常是通用的,不會(huì)因客戶的不同而修改。一個(gè)產(chǎn)品型號(hào)開(kāi)發(fā)完了,往往有較長(zhǎng)一段空閑時(shí)間(或只是對(duì)軟件進(jìn)行一些小修補(bǔ)),有時(shí)間進(jìn)行充電和休整。
另外,從事嵌入式軟件的每個(gè)人工作范圍相對(duì)狹窄,所涉及的專業(yè)技術(shù)范圍就是那些(ARM、RTOS、MPEG、802.11等),時(shí)間長(zhǎng)了這些東西會(huì)越搞越有經(jīng)驗(yàn),賣賣老本,幾句指導(dǎo)也夠讓那些初入道者琢磨半年的。若搞應(yīng)用軟件,可能下一個(gè)客戶要換成一個(gè)完全不同的軟件開(kāi)發(fā)平臺(tái),那就苦了。
想進(jìn)入嵌入式開(kāi)發(fā)行業(yè)的人員,推薦培訓(xùn)課程有:嵌入式Linux開(kāi)發(fā)培訓(xùn)、 嵌入式WinCE開(kāi)發(fā)培訓(xùn) 、3G手機(jī)開(kāi)發(fā)培訓(xùn)、Android嵌入式開(kāi)發(fā)培訓(xùn)等。
從事嵌入式軟件開(kāi)發(fā)的缺點(diǎn)是:
(1) 入門(mén)起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級(jí)軟件功底不深,則可能不適于此行。
(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)系相對(duì)較少。我院正積極努力,目前已與其中部分公司建立了聯(lián)系,爭(zhēng)取今后能有我院同學(xué)到這些企業(yè)中實(shí)習(xí)或就業(yè)。
(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無(wú)此要求,只要有經(jīng)驗(yàn)即可。
我院同學(xué)若學(xué)習(xí)嵌入式,顯然應(yīng)偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方面,應(yīng)是我們的強(qiáng)項(xiàng)。對(duì)于搞嵌入式軟件的人,最重要的技術(shù)顯然是(實(shí)際上很多公司的招聘廣告上就是這樣寫(xiě)的):
(1) 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理
(2) 必須掌握一個(gè)嵌入式操作系統(tǒng)
(3) 必須熟悉嵌入式軟件開(kāi)發(fā)流程并至少做過(guò)一個(gè)嵌入式軟件項(xiàng)目。
嵌入式入門(mén)學(xué)習(xí)方法
一、 嵌入式系統(tǒng)的定義
根據(jù)網(wǎng)絡(luò)上搜索到的關(guān)于嵌入式系統(tǒng)的定義,結(jié)合自己對(duì)嵌入式系統(tǒng)的理解,把嵌入式系統(tǒng)定義如下:
1、 嵌入式系統(tǒng)簡(jiǎn)單的說(shuō)就是面向特定應(yīng)用設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng);
2、嵌入式系統(tǒng)與普通的PC或者notebook不同,嵌入式系統(tǒng)的外形尺寸、功耗、外部適配器等各種特征必須滿足應(yīng)用的要求和限制;
3、 嵌入式系統(tǒng)的軟件包括操作系統(tǒng)燒錄在一塊電路板上;
4、使用低功耗的X86級(jí)別的CPU,采用模塊化的設(shè)計(jì),配置了最基本的計(jì)算機(jī)周邊配備而制成。這種計(jì)算機(jī)通常采用Windows操作系統(tǒng);
5、 嵌入式系統(tǒng)的CPU可以是:4位、8位、16位、32位;
6、 嵌入式系統(tǒng)應(yīng)用廣泛,諸如:
1) 小家電
2) 汽車
3) 電梯
4) 電視
5) 錄像機(jī)或者VCD、DVD
6) mp3、mp4
7) 工業(yè)控制
8) 醫(yī)療設(shè)備
9) 衛(wèi)星
10) 電話
11) PDA
12) 飛行系統(tǒng)等等
13) ……
7、 嵌入式系統(tǒng)的體系結(jié)構(gòu):
1) CPU
2) RAM
3) ROM或者flash ram
4) AD
5) DA
6) 人機(jī)界面(例如按鍵+LED/LCD/彩色液晶顯示器/)
7) I/O
8) Usart
9) USB
10) CAN
11) 以太網(wǎng)
12)嵌入式的操作系統(tǒng),例如:uc/os、linux、vxworks、wince、dos。。。
8、嵌入式系統(tǒng)更多的表現(xiàn)為SoC的特點(diǎn),也就是把整個(gè)系統(tǒng)都集成在一個(gè)芯片上,例如,ATMEL的arm7的芯片91sam7x128/256等;用戶可以獲得廉價(jià)而功能強(qiáng)大的嵌入式系統(tǒng);
二、 最正確的學(xué)習(xí)道路 - 從8位mcu到canbus到ARM7
第一步:熟悉8位mcu
個(gè)人的看法是,學(xué)習(xí)嵌入式的技術(shù)有個(gè)脈絡(luò):8位mcu(51或者avr.。。)+can2.0B+arm7+arm9,學(xué)習(xí)的時(shí)候可以按照這個(gè)脈絡(luò)來(lái)進(jìn)行;
作為低端的嵌入式系統(tǒng),選擇8位mcu作為入門(mén)是比較適中的,而8位mcu中,相比pic、avr、freescale等等8位單片機(jī)來(lái)說(shuō),又以選擇51核的單片機(jī)作為學(xué)習(xí)8位mcu的首選來(lái)更加合適。當(dāng)然這個(gè)觀點(diǎn)是仁者見(jiàn)仁智者見(jiàn)智;如果需要理由的話,那么也許以下這些理由可以作為參考:
1. 51上積累了大量的優(yōu)秀的代碼和其它資源;網(wǎng)絡(luò)上這樣的資源太多了,幾乎就是不花錢(qián)的;
2.生產(chǎn)51內(nèi)核的單片機(jī)的廠家很多,比如:ATMEL、華邦、LG、飛利浦、STC(宏晶科技)、TI、…
3. 51單片機(jī)在細(xì)分低端市場(chǎng),面向不同的行業(yè)應(yīng)用,廠家推出了不同的產(chǎn)品,如LPC900系列,STC的12CXXXX系列;在功能、價(jià)格、功耗,體積,封裝、抗干擾等方面來(lái)滿足行業(yè)用戶的需求;例如,現(xiàn)在的51單片機(jī)越來(lái)越多的集成了A/D、D/A、SPI、I2C、PWM、內(nèi)部時(shí)鐘、看門(mén)狗、eeprom、ISP/IAP等等,已經(jīng)跟傳統(tǒng)的ATMEL的89C51/52有了很大的差別!功能越來(lái)越強(qiáng)大的同時(shí)成本越來(lái)越低,而且不擔(dān)心某個(gè)廠家缺貨。。。
4. 。。。。(還在不斷增加之中)
第二步:熟悉can2.0A/B,在精通51的基礎(chǔ)上,熟悉can2.0A/B
為什么是canbus而不是modbus bus、bitbus?
CAN是德國(guó)Bosch 公司為解決現(xiàn)代車輛中眾多的控制和數(shù)據(jù)交換問(wèn)題,開(kāi)發(fā)出一種CAN(Controller Area Network)現(xiàn)場(chǎng)總線通信結(jié)構(gòu)。其主要特點(diǎn)是:
1. 8字節(jié)的短幀傳送,故傳輸時(shí)間短、抗干擾性強(qiáng);
2. 高速,最高速度可達(dá)1Mbit/s;
3.多主方式,多主之間又可以分成是主節(jié)點(diǎn)和次節(jié)點(diǎn);各節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,不分主從,通信靈活;發(fā)送的時(shí)候總線自動(dòng)仲裁主次;主節(jié)點(diǎn)占有優(yōu)先權(quán);
4. 可以做到全區(qū)廣播、分區(qū)廣播和點(diǎn)對(duì)點(diǎn)通訊;
5. Can控制器自動(dòng)過(guò)濾幀號(hào)不符的幀;大大減輕了CPU的負(fù)擔(dān);
6.具有多種錯(cuò)誤校驗(yàn)方式如CRC及其他校驗(yàn)措施,數(shù)據(jù)出錯(cuò)率極低;而且在嚴(yán)重錯(cuò)誤的情況下,節(jié)點(diǎn)會(huì)自動(dòng)離線,避免影響總線上其它節(jié)點(diǎn);Rs485經(jīng)常是一個(gè)節(jié)點(diǎn)影響了總線上所有的節(jié)點(diǎn);
7. 采用無(wú)損壞的仲裁技術(shù);
作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CAN總線已被廣泛應(yīng)用于各個(gè)行業(yè)之中。大致有以下這些行業(yè):
1、 汽車電子
2、 自動(dòng)控制
3、 智能大廈
4、 電子系統(tǒng)
5、 紡織
6、 智能儀表
7、 醫(yī)療系統(tǒng)
8、 電梯
9、 安防監(jiān)控
10、 電源
11、 運(yùn)動(dòng)控制
12、 …等各領(lǐng)域中,取代了原來(lái)的落后的RS485的通訊方式。bitbus/modbus在物理層上都是Rs485的。
第三步:熟悉ARM7,掌握ARM這個(gè)超級(jí)單片機(jī)(32位)
三、 直奔主題 - 不要穿著棉襖洗澡
學(xué)什么很重要,沒(méi)有必要穿著棉襖洗澡,直奔主題,要學(xué)就學(xué)最有用的東西。
比如單片機(jī),學(xué)什么型號(hào)?市場(chǎng)上的單片機(jī),有51、AVR、PIC、freescale等不同的系列,把任何一款單片機(jī)學(xué)會(huì)了玩通了那都是很不錯(cuò);
但是我個(gè)人認(rèn)為還是51系列的單片機(jī)在中國(guó)使用最多,去中發(fā)問(wèn)問(wèn)哪款單片機(jī)出貨量最大就知道啦;
據(jù)說(shuō)有些大學(xué)現(xiàn)在還在教授Z80,在論壇上爭(zhēng)論起來(lái),有些人支持,有些人反對(duì);支持的人認(rèn)為這是一款很好的原型機(jī),可以學(xué)到很多計(jì)算機(jī)的原理;
但是對(duì)于嵌入式系統(tǒng)的學(xué)習(xí)者,一款已經(jīng)過(guò)時(shí)的技術(shù)學(xué)它做什么?難道學(xué)了不能致用是對(duì)的?
學(xué)習(xí)51不也一樣能了解計(jì)算機(jī)的基礎(chǔ)知識(shí)?而學(xué)好了51畢業(yè)出去就能生存;
大家都知道485總線要想可靠工作非專家不可,而現(xiàn)在canbus作為更加可靠性能更加卓越的總線技術(shù),節(jié)點(diǎn)數(shù)量每年遞增;可以說(shuō),51+canbus能夠讓你如虎添翼;
那么,是不是去學(xué)習(xí)canbus要能獲得更加遠(yuǎn)大的前途而不必在485上浪費(fèi)寶貴的青春?答案顯然是前者。
畢業(yè)之前的大學(xué)n年+畢業(yè)設(shè)計(jì)就是為了邁出就業(yè)的第一步;第一步很重要。
人生不要有斷點(diǎn),一步接著一步,現(xiàn)在邁出的一步就是為了下一步做好準(zhǔn)備,甚至為了比較長(zhǎng)遠(yuǎn)的以后
來(lái)源:網(wǎng)絡(luò)
評(píng)論
查看更多