空杯心態(tài),是成功的開始!

大家好,本期創(chuàng)客學(xué)員故事的主角,是來自創(chuàng)客學(xué)院「嵌入式雙師1901班」的劉同學(xué),從剛開始對(duì)嵌入式的知之甚少,經(jīng)過數(shù)月的努力學(xué)習(xí),到完全掌握企業(yè)所需的核心技能、高薪就業(yè),他用事實(shí)證明了功到自然成的真理。接下來,讓我們一起來看劉同學(xué)關(guān)于嵌入式學(xué)習(xí)的總結(jié)心得。

?

嵌入式學(xué)習(xí),整個(gè)體系可以劃分四個(gè)階段,語(yǔ)言基礎(chǔ)、應(yīng)用層、底層和項(xiàng)目,要做到心中有數(shù),有框架。

?

語(yǔ)言基礎(chǔ)

?

學(xué)習(xí)嵌入式,語(yǔ)言基礎(chǔ)很重要,可以說是整個(gè)嵌入式的根本。c基礎(chǔ)、shell和數(shù)據(jù)結(jié)構(gòu):學(xué)習(xí)一門語(yǔ)言,最好要有空杯心態(tài),對(duì)于它的概念、語(yǔ)句用法、知識(shí)點(diǎn)細(xì)節(jié),要做到熟悉牢記

?

對(duì)于較難理解的概念,可結(jié)合例子加深,語(yǔ)言本身是死的,要精準(zhǔn)記憶。至于編程時(shí)的活學(xué)活用,則靠點(diǎn)點(diǎn)滴滴的積累,尤其是指針、數(shù)組和函數(shù)(筆試題基本出自這里)

?

shell則是很多命令的介紹,只能記憶了,重點(diǎn)是結(jié)構(gòu)體的掌握,結(jié)合體用的不多,對(duì)于Makefile,會(huì)寫簡(jiǎn)單的,會(huì)看復(fù)雜的即可;另一個(gè)重點(diǎn)是shell腳本的編寫,注意和函數(shù)的比較;

?

數(shù)據(jù)結(jié)構(gòu)就相對(duì)簡(jiǎn)單了,兩種存儲(chǔ)方式,即順序和鏈?zhǔn)剑叨歼m用于表、棧和隊(duì)列,對(duì)這六種,要學(xué)會(huì)節(jié)點(diǎn)的結(jié)構(gòu)體封裝,以及增刪改查,基本思想是一致的,至于樹和圖,知道它們的創(chuàng)建與遍歷。

?

應(yīng)用層

?

應(yīng)用層主要包含IO、進(jìn)程線程和網(wǎng)絡(luò)編程。

?

IO看似很多函數(shù),對(duì)于每個(gè)函數(shù)的返回值參數(shù)不要去記憶只記功能即可;具體的頭文件,完整表達(dá)式通過“man”來查詢,并復(fù)制粘貼,用途有兩個(gè),一個(gè)是網(wǎng)絡(luò)編程中的數(shù)據(jù)發(fā)送和接收,另一個(gè)是打開硬件設(shè)備節(jié)點(diǎn),并對(duì)它進(jìn)行讀寫(作為函數(shù)接口);

?

進(jìn)程線程,要掌握二者的區(qū)別,以及和程序的區(qū)別,重點(diǎn)則是進(jìn)程間通信(七種,掌握消息隊(duì)列,共享內(nèi)存和信號(hào)量),以及線程間的同步和互斥;

?

網(wǎng)絡(luò)編程,就是TCPUDP兩個(gè)框架的掌握。

?

?

底層

?

底層主要包含ARM裸機(jī)、系統(tǒng)移植和驅(qū)動(dòng)

?

ARM裸機(jī)主要分兩部分,一個(gè)是匯編,會(huì)看就行,另一個(gè)則是重點(diǎn),裸機(jī)編程,此部分基本就把開發(fā)板上的外設(shè)都跑起來了,這個(gè)階段要培養(yǎng)如何看懂芯片手冊(cè);

?

系統(tǒng)移植,首先會(huì)用tftpnfs,然后就是本章的重點(diǎn),ubootkernel的配置、編譯和啟動(dòng),注重流程的掌握,因?yàn)檫@個(gè)流程適用于大部分,還有就是根文件系統(tǒng)的制作

?

驅(qū)動(dòng),則是對(duì)內(nèi)核源碼的更深層次的追溯,本章的框架比較多,驅(qū)動(dòng)的基本框架以及字符設(shè)備驅(qū)動(dòng)的三要素編寫則是最為基礎(chǔ)的,更進(jìn)一步的則是platform框架和IIC框架,額外的SPI框架和input框架,剩下的就是內(nèi)核競(jìng)態(tài)的處理方式(自旋鎖,信號(hào)量,互斥體和原子操作,注意和線程間的同步互斥做區(qū)別聯(lián)系),IO多路復(fù)用的接口(與應(yīng)用層的selectpollepoll的結(jié)合區(qū)別聯(lián)系),最后就是中斷與中斷底半部與內(nèi)核定時(shí)器、gpio子系統(tǒng)的結(jié)合應(yīng)用。

?

項(xiàng)目階段

?

此階段是對(duì)以前學(xué)知識(shí)的綜合運(yùn)用,重點(diǎn)是上行和下行兩條線是否理解,和跑通;其實(shí)這個(gè)階段做項(xiàng)目是其一,還有就是對(duì)自己知識(shí)體系的優(yōu)化和升華經(jīng)過所做項(xiàng)目與總結(jié),讓自己的經(jīng)驗(yàn)得以增加,讓我們的知識(shí)更容易活學(xué)活用。


?

結(jié)語(yǔ):正如劉同學(xué)所說,學(xué)習(xí)是一個(gè)循序漸進(jìn),踏踏實(shí)實(shí)前行的過程,把心態(tài)放空,有一個(gè)空杯心態(tài),才能把新的知識(shí)體系、前輩的經(jīng)驗(yàn)技能掌握在自己手中!

?

the end

評(píng)論(0)