當前位置:成語大全網 - 漢語詞典 - 如何學習嵌入式?

如何學習嵌入式?

嵌入式開發與學習路線圖-上官嵌入式研究室-嵌入式路線圖

——作者:範,UEA0908班,上官嵌入式研究室

妳為什麽選擇學習嵌入式?

嵌入式系統無疑是目前最熱門、最有前景的IT應用領域之壹,也是當今IT領域所剩不多的黃金崗位之壹。目前,中國的IT人才正面臨著接班人的嚴重短缺。

而且這種差距是培訓教育模式缺失造成的,最大的差距是高級IT人才。如果從事的是不專業的IT培訓,在競爭越來越激烈的職場中幾乎找不到。

工作。據專家預測,嵌入式系統每年的人才缺口在30萬左右。

即將推出的職業發展解釋視頻

視頻主要講解了什麽樣的人適合做嵌入式行業,嵌入式行業的從業人員需要具備哪些基本素質,嵌入式行業的特點以及嵌入式行業的現狀和發展。

嵌入式R&D職業解說視頻(1)

嵌入式R&D方向職業解說視頻(2)

嵌入式R&D方向職業解說視頻(3)

嵌入式R&D方向職業解說視頻(4)

嵌入式R&D方向職業解說視頻(5)

ARM+Linux嵌入式底層內核驅動方向學習總體路線圖

基礎學習ⅰ——Linux介紹

目前,主要的嵌入式開發環境有

Linux,Wince等。;Linux因其開源、開發和操作方便而被廣泛使用。而Linux操作系統只是壹個簡單的操作系統,簡單的給嵌入式開發者使用。

價值不是很高。真正有價值的是掌握Linux的基礎服務和Linux的設計理念和思路,這對嵌入式開發者的長遠發展非常重要。Linux操作系統

系統有很多發行版,比如RedHat,Ubuntu,Fedora等等。作為嵌入式開發人員,我們不需要關註使用哪個Linux發行版,而是要盡快。

盡快安裝Linux系統。如果妳打算長期堅持學習,那麽建議妳把自己的電腦做成雙系統,而不是安裝在虛擬機上。

安裝

基礎學習ⅱ-C語言

c語言是嵌入式開發必不可少的基礎知識。在Linux下從事C語言的開發,妳會覺得更加流暢自然,因為C語言是因為unix的出現而誕生的,而在Linux內部。

內核幾乎全部用C語言編寫。學習C語言,如果妳不會使用指針,那麽妳就不會說C語言。做嵌入式開發指針尤為重要,所以除了掌握位操作,嵌入式開發很重要。

作品、限定詞等。,掌握指針是必不可少的。還要掌握多級指針,函數指針等等。說到指針,那麽我們就來說說內存分配。在大學裏,壹般學習C語言的學習很少講。

到內存分配,但是如果妳想從事嵌入式開發,那麽妳必須了解C語言是如何做內存分配管理的。除了指針,妳還應該學習模塊化編譯處理,指針和數組,gcc,

Makefile,GDB,遞歸,結構,宏定義等。C語言是整個嵌入式建築的基礎,所以學習嵌入式的時候壹定要重視C語言,多打代碼,多練習。壹個

壹個好的程序員必須通過“體力勞動”轉向“腦力勞動”,這就是為什麽我們要有“不會寫代碼=0”的想法。

如果說C語言相當於單詞,那麽數據結構就相當於造句和寫文章。代碼的質量部分取決於對數據結構的掌握。在數據結構部分,我們應該做鏈表、樹和排序

專註學習。而且我們也可以看到壹些常見的函數(比如strcopy,strcat,printf等。)在內核中實現,並編寫代碼模擬堆棧,其中

不僅有利於提高編寫代碼的質量,還可以初步了解Linux內核的精髓,為以後的工作打下堅實的基礎。

在嵌入式開發領域,使用C++和QT開發圖形界面。如果想從事上層的應用開發和圖形界面,需要多學習C++和QT。

b)推薦經典學習視頻:

1-1c語言編輯器vi的使用

1-2c語言的編譯過程及編譯器gcc

2-1c語言的數據類型

2-2數據快速參考

2-3c語言運算符和表達式

3-1c語言的分支結構

3-2c語言的循環結構

4-1c語言功能的定義和傳遞

4-2c語言函數調用

5-1-1c語言中的壹維數組

5-1-2 2D陣列和多維陣列

5-1-3c語言字符數組

5-2-1c語言結構結構

5-2-2C語言聯盟

6-1c語言中指針的概念

6-2c語言中的指針和壹維數組

6-3指針和2D數組和字符

6-4指針和結構,聯合體

6-5c語言中的指針和函數

指針常量和6-6c語言中的常量

7c語言存儲空間管理

8-1c語言存儲模型分析

8-2雙向循環鏈表的創建和增加

雙向循環鏈表的8-3數據管

c)經典學習案例:

1、學生成績管理系統2、計算器3、電子詞典4、文件壓縮器

基本高級- Linux應用程序設計

Linux的想法源於Unix。Linux繼承了UNIX的優點,但不使用Unix代碼,所有程序都是重寫的,Linux在源代碼層面兼容Unix。Linux是壹個類似Unix的操作系統。Linux操作系統

不僅符合POSIX標準,還包括了其他UNIX標準的許多特性,例如,UNIX系統V接口文檔(System V interface

Document,SVID)和Berkeley軟件分發(BSD)版本。Linux采取了壹種折中的策略,包括

UNIX的幾個典型特性中壹些最實用的功能:

Linux采用SVR4的IPC機制:* *共享內存、消息隊列和信號。

Linux支持BSD Socket網絡編程接口。

許多Linux發行版使用SysV init。

機制,支持運行級別。

這個階段的學習是嵌入式上層應用開發和底層開發人員的必修課。進程、線程、信號、文件鎖、套接字是這壹部分的重點。徹底學習這些內容需要下壹番苦功。而且功能是系統提供給我們的,必然要對計算機系統有深入的了解。還涉及到TCP/IP協議。如果您有任何問題,請使用Google搜索並登錄chinaunix論壇。通過這壹階段的學習,可以初步實現壹些應用的開發,比如制作自己的shell命令解析器,簡單的聊天軟件,視頻組播等等。

a)經典書籍推薦:

b)推薦經典學習視頻:

Linux網絡開發-1,ARP攻擊原理

Linux網絡開發-2、ARP攻擊案例分析

Linux網絡開發-3、ARP攻擊程序代碼分析及套接字構建

c)經典學習案例:

1,串行偵聽器

2.圖片瀏覽器3,MP3播放器4,聊天程序5,ftp程序。

6、音頻廣播節目7、ping的實現

8.DDos攻擊程序9。ARP攻擊程序

嵌入式系統介紹- ARM架構

從這部分開始,我們才會真正進入嵌入式開發的學習階段。首先,我們需要知道使用哪種處理器。目前通用的嵌入式處理器有ARM、MIPS、PowerPC、X86等。在市場份額上,ARM處理器遙遙領先於其他同類處理器,逐步掠奪傳統51單片機和Intel的市場份額。據招聘網站統計,目前用人單位在技術層面要求開發者掌握ARM9及以上平臺的開發技術。ARM11產品發布後,ARM公司改變了以往更新數字標簽的方式,轉而發布ARM。

皮層.但Cortex並不是更高端的,而是新系列的處理器,比如Cortex。

M3主要用於機械加工和工業控制領域,旨在取代之前的ARM7處理器。

在妳開始學習之前,建議有自己的開發板。目前,ARM9

2440的開發板價格在400-600元之間,ARM11。

6410的開發板價格較高,最便宜的也要1200多元。在這裏,我想提醒大家,盡量不要買迷妳開發板。雖然迷妳開發板的價格更便宜,但是相比正常開發板,迷妳開發板的功能並不完善。嵌入式匯編不同於X86匯編,所以如果妳之前沒有接觸過匯編語言,在嵌入式匯編之前沒有必要學習X86匯編,可以直接學習嵌入式匯編。除了匯編,我們還要學習ARM指令集。有了開發板,我們需要下載相應處理器的數據表和開發板的電路原理圖。我們學習ARM架構不能完全照搬別人的代碼,因為我們自己手裏的開發板和處理器跟別人不壹樣,除非用的代碼是根據妳手裏的開發板寫的。所以要先看書,看視頻資料,了解原理和工作模式,然後根據自己開發板的電路原理圖和數據表寫代碼,了解外圍設備的工作原理,操作硬件。

b)推薦經典學習視頻:

1)嵌入式識字文章

嵌入式漫遊1

嵌入式漫遊2

嵌入式漫遊3

關於嵌入式的十個問題1-什麽是嵌入式,創業

十問嵌入式2-嵌入式實例iphone

十個嵌入式問題3-嵌入式潛在客戶

十問嵌入式4-嵌入式學習

五臂嵌入式十個問題概述

十個嵌入式6臂問題概述

開發板

嵌入式7臂單片機十問

十問嵌入式8-匯編語言的功能

嵌入式9操作系統的選擇

十問嵌入式10-編程語言選擇

2)嵌入式開發概述

嵌入式開發入門經典課程-1

嵌入式開發介紹經典課程-2

嵌入式開發入門經典課程-3

嵌入式開發入門經典課程-4

嵌入式開發入門經典課程-5

嵌入式開發入門經典課程-6

嵌入式開發入門經典課程-7

嵌入式開發入門經典課程-8

嵌入式開發入門經典課程-9

嵌入式開發入門經典課程-10

嵌入式開發入門經典課程-11

嵌入式開發入門經典課程-12

嵌入式開發入門經典課程-13

3)ARM架構和Bootloader開發。

1,ARM基本概念介紹及開發板使用教程

2、編譯器高級應用及裸機代碼編寫教程

3.ARM指令和ARM組件介紹

4.ARM組裝高級課程和APCS規範詳解。

5.ARM架構和異常處理機制的詳細說明。

6.ARM中斷機制詳解及看門狗驅動開發實例。

7-1,ARM外部中斷機制及led驅動開發實例詳解

7-2.ARM嵌入式系統開發的ARM外部中斷機制詳解及實例。

8.AMBA總線結構和ARM時鐘配置

9.時序圖和NAND的詳細說明

閃存驅動程序開發示例

10-1.內存控制器和SDRAM原理詳解(壹)

10-2.存儲器控制器和SDRAM原理詳解(下)

11,UART串口細節和通信開發實例

12與ARM協處理器CP15的配置原理

13,從零開始寫Bootloader的開發過程詳解

c)經典學習案例:

1.ARM模擬器開發2。看門狗控制程序3。

RTC時鐘控制程序

Uart控制程序5。液晶控制程序6。

觸摸屏控制程序

7.DMA控制程序8。音頻控制程序9。網卡控制程序

10.

文件系統制作11。ARM-Linux移植

嵌入式升級- Linux內核和驅動程序

眾所周知,嵌入式開發至少包括兩個層面,壹個是嵌入式內核驅動層面,壹個是嵌入式應用層開發,而工資高、最有價值的開發者無疑是嵌入式內核驅動層面。真正的嵌入式專家或者企業中的核心開發人員,必須是嵌入式底層內核驅動的開發工程師。這些工程師成長緩慢,導致內核驅動人才需求量很大,所以這些人才才是真正企業需要的燙手山芋。掌握驅動開發會讓妳的核心能力有壹個大的飛躍,真正實現嵌入式系統最有價值的就業。

由於Linux內核更新快,書籍和視頻無法及時更新,所以看完書籍和視頻後,要自己下載內核源代碼包,看看內核中的代碼,在這裏可以充分檢驗對C語言、數據結構等基礎知識的掌握程度。驅動還是借助外圍硬件電路原理圖和芯片說明書編寫的。內核和驅動的知識讓我們可以根據不同的硬件,編寫相應的驅動,合理的裁剪內核,制作文件系統,移植到硬件開發板。如果妳手裏有ARM11。

6410及以上的開發板,可以嘗試在裸板上寫驅動,把Android系統移植到開發板上。

b)經典學習案例:

1.GPIO驅動器2。RTC時鐘驅動器3。

看門狗驅動程序4。Udev移植5。觸摸屏輸入設備驅動程序

6.LCD顯示設備驅動程序7。DMA驅動程序8。

音頻設備驅動程序9。Nand閃存塊設備驅動程序10。網絡設備驅動程序