android嵌入式底層開發(fā)大綱復(fù)習(xí)進(jìn)程_第1頁(yè)
android嵌入式底層開發(fā)大綱復(fù)習(xí)進(jìn)程_第2頁(yè)
android嵌入式底層開發(fā)大綱復(fù)習(xí)進(jìn)程_第3頁(yè)
android嵌入式底層開發(fā)大綱復(fù)習(xí)進(jìn)程_第4頁(yè)
android嵌入式底層開發(fā)大綱復(fù)習(xí)進(jìn)程_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。android嵌入式底層開發(fā)大綱-課程針對(duì)人群類別描述A熟悉.NET,J2EE應(yīng)用開發(fā),希望往嵌入式底層學(xué)習(xí)的工程師B熟悉Android應(yīng)用和框架開發(fā),希望從上到下走通Android系統(tǒng)的工程師C不希望局限在上層,希望做驅(qū)動(dòng),做系統(tǒng)移植的工程師D基礎(chǔ)良好的在讀研究生或者即將畢業(yè)的應(yīng)屆畢業(yè)生E有手機(jī)硬件維修基礎(chǔ),希望走向軟件開發(fā)的特殊愛好者學(xué)習(xí)課程的能力要求操作系統(tǒng)Linux基本操作-安裝和簡(jiǎn)單的常規(guī)操作開發(fā)語言C語言達(dá)到能夠使用水平,懂匯編更好框架N/A數(shù)據(jù)庫(kù)N/A其它簡(jiǎn)單的電路圖基礎(chǔ)(可選)課程掌握后

2、的能力值概述(技能目標(biāo))再次復(fù)習(xí)操作系統(tǒng)原理,編譯原理,數(shù)據(jù)結(jié)構(gòu),電路基礎(chǔ),數(shù)控模電知識(shí)熟練掌握Linux操作系統(tǒng)使用,包括命令,Shell,系統(tǒng)配置熟練進(jìn)行Linux下應(yīng)用編程及系統(tǒng)調(diào)用掌握ARM體系結(jié)構(gòu)以及基礎(chǔ)裸板開發(fā),Bootloader開發(fā)掌握Linux內(nèi)核原理,熟悉Linux系統(tǒng)開發(fā),內(nèi)核裁減,調(diào)試。掌握Linux常用接口驅(qū)動(dòng)開發(fā)及系統(tǒng)移植掌握Android常用驅(qū)動(dòng)開發(fā)及系統(tǒng)移植課程掌握后的職業(yè)定位(職業(yè)目標(biāo))學(xué)完后具備相當(dāng)于1-2年Linux及Android底層開發(fā)的經(jīng)驗(yàn)Linux及Android驅(qū)動(dòng)開發(fā)工程師Linux及Android系統(tǒng)工程師課程大綱階段課程名稱課程描述第一階段

3、:Linux基礎(chǔ)和語言基礎(chǔ)Linux基礎(chǔ)及操作系統(tǒng)框架概述Linux系統(tǒng)層次結(jié)構(gòu)介紹Linux常用命令及viLinux常用操作命令使用學(xué)習(xí)及Vi文本編輯工具使用Linux系統(tǒng)設(shè)置Linux各類系統(tǒng)服務(wù)配置學(xué)習(xí)C語言重點(diǎn)難點(diǎn)講解在學(xué)員C語言基礎(chǔ)知識(shí)之上,講解講解C語言的重點(diǎn)知識(shí),包括函數(shù)與程序結(jié)構(gòu)、指針、數(shù)組、常用算法、庫(kù)函數(shù)的使用等知識(shí),另外,本節(jié)還重點(diǎn)講解數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)內(nèi)容,包括鏈表、隊(duì)列、棧、樹、哈希表、圖等內(nèi)容。LinuxShell編程以BashShell講解LinuxShell編程,訓(xùn)練學(xué)員熟練掌握Shell編程第二階段:Linux應(yīng)用開發(fā)及系統(tǒng)調(diào)用GNU開發(fā)環(huán)境基礎(chǔ)GNU開發(fā)環(huán)境介紹

4、GCC編譯器GDB調(diào)試GNUMakefileMaikefile文件編寫Linux嵌入式系統(tǒng)開發(fā)環(huán)境搭建嵌入式開發(fā)環(huán)境基礎(chǔ),嵌入式開發(fā)方法使用12合并,jlink燒寫過程,usb和tftp燒寫過程,nfs啟動(dòng),交叉編譯Linux應(yīng)用系統(tǒng)開發(fā)基礎(chǔ)強(qiáng)化對(duì)Linux應(yīng)用開發(fā)的理解和編碼調(diào)試的能力,講解Linux系統(tǒng)調(diào)用學(xué)習(xí)理念及思路Linux文件I/O編程詳細(xì)講解Linux文件操作類庫(kù),調(diào)用及案例Linux進(jìn)程控制詳細(xì)講解Linux進(jìn)程結(jié)構(gòu),Linux進(jìn)程控制原理,守護(hù)進(jìn)程,系統(tǒng)類庫(kù),調(diào)用及案例Linux進(jìn)程間通訊詳細(xì)講解進(jìn)程間通訊機(jī)制,講解管道,信號(hào),信號(hào)量,共享內(nèi)存,消息隊(duì)列等機(jī)制及系統(tǒng)類庫(kù)的學(xué)習(xí)

5、,調(diào)用和案例Linux多線程編程詳細(xì)講解Linux線程機(jī)制,多線程實(shí)現(xiàn)原理,線程基本編程,線程的同步與互斥,權(quán)重,熟悉系統(tǒng)類庫(kù),調(diào)用及案例Linux網(wǎng)絡(luò)編程Linux下的Socket編程,TCP/IP編程(包含TCP,UDP),實(shí)現(xiàn)自己的網(wǎng)絡(luò)協(xié)議第三階段:ARM體系結(jié)構(gòu)及裸板開發(fā)嵌入式系統(tǒng)及微處理器概述嵌入式系統(tǒng)介紹,微處理器介紹,嵌入式系統(tǒng)開發(fā)流程嵌入式電路圖基礎(chǔ)熟悉嵌入式電路基礎(chǔ),是看圖的基本功,這樣無論是接觸到什么樣的板子和硬件都能夠輕松上手ARM處理器系統(tǒng)結(jié)構(gòu)ARM處理器系統(tǒng)結(jié)構(gòu)ARM總線方式及存儲(chǔ)器結(jié)構(gòu)層次ARM總線方式及存儲(chǔ)器結(jié)構(gòu)層次ARM指令集及尋址方式,Thumb指令A(yù)RM指令

6、集及尋址方式,Thumb指令A(yù)RM開發(fā)環(huán)境ADS應(yīng)用ADS開發(fā)環(huán)境的基本配置及使用介紹ARM匯編及混合編程ARM匯編指令及混合編程介紹Bootloader介紹及Uboot結(jié)構(gòu)講解講解Bootloader原理,特性,設(shè)計(jì)概要,并且以優(yōu)秀的Uboot為例來闡述Uboot全方位(移植,修改,編譯,生成,燒寫)Bootloader是系統(tǒng)啟動(dòng)的重要環(huán)節(jié),Uboot作為目前最常用最主流的Bootloader系統(tǒng),我們通過對(duì)它的修改,編譯,燒寫深入研究系統(tǒng)啟動(dòng)機(jī)制ARM硬件接口開發(fā)ARM的常用接口開發(fā)及硬件電路設(shè)計(jì)基礎(chǔ)(包括IO、串口、看門狗、實(shí)時(shí)時(shí)鐘、SPI、IIC、掃描鍵盤、FLASH操作等),也是驅(qū)動(dòng)

7、開發(fā)基本功裸板驅(qū)動(dòng)開發(fā)常見的驅(qū)動(dòng)開發(fā):LED,F(xiàn)lash,SDCard第四階段:Linux內(nèi)核及驅(qū)動(dòng)開發(fā)嵌入式Linux系統(tǒng)開發(fā)及移植搭建嵌入式Linux運(yùn)行環(huán)境,內(nèi)容包括內(nèi)核裁減、內(nèi)核移植、交叉編譯、內(nèi)核調(diào)試、啟動(dòng)程序Bootloader編寫、根文件系統(tǒng)制作和集成部署Linux系統(tǒng)等整個(gè)流程。Linux內(nèi)核原理概要Linux內(nèi)核架構(gòu),內(nèi)核模塊分類,內(nèi)核啟動(dòng)過程Linux內(nèi)核配置與裁減學(xué)習(xí)Linux內(nèi)核修改,增加配置及裁減,編譯Linux內(nèi)核編程深入內(nèi)核細(xì)節(jié),研究Linux相關(guān)運(yùn)行機(jī)理,分析內(nèi)核源碼結(jié)構(gòu)、內(nèi)存管理、進(jìn)程管理、中斷管理、系統(tǒng)調(diào)用、內(nèi)核同步、時(shí)鐘和定時(shí)器管理、信號(hào)、調(diào)度、進(jìn)程間通信

8、、文件系統(tǒng)和I/O設(shè)備管理等方面的內(nèi)容。Linux驅(qū)動(dòng)開發(fā)基礎(chǔ)熟悉Linux驅(qū)動(dòng)開發(fā)相關(guān)概念及開發(fā)流程,了解驅(qū)動(dòng)涉及到的關(guān)鍵技術(shù)點(diǎn),并重點(diǎn)學(xué)習(xí)字符設(shè)備驅(qū)動(dòng)開發(fā),包括串口、I/O、看門狗、實(shí)時(shí)時(shí)鐘、SPI、IIC、掃描鍵盤、A/D轉(zhuǎn)換、定時(shí)器等接口的驅(qū)動(dòng)開發(fā),為后續(xù)深入學(xué)習(xí)驅(qū)動(dòng)高級(jí)開發(fā)打好基礎(chǔ)。Linux驅(qū)動(dòng)開發(fā)深入講解嵌入式Linux下常用接口驅(qū)動(dòng)的編寫方法,內(nèi)容包括:1、flash驅(qū)動(dòng):掌握在linux環(huán)境下驅(qū)動(dòng)常見flash存儲(chǔ)器(norflash、nandflash);2、塊設(shè)備驅(qū)動(dòng):掌握塊設(shè)備驅(qū)動(dòng)的原理、學(xué)會(huì)ramdisk的編寫;3、網(wǎng)卡驅(qū)動(dòng):掌握網(wǎng)卡設(shè)備的編寫原理、能夠熟練移植各種網(wǎng)

9、卡驅(qū)動(dòng)。在對(duì)網(wǎng)卡硬件寄存器熟悉的基礎(chǔ)上,有能力為其編寫出完善的網(wǎng)卡驅(qū)動(dòng);4、液晶驅(qū)動(dòng):掌握frambuffer驅(qū)動(dòng)的原理。有能力在有控制器的嵌入式平臺(tái)上參考液晶手冊(cè)實(shí)現(xiàn)各種常見液晶驅(qū)動(dòng);5、sd卡驅(qū)動(dòng):掌握sdio接口操作,熟悉sd卡驅(qū)動(dòng)驅(qū)動(dòng)的原理;6、usb設(shè)備驅(qū)動(dòng):了解usb主機(jī)設(shè)備驅(qū)動(dòng)的結(jié)構(gòu)及編程方式。第五階段:Android驅(qū)動(dòng)開發(fā)及系統(tǒng)移植Android系統(tǒng)驅(qū)動(dòng)開發(fā)差異化我們知道Android是基于Linux內(nèi)核的,驅(qū)動(dòng)開發(fā)大同小異,但Android有自己的特有驅(qū)動(dòng),講解Android驅(qū)動(dòng)開發(fā)和Linux開發(fā)的相同點(diǎn)和不同點(diǎn)以及Android設(shè)計(jì)的差異化,并探討如果是我們?nèi)绾蝸碓O(shè)計(jì)A

10、ndroid特定驅(qū)動(dòng)開發(fā)研究Android特定驅(qū)動(dòng)開發(fā),包含:Ashmem:匿名共享內(nèi)存驅(qū)動(dòng)Logger:輕量級(jí)的Log驅(qū)動(dòng)Binder:基于OpenBinder改的驅(qū)動(dòng)提供Android平臺(tái)進(jìn)程間共享機(jī)制Alarm:定時(shí)器驅(qū)動(dòng)AndroidPowerManagement:電源管理LowMemoryKiller:內(nèi)存釋放AndroidPMEM:物理內(nèi)存驅(qū)動(dòng)Android系統(tǒng)移植概述結(jié)合官網(wǎng)和硬件講解Android系統(tǒng)移植思路及經(jīng)驗(yàn)總結(jié)AndroidRIL開發(fā)基礎(chǔ)Android手機(jī)的核心,RIL的開發(fā)基礎(chǔ)從上到下的剖析及修改,調(diào)試Webkit在Android上的移植結(jié)合Webkit類庫(kù)進(jìn)行修改,

11、裁減,擴(kuò)展,編譯及移植,并且擴(kuò)展加入WAC2.0和HTML5的支持。學(xué)習(xí)了這個(gè)類庫(kù),其它類庫(kù)原理是一樣的。課程總結(jié):未來是移動(dòng)的未來總結(jié)移動(dòng)終端,嵌入式設(shè)備的未來發(fā)展和技術(shù)走向問:需要什么基礎(chǔ)才能學(xué)習(xí)這個(gè)課程呢?答:C語言基礎(chǔ)以及聽過并且會(huì)安裝Linux操作系統(tǒng)即可參與這個(gè)課程。備注:C語言達(dá)到能夠使用以及看得懂的程度即可,基礎(chǔ)不牢靠的可以在課程中持續(xù)加強(qiáng)問:課程需要學(xué)習(xí)多久呢?答:整個(gè)課程要講解接近半年。但不需要等到整個(gè)課程全部結(jié)束才能做底層開發(fā)和找工作,事實(shí)上,2個(gè)月后你就可以逐步進(jìn)入嵌入式大門了,并且可以去找工作了。這個(gè)課程掌握所有知識(shí)點(diǎn)后相當(dāng)于1-2年的底層經(jīng)驗(yàn)了。問:課程的講課頻率呢

12、?答:因?yàn)镾undy不是超人,而且目前暫定是他一個(gè)人來完成課程(找了幾個(gè)合作講師,雖然知名,但都被SundyPass掉了),為了保證質(zhì)量,因此頻率定位一周2-3次。問:課程是基于什么開發(fā)板講解?答:課程基于廣州友善之臂的CortexA8開發(fā)板(Tiny210)講解,其實(shí)品牌無所謂的,原理明白了,什么品牌都可以快速上手問:一定要購(gòu)買開發(fā)板么??jī)r(jià)格如何呢?答:前兩個(gè)階段不需要開發(fā)板,由于課程會(huì)涉及到燒機(jī),驅(qū)動(dòng),Bootloader,講解電路,所以建議從第三階段開始準(zhǔn)備好開發(fā)板。我們不銷售開發(fā)板,選擇開發(fā)板和型號(hào)可以參考我們上方的表格問:課程學(xué)會(huì)之后,薪水會(huì)如何呢?答:相當(dāng)于1-2年的嵌入式工程師薪水如何,你可以自己去調(diào)研。但同樣會(huì)因?yàn)槟阒肮ぷ髂晗?,自己能力而因人而異,具體薪水范圍會(huì)在課程中講解到,我們貫穿始

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論