查看: 6558|回復: 1
打印 上一主題 下一主題

分享貼--如何從嵌入式新手到大蝦!

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2015-6-8 16:07:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 嵌入式學(xué)習
分享貼--如何從嵌入式新手到大蝦!

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

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

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

        后來(lái)也想學(xué)學(xué)arm,但不知道arm是什么東西,所以就買(mǎi)了本《從51到arm》,講的是關(guān)于arm的大體結構,看完后感覺(jué),原來(lái)arm就是一個(gè)速度更快,接口更豐富的單片機啊。
如果想做linux設備驅動(dòng)的同學(xué)應該對arm硬件有一些了解。如果對驅動(dòng)不感興趣,完全沒(méi)有必要去看。交叉編譯器會(huì )幫我們做好這些事情,他比我們更了解arm結構。

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

  閑話(huà)有點(diǎn)多了,說(shuō)了很多都是自己大學(xué)那點(diǎn)破事。

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

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

  1嵌入式涉及到很多的基礎知識:
  c語(yǔ)言,關(guān)于C語(yǔ)言要知道基本的語(yǔ)法,什么是結構體,什么是共用體,有什么區別,不用強記一些二級考的東西,因在實(shí)際中用的很少。
  c++要知道什么是類(lèi),怎么定義,繼承,接口,要深刻理解,當然基本語(yǔ)法也是必不可少的。
  操作系統原理也應該知道基本的原理的,我記得我大學(xué)沒(méi)這個(gè)課還是去電信學(xué)院蹭別的專(zhuān)業(yè)的課呢,后來(lái)學(xué)習發(fā)現很多的東西都是在這個(gè)課上學(xué)到的。什么時(shí)間片啊,任務(wù)調度啊,都是在那里知道的。
  Linux基本命令的使用(vi編輯器必須會(huì )用,因為在終端改文件的時(shí)候只能用這個(gè)),我們現在很多的人都習慣用鼠標了,很少用到命令,我們學(xué)習嵌入linux可要改改這個(gè)習慣了,linux用命令操作一是效率高,二是功能非常強大,遠非圖形界面能比的了的,其實(shí)我們用圖形界面的操作都要轉化為命令傳給硬件的。
  Linux文件系統的管理要清楚,哪個(gè)目錄存放是什么東西,有什么用,文件權限管理等
  Shell編程也要了解一些,在這給大家推薦一個(gè)教程,周朝劍的 shell編程,也就七八講吧,講的很全面。初學(xué)者看前4講就可以了。
  Linux設備驅動(dòng)的架構要了解,初學(xué)者可以以飛凌的OK6410開(kāi)發(fā)板上的led驅動(dòng)分析一下,結合原理圖和linux設備驅動(dòng)相關(guān)書(shū)籍把每一行代碼都分析明白。關(guān)于驅動(dòng)給大家推薦一本書(shū)《LINUX設備驅動(dòng)程序》中國電力出版社出版的,很經(jīng)典的,初學(xué)者看可能看不太明白,不過(guò)要堅持看,最次也得把前6章看完了。

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

  3、你可以不接受培訓,但是不能不買(mǎi)開(kāi)發(fā)板。
  如果你想學(xué)習嵌入式一定要買(mǎi)塊學(xué)習板,現在的開(kāi)發(fā)板很便宜了,給我們初學(xué)者減輕了很多經(jīng)濟負擔?丛俣嗟囊曨l,看再多的書(shū),也不如自己動(dòng)手試一下,看著(zhù)很簡(jiǎn)單的東西,做起來(lái)就可能遇到很多的問(wèn)題,遇到問(wèn)題找到原因,解決問(wèn)題,只有這樣才能學(xué)到東西,記得我第一次寫(xiě)led的驅動(dòng),想自己試一下,網(wǎng)上也有人寫(xiě)過(guò)相關(guān)的代碼,可是自己一試,就出了好多的問(wèn)題,那個(gè)led弄了我一天才把led燈點(diǎn)亮。所以不要眼高手低。
  現在買(mǎi)一塊開(kāi)發(fā)板很便宜,飛凌的OK6410的開(kāi)發(fā)板就不錯,源碼完全開(kāi)放,而且資料也很豐富,完全能滿(mǎn)足初學(xué)者學(xué)習用,有人說(shuō)友善的板子也不錯,我個(gè)人覺(jué)得友善的板子不錯,但是不適合初學(xué)者,因為他的很多的東西是不給代碼的,用過(guò)友善的板子的同學(xué)經(jīng)常有這樣的痛苦,想學(xué)一個(gè)東西,去找他的代碼的時(shí)候,卻找不到,很多友善提供的代碼中很多的都是封裝好的,只提供給客戶(hù)一個(gè)庫,初學(xué)者想要找代碼的時(shí)候就不知道怎么辦了。
  4 不要好高騖遠,要腳踏實(shí)地

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

  5 多看代碼,多寫(xiě)代碼

  見(jiàn)多識廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來(lái)。自己平時(shí)也要多寫(xiě)代碼,多練習(這一點(diǎn)我做的不好,寫(xiě)的少)。

  寫(xiě)完已經(jīng)晚上兩點(diǎn)了,思路有些亂,有些也是個(gè)人的見(jiàn)解,在有些人看來(lái)可能是錯誤的,每個(gè)人有每個(gè)人的學(xué)習方法,但是我們的目的只有一個(gè)——希望我們學(xué)到更多的知識。

以上內容轉載自網(wǎng)絡(luò ),分享給大家,希望新手多做借鑒,想快速學(xué)習嵌入式的可以加徐工Q2269819323.


沙發(fā)
發(fā)表于 2015-6-24 09:47:33 | 只看該作者
說(shuō)的不錯!
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页