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