回覆列表
  • 1 # 使用者6902047413153

    這個問題相信是困擾所有嵌入式初學者的難題,下面課內容是嵌入式學習必學的: C語言; C++;作業系統;計算機組成原理; linux程式設計; 51微控制器; arm;硬體程式語言(FPGA);類比電路&數位電路。

    1、cc++語言,這是計算機行業的必修課,必須找紮實實學好,可以安裝 turbo c編譯器為開發環境,聯絡C語言程式設計; 安裝vc++6.0學習C++程式設計。

    2、作業系統,先在電腦上安裝一個vmware work station,然後在vmware work station裡安裝一個linux(redhat 企業版)虛擬機器。學習一下作業系統的基本原理,熟悉linux環境下的開發環境,然後你就可以照著《自己動手寫作業系統》寫個作業系統試試。

    3、計算機組成原理,熟悉計算機的基本原理,看看一個計算機的基本組成及軟體在裡面是如何跑的。

    4、《unix/linux程式設計實踐教程》可以說是linux程式設計的必修課,很不錯的一本書,初學嵌入式的朋友可以看看。

    5、微控制器,其實就是一臺電腦,像現在的汽車控制、led控制、螢幕亮光程度控制,它都可以實現,自己買塊開發板弄一下,你能學到很多的別人學不到的。

    6、arm,現在流行的微機,說白了就是32位的微控制器,還可以跑作業系統哦,自己想辦法移植一個作業系統上去吧

    7、硬體程式語言(FPGA),晶片到底是怎麼做成的,學習這門課,你就知道了

    8、類比電路&數位電路,硬體的基礎,如果可以的話,學習下protel ,自己做個硬體pcb板試試。

    計算機這行都是偏向於實踐的課程,所以要注重動手能力,學習嵌入式這基本課程的時候,你可以按照這樣的順序來學習:

    1:C語言、計算機組成原理、類比電路&數位電路

    2:組合語言、微控制器、作業系統、C++

    3:硬體程式語言、arm

    嵌入式開發大抵分四個方向,硬體、驅動、核心、應用,如果是希望向嵌入式軟體方向發展的話,目前常見的是

    嵌入式Linux+ARM方向,關於這個方向,大概分3個階段:

    1、嵌入式linux上層應用,包括QT的GUI開發

    2、嵌入式linux系統開發

    3、嵌入式linux驅動開發 嵌入式目前主要面向的幾個作業系統是,LINUX,WINCE、VxWorks等等 Linux是開源免費的,而且其原始碼是開放的,更加適合我們學習嵌入式。

    自學的話你可以嘗試以下路線:

    (1) C語言是所有程式語言中的強者,微控制器、DSP、類似ARM的種種晶片的程式設計都可以用C語言搞定),因此必須非常熟練的掌握。 推薦書籍:譚浩強的很不錯,《The C Programming Language》 這本經典的教材是老外寫的,也有中譯版本。

    (2) 作業系統原理,是必需的,如果你是計算機專業畢業那也就無所謂了,如果是非計算機專業的就必須找一本比較淺顯的計算機原理書籍看一看,把啥叫“程序”“執行緒”“系統排程”等等基本問題搞清楚。

    (3) Linux作業系統就是用C語言編寫的,所以你也應該先學習下Linux方面的程式設計,只有你會應用了,才能近一步去了解其核心的精髓。 推薦書籍:《UNIX環境高階程式設計》(第2版)

    (4) 瞭解ARM的架構,原理,以及其彙編指令,我們在嵌入式開發中,一般很少去寫彙編,但是起碼的要求是能夠看懂arm彙編。

    (5) 系統移植的時候,就需要你從下層的bootloader開始,然後核心移植,檔案系統移植等。而移植這部分對硬體的依賴是非常大的,其配置步驟也相對複雜,也沒有太多詳細資料。

    (6) 驅動開發 linux驅動程式設計既是個極富有挑戰性的領域,又是一個博大精深的內容。 linux驅動程式設計本質是屬於linux核心程式設計範疇的,因而是對linux核心和核心程式設計是有要求的。在學習前你要想了解linux核心的組成,因為每一部分要詳細研究的話足夠可以擴充套件成一本厚書。

    給大家把一個嵌入式開發學習大方面的學習框架搭出來了。

    最後呢祝大家能夠在學習的路上馬到成功。

  • 中秋節和大豐收的關聯?
  • 人情關係本質?