都說(shuō)嵌入式學(xué)習(xí)難,難于上青天,其實(shí)不然,無(wú)論學(xué)習(xí)什么,只要找對(duì)了一個(gè)好的學(xué)習(xí)方法,往往會(huì)事半功倍。 第一部分 對(duì)嵌入式系統(tǒng)的一些大致了解 嵌入式被應(yīng)用于哪些行業(yè)? 嵌入式應(yīng)用于工業(yè)控制、安防、醫(yī)療器械、智能家居、車載、金融等行業(yè)! 嵌入式系統(tǒng)的一些簡(jiǎn)單了解: 1、 嵌入式系統(tǒng)與普通的PC或者notebook不同,嵌入式系統(tǒng)的外形尺寸、功耗、外部適配器等各種特征必須滿足應(yīng)用的要求和限制; 2、 嵌入式系統(tǒng)簡(jiǎn)單的說(shuō)就是面向特定應(yīng)用設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng); 3, 使用低功耗的X86級(jí)別的CPU,采用模塊化的設(shè)計(jì),配置了最基本的計(jì)算機(jī)周邊配備而制成。這種計(jì)算機(jī)通常采用Windows操作系統(tǒng); 4、 嵌入式系統(tǒng)的軟件包括操作系統(tǒng)燒錄在一塊電路板上; 5、 嵌入式系統(tǒng)的CPU可以是:4位、8位、16位、32位; 6, 嵌入式系統(tǒng)更多的表現(xiàn)為SoC的特點(diǎn),也就是把整個(gè)系統(tǒng)都集成在一個(gè)芯片上,例如,ATMEL的arm7的芯片91sam7x128/256等;用戶可以獲得廉價(jià)而功能強(qiáng)大的嵌入式系統(tǒng); 嵌入式系統(tǒng)的體系結(jié)構(gòu)有哪些? CPU RAM ROM或者flash ram AD DA I/O Usart USB CAN 以太網(wǎng) 第二部分:正確的學(xué)習(xí)之路 最正確的學(xué)習(xí)道路 - 從8位mcu到canbus到ARM7 第一步:熟悉8位mcu 嵌入式技術(shù)學(xué)習(xí)的路線:8位mcu(51或者avr...)+can2.0B+arm7+arm9。 作為低端的嵌入式系統(tǒng),選擇8位mcu作為入門是比較適中的,而8位mcu中,相比pic、avr、freescale等等8位單片機(jī)來(lái)說(shuō),又以選擇51核的單片機(jī)作為學(xué)習(xí)8位mcu的首選來(lái)更加合適。當(dāng)然這個(gè)觀點(diǎn)是仁者見仁智者見智;如果需要理由的話,那么也許以下這些理由可以作為參考: 1. 51上積累了大量的優(yōu)秀的代碼和其它資源;網(wǎng)絡(luò)上這樣的資源太多了,幾乎就是不花錢的; 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í)鐘、看門狗、eeprom、ISP/IAP等等,已經(jīng)跟傳統(tǒng)的ATMEL的89C51/52有了很大的差別!功能越來(lái)越強(qiáng)大的同時(shí)成本越來(lái)越低,而且不擔(dān)心某個(gè)廠家缺貨.. 第二步:熟悉can2.0A/B,在精通51的基礎(chǔ)上,熟悉can2.0A/B CAN具有的特點(diǎn) 1. 采用無(wú)損壞的仲裁技術(shù); 2. 8字節(jié)的短幀傳送,故傳輸時(shí)間短、抗干擾性強(qiáng); 3. 高速,最高速度可達(dá)1Mbit/s; 4. 具有多種錯(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); 5. 可以做到全區(qū)廣播、分區(qū)廣播和點(diǎn)對(duì)點(diǎn)通訊; 6. 多主方式,多主之間又可以分成是主節(jié)點(diǎn)和次節(jié)點(diǎn);各節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,信盈達(dá)嵌入式物聯(lián)網(wǎng)智能硬件等企鵝要妖氣嗚嗚吧九零就一不分主從,通信靈活;發(fā)送的時(shí)候總線自動(dòng)仲裁主次;主節(jié)點(diǎn)占有優(yōu)先權(quán); 7. Can控制器自動(dòng)過(guò)濾幀號(hào)不符的幀;大大減輕了CPU的負(fù)擔(dān); 作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CAN總線已被廣泛應(yīng)用于各個(gè)行業(yè)之中。 第三步:熟悉ARM7,掌握ARM這個(gè)超級(jí)單片機(jī)(32位) 二、 學(xué)最新最有用的東西。 記住一句話:無(wú)論是在哪一個(gè)開發(fā)行業(yè)中,要學(xué)就學(xué)最新,最有用的東西! 對(duì)于嵌入式系統(tǒng)的學(xué)習(xí)者,一款已經(jīng)過(guò)時(shí)的技術(shù)學(xué)它做什么?難道學(xué)了不能致用是對(duì)的? 在這里我推薦大家學(xué)習(xí)51系列的單片機(jī),學(xué)好了就能畢業(yè)出去生存而學(xué)習(xí)了51+canbus能夠讓你如虎添翼; 三、 分模塊學(xué)習(xí)嵌入式系統(tǒng) 任何一門學(xué)問(wèn),難得就是入門;而入門,就是要有一個(gè)完整的知識(shí)體系; 拿到一個(gè)電路設(shè)計(jì)的任務(wù)的時(shí)候,或者拿到一塊完整系統(tǒng)的電路板的時(shí)候,怎樣去分析它的系統(tǒng)構(gòu)成呢? 作為一個(gè)電子系統(tǒng),它的構(gòu)成通常是: 1. 單片機(jī)最小系統(tǒng) 2. 配置(內(nèi)存、時(shí)鐘、看門狗、eeprom) 3. 開關(guān)量輸入 4. 開關(guān)量輸出 5. 模擬量輸入 6. 模擬量輸出 7. 人機(jī)界面(按鍵+液晶顯示/LED顯示) 8. 通訊接口和協(xié)議 四、站在前人的肩膀上學(xué)習(xí) 當(dāng)你拿到一個(gè)不會(huì)的任務(wù)或者學(xué)習(xí)一個(gè)不會(huì)的東西的時(shí)候怎么辦呢?你自己左思右想,苦苦思考,就是想不出來(lái),最后感嘆一句:真難學(xué)? 這你就錯(cuò)了,不知道沒關(guān)系,你本來(lái)就是在一點(diǎn)點(diǎn)學(xué)習(xí),本來(lái)就沒有經(jīng)驗(yàn),怎么會(huì)一下子就解決了所有的問(wèn)題呢,那樣的話,我可以告訴你:你不用學(xué)了。所以當(dāng)面臨這些問(wèn)題時(shí),不要錢,我們先把問(wèn)題分成一個(gè)個(gè)小模塊,每個(gè)小模塊百度去,你就會(huì)發(fā)現(xiàn),咦?下載過(guò)來(lái)學(xué)吧! 學(xué)習(xí)就是把前輩的東西拿來(lái)用,自己累積經(jīng)驗(yàn),久而久之你也成高手了! 五、精通一門技術(shù)足以,門門相通。 大家切身經(jīng)歷的一件事就是,面試的時(shí)候簡(jiǎn)歷上寫的會(huì)的技能一大堆,什么html了,asp了,硬件了什么的,都懂,可這些,企業(yè)會(huì)看嗎? 企業(yè)關(guān)心的,不是你會(huì)多少?而是你是否精通一門,在精通一門的基礎(chǔ)上,略懂其他。 而對(duì)于嵌入式領(lǐng)域來(lái)說(shuō),我個(gè)人認(rèn)為對(duì)于在校的學(xué)生,應(yīng)該重點(diǎn)放在c語(yǔ)言的熟練上;一方面是因?yàn)橛布䴖]有實(shí)際的實(shí)踐,很難能拿得出手,當(dāng)然實(shí)踐的成本也高;當(dāng)然自己動(dòng)手做一個(gè)學(xué)習(xí)板還是很有必要的,信盈達(dá)嵌入式物聯(lián)網(wǎng)智能硬件企鵝意義氣嗚嗚吧久零就易,也不算很難;還有就是在企業(yè)中,軟件和硬件的配置基本上是1:4的情況;對(duì)于成熟產(chǎn)品,基本上,硬件修改的情況非常小,升級(jí)都是在軟件的功能的增加和完善上。 六、第一份工作,不求薪資,只求長(zhǎng)經(jīng)驗(yàn)。 第一份工作是你步入社會(huì)的重要的一步,走好第一步,可以少走2~3年底的彎路; 然而,你的份工作能不能做嵌入式開發(fā),首先就要看你是否具有嵌入式的一定基礎(chǔ)或者取得一些嵌入式開發(fā)的經(jīng)驗(yàn),如果你不是,那一開始不要計(jì)較工資的高低而是干了再說(shuō),哪怕是到實(shí)驗(yàn)室打雜,也比干點(diǎn)別的再回過(guò)頭來(lái)做嵌入式的開發(fā)要強(qiáng)。 七、 保持合理規(guī)劃時(shí)間,勤奮學(xué)習(xí),才能在嵌入式中不斷提高自己 現(xiàn)在社會(huì)競(jìng)爭(zhēng)這么激烈,所以每個(gè)人都在去努力培養(yǎng)自己的核心競(jìng)爭(zhēng)力,只有成為技術(shù)專家+行業(yè)專業(yè)才能在這個(gè)行業(yè)立足不倒。 所以我們要有一個(gè)明確的職業(yè)生涯的規(guī)劃,同時(shí)要有一個(gè)達(dá)到這個(gè)目標(biāo)的可以實(shí)施的準(zhǔn)確的時(shí)間表。抓緊時(shí)間,提高效率最重要的因素之一。 八、 嵌入式系統(tǒng)設(shè)計(jì)的3個(gè)境界 - 熟練、熟能生巧、系統(tǒng)設(shè)計(jì)的思想 熟練:熟練掌握c語(yǔ)言、電路模塊、eda工具; 熟能生巧:干活多了,從中悟出很多的技巧;干得活又快又好,這是熟能生巧; 系統(tǒng)設(shè)計(jì):不滿足于熟能生巧,而開始考慮,代碼重復(fù)使用,代碼設(shè)計(jì)的標(biāo)準(zhǔn)化、模塊化;使得后來(lái)的開發(fā)能在一個(gè)標(biāo)準(zhǔn)的平臺(tái)上進(jìn)行;對(duì)嵌入式系統(tǒng)設(shè)計(jì)有了自己的獨(dú)到的見解。 也還可以使用另外的標(biāo)準(zhǔn)來(lái)作為嵌入式系統(tǒng)設(shè)計(jì)的境界: 可靠性高:在同樣的成本下,做出來(lái)的東西可靠性高于競(jìng)爭(zhēng)對(duì)手; 可靠性高的情況下成本更低:能用比競(jìng)爭(zhēng)對(duì)手成本更低的電路設(shè)計(jì)作出可靠性更高的產(chǎn)品; 在此基礎(chǔ)之上,功能更加強(qiáng)大,用戶使用更方便:進(jìn)入到行業(yè)專家的境界了。 九、 學(xué)習(xí)就要- 快、準(zhǔn)、狠 看準(zhǔn)嵌入式系統(tǒng)設(shè)計(jì)可以作為傍身之技的話,那就要: 快:下手要快,看到現(xiàn)在形勢(shì)良好,想學(xué)那就趕緊學(xué); 準(zhǔn):抓住8位mcu、can總線、arm7這樣的道路,不走冤枉路; 狠:學(xué)習(xí)就要刻苦,吃了就學(xué),睡醒就學(xué),想要成功總要付出點(diǎn)什么。 5 P' K& k5 C/ Z1 h
|