時(shí)間:2019-07-18 00:00:00 來(lái)源:信盈達(dá) 作者:信盈達(dá)
對(duì)于嵌入式學(xué)習(xí)者來(lái)說(shuō),我們?cè)搶W(xué)習(xí)什么,或者說(shuō)如何學(xué)習(xí)?才能提高自己的職場(chǎng)競(jìng)爭(zhēng)力,或者說(shuō)對(duì)于一個(gè)新手來(lái)說(shuō),如何通過(guò)自學(xué),達(dá)到公司的用人標(biāo)準(zhǔn)和技術(shù)要求,找到一份自己想要的工作?
首先,你要學(xué)會(huì)做減法,從現(xiàn)實(shí)出發(fā),要有這樣一個(gè)意識(shí):我不可能精通所有的嵌入式技術(shù),學(xué)會(huì)堅(jiān)持,制定合理現(xiàn)實(shí)的小目標(biāo)。
很多人喜歡那種不切實(shí)際的廣告轟炸營(yíng)銷,擊中你心理上的某個(gè)軟肋,某個(gè)G點(diǎn),一下子興奮起來(lái)。越熬越濃的心靈雞湯,并不能解決我們吃飯的生存現(xiàn)實(shí)問(wèn)題。很多人,包括我,在學(xué)習(xí)的時(shí)候,都喜歡給自己樹立各種路線、計(jì)劃、日程表。制定計(jì)劃時(shí)激情滿滿,熱情高漲,激動(dòng)得睡不著覺。計(jì)劃宏偉而飽滿,仿佛成功就在眼前。
但是往往不切實(shí)際,往往在早期,遇到各種困難,各種坑,各種拖延導(dǎo)致沒(méi)有堅(jiān)持下來(lái),最后夭折。然后接著制定下一個(gè)宏偉的計(jì)劃,繼續(xù)夭折,生活周而復(fù)始,day after day。觀察我們生活周圍,真正做出成績(jī)的都是那些基于現(xiàn)實(shí)出發(fā),能一路堅(jiān)持下來(lái)的人,day by day。有時(shí)候你會(huì)發(fā)現(xiàn),并不覺得他們有多聰明。
其次,保持自己的興趣,說(shuō)白了就是為了堅(jiān)持下去。
見過(guò)很多人想學(xué)習(xí)嵌入式,花了很多米買一塊開發(fā)板,激情滿滿,過(guò)一段是過(guò)去再看,已經(jīng)不折騰了。
嵌入式開發(fā)難,難在哪里呢?主要在于開發(fā)環(huán)境的搭建,軟件調(diào)試上,不像在Windows上使用VC開發(fā)程序,集成開發(fā)環(huán)境都幫你弄好了,各種斷點(diǎn)、單步、查看堆棧、寄存器、內(nèi)存窗口。
而嵌入式不一樣,硬件環(huán)境搭建會(huì)遇到各種各樣的問(wèn)題,各種電腦的兼容問(wèn)題,各種莫名其妙的問(wèn)題,有時(shí)候著實(shí)讓人抓狂,時(shí)間久了,慢慢地學(xué)習(xí)的激情殆盡,也就不想學(xué)習(xí)了。這還不算什么,更嚴(yán)重的是,很多人學(xué)習(xí)嵌入式遇到挫折,往往會(huì)打擊人的自信,覺得自己能力不行,智商不夠,不適合干這行,在心理留下了陰影。
對(duì)于個(gè)人學(xué)習(xí)者來(lái)說(shuō),買了開發(fā)板,你不買配套的萬(wàn)用表、示波器等調(diào)試設(shè)備,遇到硬件問(wèn)題也是一籌莫展,無(wú)法解決。其實(shí)我們可以完全使用其它的平臺(tái)去開展我們的研究和學(xué)習(xí),比如QEMU,一款可以仿真開發(fā)板的開源軟件,使用這款開源軟件,我們可以在電腦上虛擬一個(gè)世面上流行的開發(fā)板,然后再在這個(gè)仿真的開發(fā)板上跑u-boot、Linux內(nèi)核、掛載根文件系統(tǒng),使用和開發(fā)板一樣的源碼,運(yùn)行效果和真實(shí)的開發(fā)板是一樣的。
而且,使用QEMU的好處就是,“硬件”永遠(yuǎn)不會(huì)出問(wèn)題,可以讓我們避過(guò)硬件的各種坑,騰出更多的精力去研究嵌入式軟件的各種架構(gòu)、編程技能、內(nèi)核驅(qū)動(dòng)....,這些才是嵌入式工程師的核心競(jìng)爭(zhēng)力,需要花大量的時(shí)間不斷地去積累,去磨合,去提高的。把大量的時(shí)間耗在一個(gè)本該不屬于學(xué)習(xí)范疇的硬件bug上或者硬件環(huán)境不兼容上,不劃算,因?yàn)槟阋院筮M(jìn)公司后,遇到同樣的問(wèn)題,找硬件工程師,半分鐘幫你搞定。所以說(shuō),選擇一個(gè)理想的嵌入式學(xué)習(xí)平臺(tái),尤其對(duì)于初學(xué)者來(lái)說(shuō),很重要。
最后,要保持學(xué)習(xí)的深度,刻意練習(xí)。
不要讓自己永遠(yuǎn)待在學(xué)習(xí)的舒適區(qū),要學(xué)會(huì)挑戰(zhàn)自己,不斷去擴(kuò)展自己知識(shí)的邊界,完善自己的知識(shí)體系和技能。很多人買了開飯,按照教程,“移植”了u-boot,Linux內(nèi)核,制作了根文件系統(tǒng),然后就陷入了迷茫:接著要干什么?要學(xué)習(xí)什么?想學(xué)習(xí)又感覺深入不下去,東一耙子,西一耙子,看看這,看看那,時(shí)間不知不覺就過(guò)去了。
其實(shí),學(xué)習(xí)嵌入式,基本的嵌入式知識(shí)和理論學(xué)習(xí)還是必要的,很多人推崇邊做邊學(xué),到項(xiàng)目中學(xué)習(xí),實(shí)踐出真知。當(dāng)然這也是一個(gè)方法,但是也有弊端,那就是學(xué)習(xí)的不系統(tǒng),很多有心人到后來(lái)還是得回來(lái)補(bǔ)課,完善自己的知識(shí)體系和技能。很多人玩開發(fā)板,燒寫鏡像,玩得賊溜,但是你知道這里面的原理嗎?知道JTAG怎么下載的嗎?Jlink和JTAG有什么區(qū)別?為什么PC上要裝個(gè)JTAG軟件而Jlink不用?程序的編譯和鏈接是怎么樣的?為什么內(nèi)核鏡像要下載內(nèi)存的某個(gè)地址?換個(gè)地址行不行?為什么我們編寫的程序要在有OS的環(huán)境下運(yùn)行,在ARM開發(fā)板裸機(jī)環(huán)境下,你能寫一個(gè)跑起來(lái)的程序嗎?只有對(duì)這些問(wèn)題深入思考,你才會(huì)對(duì)嵌入式有一個(gè)更深的認(rèn)識(shí),超越了平臺(tái),一通百通。
如果你覺得沒(méi)有自學(xué)的毅力,沒(méi)有學(xué)習(xí)的良好氛圍,始終感覺學(xué)習(xí)的東西不系統(tǒng),可以考慮通過(guò)培訓(xùn)的方式進(jìn)行學(xué)習(xí),具體的學(xué)習(xí)內(nèi)容可以參考信盈達(dá)的嵌入式培訓(xùn)課程大綱。
免費(fèi)領(lǐng)取試聽卡
申請(qǐng)已經(jīng)提交
老師會(huì)馬上給您安排試聽課程!
申請(qǐng)出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢!