嵌入式學習經驗貼(tie)看(kan)這一篇就夠了!
時(shi)間:2022-05-26 來源:華清(qing)遠見
我自(zi)(zi)己(ji)(ji)是(shi)從今(jin)年(nian)2月多開始(shi)來到培訓機構(華(hua)清)學(xue)習的(de)(de),以前的(de)(de)我自(zi)(zi)己(ji)(ji)也嘗試過自(zi)(zi)己(ji)(ji)自(zi)(zi)學(xue),但是(shi)中途(tu)自(zi)(zi)己(ji)(ji)還是(shi)被我自(zi)(zi)己(ji)(ji)打敗(bai)了,所以我覺得(de)如(ru)果自(zi)(zi)己(ji)(ji)自(zi)(zi)制(zhi)力不(bu)(bu)是(shi)很(hen)好(hao)的(de)(de)話,還是(shi)建議自(zi)(zi)己(ji)(ji)尋(xun)找一些(xie)線下的(de)(de)課程,因為有老師帶你(ni),還有一學(xue)習的(de)(de)同(tong)學(xue),我覺得(de)學(xue)習的(de)(de)氛圍還是(shi)很(hen)重要的(de)(de),也認識(shi)了不(bu)(bu)少朋友。
我(wo)現在學(xue)習(xi)過的(de)知(zhi)(zhi)識(shi)(shi)雖(sui)然(ran)不(bu)是太多(duo),但也掌握了(le)許多(duo)自(zi)己沒有(you)接觸過的(de)的(de)知(zhi)(zhi)識(shi)(shi)(C語言、Linux基礎、高級C、數據(ju)結構、IO編程(cheng)和(he)進(jin)程(cheng)與線程(cheng)),雖(sui)然(ran)現在我(wo)所掌握的(de)知(zhi)(zhi)識(shi)(shi)離成為(wei)一(yi)名合格的(de)嵌入式軟件開發工程(cheng)師(shi)還具有(you)一(yi)定的(de)距離,但是我(wo)覺得只(zhi)要我(wo)們沉下心(xin)來(lai),慢慢學(xue)習(xi),后(hou)面一(yi)定可以成為(wei)一(yi)名合格的(de)嵌入式安全開發工程(cheng)師(shi)。
我(wo)在當前學習中自(zi)認為比較重要的知識點:
C語言:
條件判斷(if、switch)、循(xun)環(for、while、do while、goto)、形參(can)(can)和實參(can)(can)的區分(以前的我(wo)自己(ji)分不(bu)清(qing),你們要是覺得(de)容易可以忽略(lve))、掌握(wo)關(guan)鍵字(zi)(我(wo)以前對于enum、union等關(guan)鍵字(zi)不(bu)是太清(qing)晰)、宏(只(zhi)是做(zuo)替換(huan),我(wo)們不(bu)要自己(ji)給(gei)它(ta)加括號)等。
Linux基礎:
虛(xu)擬(ni)機的(de)安裝、vi的(de)使(shi)用(yong),shell命(ming)令的(de)使(shi)用(yong),Linux虛(xu)擬(ni)機的(de)網絡配(pei)置和三個服務的(de)安裝與(yu)使(shi)用(yong)(Samba、ftfp、nfs)等
高級C:
數組、指(zhi)針(zhen)(非常重要,需要熟練掌握,因為后面的大(da)量知識都是與指(zhi)針(zhen)相關的)、函數、結構(gou)體(struct、union、enum)、條(tiao)件編譯(增強(qiang)兼容性)
數據結構:
鏈表(biao)(biao)(biao)(biao)(循(xun)序表(biao)(biao)(biao)(biao)、單(dan)項(xiang)鏈表(biao)(biao)(biao)(biao)、單(dan)項(xiang)循(xun)環(huan)鏈表(biao)(biao)(biao)(biao)、雙向鏈表(biao)(biao)(biao)(biao)、雙向循(xun)環(huan)鏈表(biao)(biao)(biao)(biao)、內(nei)(nei)核(he)(he)鏈表(biao)(biao)(biao)(biao)),這(zhe)其中我(wo)覺(jue)得讓我(wo)感到(dao)不太適應的(de)就是(shi)內(nei)(nei)核(he)(he)鏈表(biao)(biao)(biao)(biao),因為內(nei)(nei)核(he)(he)鏈表(biao)(biao)(biao)(biao)是(shi)由(you)linux開發(fa)人員編寫好的(de)函數,我(wo)們(men)只(zhi)要調用就好了,但(dan)是(shi)函數比較多,函數的(de)形參的(de)意義也要自己明確,這(zhe)對于英語不好的(de)自己有點難受,所(suo)以自己要多花時(shi)間去(qu)(qu)看和(he)去(qu)(qu)寫。
I0編程:
文(wen)件(jian)(jian)的7中格式(shi)(常規文(wen)件(jian)(jian)-、目(mu)錄文(wen)件(jian)(jian)d、塊(kuai)設備b、字符設備c、管道p、套(tao)接字s、符號(hao)鏈接l)、格式(shi)化標(biao)(biao)準(zhun)IO(fopen、printf、fprintf、sprintf、snprintf、scanf、fscanf、sscanf、fclose等(deng)(deng))和非格式(shi)化標(biao)(biao)準(zhun)IO(getc、fgetc、getchar、fgets、gets、fputc、putc、putchar、fputs、puts等(deng)(deng))、緩(huan)沖(chong)區(行緩(huan)沖(chong)、塊(kuai)緩(huan)沖(chong)、不(bu)緩(huan)沖(chong))、時間(jian)IO(time、ctime、localtime、asctime等(deng)(deng))、文(wen)件(jian)(jian)IO(open、read、write、close等(deng)(deng))。
進程與線程
認(ren)識進(jin)(jin)(jin)程(cheng)(進(jin)(jin)(jin)程(cheng):程(cheng)序的(de)(de)(de)(de)動態執行過程(cheng),程(cheng)序:為了達到(dao)某(mou)一目的(de)(de)(de)(de)而(er)編(bian)寫的(de)(de)(de)(de)一系列(lie)的(de)(de)(de)(de)指令集合(he))、進(jin)(jin)(jin)程(cheng)的(de)(de)(de)(de)狀態、進(jin)(jin)(jin)程(cheng)的(de)(de)(de)(de)生老病死(fork、exec函數簇、kill -9、exit、_exit、return、wait、waitpid等(deng))、守護進(jin)(jin)(jin)程(cheng)的(de)(de)(de)(de)創(chuang)建(jian)(7步)、進(jin)(jin)(jin)程(cheng)間的(de)(de)(de)(de)通(tong)信(xin)(無名管(guan)(guan)道、有名管(guan)(guan)道、信(xin)號、共享(xiang)內存、信(xin)號量、消息隊(dui)列(lie)、套接(jie)字)、線程(cheng)的(de)(de)(de)(de)創(chuang)建(jian)和使(shi)用(pthread_create、pthread_join、pthread_exit等(deng))。
以(yi)上是(shi)我自(zi)己的(de)(de)(de)(de)(de)一些不全(quan)面的(de)(de)(de)(de)(de)總(zong)結,其實很多的(de)(de)(de)(de)(de)地方(fang)都還有(you)很多細(xi)節的(de)(de)(de)(de)(de)知(zhi)識,那些細(xi)節的(de)(de)(de)(de)(de)知(zhi)識也是(shi)我們需要(yao)掌握的(de)(de)(de)(de)(de),所以(yi)我們只有(you)在后面的(de)(de)(de)(de)(de)學習和以(yi)后的(de)(de)(de)(de)(de)工作中慢慢重復和慢慢使用才可以(yi)掌握的(de)(de)(de)(de)(de)更加(jia)牢固(gu),我們才可以(yi)更上一層樓。隨著知(zhi)識量(liang)的(de)(de)(de)(de)(de)增加(jia),很容(rong)易忘記一些知(zhi)識是(shi)很正常的(de)(de)(de)(de)(de),我們需要(yao)多回頭(tou)看(kan)(kan)看(kan)(kan),多敲代碼,到時候(hou)自(zi)然就掌握了。

