找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 8850|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

過來人分享如何學(xué)習(xí)單片機ARM/stm32的經(jīng)歷

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:79332 發(fā)表于 2015-5-8 17:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
雖然大學(xué)學(xué)的是應(yīng)用電子技術(shù),但是選擇就業(yè)的時候還是覺得很迷茫,因為在大學(xué)里學(xué)的東西大家都懂

的,最后很多培訓(xùn)機構(gòu)都來我們學(xué)校做講座,到時候給我們洗腦,但我確實對嵌入式本身就有那么點兒

興趣,然后決定先確定自學(xué)嵌入式吧,聽說跟硬件相對比較緊密!而我在大學(xué)里多少學(xué)習(xí)了數(shù)字電路,

單片機等,所以多少也有所利用,不會真的一無所知。C 語言在大學(xué)就學(xué)了。哈哈這就是我的家底。

  我知道自己的基礎(chǔ)差,于是我就拿各種書籍看,利用一切能利用的資源學(xué)習(xí),很痛苦,沒有人請教。
  另外就上網(wǎng)到論壇上去,我就到各個專業(yè)的技術(shù)論壇,其實是電子論壇和嵌入式論壇。我?guī)缀鯖]有發(fā)

帖,幾乎把幾個大型的出名的論壇的帖子翻遍了,雖然有很多重復(fù)的,我才知道嵌入式是真正的含義還

有相關(guān)的應(yīng)用在哪里。這些帖子對我以后的學(xué)習(xí)產(chǎn)生了極大的影響。
  最關(guān)鍵兩點:
  1、嵌入式是什么?
其實嵌入式簡單的來說就是可裁剪的一臺計算機。      
  2、嵌入式需要哪些知識?
學(xué)習(xí)嵌入式需要什么基礎(chǔ)知識呢?至少要懂模電數(shù)電,最基本的外圍電路需要看明白,才知道怎么寫程

序,其次C語言非常重要,接著是ARM(ARM9/11或STM32),最后是Linux驅(qū)動內(nèi)核,然后稍微的了解一些

應(yīng)用層,方便后期的項目完善工作。

  知道了這兩點,好辦!我就開始規(guī)劃學(xué)習(xí)路線。在論壇上了解到,實時操作系統(tǒng) ucos是一個很好的嵌

入式操作系統(tǒng),對初學(xué)者很好。于是我就買了一本書,但是代碼在電腦里調(diào)不通,網(wǎng)上也有很多相同的

問題,我就看書,分析代碼,一遍不行就兩遍,三遍,這樣才看了入了門(這部分花了我好長時間,并

且遇到問題找不到人來問),但總算知道什么是進程。原來看操作系統(tǒng)書時,根本就不知道進程是個什

么東西。
  在這段時間掌握的東西不多,但是,對我以后的影響很大,我想起了大學(xué)時一個同學(xué)跟我說過了一句

話:大學(xué)里最重要的不是學(xué)到了什么,最重要的是學(xué)會怎么學(xué)!大概是這個意思。
  進入我的避難所
  對我來講,再次進入大學(xué)不再是大學(xué),而是避難所。希望這次進入給我喘氣和養(yǎng)精蓄銳的機會和時間

。我是這樣認(rèn)為和實踐的。
  在學(xué)校我有三件事:上課,上圖書館,上網(wǎng)。
  對于上課,學(xué)校開了很多課程,非常好,很多是名人名師講解,于是很多同學(xué)都想學(xué),都去聽。我也

考慮過,最后放棄。我是這樣認(rèn)為的,時間是有限的,什么都想學(xué),什么都學(xué)不成。于是我把我自己學(xué)

的課進行了分化,一般的課程通過就行,重要的一定好好學(xué)。我希望不要什么爭論學(xué)習(xí)課程多和少的問

題,這僅僅是我的看法。所以我的成績應(yīng)該是很差的。分?jǐn)?shù)低。好在后來的單位沒有要我的成績單,否

則就慘了。
  我個人感覺是上圖書館的效率比在寢室里高多了,這是我的經(jīng)驗。
  上網(wǎng),我給自己定了規(guī)矩:不玩游戲,不灌水,少看電影!因為時間對我來說太少和寶貴了,我沒有

資格和資本來浪費這些。上網(wǎng)我就在幾個重要的專業(yè)技術(shù)網(wǎng)站上逛,下載技術(shù)資料。我一個朋友最近開

了一個嵌入式學(xué)習(xí)的地方,有時間他們可以免費共享資料。

  有人會問,您下了那么多資料,怎么看的完和消化的了呢?
  我是這樣對待這個問題的:
  1、
  網(wǎng)上資料比較零散,不系統(tǒng),但是如果把差不多的東西收集起來看就相對完整了。
  2、 對于像我這種入門的來說,很多看不懂,沒關(guān)系,反復(fù)看,我個人對學(xué)習(xí)方法的一個總結(jié)是:重

復(fù)是最好的老師!但是有人帶的或會更容易一些。
  3、 即使有的用不上,也可以收集以后用的上時查閱。
  但是我并非什么都要,目前我的技術(shù)路線是嵌入式linux驅(qū)動,所以像wince之類基本上不收集。
  總之,我在學(xué)校里我充分利用時間來學(xué)習(xí),我看到一些同學(xué)整天的掛在網(wǎng)上打游戲,發(fā)些無關(guān)痛癢的

帖子,浪費時間呀!我真的很痛心!

學(xué)習(xí)嵌入式
  在這里我把它單獨列出,文章有點紊亂,但是內(nèi)容希望有益。
  1、學(xué)習(xí)linux
  根據(jù)我在論壇的了解,我選擇學(xué)習(xí)嵌入式linux,剛好我們學(xué)校也重視嵌入式linux,從實驗室到課程

安排都是關(guān)于嵌入式linux方面,天時地利!這里我把學(xué)習(xí)linux的經(jīng)驗和教訓(xùn)說說。

  可以這樣說,在論壇里說道學(xué)習(xí)linux差不多就學(xué)習(xí)linux內(nèi)核驅(qū)動。于是我電腦里安裝了linux就開始

看linux內(nèi)核方面的書了。我記得來學(xué)校以前就買到一本陳莉君的講linux內(nèi)核的第一版,現(xiàn)在有第二版

了。我就開始看那本說,大家說linux內(nèi)核情景分析不錯,我就買了上下冊,后來又買了《深入理解

linux內(nèi)核》,最后也買了毛德操的《嵌入式系統(tǒng)》也是分析linux內(nèi)核代碼的,主要講arm相關(guān)的。

  看內(nèi)核期間是個非常痛苦的過程,看情景分析有種在森林中找出路,其間我組織了一些同學(xué)學(xué)習(xí)內(nèi)核

,幾乎沒有幾個能堅持下來的。我認(rèn)為我是堅持下來了。情景分析在看第一、第二遍是幾乎沒有摸到門

道,我分析有三個方面的原因:1、自己的基礎(chǔ)差,這是最關(guān)鍵的。2、內(nèi)核本身很難。3、沒有交流和高

人指點。到了第三遍時我才摸到門,才差不多知道個 linux的大概脈絡(luò),很多細節(jié)也是稀里糊涂。

  學(xué)習(xí)linux總結(jié),這里聲明一下,我指的嵌入式主要是偏向軟件的嵌入式。學(xué)習(xí)嵌入式的重點和難點關(guān)

鍵在操作系統(tǒng),如果沒有掌握操作系統(tǒng),我認(rèn)為很難把握一個嵌入式系統(tǒng)。即使在做嵌入式開發(fā)中,作

應(yīng)有層的開發(fā)幾乎可以不知道操作系統(tǒng)也可以開發(fā),我認(rèn)為那是浮在表面的。很難深入和提高自己的層

次。聲明:一孔之見!不可深究!

  在學(xué)習(xí)linux內(nèi)核過程中犯了一個極其嚴(yán)重路線錯誤:對 linux幾乎不懂就開始學(xué)習(xí)內(nèi)核。我個人推薦

一個學(xué)習(xí)路線是:使用linux―〉linxu系統(tǒng)編程開發(fā)---〉驅(qū)動開發(fā)和分析linux內(nèi)核。而我差不多相反

,實際上你不會使用linux也可以學(xué)習(xí)內(nèi)核,但是如果你懂了這些東西學(xué)習(xí)更有效率。
  關(guān)于要不要學(xué)習(xí)內(nèi)核的問題,我的回答如下:不一定。如果你是喜歡鉆研的那你進入內(nèi)核會滿足你的

欲望。同時對你以后的嵌入式系統(tǒng)的開發(fā)有很好的影響。如果你想從事嵌入式linux系統(tǒng)開發(fā),最好對內(nèi)

核有所了解。如果僅僅是做應(yīng)用開發(fā)沒有必要。我打個比喻:c、c++、java等語言是武林中的某個武林

派別的話,如什么拳法,什么刀法等,那么linux 內(nèi)核應(yīng)該是一個人的內(nèi)功的反應(yīng)。

  怎么開始學(xué)linux內(nèi)核:最好有三件寶物:《深入理解linux內(nèi)核》《情景分析》和源代碼。
  先看《深》,那主要講原理,好像市場上有本講原理性并且更淺,《linux內(nèi)核設(shè)計與實現(xiàn)》聽說不錯

。如果沒有學(xué)習(xí)操作系統(tǒng)的,像我這樣的,最好先看看操作系統(tǒng)原理的書�?戳藥妆楹�,就看情景分析

,最好對著《深》看。兩本交叉看,《深》是綱,《情》是目。最后深入代碼。
  2、學(xué)習(xí)嵌入式linux
  學(xué)習(xí)嵌入式,我認(rèn)為兩個重點,cpu和操作系統(tǒng),目前市場是比較流行arm,所以推薦大家學(xué)習(xí)arm。操

作系統(tǒng)很多,我個人對開始學(xué)習(xí)的人,特別不是計算機專業(yè)的,推薦學(xué)習(xí)ucos。那是開源的,同時很小

。學(xué)習(xí)很好。為什么選linux,我不想講太多,網(wǎng)上這方面的太多,但是我在工作中發(fā)現(xiàn),做linux 的技

術(shù)路線很難,在windows幾乎不會有的問題,在linux開發(fā)中幾乎遍地陷阱。一掉進去劃很長時間出來,

一旦解決自己又長進了!相對來說開發(fā)周期長,難度大�,F(xiàn)在資料也逐漸豐富起來,難度也降低了些!

  至于怎么學(xué)習(xí),這是他的特色地方,必須有塊開發(fā)板,我是同學(xué)里最早買學(xué)習(xí)板的,雖然化錢,我認(rèn)

為值。對我實習(xí)和工作產(chǎn)生了很大的影響。
  如果沒有開發(fā)板,那是紙上談兵。有人說,那要1000-2000亞,的確是,兄弟,看長遠的,對您的職業(yè)

和發(fā)展那點錢不算什么!有的人說我站著說話不腰痛,好吧,錢這東西對我影響很大,我在大學(xué)里掃廁

所,掃的不錯,獎5元/月。兄弟你有過嗎?我認(rèn)為教育投資是效益最有保障的!我實習(xí)拿3k,很多同學(xué)

拿1 -2k,當(dāng)然比我高的也有。雖然我現(xiàn)在沒有畢業(yè),但一家公司就簽了。從事目前流行的高檔的消費電

子的研發(fā)。對于我兩年前一無所知的我,應(yīng)該有質(zhì)的變化,我感謝學(xué)校收了我這個廢品。當(dāng)然我也非常

的努力。說這么多并不是要炫耀我什么,實際上根本不值得炫耀,雖然現(xiàn)在工作環(huán)境和待遇比較滿意,

但是,我發(fā)現(xiàn)我很差,特別是代碼能力,我希望平常大家少玩游戲,多編程。編程才是硬道理!

  3、 學(xué)習(xí)板和培訓(xùn)
  你可以不接受培訓(xùn),但是不能不買開發(fā)板。如果你想學(xué)習(xí)嵌入式一定要買塊學(xué)習(xí)板,最好買塊aA9的,

貴些也值�?梢耘芨呒壊僮飨到y(tǒng)。這個不要什么品牌公司的,一般不會出什么問題。

  對于培訓(xùn),如果有條件最好參加,主要是嵌入式相對別的不同,自己摸索很費時,如果有高手指點非

常的好,進步快。特別是認(rèn)識做這些的朋友。我接受過培訓(xùn),認(rèn)識個朋友。在以后的工作中幫我很多,

在這里謝謝他!我記得哈佛的一個MBA的學(xué)生這樣說,大意是:在哈佛學(xué)到什么不重要,最重要的是這些

未來各大公司的高級管理人員是我的同學(xué)!真是有遠見!

我認(rèn)識的一個朋友就在深圳市寶安區(qū)沙井街道華美居572(沙井賽格斜對面),叫鎮(zhèn)鑫科技有限公司,聽

說可以免費試聽哦!有個群他們說后期會上傳共享一些學(xué)習(xí)資料,群號是453087284

  目前市場是培訓(xùn)比較貴,但是我個人覺得只要適合自己,物有所值,那就沒什么了,重要的是能學(xué)到

東西,為以后的道路做鋪墊。 我不是幫別人打廣告,只是我朋友這個人還是比較可靠,如果想要免費資

料也可以找他要990761465,姓葉,我不是托,以上純屬個人建議,呵呵。

  沒有想到,一下寫了這么多,其實還想寫的,比如在中科院的一位老兄是怎樣學(xué)習(xí)linux內(nèi)核和看書的

,真的很感動。他的為人我很欽佩。也想介紹毛德操的《嵌入式系統(tǒng)》那本書,對學(xué)習(xí)arm
  linux的很好,也想介紹實習(xí)和工作的東西,太長了,耽誤大家時間。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

沙發(fā)
ID:79505 發(fā)表于 2015-5-13 11:19 來自觸屏版 | 只看該作者
給樓主的精神點贊!
回復(fù)

使用道具 舉報

板凳
ID:99174 發(fā)表于 2015-12-27 16:35 | 只看該作者
正準(zhǔn)備學(xué)習(xí),工作之余有3天熱度。反復(fù)糾結(jié)中
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表