• 招生咨詢熱線:4008-569-579 
  • 手機版
    用手機掃描二維碼直達商品手機版
招生咨詢熱線
4008-569-579
機構(gòu)主頁 > 培訓(xùn)資料 > 達內(nèi)學(xué)員分享:從不懂到入門,一只老鳥的嵌入式入門心得
機構(gòu)主頁 > 培訓(xùn)資料>達內(nèi)學(xué)員分享:從不懂到入門,一只老鳥的嵌入式入門心得

達內(nèi)學(xué)員分享:從不懂到入門,一只老鳥的嵌入式入門心得

來源:廣州達內(nèi)教育        時間:2023-05-30        熱度:26℃        返回列表

    本人大學(xué)學(xué)的是電子信息科學(xué)與技術(shù)專業(yè),其實這個專業(yè)和嵌入式沒有多大的關(guān)系,要說有關(guān)系就是簡單的講了下C語言語法,學(xué)完之后還不知道什么是C語言,只記住了,char,int,string等占幾個字節(jié),if, for, while循環(huán)什么的,感覺也就能算一些小學(xué)就會的題目,全國計算機等級二級也就糊涂的過了。我這個專業(yè)沒學(xué)過C++也就是畢業(yè)后在達內(nèi)學(xué)習(xí)的時候才算是系統(tǒng)的接觸學(xué)習(xí),一開始不知道什么是向?qū)ο?,什么叫面向過程,這可能讓大家笑話了。不過這說的是實話,大學(xué)的時候比較喜歡動手,喜歡硬件方面的東西,也喜歡看書。在大一的時候就聽學(xué)長說,單片機很難學(xué),在沒事的時候就從圖書管借了本關(guān)于51的書,一開始還真是不怎么懂,然后硬著頭皮去看,當我把51的結(jié)構(gòu)看完了,就不像一開始那樣一頭霧水了,自己在紙上把51的結(jié)構(gòu)圖默畫一遍,然后再把各個寄存器功能寫一下,各個功能口的結(jié)構(gòu)也畫一遍,然后就不覺得51有什么難了。其實有些時候不是這個東西你不會,而是在不會的時候自己先告訴自己這個太難了,自己先放棄了。我們學(xué)習(xí)51芯片,是為了以后的打基礎(chǔ),知道是怎么通過配置寄存器來實現(xiàn)功能。

    二下學(xué)期的時候,我們開了51的課,這個課幾乎就沒怎么去,因為我認為沒有必要去聽自己會的東西了。后來聽別人說avr的資源會比51的豐富的很多,所以就想試試,看看有什么難的,就從網(wǎng)上買了本《AVR單片機嵌入式系統(tǒng)原理與應(yīng)用實踐》,一邊看書,一邊想自己畫一個板了,一開始想實現(xiàn)一個點陣屏,實現(xiàn)滾動效果,后來想想做個板也花不少錢呢,為什么不多加一些功能呢,還能多學(xué)到些知識,所以就加了溫感,紅外,鐵電存儲器等并把所有的擴展口都擴展了出來,備以后用,那時還挺自豪的呢,同學(xué)們都很羨慕,不過現(xiàn)在想想其實也沒什么了。

    大學(xué)也聽說過嵌入式這個詞,不過不太明白是什么意思,17年的時候從網(wǎng)上找到視頻,有四張DVD(大約13G),下載下來后,從頭到尾的看了一遍,沒什么印象,只記得講一些不知所云的函數(shù),然后莫名其妙的講怎么使用那個44b0的開發(fā)板,不過聽完了,還是有很大收獲的,就有一種想裝一個linux的沖動,我是大二下學(xué)期才有的自己電腦,不過電腦的配置比較低,1g內(nèi)存,跑虛擬機就像個蝸牛,所以就想著怎么才能裝個linux,自己用XP習(xí)慣了,如果全換了又舍不得,那時從書上知道linux的文件系統(tǒng)和windows不一樣,只有一個根分區(qū),所以也害怕一裝linux全盤就被格式化了,不過還是欲望戰(zhàn)勝了擔心,買了張redhat9的光盤,小心的裝這個系統(tǒng),里邊的英文也不是太難,還是知道大概意思的,所以一步步的裝,裝到我的硬盤的空間,重新啟動,竟可以選擇進入哪一個系統(tǒng)了,從這之后,自己就不害怕怎么裝系統(tǒng)了,應(yīng)了那句言,紙上得來終覺淺,絕知此事要躬行。所以我認為,買一個開發(fā)板是完全有必要的,拿到實物操作一下就不會感覺太抽象了。

    后來也想學(xué)學(xué)arm,但不知道arm是什么東西,所以就買了本《從51到arm》,講的是關(guān)于arm的大體結(jié)構(gòu),看完后感覺,原來arm就是一個速度更快,接口更豐富的單片機啊。

如果想做linux設(shè)備驅(qū)動的同學(xué)應(yīng)該對arm硬件有一些了解。如果對驅(qū)動不感興趣,完全沒有必要去看。交叉編譯器會幫我們做好這些事情,他比我們更了解arm結(jié)構(gòu)。

    大三下學(xué)期開始準備考研了,所以自己這些興趣就先放下了,報的北郵的信通學(xué)院通信專業(yè),當時就是想一定要上個好學(xué)校好專業(yè),也沒想太多,結(jié)果考了的成績差了點,沒有被錄取,也不想調(diào)劑一個二流的學(xué)校,然后就參加工作了,工作中每天都用的到開發(fā)板,當我看到一個小板上還可以跑系統(tǒng)的時候感覺很不可思議,以為要很大工程。后來邊工作邊學(xué)習(xí),每天都要看電腦看到眼發(fā)疼,晚上也都差不多十二點時才睡覺。感覺到累,不過也感覺到自己在進步。

    閑話有點多了,說了很多都是自己大學(xué)那點破事。

    聽很多的初學(xué)者說不知道從哪里開始,學(xué)習(xí)嵌入都要學(xué)哪些東西,從網(wǎng)上搜了一下,一大堆的東西要學(xué),一下就推薦十幾本書,說看完這本書怎么怎么樣,看完那本書怎么怎么樣,一下子就給初學(xué)者給嚇住了,其實完全沒必要把網(wǎng)上的那些東西全部看一遍,那樣又費時,又感覺工程太大,讓初學(xué)者沒有信心去把每一種都看完。網(wǎng)上說的些方面都要知道,不一定全部都掌握,我們可以退成求其次,每一個都知道一些,當然會的越多越好。今天學(xué)點這個明天學(xué)點那,換著樣來也不會覺得煩。而且還能感覺到每天都有收獲。

    下面給嵌入式初學(xué)者一些自己的我個人建議。

    1、嵌入式涉及到很多的基礎(chǔ)知識:

    c語言,關(guān)于C語言要知道基本的語法,什么是結(jié)構(gòu)體,什么是共用體,有什么區(qū)別,不用強記一些二級考的東西,因在實際中用的很少。

    c++要知道什么是類,怎么定義,繼承,接口,要深刻理解,當然基本語法也是必不可少的。

    操作系統(tǒng)原理也應(yīng)該知道基本的原理的,我記得我大學(xué)沒這個課還是去電信學(xué)院蹭別的專業(yè)的課呢,后來學(xué)習(xí)發(fā)現(xiàn)很多的東西都是在這個課上學(xué)到的。什么時間片啊,任務(wù)調(diào)度啊,都是在那里知道的。

    Linux基本命令的使用(vi編輯器必須會用,因為在終端改文件的時候只能用這個),我們現(xiàn)在很多的人都習(xí)慣用鼠標了,很少用到命令,我們學(xué)習(xí)嵌入linux可要改改這個習(xí)慣了,linux用命令操作一是效率高,二是功能非常強大,遠非圖形界面能比的了的,其實我們用圖形界面的操作都要轉(zhuǎn)化為命令傳給硬件的。

    Linux文件系統(tǒng)的管理要清楚,哪個目錄存放是什么東西,有什么用,文件權(quán)限管理等

    Shell編程也要了解一些還有Linux設(shè)備驅(qū)動的架構(gòu)要了解,初學(xué)者可以買一個OK6410開發(fā)板上的led驅(qū)動分析一下,結(jié)合原理圖和linux設(shè)備驅(qū)動相關(guān)書籍把每一行代碼都分析明白。關(guān)于驅(qū)動給大家推薦一本書《LINUX設(shè)備驅(qū)動程序》初學(xué)者看可能看不太明白,不過要堅持看,次也得把前6章看完了。

    2、看書不要希望一次就會,一次就明白是什么意思,也不要死記硬背,看不明白也沒關(guān)系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了。還有,不要直接閱讀linux內(nèi)核源代碼,看一些自己把頭撞破也想不明白的事,會打擊初學(xué)者的積極性,要循序漸進,今天學(xué)個做個led,明天做個串口,后天說不定就做硬件編解碼了。

    3、你可以不接受培訓(xùn),但是不能不買開發(fā)板。

    如果你想學(xué)習(xí)嵌入式一定要買塊學(xué)習(xí)板,現(xiàn)在的開發(fā)板很便宜了,給我們初學(xué)者減輕了很多經(jīng)濟負擔??丛俣嗟囊曨l,看再多的書,也不如自己動手試一下,看著很簡單的東西,做起來就可能遇到很多的問題,遇到問題找到原因,解決問題,只有這樣才能學(xué)到東西,記得我次寫led的驅(qū)動,想自己試一下,網(wǎng)上也有人寫過相關(guān)的代碼,可是自己一試,就出了好多的問題,那個led弄了我才把led燈點亮。所以不要眼高手低。

    現(xiàn)在買一塊開發(fā)板很便宜,飛凌的OK6410的開發(fā)板就不錯,源碼完全開放,而且資料也很豐富,完全能滿足初學(xué)者學(xué)習(xí)用,有人說友善的板子也不錯,我個人覺得友善的板子不錯,但是不適合初學(xué)者,因為他的很多的東西是不給代碼的,用過友善的板子的同學(xué)經(jīng)常有這樣的痛苦,想學(xué)一個東西,去找他的代碼的時候,卻找不到,很多友善提供的代碼中很多的都是封裝好的,只提供給客戶一個庫,初學(xué)者想要找代碼的時候就不知道怎么辦了。

    4、不要好高騖遠,要腳踏實地

    對于初學(xué)者,還有一點小建議,我們拿到一個開發(fā)板,很興奮也很激動,想法自然也很多,想用開發(fā)板實現(xiàn)自己的這個想法,實現(xiàn)那個想法,然后又不知道從何下手,然后就去論壇中發(fā)一個貼, “那個什么什么怎么實現(xiàn)啊,哪位大俠能詳細說一下啊,跪求??!”然后等著別人去回復(fù)。見沒人回復(fù)就抱怨。有想法是好的,我們要實現(xiàn)自己的想法也是有前提的,首先,我們對這部分知識了解嗎?如果不了解就去google一下(別用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到問題,再去發(fā)貼問,這樣也顯得咱們有水平。比如自己連串口是什么都不太清楚呢,就問串口通信怎么做啊,就是人家把代碼給咱,咱也不明白是怎么回事啊。

    5、多看代碼,多寫代碼

    見多識廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來。自己平時也要多寫代碼,多練習(xí)(這一點我做的不好,寫的少)。有些也是個人的見解,在有些人看來可能是錯誤的,每個人有每個人的學(xué)習(xí)方法,但是我們的目的只有一個——希望我們學(xué)到更多的知識。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部