華清遠(yuan)見星創客精英訓練營課(ke)程介紹
時間:2017-04-07 來源:華清遠見
一、學習導語
互聯網+時(shi)代,高(gao)(gao)端 IT 人(ren)才(cai)缺口巨大(da)!為優(you)秀人(ren)才(cai)搭建高(gao)(gao)端學習平臺,為卓越企業打造精英員工,華清遠見(jian)結合自身優(you)勢特推出星創客(ke)精英訓(xun)練營。由(you)華清遠見(jian)全國各大(da)校區教學總監和金牌講師親自授課(ke),課(ke)程內(nei)容(rong)涵(han)蓋(gai)嵌(qian)(qian)入式(shi)(shi)開(kai)發、Android 開(kai)發、物聯網開(kai)發三大(da)版塊(kuai)。通過5 個月的時(shi)間,全面深入的學習嵌(qian)(qian)入式(shi)(shi)系統開(kai)發,全方位打造頂(ding)級(ji)嵌(qian)(qian)入式(shi)(shi)工程師、嵌(qian)(qian)入式(shi)(shi)驅動高(gao)(gao)級(ji)工程師、嵌(qian)(qian)入式(shi)(shi)產品經(jing)理(li)、智能硬件產品經(jing)理(li)等高(gao)(gao)端 IT 開(kai)發人(ren)才(cai)!
二、課程目標
通過本課程的系(xi)(xi)統(tong)(tong)學習(xi),可(ke)以使學員由淺入深(shen)地(di)對(dui)嵌入式Linux 和(he)Android 系(xi)(xi)統(tong)(tong)進行全(quan)面學習(xi),能夠獨立勝任嵌入式Linux 和(he)Android 兩個方向的開(kai)發(fa)(fa)工(gong)作(zuo)。嵌入式Linux 方向包(bao)括(kuo)C 語言開(kai)發(fa)(fa)、嵌入式Linux 應(ying)用開(kai)發(fa)(fa)、系(xi)(xi)統(tong)(tong)開(kai)發(fa)(fa)、驅動開(kai)發(fa)(fa)等。Android 開(kai)發(fa)(fa)包(bao)括(kuo)Android 應(ying)用開(kai)發(fa)(fa)、Android 系(xi)(xi)統(tong)(tong)開(kai)發(fa)(fa)、Android 底(di)層(ceng)開(kai)發(fa)(fa)等。學習(xi)目標如下:
1. 熟練使用Linux 操作系(xi)統
2. 精通Linux 下C 語言(yan)編程
3. 精通嵌入式Linux 應用開(kai)發
4. 掌握(wo)ARM 處理(li)器平臺及其(qi)接(jie)口(kou)硬件開發
5. 掌握(wo)嵌入式Linux 下Bootloader 的移(yi)植方法
6. 精(jing)通嵌入式Linux 內核裁減移植(zhi)及內核調(diao)試
7. 精通嵌入式(shi)Linux 下常用接(jie)口(kou)的驅動開發
8. 熟悉(xi)Java 語(yu)言編程(cheng)
9. 熟悉Android 應用開發
10. 掌(zhang)握基于(yu)Linux 內(nei)核的Android 底層(ceng)系統開發
11. 熟悉嵌入式Linux 實際項目案例開發(fa)流程(cheng)
12. 熟悉(xi)基于Android 系統的實際項目案例開發流程
13. 掌握嵌入式Linux 內核(he)高級(ji)驅動的開(kai)發和(he)移植
14. 掌握(wo)Andorid 高級驅動的開(kai)發和(he)移植
15. 掌(zhang)握(wo)物聯網傳感(gan)器和無線通信技術(shu)的開發
16. 掌握創客(ke)創業的流(liu)程和方法(fa)
三、課程特色
1、全面覆蓋流行的嵌入式與物聯網技術
課程涵蓋(gai)ARM 微處理器(qi)、Linux 操作系統內核驅動、Linux 應用開發技(ji)術、Android 底層移(yi)植(zhi)、Android 應用開發、ARM 微控制(zhi)器(qi)開發、傳(chuan)感器(qi)開發、ZigBee 短距離無線傳(chuan)感網絡(luo)(luo)、Bluetooth BLE 藍牙(ya)通(tong)訊(xun)技(ji)術、RFID 射頻識別應用開發、智(zhi)能云服務器(qi)等流行(xing)技(ji)術的開發。這些即分屬不同層次(ci),又相(xiang)互關聯,只有全面接觸(chu),才(cai)能融(rong)會貫通(tong)。這也是目前硬 件智(zhi)能化、網絡(luo)(luo)化、體系化的要求。
2、深入學習ARM、Linux 內核驅動、Android 移植驅動等重點/難點內容
ARM 處理器、Linux 內核驅動、Android 移(yi)植(zhi)驅動等內容即(ji)是核心技術,也是難(nan)點部分。課(ke)程對這部分內容分為了初級(ji)階段(duan)和高級(ji)階段(duan)兩個部分,分別培(pei)養不(bu)同層次(ci)嵌入(ru)式工(gong)程師。學習高級(ji)階段(duan)課(ke)程,需要經過(guo)選拔(ba)、考(kao)試環節。
3、多個流行的智能硬件實訓項目
華清遠見研發(fa)中(zhong)心多(duo)年來打造了多(duo)種實用(yong)、專業(ye)的(de)(de)智(zhi)(zhi)能(neng)硬件開(kai)發(fa)項(xiang)目(mu)。項(xiang)目(mu)同樣(yang)不僅僅局限于傳統(tong)的(de)(de)開(kai)發(fa)板上,而是更多(duo)的(de)(de)應用(yong)到各種智(zhi)(zhi)能(neng)系統(tong)中(zhong),如:智(zhi)(zhi)能(neng)家居、智(zhi)(zhi)能(neng)農(nong)業(ye)、智(zhi)(zhi)能(neng)穿(chuan)戴、智(zhi)(zhi)能(neng)TV、智(zhi)(zhi)能(neng)醫療等。詳見研發(fa)中(zhong)心教學產品(pin)介紹。
4、專業的創客創業實踐課程
目前國家(jia)大(da)(da)環境(jing)鼓勵大(da)(da)學生自主創(chuang)業,對于掌握一(yi)技之(zhi)長的(de)大(da)(da)學生,創(chuang)業雖然困難重重,但已經是一(yi)種實(shi)實(shi)在在的(de)選擇。智能硬件(jian)技術(shu)及相(xiang)關(guan)行業更是處于一(yi)個快速發展階(jie)段(duan),即需要更多的(de)創(chuang)新,同(tong)時也(ye)(ye)蘊含很多機會(hui)。授課的(de)同(tong)時也(ye)(ye)會(hui)安排(pai)相(xiang)關(guan)的(de)課程及實(shi)踐環節,幫助學員打開眼界。
四、詳細課程大綱
1、基礎補習課程

本(ben)階段學(xue)習(xi)目(mu)標掌握Linux 操作系(xi)統的(de)(de)使(shi)用,打(da)好(hao)C 語言(yan)基(ji)礎(chu)、進一步深入學(xue)習(xi)C 語言(yan)高(gao)級編程(cheng),為(wei)將來(lai)應用開(kai)發及Linux 底層(ceng)驅動課程(cheng)的(de)(de)學(xue)習(xi)打(da)下良好(hao)基(ji)礎(chu)。通過本(ben)階段的(de)(de)學(xue)習(xi),學(xue)員(yuan)還可以熟練使(shi)用Java 語言(yan)編程(cheng),為(wei)后期學(xue)習(xi)Android 相關(guan)課程(cheng),打(da)下良好(hao)基(ji)礎(chu)。
基(ji)礎補(bu)習(xi)階段課(ke)程為贈送課(ke)程,提供在線學(xue)(xue)習(xi)視頻,學(xue)(xue)員自學(xue)(xue),不占5 個(ge)月總(zong)課(ke)程時間。正式(shi)課(ke)程中(zhong),老師會結合應(ying)用帶學(xue)(xue)員回顧加深(shen)這部分內容(rong)。
(1)嵌入式Linux 操作系統的使用
· Linux 開(kai)發環境的搭建
· Linux 內核的起源、發展歷程以及目前廣泛(fan)的應用場合
· Linux 系統的基本組成框架及(ji)組件功能
· Linux 下的文(wen)件管(guan)理、用戶管(guan)理、網絡管(guan)理、軟件管(guan)理等基本命令
· VI 編(bian)(bian)輯(ji)器(qi),GCC 編(bian)(bian)譯(yi)器(qi),GDB 調試器(qi)和(he) Make 項目(mu)管理工具使用
· shell 腳本編程
· 完成《文件管理(li)器》和《用戶管理(li)器》
(2)嵌入式Linux C 高級編程
· C 語言編程基礎知(zhi)識
· 重(zhong)點講解 C 語言的高級編程(cheng)知識,包括函數與程(cheng)序(xu)結(jie)構(gou)、指針(zhen)、數組、常用(yong)算(suan)法(fa)、庫函數的使用(yong)等知識
· 完成(cheng)《字符串(chuan)處理器》和《學生信息管理系統(tong)》
(3)數據結構及經典算法編程
· 本(ben)重點講(jiang)解(jie)數據結構(gou)的(de)基礎內容(rong),包括順序表、鏈(lian)表、隊列、棧、樹、圖、哈希表、各種查(cha)找和排序算法(fa)等知識
· 完成:《死亡游戲》、《四則運(yun)算(suan)計算(suan)器(qi)》、《球鐘》、《電文編碼器(qi)》、《排(pai)課系(xi)統》
(4)Java 語言高級編程
· 掌握 Java 語言(yan)的(de)基(ji)本語法和面(mian)向對象編程方法
· 理解 Java 中多(duo)線程(cheng)編(bian)程(cheng),網絡編(bian)程(cheng)及常用Java 類
· 完成(cheng)《停(ting)車場系(xi)統模擬小(xiao)項目》
2、應用層核心課程

本(ben)階(jie)段學習的(de)(de)(de)主要目標(biao)是精通嵌(qian)入(ru)式(shi)Linux 下的(de)(de)(de)程(cheng)序設計,熟悉(xi)嵌(qian)入(ru)式(shi)Linux 開發流程(cheng),強化學員對Linux應用(yong)開發的(de)(de)(de)理解和編(bian)(bian)碼調試的(de)(de)(de)能力。Android系(xi)統越來越多的(de)(de)(de)應用(yong)到嵌(qian)入(ru)式(shi)領(ling)域,本(ben)課程(cheng)學習的(de)(de)(de)另一個主要目標(biao)是掌握Android應用(yong)編(bian)(bian)程(cheng),可以完(wan)成(cheng)Android平(ping)臺的(de)(de)(de)應用(yong)項目的(de)(de)(de)編(bian)(bian)寫。
(1)Linux 系統文件I/O
· 系統編程、標準I/O、文件I/O
· Linux動態庫和(he)靜態庫的制(zhi)作和(he)使用(yong)
· 完成:《硬盤性能測試》和《Linux系統(tong)命令(ling)ls的實(shi)現》
(2)Linux 系統并發編程
· 進(jin)程(cheng)的基礎(chu)知識、多進(jin)程(cheng)的創建(jian)和使用方(fang)法
· 進程間通信的(de) 7 種通信方(fang)法(無名管道、有名管道、信號、消息(xi)隊(dui)列(lie)、共享(xiang)內存、信號燈集(ji)、socket)
· 守護進(jin)程(cheng)的創建和使用方法(fa)
· 線程的(de)基礎知(zhi)識,多線程的(de)創建和使用方(fang)法
· 線程間(jian)的同(tong)步(bu)與互斥
· 實現《守護進程(cheng)自動下(xia)載(zai)木馬(ma)的(de)實現》和《多(duo)進程(cheng)并發下(xia)載(zai)》
(3)Linux 系統網絡編程
· 網絡體系結構(gou)、TCP/IP協議、wireshark抓(zhua)包工具的使用(yong)
· TCP及(ji)UDP編程實現
· 服務(wu)器(qi)模(mo)型,并發服務(wu)器(qi)的實現、網絡超時控(kong)制
· 網絡(luo)協議分析,網絡(luo)抓包實(shi)現
· 完成《TCP文件服務器(qi)》、《UDP網(wang)絡(luo)聊天(tian)室》、《ping客戶端》、《網(wang)絡(luo)嗅探器(qi)》
(4)嵌入式數據庫開發
· Sqlite3數據庫基本知識、SQL語句
· 命令方(fang)式操作Sqlite3數據(ju)庫
· C語言操作Sqlite3數據庫
· 完成(cheng)《學生管理系統(tong)》和(he)《在線詞典(dian)》
(5)Android 應用開發基礎
· Android四大組件(Activity、Service、BroadcastReceiver、ContentProvide)
· Android常用UI控(kong)件和常用布(bu)局(ju)設計
· Android資源文(wen)件的使用
· Android進程(cheng)與線程(cheng)
· Android文(wen)件存儲
· Android傳感器(qi)編程(cheng)
· Android網絡編(bian)程
· Android多媒體編(bian)程
· 完成《仿酷(ku)我(wo)音樂器》和《彈力球游戲》
3、底層核心課程

本階段課程(cheng)要求學員掌握(wo)ARM體系結構基礎(chu)知識、ARM硬(ying)件接口編程(cheng)方法(fa),掌握(wo)Bootloader和Linux內核的移植方法(fa),根文件系統的制(zhi)作(zuo),掌握(wo)Linux下(xia)的字符設備(bei)、塊設備(bei)、網絡設備(bei)的驅動(dong)程(cheng)序(xu)開發,能夠(gou)熟練(lian)的移植或編寫(xie)不同(tong)類型的設備(bei)驅動(dong)程(cheng)序(xu)。
通(tong)過本階段課(ke)程學(xue)(xue)習,學(xue)(xue)員可以(yi)掌(zhang)握從(cong)Ubuntu系(xi)統上(shang)搭(da)建Android開發環境(jing)開始(shi),到(dao)(dao)最終(zhong)Android系(xi)統硬件抽象(xiang)層(ceng)分析(xi),從(cong)簡單到(dao)(dao)復(fu)雜,從(cong)基礎深入(ru)到(dao)(dao)架構,以(yi)源碼(ma)分析(xi)為主線(xian),架構設計理解為藍圖,上(shang)手實(shi)驗為目(mu)的,系(xi)統介紹(shao)Android系(xi)統移(yi)植與(yu)架構開發要點。
(1)ARM 處理器編程
· ARM處理器體系(xi)結構框架
· ARM處(chu)理器工作寄存器、ARM處(chu)理器流水線
· ARM處理(li)器編程環境、調試和編程規則
· ARM處理器指(zhi)令集和ARM指(zhi)令尋(xun)址方式等
(2)ARM 硬件接口開發
· ARM 接口相關硬件基礎知識
· ARM處理器(qi)常用接口(kou)開發
(包括GPIO、串口、看門狗(gou)、PWM、ADC、RTC、SPI、I2C等)
· 物(wu)聯(lian)網基(ji)礎知識和物(wu)聯(lian)網常用傳感器學習
· 完成:
a. 基于Cortex‐A9 的溫度采集實驗
b. 基(ji)于Cortex‐A9的GPIO
c. 基于Cortex‐A9 的鍵盤驅動
d. 基于Cortex‐A9 的(de)鬧鈴驅動
e. 基于Cortex‐A9的adc驅動(dong)
f. 基于Cortex‐A9 的flash讀寫(xie)實驗
(3)嵌入式Linux 系統開發
· 內(nei)核(he)源(yuan)碼結(jie)構
· 最新(xin)的(de)Uboot‐201301移(yi)植到FS4412平臺上的(de)過(guo)程
· 最(zui)新的內核Linux‐3.14移植(zhi)到(dao)在FS4412平(ping)臺上的過程
· 根文件系統制作的過程
· 設備樹的基本語(yu)法和編(bian)寫(xie)
· 完(wan)成:
a. 搭建交(jiao)叉開發環境(jing)
b. 移(yi)植uboot支持(chi)FS4412開發板(ban)(Exynos4412)
c. 移植Linux3.14支持FS4412開發(fa)板
d. 制作自(zi)己(ji)的(de)根(gen)文件系統
(4)Linux 內核開發基礎
· 了解Linux相關(guan)運(yun)行機(ji)理,為后面的(de)驅(qu)動開發打好(hao)理論(lun)基礎,
· 內核源(yuan)碼結(jie)構、內存管(guan)理、進程管(guan)理、中斷管(guan)理、系統調用、內核同步
· 內核(he)中斷機制、時鐘和(he)(he)定時器管理、文件系(xi)統和(he)(he)I/O設(she)備(bei)管理等(deng)
· 內核模塊開(kai)發、內核設備模型
· 完成:
a. 內核模塊編寫(xie)、編譯和使用
b. 互斥機制、阻塞和非阻塞IO、設備(bei)輪詢、異步通知(zhi)
c. 中(zhong)斷注冊、中(zhong)斷處理函數編(bian)寫、內核(he)相關延時(shi)機制(zhi)
d. 內(nei)核內(nei)存(cun)分配、釋放和(he)映射
e. 設備(bei)模型(xing)、設備(bei)節(jie)點自動創建
(5)Linux 內核驅動開發
· Linux 內(nei)核(he)驅(qu)(qu)動(dong)開發基礎、字符設(she)備(bei)驅(qu)(qu)動(dong)框架(jia)、塊設(she)備(bei)驅(qu)(qu)動(dong)框架(jia)、網絡(luo)設(she)備(bei)驅(qu)(qu)動(dong)框架(jia)、platform 驅(qu)(qu)動(dong)架(jia)構(gou)(gou)、IIC 驅(qu)(qu)動(dong)架(jia)構(gou)(gou)、SPI 驅(qu)(qu)動(dong)架(jia)構(gou)(gou)
· Linux 字符設備驅動開(kai)發
· Linux 塊設備驅動開(kai)發
· Linux 網(wang)絡設(she)備驅動開發(fa)
· 完成:
a. GPIO 接口驅動
b. 按鍵中(zhong)斷接口(kou)驅(qu)動
c. PWM 接(jie)口驅動
d. ADC 接(jie)口驅(qu)動(dong)
e. I2C 接口(kou)驅動(dong)
f. SPI 接口(kou)驅動
g. 塊設(she)備驅動(ramdisk 驅動)
h. 網絡設備驅動(DM9000)
(6)Android 移植開發
· Android 底層開發環(huan)境的搭建、下載和(he)編譯Android 源碼(ma)
· Android 系統(tong)啟動流(liu)程分(fen)析、定制產品系統(tong)
· Android 移(yi)植技術要點分析、硬件抽象層實戰
· 完成《智能醫療平板(ban)系統深度(du)定制》和《基于 Android 系統的移動(dong)設備開機速度(du)優化(hua)》
4、開發拓展與實踐

嵌入式Linux & Android 項目實踐
為了幫助學員充(chong)分(fen)有效地掌握核心知識(shi)點在企(qi)業中的具體應用(yong),并開(kai)始逐步(bu)按照企(qi)業需求、流(liu)程和規范進行實(shi)戰訓練,在嵌(qian)入(ru)式(shi)Linux 應用(yong)開(kai)發、系統內(nei)核開(kai)發的課程講授(shou)過程中全(quan)部采用(yong)項目驅動的方(fang)式(shi),將(jiang)來自(zi)合作企(qi)業的全(quan)真案例貫穿于課程中。
通(tong)過這種(zhong)方(fang)式(shi)帶領學員分析企業崗位的真實技(ji)術需求,進行案例演(yan)練(lian),從而快速掌握(wo)相關的技(ji)能和開發(fa)技(ji)巧。
通過(guo)項目實(shi)踐復習和鞏固學(xue)員前(qian)幾階段(duan)的的學(xue)習,同(tong)時培(pei)養學(xue)員的發現問題、分析問題和解決問題的能(neng)力。
完成:
(1)基于ARM Cortex‐A9+Cortex‐M0的倉(cang)儲物(wu)聯網系統
(2)基(ji)于(yu)FSPAD_723雙核(he)平板的(de)智(zhi)能(neng)家居系統
(3) 基(ji)于FarsightTV智能網(wang)絡機頂盒
(4) 車載(zai)導(dao)航系統項目
(5) 基于ARM Cortex‐A9的(de)安防監控項(xiang)目
(6) Android開源平板電腦系(xi)統設計
(7) 實景智能家居
(8) 智能小車項目
(9) 公(gong)交一卡通物聯網充值系統
(10) 便攜(xie)式智能醫療系統
(11) 基于(yu)FS_Watch的(de)智能手表項目
(12)智能農(nong)業綜合實訓系統
(13)四軸飛行器項目

5、底層深入課程

從本階段課(ke)程開始進入(ru)了嵌入(ru)式底層深入(ru)加強的(de)課(ke)程內容。通過該課(ke)程讓學(xue)員掌握底層高級驅動的(de)開發(fa)和Andorid底層高級驅動的(de)移植。
(1)嵌入式Linux 底層深入課程
通過案(an)例講解(jie)并完(wan)成:
· 嵌入式Linux Input驅動開發和移(yi)植
· 嵌入式Linux LCD顯示驅動開發和移植
· 嵌入式Linux音頻(pin)驅動開發和移植
· 嵌(qian)入式(shi)Linux USB驅動開發(fa)和移植
· 嵌入式Linux Camera驅動開發和移植
· 嵌(qian)入式(shi)Linux eMMC驅動(dong)開(kai)發和移植
· 嵌入式Linux MTD驅動開發和(he)移植(zhi)
(2)Android 底層深入課程
通過案例講解并完成:
· 嵌入式Android LCD驅動開(kai)發和移植
· 嵌入式 Android 觸摸(mo)屏驅(qu)動開發和(he)移植
· 嵌入式(shi) Android 重力傳感器(qi)驅動開發(fa)和移植
· 嵌入式 Android GPRS 驅動開發和移植
· 嵌入式 Android GPS 驅動開發和移(yi)植
· 嵌入式 Android 3G/4G 驅動開發和移(yi)植
· 嵌入式(shi) Android 攝像頭驅動開發和移植
· 嵌(qian)入式 Android WIFI 驅(qu)動開發和移植(zhi)
6、物聯網開發高級課程

(1)物聯網開發高級課程
· 物(wu)理網開發平臺介紹
· 物(wu)聯網(wang)設備(bei)開(kai)發流程
· 物聯網操作系統的介紹(ucos、contiki、tinyos)
· 物聯網(wang)常用傳感器(qi)深入學(xue)習
· 物聯(lian)網無(wu)線(xian)通信(xin)技術學習(zigbee、藍牙(ya)、RFID等)
· 相(xiang)關項目:

7、創客創業方法與經驗

通過該階(jie)段課程,系統學習創客創業(ye)方法、團隊(dui)管(guan)理,實(shi)地體驗(yan)創客空間,感受創客文(wen)化。提(ti)供相(xiang)關創業(ye)平臺對接。
· 創業的基礎(chu)條件
· 創業(ye)(ye)的(de)(de)時間選擇(ze)、創業(ye)(ye)資(zi)金的(de)(de)獲得途徑、創業(ye)(ye)團(tuan)隊的(de)(de)組建、創業(ye)(ye)公司的(de)(de)管理
· 知(zhi)識產(chan)權的保護(hu)
· 中關(guan)村創(chuang)客空(kong)間(jian)資源介紹
· 智能硬件和(he)移動互(hu)聯(lian)網創業(ye)案例分析
· 中關(guan)村(cun)創(chuang)客空間實踐