一、學(xué)習(xí)導(dǎo)語
互聯(lián)網(wǎng)+時代,高端 IT 人才缺口巨大!為優(yōu)秀人才搭建高端學(xué)習(xí)平臺,為卓越企業(yè)打造精英員工,華清遠(yuǎn)見結(jié)合自身優(yōu)勢特推出星創(chuàng)客精英訓(xùn)練營。由華清遠(yuǎn)見全國各大校區(qū)教學(xué)總監(jiān)和金牌講師親自授課,課程內(nèi)容涵蓋嵌入式開發(fā)、Android 開發(fā)、物聯(lián)網(wǎng)開發(fā)三大版塊。通過5 個月的時間,全面深入的學(xué)習(xí)嵌入式系統(tǒng)開發(fā),全方位打造頂級嵌入式工程師、嵌入式驅(qū)動高級工程師、嵌入式產(chǎn)品經(jīng)理、智能硬件產(chǎn)品經(jīng)理等高端 IT 開發(fā)人才!
二、課程目標(biāo)
通過本課程的系統(tǒng)學(xué)習(xí),可以使學(xué)員由淺入深地對嵌入式Linux 和Android 系統(tǒng)進(jìn)行全面學(xué)習(xí),能夠獨立勝任嵌入式Linux 和Android 兩個方向的開發(fā)工作。嵌入式Linux 方向包括C 語言開發(fā)、嵌入式Linux 應(yīng)用開發(fā)、系統(tǒng)開發(fā)、驅(qū)動開發(fā)等。Android 開發(fā)包括Android 應(yīng)用開發(fā)、Android 系統(tǒng)開發(fā)、Android 底層開發(fā)等。學(xué)習(xí)目標(biāo)如下:
1. 熟練使用Linux 操作系統(tǒng)
2. 精通Linux 下C 語言編程
3. 精通嵌入式Linux 應(yīng)用開發(fā)
4. 掌握ARM 處理器平臺及其接口硬件開發(fā)
5. 掌握嵌入式Linux 下Bootloader 的移植方法
6. 精通嵌入式Linux 內(nèi)核裁減移植及內(nèi)核調(diào)試
7. 精通嵌入式Linux 下常用接口的驅(qū)動開發(fā)
8. 熟悉Java 語言編程
9. 熟悉Android 應(yīng)用開發(fā)
10. 掌握基于Linux 內(nèi)核的Android 底層系統(tǒng)開發(fā)
11. 熟悉嵌入式Linux 實際項目案例開發(fā)流程
12. 熟悉基于Android 系統(tǒng)的實際項目案例開發(fā)流程
13. 掌握嵌入式Linux 內(nèi)核高級驅(qū)動的開發(fā)和移植
14. 掌握Andorid 高級驅(qū)動的開發(fā)和移植
15. 掌握物聯(lián)網(wǎng)傳感器和無線通信技術(shù)的開發(fā)
16. 掌握創(chuàng)客創(chuàng)業(yè)的流程和方法
三、課程特色
1、全面覆蓋流行的嵌入式與物聯(lián)網(wǎng)技術(shù)
課程涵蓋ARM 微處理器、Linux 操作系統(tǒng)內(nèi)核驅(qū)動、Linux 應(yīng)用開發(fā)技術(shù)、Android 底層移植、Android 應(yīng)用開發(fā)、ARM 微控制器開發(fā)、傳感器開發(fā)、ZigBee 短距離無線傳感網(wǎng)絡(luò)、Bluetooth BLE 藍(lán)牙通訊技術(shù)、RFID 射頻識別應(yīng)用開發(fā)、智能云服務(wù)器等流行技術(shù)的開發(fā)。這些即分屬不同層次,又相互關(guān)聯(lián),只有全面接觸,才能融會貫通。這也是目前硬 件智能化、網(wǎng)絡(luò)化、體系化的要求。
2、深入學(xué)習(xí)ARM、Linux 內(nèi)核驅(qū)動、Android 移植驅(qū)動等重點/難點內(nèi)容
ARM 處理器、Linux 內(nèi)核驅(qū)動、Android 移植驅(qū)動等內(nèi)容即是核心技術(shù),也是難點部分。課程對這部分內(nèi)容分為了初級階段和高級階段兩個部分,分別培養(yǎng)不同層次嵌入式工程師。學(xué)習(xí)高級階段課程,需要經(jīng)過選拔、考試環(huán)節(jié)。
3、多個流行的智能硬件實訓(xùn)項目
華清遠(yuǎn)見研發(fā)中心多年來打造了多種實用、專業(yè)的智能硬件開發(fā)項目。項目同樣不僅僅局限于傳統(tǒng)的開發(fā)板上,而是更多的應(yīng)用到各種智能系統(tǒng)中,如:智能家居、智能農(nóng)業(yè)、智能穿戴、智能TV、智能醫(yī)療等。詳見研發(fā)中心教學(xué)產(chǎn)品介紹。
4、專業(yè)的創(chuàng)客創(chuàng)業(yè)實踐課程
目前國家大環(huán)境鼓勵大學(xué)生自主創(chuàng)業(yè),對于掌握一技之長的大學(xué)生,創(chuàng)業(yè)雖然困難重重,但已經(jīng)是一種實實在在的選擇。智能硬件技術(shù)及相關(guān)行業(yè)更是處于一個快速發(fā)展階段,即需要更多的創(chuàng)新,同時也蘊含很多機會。授課的同時也會安排相關(guān)的課程及實踐環(huán)節(jié),幫助學(xué)員打開眼界。
四、詳細(xì)課程大綱
1、基礎(chǔ)補習(xí)課程
本階段學(xué)習(xí)目標(biāo)掌握Linux 操作系統(tǒng)的使用,打好C 語言基礎(chǔ)、進(jìn)一步深入學(xué)習(xí)C 語言高級編程,為將來應(yīng)用開發(fā)及Linux 底層驅(qū)動課程的學(xué)習(xí)打下良好基礎(chǔ)。通過本階段的學(xué)習(xí),學(xué)員還可以熟練使用Java 語言編程,為后期學(xué)習(xí)Android 相關(guān)課程,打下良好基礎(chǔ)。
基礎(chǔ)補習(xí)階段課程為贈送課程,提供在線學(xué)習(xí)視頻,學(xué)員自學(xué),不占5 個月總課程時間。正式課程中,老師會結(jié)合應(yīng)用帶學(xué)員回顧加深這部分內(nèi)容。
(1)嵌入式Linux 操作系統(tǒng)的使用
· Linux 開發(fā)環(huán)境的搭建
· Linux 內(nèi)核的起源、發(fā)展歷程以及目前廣泛的應(yīng)用場合
· Linux 系統(tǒng)的基本組成框架及組件功能
· Linux 下的文件管理、用戶管理、網(wǎng)絡(luò)管理、軟件管理等基本命令
· VI 編輯器,GCC 編譯器,GDB 調(diào)試器和 Make 項目管理工具使用
· shell 腳本編程
· 完成《文件管理器》和《用戶管理器》
(2)嵌入式Linux C 高級編程
· C 語言編程基礎(chǔ)知識
· 重點講解 C 語言的高級編程知識,包括函數(shù)與程序結(jié)構(gòu)、指針、數(shù)組、常用算法、庫函數(shù)的使用等知識
· 完成《字符串處理器》和《學(xué)生信息管理系統(tǒng)》
(3)數(shù)據(jù)結(jié)構(gòu)及經(jīng)典算法編程
· 本重點講解數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)內(nèi)容,包括順序表、鏈表、隊列、棧、樹、圖、哈希表、各種查找和排序算法等知識
· 完成:《死亡游戲》、《四則運算計算器》、《球鐘》、《電文編碼器》、《排課系統(tǒng)》
(4)Java 語言高級編程
· 掌握 Java 語言的基本語法和面向?qū)ο缶幊谭椒?/p>
· 理解 Java 中多線程編程,網(wǎng)絡(luò)編程及常用Java 類
· 完成《停車場系統(tǒng)模擬小項目》
2、應(yīng)用層核心課程
本階段學(xué)習(xí)的主要目標(biāo)是精通嵌入式Linux 下的程序設(shè)計,熟悉嵌入式Linux 開發(fā)流程,強化學(xué)員對Linux應(yīng)用開發(fā)的理解和編碼調(diào)試的能力。Android系統(tǒng)越來越多的應(yīng)用到嵌入式領(lǐng)域,本課程學(xué)習(xí)的另一個主要目標(biāo)是掌握Android應(yīng)用編程,可以完成Android平臺的應(yīng)用項目的編寫。
(1)Linux 系統(tǒng)文件I/O
· 系統(tǒng)編程、標(biāo)準(zhǔn)I/O、文件I/O
· Linux動態(tài)庫和靜態(tài)庫的制作和使用
· 完成:《硬盤性能測試》和《Linux系統(tǒng)命令ls的實現(xiàn)》
(2)Linux 系統(tǒng)并發(fā)編程
· 進(jìn)程的基礎(chǔ)知識、多進(jìn)程的創(chuàng)建和使用方法
· 進(jìn)程間通信的 7 種通信方法(無名管道、有名管道、信號、消息隊列、共享內(nèi)存、信號燈集、socket)
· 守護(hù)進(jìn)程的創(chuàng)建和使用方法
· 線程的基礎(chǔ)知識,多線程的創(chuàng)建和使用方法
· 線程間的同步與互斥
· 實現(xiàn)《守護(hù)進(jìn)程自動下載木馬的實現(xiàn)》和《多進(jìn)程并發(fā)下載》
(3)Linux 系統(tǒng)網(wǎng)絡(luò)編程
· 網(wǎng)絡(luò)體系結(jié)構(gòu)、TCP/IP協(xié)議、wireshark抓包工具的使用
· TCP及UDP編程實現(xiàn)
· 服務(wù)器模型,并發(fā)服務(wù)器的實現(xiàn)、網(wǎng)絡(luò)超時控制
· 網(wǎng)絡(luò)協(xié)議分析,網(wǎng)絡(luò)抓包實現(xiàn)
· 完成《TCP文件服務(wù)器》、《UDP網(wǎng)絡(luò)聊天室》、《ping客戶端》、《網(wǎng)絡(luò)嗅探器》
(4)嵌入式數(shù)據(jù)庫開發(fā)
· Sqlite3數(shù)據(jù)庫基本知識、SQL語句
· 命令方式操作Sqlite3數(shù)據(jù)庫
· C語言操作Sqlite3數(shù)據(jù)庫
· 完成《學(xué)生管理系統(tǒng)》和《在線詞典》
(5)Android 應(yīng)用開發(fā)基礎(chǔ)
· Android四大組件(Activity、Service、BroadcastReceiver、ContentProvide)
· Android常用UI控件和常用布局設(shè)計
· Android資源文件的使用
· Android進(jìn)程與線程
· Android文件存儲
· Android傳感器編程
· Android網(wǎng)絡(luò)編程
· Android多媒體編程
· 完成《仿酷我音樂器》和《彈力球游戲》
3、底層核心課程
本階段課程要求學(xué)員掌握ARM體系結(jié)構(gòu)基礎(chǔ)知識、ARM硬件接口編程方法,掌握Bootloader和Linux內(nèi)核的移植方法,根文件系統(tǒng)的制作,掌握Linux下的字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備的驅(qū)動程序開發(fā),能夠熟練的移植或編寫不同類型的設(shè)備驅(qū)動程序。
通過本階段課程學(xué)習(xí),學(xué)員可以掌握從Ubuntu系統(tǒng)上搭建Android開發(fā)環(huán)境開始,到最終Android系統(tǒng)硬件抽象層分析,從簡單到復(fù)雜,從基礎(chǔ)深入到架構(gòu),以源碼分析為主線,架構(gòu)設(shè)計理解為藍(lán)圖,上手實驗為目的,系統(tǒng)介紹Android系統(tǒng)移植與架構(gòu)開發(fā)要點。
(1)ARM 處理器編程
· ARM處理器體系結(jié)構(gòu)框架
· ARM處理器工作寄存器、ARM處理器流水線
· ARM處理器編程環(huán)境、調(diào)試和編程規(guī)則
· ARM處理器指令集和ARM指令尋址方式等
(2)ARM 硬件接口開發(fā)
· ARM 接口相關(guān)硬件基礎(chǔ)知識
· ARM處理器常用接口開發(fā)
(包括GPIO、串口、看門狗、PWM、ADC、RTC、SPI、I2C等)
· 物聯(lián)網(wǎng)基礎(chǔ)知識和物聯(lián)網(wǎng)常用傳感器學(xué)習(xí)
· 完成:
a. 基于Cortex‐A9 的溫度采集實驗
b. 基于Cortex‐A9的GPIO
c. 基于Cortex‐A9 的鍵盤驅(qū)動
d. 基于Cortex‐A9 的鬧鈴驅(qū)動
e. 基于Cortex‐A9的adc驅(qū)動
f. 基于Cortex‐A9 的flash讀寫實驗
(3)嵌入式Linux 系統(tǒng)開發(fā)
· 內(nèi)核源碼結(jié)構(gòu)
· 最新的Uboot‐201301移植到FS4412平臺上的過程
· 最新的內(nèi)核Linux‐3.14移植到在FS4412平臺上的過程
· 根文件系統(tǒng)制作的過程
· 設(shè)備樹的基本語法和編寫
· 完成:
a. 搭建交叉開發(fā)環(huán)境
b. 移植uboot支持FS4412開發(fā)板(Exynos4412)
c. 移植Linux3.14支持FS4412開發(fā)板
d. 制作自己的根文件系統(tǒng)
(4)Linux 內(nèi)核開發(fā)基礎(chǔ)
· 了解Linux相關(guān)運行機理,為后面的驅(qū)動開發(fā)打好理論基礎(chǔ),
· 內(nèi)核源碼結(jié)構(gòu)、內(nèi)存管理、進(jìn)程管理、中斷管理、系統(tǒng)調(diào)用、內(nèi)核同步
· 內(nèi)核中斷機制、時鐘和定時器管理、文件系統(tǒng)和I/O設(shè)備管理等
· 內(nèi)核模塊開發(fā)、內(nèi)核設(shè)備模型
· 完成:
a. 內(nèi)核模塊編寫、編譯和使用
b. 互斥機制、阻塞和非阻塞IO、設(shè)備輪詢、異步通知
c. 中斷注冊、中斷處理函數(shù)編寫、內(nèi)核相關(guān)延時機制
d. 內(nèi)核內(nèi)存分配、釋放和映射
e. 設(shè)備模型、設(shè)備節(jié)點自動創(chuàng)建
(5)Linux 內(nèi)核驅(qū)動開發(fā)
· Linux 內(nèi)核驅(qū)動開發(fā)基礎(chǔ)、字符設(shè)備驅(qū)動框架、塊設(shè)備驅(qū)動框架、網(wǎng)絡(luò)設(shè)備驅(qū)動框架、platform 驅(qū)動架構(gòu)、IIC 驅(qū)動架構(gòu)、SPI 驅(qū)動架構(gòu)
· Linux 字符設(shè)備驅(qū)動開發(fā)
· Linux 塊設(shè)備驅(qū)動開發(fā)
· Linux 網(wǎng)絡(luò)設(shè)備驅(qū)動開發(fā)
· 完成:
a. GPIO 接口驅(qū)動
b. 按鍵中斷接口驅(qū)動
c. PWM 接口驅(qū)動
d. ADC 接口驅(qū)動
e. I2C 接口驅(qū)動
f. SPI 接口驅(qū)動
g. 塊設(shè)備驅(qū)動(ramdisk 驅(qū)動)
h. 網(wǎng)絡(luò)設(shè)備驅(qū)動(DM9000)
(6)Android 移植開發(fā)
· Android 底層開發(fā)環(huán)境的搭建、下載和編譯Android 源碼
· Android 系統(tǒng)啟動流程分析、定制產(chǎn)品系統(tǒng)
· Android 移植技術(shù)要點分析、硬件抽象層實戰(zhàn)
· 完成《智能醫(yī)療平板系統(tǒng)深度定制》和《基于 Android 系統(tǒng)的移動設(shè)備開機速度優(yōu)化》
4、開發(fā)拓展與實踐
嵌入式Linux & Android 項目實踐
為了幫助學(xué)員充分有效地掌握核心知識點在企業(yè)中的具體應(yīng)用,并開始逐步按照企業(yè)需求、流程和規(guī)范進(jìn)行實戰(zhàn)訓(xùn)練,在嵌入式Linux 應(yīng)用開發(fā)、系統(tǒng)內(nèi)核開發(fā)的課程講授過程中全部采用項目驅(qū)動的方式,將來自合作企業(yè)的全真案例貫穿于課程中。
通過這種方式帶領(lǐng)學(xué)員分析企業(yè)崗位的真實技術(shù)需求,進(jìn)行案例演練,從而快速掌握相關(guān)的技能和開發(fā)技巧。
通過項目實踐復(fù)習(xí)和鞏固學(xué)員前幾階段的的學(xué)習(xí),同時培養(yǎng)學(xué)員的發(fā)現(xiàn)問題、分析問題和解決問題的能力。
完成:
(1)基于ARM Cortex‐A9+Cortex‐M0的倉儲物聯(lián)網(wǎng)系統(tǒng)
(2)基于FSPAD_723雙核平板的智能家居系統(tǒng)
(3) 基于FarsightTV智能網(wǎng)絡(luò)機頂盒
(4) 車載導(dǎo)航系統(tǒng)項目
(5) 基于ARM Cortex‐A9的安防監(jiān)控項目
(6) Android開源平板電腦系統(tǒng)設(shè)計
(7) 實景智能家居
(8) 智能小車項目
(9) 公交一卡通物聯(lián)網(wǎng)充值系統(tǒng)
(10) 便攜式智能醫(yī)療系統(tǒng)
(11) 基于FS_Watch的智能手表項目
(12)智能農(nóng)業(yè)綜合實訓(xùn)系統(tǒng)
(13)四軸飛行器項目
5、底層深入課程
從本階段課程開始進(jìn)入了嵌入式底層深入加強的課程內(nèi)容。通過該課程讓學(xué)員掌握底層高級驅(qū)動的開發(fā)和Andorid底層高級驅(qū)動的移植。
(1)嵌入式Linux 底層深入課程
通過案例講解并完成:
· 嵌入式Linux Input驅(qū)動開發(fā)和移植
· 嵌入式Linux LCD顯示驅(qū)動開發(fā)和移植
· 嵌入式Linux音頻驅(qū)動開發(fā)和移植
· 嵌入式Linux USB驅(qū)動開發(fā)和移植
· 嵌入式Linux Camera驅(qū)動開發(fā)和移植
· 嵌入式Linux eMMC驅(qū)動開發(fā)和移植
· 嵌入式Linux MTD驅(qū)動開發(fā)和移植
(2)Android 底層深入課程
通過案例講解并完成:
· 嵌入式Android LCD驅(qū)動開發(fā)和移植
· 嵌入式 Android 觸摸屏驅(qū)動開發(fā)和移植
· 嵌入式 Android 重力傳感器驅(qū)動開發(fā)和移植
· 嵌入式 Android GPRS 驅(qū)動開發(fā)和移植
· 嵌入式 Android GPS 驅(qū)動開發(fā)和移植
· 嵌入式 Android 3G/4G 驅(qū)動開發(fā)和移植
· 嵌入式 Android 攝像頭驅(qū)動開發(fā)和移植
· 嵌入式 Android WIFI 驅(qū)動開發(fā)和移植
6、物聯(lián)網(wǎng)開發(fā)高級課程
(1)物聯(lián)網(wǎng)開發(fā)高級課程
· 物理網(wǎng)開發(fā)平臺介紹
· 物聯(lián)網(wǎng)設(shè)備開發(fā)流程
· 物聯(lián)網(wǎng)操作系統(tǒng)的介紹(ucos、contiki、tinyos)
· 物聯(lián)網(wǎng)常用傳感器深入學(xué)習(xí)
· 物聯(lián)網(wǎng)無線通信技術(shù)學(xué)習(xí)(zigbee、藍(lán)牙、RFID等)
· 相關(guān)項目:
7、創(chuàng)客創(chuàng)業(yè)方法與經(jīng)驗
通過該階段課程,系統(tǒng)學(xué)習(xí)創(chuàng)客創(chuàng)業(yè)方法、團(tuán)隊管理,實地體驗創(chuàng)客空間,感受創(chuàng)客文化。提供相關(guān)創(chuàng)業(yè)平臺對接。
· 創(chuàng)業(yè)的基礎(chǔ)條件
· 創(chuàng)業(yè)的時間選擇、創(chuàng)業(yè)資金的獲得途徑、創(chuàng)業(yè)團(tuán)隊的組建、創(chuàng)業(yè)公司的管理
· 知識產(chǎn)權(quán)的保護(hù)
· 中關(guān)村創(chuàng)客空間資源介紹
· 智能硬件和移動互聯(lián)網(wǎng)創(chuàng)業(yè)案例分析
· 中關(guān)村創(chuàng)客空間實踐