版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式學(xué)習(xí)路線圖 嵌入式開發(fā)學(xué)習(xí)路線圖 記住僅僅是一份嵌入式底層驅(qū)動(dòng)所學(xué)知識(shí)
2、 為什么選擇學(xué)習(xí)嵌入式? 嵌入式系統(tǒng)無疑是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一,同時(shí)也是當(dāng)今IT領(lǐng)域僅存的幾個(gè)金領(lǐng)職位之一。當(dāng)前的中國(guó)IT人才面臨嚴(yán)重的“后繼乏人”, 而且這種缺口由于培訓(xùn)缺乏、教育模式等原因造成的,而缺口最大的,就是高級(jí)IT人才。如果你從事的IT培訓(xùn)不專業(yè),面對(duì)競(jìng)爭(zhēng)越來越激烈的職
3、場(chǎng),基本找不到 工作。據(jù)專家預(yù)測(cè),嵌入式每年人才缺口在30萬左右。一類是學(xué)電子工程、通信工程等偏硬件專業(yè)出身的人,他們主要是搞硬件設(shè)計(jì),有時(shí)要開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅(qū)動(dòng)硬件,往上支持操作系統(tǒng)),最初級(jí)的硬件驅(qū)動(dòng)程序等。他們的優(yōu)勢(shì)是對(duì)硬件原理非常清楚,不足是他們更擅長(zhǎng)定義各種硬件接口,但對(duì)復(fù)雜軟件系統(tǒng)往往力不從心(例如嵌入式操作系統(tǒng)原理和復(fù)雜應(yīng)用軟件等)。另一類是學(xué)軟件、計(jì)算機(jī)專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開發(fā)。如果這類人對(duì)硬件原理和接口有較好的掌握,也完全可以寫B(tài)SP
4、和硬件驅(qū)動(dòng)程序。嵌入式硬件設(shè)計(jì)完后,各種功能就全靠軟件來實(shí)現(xiàn)了,嵌入式設(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作(有很多公司將硬件設(shè)計(jì)包給了專門的硬件公司,稍復(fù)雜的硬件都交給臺(tái)灣或國(guó)外公司設(shè)計(jì),國(guó)內(nèi)的硬件設(shè)計(jì)力量很弱,很多嵌入式公司自己只負(fù)責(zé)開發(fā)軟件,因?yàn)楣径贾?,嵌入式產(chǎn)品的差異很大程度在軟件上,在軟件方面是最有“花頭“可做的),所以軟件研發(fā)人員完全不用擔(dān)心在嵌入式市場(chǎng)上的無用武之地,越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是趨勢(shì)。嵌入式領(lǐng)域較新,發(fā)展非???,很多軟硬件技術(shù)出現(xiàn)的時(shí)間都不太長(zhǎng)(如ARM處理器、嵌入式操作系統(tǒng)、LINUX操作系統(tǒng)),大多數(shù)人沒
5、有條件接觸或進(jìn)入嵌入式行業(yè),更談不上能有機(jī)會(huì)接受專業(yè)人士的指導(dǎo)。因此,踏進(jìn)這個(gè)行業(yè)的難度比較大,嵌入式人才稀缺,身價(jià)自然也水漲船高。權(quán)威部門統(tǒng)計(jì),我國(guó)嵌入式人才缺口每年50萬人左右。根據(jù)前程無憂網(wǎng)發(fā)布的調(diào)查報(bào)告,嵌入式軟件開發(fā)是未來幾年最熱門和最受歡迎的職業(yè)之一,具有10年工作經(jīng)驗(yàn)的高級(jí)嵌入式工程師年薪在30萬元左右。即使是初級(jí)的嵌入式軟件開發(fā)人員,平均月薪也達(dá)到了30005000元,中高級(jí)的嵌入式工程師月薪平均超過10000元。做軟件實(shí)際上有高下之分,開發(fā)語言從機(jī)器語言、匯編到C、C+,再到紅透半邊天的Java、C#等,該學(xué)哪種呢?為什么有些開發(fā)者工資低,而有些開發(fā)者千金難求?為什么3年的J
6、ava高級(jí)程序員薪水僅僅8k-10k,而一個(gè)Linux底層C語言程序員兩年經(jīng)驗(yàn)就敢要10k的薪水?還是門檻,比如月薪15k的Linux嵌入式開發(fā)職位,門檻就有 Linux系統(tǒng)、Shell編程、Linux開發(fā)環(huán)境、C語言、ARM硬件平臺(tái)、數(shù)據(jù)結(jié)構(gòu)、Linux內(nèi)核、驅(qū)動(dòng)程序等,粗略數(shù)數(shù)就有8道關(guān)口,他需要非常熟悉整個(gè)的計(jì)算機(jī)體系,能做出實(shí)際的產(chǎn)品,而Java的開發(fā)者卻僅僅是會(huì)使用名叫Java的語言工具,始終高高飄在眾多層次之上,開發(fā)項(xiàng)目非???,甚至可以不知道OSI模型,很可能自始至終都是軟件藍(lán)領(lǐng)。嵌入式開發(fā)本身也有高下之分,至少包含嵌入式應(yīng)用程序工程師和底層的驅(qū)動(dòng)內(nèi)核工程師兩種。前者同樣是使用現(xiàn)成
7、工具進(jìn)行簡(jiǎn)單勞動(dòng),比如使用J2ME開發(fā)小游戲或者進(jìn)行一些界面開發(fā),而后者是根據(jù)芯片具體情況把操作系統(tǒng)(如Linux)移植到上面,同時(shí)編寫必要的驅(qū)動(dòng)程序,改寫相應(yīng)的內(nèi)核代碼。很顯然后者是一個(gè)公司真正的技術(shù)核心。而技術(shù)核心的工資很可能是其他開發(fā)者的數(shù)倍。嵌入式開發(fā)突出強(qiáng)制和項(xiàng)目,學(xué)習(xí)不僅僅是學(xué)習(xí)幾項(xiàng)技術(shù),而是構(gòu)建你的知識(shí)體系。比如學(xué)習(xí)嵌入式開發(fā),就要從基礎(chǔ)Linux,C語言,數(shù)據(jù)結(jié)構(gòu)開始,到ARM,匯編,Linux內(nèi)核、驅(qū)動(dòng)等,更重要的是更多的項(xiàng)目練習(xí),設(shè)計(jì)至少5個(gè)項(xiàng)目,多達(dá)10000行強(qiáng)制核心代碼的編寫可以讓你真正獲得知識(shí)。為進(jìn)入外企或者出國(guó)做準(zhǔn)備。 嵌入式行業(yè)平均薪資分布
8、 嵌入式職業(yè)發(fā)展講解視頻 視頻中主要講解什么樣的人適合從事嵌入式行業(yè)、嵌入式行業(yè)從業(yè)人員需要具備哪些基本素質(zhì)、嵌入式行業(yè)的特點(diǎn)以及嵌入式行業(yè)的現(xiàn)狀與發(fā)展。嵌入式研發(fā)方向職業(yè)生涯講解視頻(1)嵌入式研發(fā)方向職業(yè)生涯講解視頻(2)嵌入式研發(fā)方向職業(yè)生涯講解視頻(3)嵌入式研發(fā)方向職業(yè)生涯講解視頻(4)嵌入式研發(fā)方向職業(yè)生涯講解視頻(5) ARM+Linux嵌入式底層內(nèi)核驅(qū)動(dòng)方向?qū)W習(xí)總體路線圖 基礎(chǔ)學(xué)習(xí)-Linux入門
9、; 目前嵌入式主要開發(fā)環(huán)境有 Linux、Wince等;Linux因其開源、開發(fā)操作便利而被廣泛采用。而Linux操作系統(tǒng)也只是一個(gè)簡(jiǎn)單的操作系統(tǒng),簡(jiǎn)單的使用對(duì)于嵌入式開發(fā)人 員來說價(jià)值并不很高,真正有價(jià)值的是掌握Linux的基本服務(wù)和Linux的設(shè)計(jì)理念、思想,這對(duì)于嵌入式開發(fā)人員的長(zhǎng)期發(fā)展是很極其重要的。Linux 系統(tǒng)有很多發(fā)行版,RedHat、Ubuntu、Fedora等。作為嵌入式開發(fā)人員,我們沒有必要把精力放到使用哪個(gè)Linux發(fā)行版上,而是盡快把 Linux系統(tǒng)盡快安裝好。如果打算堅(jiān)持長(zhǎng)期學(xué)習(xí),那么建議您把自己的電腦做成雙系統(tǒng),而不要在虛擬機(jī)上安
10、裝。Ubuntu系統(tǒng)下載地址: A)經(jīng)典書籍推薦: B)經(jīng)典學(xué)習(xí)視頻推薦: 1、Linux學(xué)習(xí)建議2、UNIX like系統(tǒng)的特點(diǎn)3、UNIX原則4、系統(tǒng)結(jié)構(gòu)與終端控制臺(tái)5、RHEL5 Linux安裝6、Linux下尋求幫助7、文件相關(guān)命令初步8、系統(tǒng)命令初步9、用戶及組管理初步10、文件屬性11、文件夾屬性及umask12、Linux編輯器及VIM初步13、Linux查找及壓縮14、文本處理及正則表達(dá)式15、linux下X圖形顯示體系16、進(jìn)程控制17、進(jìn)程優(yōu)先級(jí)前臺(tái)后臺(tái)18、變量快捷鍵19、bash運(yùn)算符及啟動(dòng)腳本20、shell腳本及交互121、shell腳
11、本及交互222、shell腳本流程控制23、shell腳本sed&awk24、Linux安裝軟件 基礎(chǔ)學(xué)習(xí)-C語言 C語言是嵌入式開發(fā)必備的基礎(chǔ)知識(shí)。在Linux下從事C語言的開發(fā),你會(huì)覺得更為順暢、更為自然,因?yàn)镃語言是因unix的出現(xiàn)而誕生的,Linux內(nèi) 核幾乎完全是由C語言編寫完成的。學(xué)習(xí)C語言,如果不會(huì)用指針,那么就稱不上會(huì)C語言。做嵌入式開發(fā)指針更顯得尤為重要,所以做嵌入式開發(fā)除了掌握位操 作、限定詞等,對(duì)指針的掌握是不可或缺的。而且要掌握多級(jí)指針、函數(shù)指針等等。涉及到指針,那么就
12、會(huì)講到內(nèi)存分配。在大學(xué)中,學(xué)習(xí)C語言一般的學(xué)習(xí)很少講 到內(nèi)存分配,但是如果期望從事嵌入式開發(fā),那么就必須懂得C語言是怎么做內(nèi)存分配管理的。指針之外,還要學(xué)習(xí)模塊化編譯處理、指針與數(shù)組、gcc、 Makefile、GDB、遞歸、結(jié)構(gòu)體、宏定義使用等。C語言是整棟嵌入式大廈的基礎(chǔ),所以在學(xué)習(xí)嵌入式時(shí),必須把C語言重視起來,多敲代碼,多練。一 名優(yōu)秀的程序員必定是通過“體力勞動(dòng)”再轉(zhuǎn)向“腦力勞動(dòng)的”,這也是為什么我們要有“寫不出代碼=0”思想的原因所在。 如果說C語言相當(dāng)于文字,那么數(shù)據(jù)結(jié)構(gòu)就相當(dāng)于在造句、寫文章。代碼質(zhì)量有一部分取決于對(duì)數(shù)據(jù)結(jié)構(gòu)的掌握程度。在數(shù)據(jù)結(jié)構(gòu)部分我們要把鏈表、樹、
13、排序作 為學(xué)習(xí)重點(diǎn)。而且我們也可以查看一些比較常見的函數(shù)(如strcopy、strcat、printf等)在內(nèi)核中是如何實(shí)現(xiàn)的,以及編寫代碼模擬堆棧,這 不僅有利于編寫代碼質(zhì)量的提高,而且還可以初步了解Linux內(nèi)核精髓,為今后工作打下堅(jiān)實(shí)的基礎(chǔ)。 C+、QT在嵌入式開發(fā)領(lǐng)域,是用來開發(fā)圖形界面的,希望從事上層應(yīng)用開發(fā)及圖形界面,那么在C+、QT方面需要比較深入的學(xué)習(xí)。 A)經(jīng)典書籍推薦: (C基礎(chǔ)可以隨意挑選基本。C+必須看) Linux C程序設(shè)計(jì)大全Linux s
14、hell(熟練shell,熟悉QT,能做出小項(xiàng)目。 精通Linux C 程序設(shè)計(jì))B)經(jīng)典學(xué)習(xí)視頻推薦:1-1c語言編輯器vi的使用1-2c語言編譯過程及編譯器gcc2-1c語言的數(shù)據(jù)類型2-2數(shù)據(jù)快速引用2-3c語言運(yùn)算符及表達(dá)式3-1c語言的分支結(jié)構(gòu)3-2c語言的循環(huán)結(jié)構(gòu)4-1c語言函數(shù)的定義及傳4-2c語言函數(shù)調(diào)用5-1-1c語言的一維數(shù)組5-1-2二維數(shù)組及多維數(shù)組5-1-3c語言字符數(shù)組5-2-1c語言結(jié)構(gòu)體-Struct5-2-2C語言聯(lián)合體-Union6-1c語言指針的概念6-2c語言指針與一維數(shù)組6-3指針與二維數(shù)組及字符6-4指針與結(jié)構(gòu)體、聯(lián)合體6-5c語言指針與函數(shù)6-6c
15、語言指針常量與常量7c語言存儲(chǔ)空間管理8-1c語言存儲(chǔ)模型分析8-2雙向循環(huán)鏈表的創(chuàng)建增8-3雙向循環(huán)鏈表的數(shù)據(jù)管 C)經(jīng)典學(xué)習(xí)案例:1、學(xué)員成績(jī)管理系統(tǒng)2、計(jì)算器3、電子詞典4、文件壓縮器(可以試著在Linux 環(huán)境下開發(fā)) 基礎(chǔ)進(jìn)階-Linux應(yīng)用程序設(shè)計(jì) Linux的思想源于Unix。Linux繼承了Unix的優(yōu)點(diǎn),但是沒有用UNIX的代碼,所有程序都是重新編寫的,而且Linux與Unix的源碼級(jí)兼容。Linux是類Unix操作系統(tǒng)。Linux 不僅符合 POSIX 標(biāo)準(zhǔn),而且還包括其它 UNIX 標(biāo)準(zhǔn)的多種
16、特性,例如,UNIX 的 System V 接口文檔(System V Interface Document,SVID)和伯克利軟件發(fā)布(Berkeley Software Distribution,BSD)版本。Linux 采用了折衷的策略,包含了 UNIX 幾個(gè)典型特性當(dāng)中最實(shí)用的一些功能: Linux 采用了 SVR4 的進(jìn)程間通信(IPC)機(jī)制:共享內(nèi)存、消息隊(duì)列、信號(hào)。 Linux 支持 BSD Socket 網(wǎng)絡(luò)編程接口。 許多 Linux 發(fā)
17、行版采用 SysV init 機(jī)制,支持運(yùn)行級(jí)別。此階段的學(xué)習(xí)是從事嵌入式上層應(yīng)用開發(fā)以及底層開發(fā)人員的必修課程。進(jìn)程、線程、信號(hào)、文件鎖、socket是這部分內(nèi)容的重點(diǎn)。要把這些內(nèi)容學(xué)的透徹非要下些苦功夫不可。而且函數(shù)是系統(tǒng)提供給我們的,難免要對(duì)計(jì)算機(jī)系統(tǒng)深入理解一番。TCP/IP協(xié)議也是要涉及到的。有問題建議用Google搜索及登陸chinaunix論壇。通過這個(gè)階段的學(xué)習(xí),我們就可以初步實(shí)現(xiàn)一些應(yīng)用程序的開發(fā)了,如做自己的shell命令解析器、簡(jiǎn)單的聊天軟件、視頻多播等。A)經(jīng)典書籍推薦: B)經(jīng)典學(xué)習(xí)視頻推薦: Linux網(wǎng)絡(luò)開發(fā)-1、ARP攻擊原理Li
18、nux網(wǎng)絡(luò)開發(fā)-2、ARP攻擊實(shí)例分析Linux網(wǎng)絡(luò)開發(fā)-3、ARP攻擊程序代碼分析和socket構(gòu)造C)經(jīng)典學(xué)習(xí)案例:1、串口監(jiān)聽程序 2、圖片瀏覽器 3、MP3播放器 4、聊天程序 5、 ftp程序6、音頻廣播程序 7、ping的實(shí)現(xiàn) 8、DDos攻擊程序
19、160; 9、ARP攻擊程序個(gè)人意見在學(xué)習(xí)ARM之一還可以一個(gè)階段 1. 微機(jī)原理 書籍網(wǎng)上到處都是自己選2匯編王爽 匯編語言 入門學(xué)習(xí) (自己再到網(wǎng)上找一本練習(xí),實(shí)驗(yàn)的書)(單片機(jī)開發(fā)箱)完成開發(fā)箱中的所有實(shí)驗(yàn),視頻嵌入式入門-ARM體系結(jié)構(gòu) 從這部分開始,我們將真正進(jìn)入嵌入式開發(fā)學(xué)習(xí)階段。首先我們要知道采用哪種處理器。目前通用嵌入式處理器有ARM、MIPS、PowerPC、X86等。從市場(chǎng)產(chǎn)品占有率上看,ARM處理器遠(yuǎn)遠(yuǎn)領(lǐng)先于同類其它處理器,并逐步掠奪傳統(tǒng)51單片機(jī)和英特爾市場(chǎng)份額。據(jù)招聘網(wǎng)站統(tǒng)計(jì),目前用人
20、單位在技術(shù)水平上要求開發(fā)人員掌握ARM9及以上平臺(tái)的開發(fā)技術(shù)。ARM公司在發(fā)布ARM11產(chǎn)品后,更改以往的數(shù)字標(biāo)記更新方式,轉(zhuǎn)為發(fā)布ARM Cortex。但是Cortex并不是更高端,而是全新系列的處理器,比如Cortex M3,它主要應(yīng)用于機(jī)械加工、工控領(lǐng)域,目的是取代以前的ARM7處理器。 在開始學(xué)習(xí)前,建議有一塊自己的開發(fā)板,目前ARM9 2440的開發(fā)板價(jià)格在400-600元之間,ARM11 6410的開發(fā)板價(jià)格要高一些,最便宜的也要1200元以上。在此,提醒大家盡量不要買mini開發(fā)板,雖然mini開發(fā)板的價(jià)格要便宜些,
21、但是與正常開發(fā)板相比,mini板功能是不完善的。嵌入式匯編有別于X86匯編,所以如果以前沒有接觸過匯編語言,那么沒有必要先去學(xué)X86匯編再學(xué)嵌入式匯編,可以直接學(xué)習(xí)嵌入式匯編。除了匯編我們還要學(xué)習(xí)ARM指令集。有了開發(fā)板,我們要下載相對(duì)應(yīng)處理器的DataSheet及開發(fā)板電路原理圖。ARM體系結(jié)構(gòu)的學(xué)習(xí)我們是不能完全照抄別人代碼的,因?yàn)槲覀冏约菏种械拈_發(fā)板及處理器與別人是不同的,除非所用的代碼是根據(jù)你手中的開發(fā)板來編寫的。所以,我們要先去看書、看視頻資料理解原理及工作方式等,然后根據(jù)自己開發(fā)板的電路原理圖和DataSheet來編寫代碼,達(dá)到理解外圍設(shè)備工作原理和操作硬件的目的。B)經(jīng)典學(xué)習(xí)視頻
22、推薦:1)嵌入式掃盲篇 嵌入式漫談1嵌入式漫談2嵌入式漫談3十問嵌入式1-什么是嵌入式,創(chuàng)業(yè)十問嵌入式2-嵌入式實(shí)例iphone十問嵌入式3-嵌入式前景十問嵌入式4-嵌入式學(xué)習(xí)十問嵌入式5-ARM概述十問嵌入式6-ARM概述 開發(fā)板十問嵌入式7-ARM與單片機(jī)十問嵌入式8-匯編語言的作用十問嵌入式9-操作系統(tǒng)的選擇十問嵌入式10-編程語言選擇 2)嵌入式開發(fā)概述 嵌入式開發(fā)入門經(jīng)典教程-1嵌入式開發(fā)入門經(jīng)典教程-2嵌入式開發(fā)入門經(jīng)典教程-3嵌入式開發(fā)入門經(jīng)典教程-4嵌入式開發(fā)入門經(jīng)典教程-5嵌入式開發(fā)入門經(jīng)典教程-6嵌入式開發(fā)入門經(jīng)典教程-
23、7嵌入式開發(fā)入門經(jīng)典教程-8嵌入式開發(fā)入門經(jīng)典教程-9嵌入式開發(fā)入門經(jīng)典教程-10嵌入式開發(fā)入門經(jīng)典教程-11嵌入式開發(fā)入門經(jīng)典教程-12嵌入式開發(fā)入門經(jīng)典教程-13 3)ARM體系結(jié)構(gòu)與Bootloader開發(fā)1、ARM基礎(chǔ)概念介紹與開發(fā)板使用教程2、編譯器高級(jí)應(yīng)用與裸機(jī)代碼編寫教程3、ARM指令與ARM匯編入門4、ARM匯編高級(jí)教程與APCS規(guī)范詳解5、ARM體系結(jié)構(gòu)詳解與異常處理機(jī)制6、ARM中斷機(jī)制詳解與Watchdog驅(qū)動(dòng)開發(fā)實(shí)例7-1、ARM外部中斷機(jī)制詳解與LED驅(qū)動(dòng)開發(fā)實(shí)例7-2、ARM嵌入式開發(fā)之ARM外部中斷機(jī)制詳解與實(shí)例8、AMBA總線結(jié)構(gòu)與ARM時(shí)
24、鐘配置9、時(shí)序圖詳解與NAND FLASH驅(qū)動(dòng)開發(fā)實(shí)例10-1、內(nèi)存控器與SDRAM原理詳解(上)10-2、內(nèi)存控器與SDRAM原理詳解(下)11、UART串口詳解與通信開發(fā)實(shí)例12、ARM協(xié)處理器CP15配置原理13、從零開始寫B(tài)ootloader開發(fā)過程詳解C)經(jīng)典學(xué)習(xí)案例:1. ARM模擬器開發(fā) 2. Watchdog控制程序 3. RTC時(shí)鐘控制程序4. Uart控制程序 &
25、#160; 5. LCD控制程序 6. 觸摸屏控制程序7. DMA控制程序 8. 音頻控制程序 9. 網(wǎng)卡控制程序10. 文件系統(tǒng)制作
26、 11. ARM-Linux移植這是ARM裸機(jī)編程,熟悉ARM體系結(jié)構(gòu)(視頻太大,以后給鏈接)這是熟悉Linux內(nèi)核啟動(dòng)和根文件系統(tǒng)視頻太大,以后給鏈接)嵌入式提升-Linux內(nèi)核、驅(qū)動(dòng) 眾所周知嵌入式開發(fā)包含至少兩個(gè)級(jí)別,一個(gè)是嵌入式內(nèi)核驅(qū)動(dòng)級(jí)別,另外一個(gè)是嵌入式應(yīng)用層開發(fā),而薪酬高的、最具價(jià)值的無疑是嵌入式內(nèi)核驅(qū)動(dòng)級(jí)別的開發(fā)者。真正的嵌入式高手或者企業(yè)中的核心開發(fā)人員,一定是嵌入式底層的內(nèi)核驅(qū)動(dòng)開發(fā)工程師,這些工程師成長(zhǎng)比較緩慢,造成對(duì)內(nèi)核驅(qū)動(dòng)人才的大量需求,所以這些人才是真正企業(yè)需要的香餑餑。
27、掌握驅(qū)動(dòng)開發(fā)會(huì)讓自己的核心能力有極大的飛躍,真正實(shí)現(xiàn)嵌入式最有價(jià)值的就業(yè)。 由于Linux內(nèi)核更新速度很快,書籍和視頻不可能及時(shí)更新,所以我們?cè)倏磿鸵曨l后,要自己動(dòng)手下載內(nèi)核源碼包,去看內(nèi)核中的代碼,在這里可以充分檢驗(yàn)C語言、數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)知識(shí)的掌握程度。而驅(qū)動(dòng)的編寫還是要借助外設(shè)硬件電路原理圖和芯片手冊(cè)。內(nèi)核和驅(qū)動(dòng)的知識(shí)是讓我們根據(jù)不同的硬件,編寫對(duì)應(yīng)的驅(qū)動(dòng)、合理剪裁內(nèi)核、制作文件系統(tǒng),并移植到硬件開發(fā)板上。如果手里有ARM11 6410及以上的開發(fā)板,可以試試在裸板上編寫驅(qū)動(dòng)并移植Android系統(tǒng)到開發(fā)
28、板上吧。B)經(jīng)典學(xué)習(xí)案例:1. GPIO驅(qū)動(dòng) 2. RTC時(shí)鐘驅(qū)動(dòng) 3. WatchDog驅(qū)動(dòng) 4. Udev移植 5. 觸摸屏輸入設(shè)備驅(qū)動(dòng)6. LCD顯示設(shè)備驅(qū)動(dòng) 7. DMA驅(qū)動(dòng) 8. 音頻設(shè)備驅(qū)動(dòng) 9. Nand
29、Flash塊設(shè)備驅(qū)動(dòng) 10. 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)學(xué)會(huì)簡(jiǎn)單的驅(qū)動(dòng)開發(fā)UEA-嵌入式底層驅(qū)動(dòng)開發(fā)者 V8.2版-項(xiàng)目案例 嵌入式開發(fā)課程涉及領(lǐng)域非常廣泛。從硬件時(shí)序圖到體系機(jī)構(gòu)、從驅(qū)動(dòng)到各種協(xié)議規(guī)范、從操作系統(tǒng)內(nèi)核到應(yīng)用層開發(fā)。整個(gè)過程觸及海量的系統(tǒng)開發(fā)知識(shí)和少量硬件體系知識(shí)。嵌入式開發(fā)分成應(yīng)用層開發(fā)和底層驅(qū)動(dòng)開發(fā)。伴隨著嵌入式領(lǐng)域如消費(fèi)電子、移動(dòng)設(shè)備、智能工控等行業(yè)應(yīng)用的興起,龐大的市場(chǎng)需求刺激了眾多企業(yè)紛紛投向嵌入式開發(fā)行業(yè)。行業(yè)的迅猛增長(zhǎng)伴隨著人才需求的極度短缺,國(guó)內(nèi)大學(xué)教育與實(shí)際需求脫軌的同
30、時(shí),造成了人才斷層,所以一門好的嵌入式課程必須有足夠的嵌入式項(xiàng)目實(shí)踐做支撐。企業(yè)實(shí)際開發(fā)項(xiàng)目 Linux環(huán)境下的視頻點(diǎn)播系統(tǒng) 從零開發(fā)ARM-Linux嵌入式設(shè)備的Bootloader Android智能手機(jī) ARM Cortex A9雙核平板電腦1、Linux環(huán)境下的視頻點(diǎn)播系統(tǒng) &
31、#160; PPLIVE、PPS等網(wǎng)絡(luò)電視相對(duì)于傳統(tǒng)電視由于提供靈活的點(diǎn)播方式,倍受人們歡迎?;贑/S架構(gòu)的網(wǎng)絡(luò)程序不僅用于網(wǎng)絡(luò)電視,同樣適用于嵌入式領(lǐng)域的網(wǎng)絡(luò)程序,如QQ的服務(wù)端軟件、網(wǎng)絡(luò)游戲、銀行使用的排號(hào)機(jī)、餐廳的點(diǎn)餐系統(tǒng)等。而這些系統(tǒng)服務(wù)器端大多數(shù)才用的是UNIX/LINUX平臺(tái)的系統(tǒng)及網(wǎng)絡(luò)程序。通過該項(xiàng)目的演練,可以為目前最熱門的研發(fā)職業(yè)生涯打下堅(jiān)實(shí)的技術(shù)基礎(chǔ)。該項(xiàng)目目前用于尚觀內(nèi)部學(xué)員自習(xí)時(shí)間觀看教學(xué)視頻。項(xiàng)目說明視頻2、從零開發(fā)ARM-Linux嵌入式設(shè)備的Bootloader
32、0; 一個(gè)嵌入式 Linux 系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次: 引導(dǎo)加載程序、Linux 內(nèi)核、文件系統(tǒng)、用戶應(yīng)用程序。簡(jiǎn)單地說,BootLoader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。 通常,BootLoader 是嚴(yán)重地依賴于硬件而實(shí)現(xiàn)的,所以就要求嵌入式開發(fā)從業(yè)人員必須具備開發(fā)Bootloader的能力。尚觀要求學(xué)員具備從零首寫B(tài)ootloader的能力,這樣不僅能輕松勝任企業(yè)職位要求,對(duì)于掌
33、握真正嵌入式開發(fā)本質(zhì)具有強(qiáng)有力的幫助。 3、Android智能手機(jī) Google的Android系統(tǒng)不僅取得了手機(jī)市場(chǎng)廣闊占有率,同時(shí)也被平板電腦廠商和其他智能終端以及大量的嵌入式設(shè)備生產(chǎn)廠商所采用。這主要?dú)w結(jié)于Android的開源、可修改、可移植等特性。采用Android系統(tǒng)不僅能減少企業(yè)產(chǎn)品研發(fā)人力、財(cái)力的投入,還能幫助企業(yè)縮短研發(fā)周期增快產(chǎn)品上市速度,保證產(chǎn)品具備先期競(jìng)爭(zhēng)實(shí)力。Android的普及勢(shì)必促使研發(fā)人員具備底層驅(qū)動(dòng)研發(fā)能力。尚觀以企業(yè)實(shí)際Android手機(jī)研發(fā)為實(shí)例,基于AR
34、M11 6410平臺(tái)真實(shí)開發(fā)底層驅(qū)動(dòng),移植Android系統(tǒng),最終實(shí)現(xiàn)Android智能手機(jī)。 4、ARM Cortex A9雙核平板電腦 該項(xiàng)目直接在雙核A9處理器上運(yùn)行主流的Android系統(tǒng),學(xué)員需要憑借ARM11的經(jīng)驗(yàn)再進(jìn)一步理解更新架構(gòu),在原來代碼的基礎(chǔ)上,重寫基于A9的Bootloader及相關(guān)驅(qū)動(dòng),讓Android系統(tǒng)運(yùn)行在A9雙核處理器上。該平臺(tái)采用7寸平板顯示,擁有主流智能平板配置。 技術(shù)強(qiáng)化真實(shí)案例1、嵌入式C語言強(qiáng)化部分案例
35、 自己設(shè)計(jì)一個(gè)指法練習(xí)的游戲程序 自己設(shè)計(jì)一個(gè)漢諾塔游戲2、數(shù)據(jù)結(jié)構(gòu)部分案例 成績(jī)管理系統(tǒng) 電子詞典 文件壓縮器
36、0; 計(jì)算器3、c+程序設(shè)計(jì)案例 串口監(jiān)聽程序 模板庫的實(shí)現(xiàn)(MyTL) 編寫自己的圖片瀏覽器4、Linux系統(tǒng)程序設(shè)計(jì)案例 串口監(jiān)聽程序
37、60; 圖片瀏覽器 MP3播放器5、Linux網(wǎng)絡(luò)程序設(shè)計(jì)案例 聊天程序 ftp程序 ping的實(shí)現(xiàn)
38、0; DDos攻擊程序 ARP攻擊程序6、ARM嵌入式開發(fā)案例 ARM模擬器開發(fā) Watchdog控制程序 RTC時(shí)鐘控制程序 Uart控制程序 LCD控制程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2017村黨支部書記述職報(bào)告范文3篇
- 胎盤EVs在細(xì)胞信號(hào)轉(zhuǎn)導(dǎo)中的應(yīng)用-洞察分析
- 碳金融產(chǎn)品創(chuàng)新案例-洞察分析
- 專題2.1 有理數(shù)的加法【八大題型】(舉一反三)(人教版2024)(解析版)
- 無人駕駛在交通領(lǐng)域的應(yīng)用研究-洞察分析
- 投資管理行業(yè)數(shù)字化轉(zhuǎn)型-洞察分析
- 藝術(shù)教育政策環(huán)境分析-洞察分析
- 私募行業(yè)的大數(shù)據(jù)挖掘與價(jià)值發(fā)現(xiàn)-洞察分析
- 響應(yīng)式UI框架探索-洞察分析
- 甜菊苷在食品工業(yè)中的應(yīng)用-洞察分析
- 2024年泉州德化城建集團(tuán)招聘筆試參考題庫含答案解析
- 負(fù)指數(shù)冪的計(jì)算題50道初一
- 壓力管道無損檢測(cè)通用工藝
- 南京市玄武區(qū)北京東路小學(xué)六年級(jí)上冊(cè)期末數(shù)學(xué)試卷及答案
- 北京二中學(xué)教育集團(tuán)2024屆數(shù)學(xué)八上期末綜合測(cè)試試題含解析
- 甲基丙二酸血癥
- 23秋國(guó)家開放大學(xué)《液壓氣動(dòng)技術(shù)》形考任務(wù)1-3參考答案
- 移動(dòng)時(shí)代騰訊O2O戰(zhàn)略研究
- 公司勞動(dòng)紀(jì)律考核辦法
- 21ZJ111 變形縫建筑構(gòu)造
- 三年級(jí)上冊(cè)美術(shù)教學(xué)設(shè)計(jì)-第19課吉祥虎 贛美版
評(píng)論
0/150
提交評(píng)論