時(shí)間:2018-08-05 00:00:00 來源:信盈達(dá) 作者:信盈達(dá)
隨著現(xiàn)在智能家居產(chǎn)品的出現(xiàn),很多人想轉(zhuǎn)過來,可是一點(diǎn)基礎(chǔ)都沒有,怎么辦呢?如果你圍繞“嵌入式開發(fā)學(xué)習(xí)路線”搜一搜,很多答案都是“數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)、匯編語(yǔ)言……”好吧,想要學(xué)完這些課程,我覺得你得重上一次大學(xué)了。
很多人都是從事互聯(lián)網(wǎng)的行業(yè),現(xiàn)在感覺智能家居是以后的發(fā)展方向,無論是從軟件開發(fā)轉(zhuǎn)入還是零基礎(chǔ)轉(zhuǎn)入嵌入式開發(fā),都有一個(gè)共同的特點(diǎn),能利用的學(xué)習(xí)時(shí)間都很有限。制定的策略是先切入嵌入式軟件這一行當(dāng),等到了工作崗位再根據(jù)需要深入學(xué)習(xí),所以建議他只學(xué)習(xí)最少必要知識(shí),快速入門就行而不是快速精通。
1. 掌握C語(yǔ)言
看書、看視頻、到培訓(xùn)機(jī)構(gòu)學(xué)習(xí)都可以。不過我建議還是到培訓(xùn)機(jī)構(gòu)系統(tǒng)性的學(xué)習(xí),反復(fù)上機(jī)實(shí)踐。
2. 學(xué)習(xí)基本數(shù)據(jù)結(jié)構(gòu)
往往我們聽到說是做程序員很少用到算法啊,數(shù)據(jù)結(jié)構(gòu)之類的東西,那是因?yàn)?/font>PHP,Java這類都是高級(jí)語(yǔ)言,主要負(fù)責(zé)的是軟件層的程序編寫,而嵌入式開發(fā)就需要軟硬結(jié)合了。在這里因?yàn)槭侨腴T,所以數(shù)據(jù)結(jié)構(gòu)這塊不用買來一本很厚的書從頭啃到尾,這樣只會(huì)中途放棄。建議掌握最基本的鏈表、棧、隊(duì)列就可以。等真正入門后可以再回來系統(tǒng)的基礎(chǔ)的學(xué)習(xí)。
3. 選擇一款開發(fā)板
選購(gòu)開發(fā)板應(yīng)以“適合”為原則,沒有必要追隨最新的處理器。在處理器的選擇上,主要分為兩種,一種是以ARM Cortex-A為核心(可以移植Linux),這種處理器主要應(yīng)用于消費(fèi)電子;一種是以ARM Cortex-M為核心(跑不了Linux,但是可以跑實(shí)時(shí)操作系統(tǒng)),這種處理器主要應(yīng)用于工控領(lǐng)域,取代了之前的8位、16位單片機(jī)。不管選擇誰(shuí)家的板子,除了板子,豐富的學(xué)習(xí)資料是必不可少的。對(duì)于初學(xué)者,一定要有源碼有視頻。如果有論壇、有人答疑就更完美了。
4. 學(xué)習(xí)裸板開發(fā)
跟著視頻和源碼來學(xué)習(xí),一定要?jiǎng)邮謱?shí)踐,非常建議寫博客總結(jié)。學(xué)完這一步,一只腳就跨入嵌入式軟件開發(fā)大門了。不要驚訝,覺得還沒學(xué)什么就可以搞嵌入式軟件開發(fā)了。可事實(shí)上就是這樣。到了工作崗位上邊干邊學(xué),這樣進(jìn)步最快,難道不是嗎?
5. 學(xué)習(xí)操作系統(tǒng)的移植
對(duì)于零基礎(chǔ)的,可以移植一款RTOS(實(shí)時(shí)操作系統(tǒng)),比如μC/OSⅡ或Ⅲ;基礎(chǔ)好的可以學(xué)習(xí)移植Linux。
這里要指出一個(gè)誤區(qū),有人說ARM開發(fā)板不跑Linux簡(jiǎn)直是浪費(fèi),有人說離開了Linux的嵌入式是沒有深度的,還有人說RTOS太簡(jiǎn)單了,沒啥可學(xué)的……對(duì)于這些說法,太片面,往往會(huì)誤導(dǎo)初學(xué)者。畢竟初學(xué)者是需要一步一步成長(zhǎng)的,不要?jiǎng)傄婚_始就用深度的技術(shù)問題要求和衡量。
第一,不是每個(gè)企業(yè)都有“ARM+Linux”的需求。對(duì)于做工控產(chǎn)品的企業(yè),很少用Linux,有時(shí)候就是裸奔,功能復(fù)雜的話加一個(gè)RTOS足矣。例如WIFI芯片和藍(lán)牙芯片,不管是WIFI協(xié)議棧還是藍(lán)牙協(xié)議棧,代碼量都在10萬(wàn)行以上,在硬件上都是用Cortex-M3的核,最多跑一個(gè)RTOS,Linux根本用不上。
第二,對(duì)于從來沒有接觸過開發(fā)板的人,一上來就移植Linux,學(xué)Linux驅(qū)動(dòng),難度實(shí)在是太大,很有可能被博大精深的Linux內(nèi)核淹沒而放棄,最后再來一句“我不適合搞嵌入式”,從此徹底無緣嵌入式軟件開發(fā),所以自信也需要逐步建立。
并不是說Linux不重要。相反,Linux很重要,恰恰是嵌入式軟件工程師的核心競(jìng)爭(zhēng)力。但是對(duì)于初學(xué)者,不要一上來就給自己定下那么大的目標(biāo),如果先通過μC/OSⅡ或Ⅲ的學(xué)習(xí)來打基礎(chǔ),再去學(xué)習(xí)Linux就會(huì)有事半功倍的效果。
6. 有自己的小作品
既然已經(jīng)學(xué)會(huì)了裸板開發(fā)和操作系統(tǒng)移植,你肯定有做東西的想法了,那就結(jié)合生活實(shí)際做點(diǎn)東西吧。比如做一個(gè)家用防盜報(bào)警裝置,當(dāng)檢測(cè)到有人進(jìn)來,立刻給不在家的你撥打電話。這時(shí)候你會(huì)發(fā)現(xiàn),圍繞著需求還有很多東西要學(xué),比如如何驅(qū)動(dòng)紅外傳感器模塊(用來檢測(cè)有人靠近),如何驅(qū)動(dòng)GSM模塊(用來?yè)艽螂娫挘*?dú)立完成一些小作品不僅能大大提高你的知識(shí)熟練度和解決問題的能力,也會(huì)使你在面試的時(shí)候有話可說。

信盈達(dá)2008年在深圳特區(qū)南山高新科技園成立。自成立至今近九年來專注為企業(yè)和個(gè)人提供高端方案設(shè)計(jì)、高端嵌入式/Android培訓(xùn)等服務(wù)。公司下設(shè)信盈達(dá)實(shí)訓(xùn)學(xué)院、信盈達(dá)研發(fā)中心、信盈達(dá)教學(xué)儀器三大業(yè)務(wù)板塊。九年來公司堅(jiān)持"技術(shù)領(lǐng)先、服務(wù)領(lǐng)先",以雄厚的實(shí)力和專業(yè)的品質(zhì)成為國(guó)內(nèi)唯一有實(shí)力從產(chǎn)品最底層研發(fā)到系統(tǒng)層開發(fā)的嵌入式實(shí)訓(xùn)、產(chǎn)品解決方案提供商。為中國(guó)IT行業(yè)提供最具價(jià)值的職業(yè)教育服務(wù)。專業(yè)培訓(xùn)i嵌入式、物聯(lián)網(wǎng)、人工智能、Java、單片機(jī)等課程,想了解更多信息點(diǎn)擊立馬咨詢
免費(fèi)領(lǐng)取試聽卡
申請(qǐng)已經(jīng)提交
老師會(huì)馬上給您安排試聽課程!
申請(qǐng)出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢!