【課程簡介】
嵌入式(Linux&Android)長期就業課程,是華清遠見基于十多年教學和研發經驗的積累,并結合當下流行的產品和技術打造的專業權威課程。課程內容涵蓋嵌入式(Linux+Android)應用開發、ARM 開發、系統移植、底層/驅動開發等核心技術,并配合一系列智能產品實訓平臺和高端實戰項目,**每位學員在課堂上能充分理解技術理論,又能提高實戰能力,真正提高學員的就業競爭力。
【面向學員】
大專及以上學歷
【學習模式】
面授/線上
【上課時間】
面授時間:4~5個月
【課程優勢】
嵌入式(Linux&Android)就業培訓班,由嵌入式行業大牛親授,課程設置由深入淺出地對嵌入式 Linux 和 Android 系統進行全面學習,0基礎學員就業年薪達到10W+!

【教學安排】
階段:嵌入式系統開發基礎理論
職場定位:
1. 嵌入式 Linux 軟件開發工程師(Embedded Linux Software Development Engineer);
2. Java語言開發工程師(Java language development engineer )
本期目標:嵌入式系統是現在熱門的計算機應用領域之一,嵌入式 C 語言在其中起著至關重要的作用。一個精通 C語言程序設計的程序員,可以很容易地進入 Linux、Vxworks 等嵌入式操作系統下的軟件開發工作。本階段學習目標是掌握 Linux 操作系統的使用,打好 C 語言基礎、進一步深入學習 C 語言編程并精通常用的數據結構,為將來從事應用開發及底層課程的學習打下基礎。通過本階段的學習,學員還可以熟練使用 Java 語言編程,為后期學習Android 相關開發,打下良好基礎。通過本期學習,還可以熟練掌握嵌入式 Linux 的開發環境,為將來做底層嵌入式開發工作打基礎。
課程大綱:
Linux 操作系統使用
本課程從零起點,講述了 Linux 內核的起源、發展歷程以及目前廣泛的應用場合;概述了 Linux 系統的基本組成框架及組件功能;詳細介紹 Linux 下的文件管理、用戶管理、網絡管理、軟件管理等基本命令;以及包括 VI 編輯器,GCC 編譯器,GDB 調試器和 Make 項目管理工具、Shell 編程等在內的 C 語言環境搭建知識。
完成:《文件管理器》、《用戶管理器》
嵌入式 Linux C 語言編程
C 語言是嵌入式領域重要也是主要的編程語言,本課程將在學員 C語言基礎知識之上,通過大量編程實例重點講解 C 語言的編程知識,包括函數與程序結構、指針、數組、常用算法、庫函數的使用等知識。
完成:《字符串處理器》、《學生信息管理系統》
嵌入式 Linux C 語言數據結構及經典算法編程
數據結構是一門非常重要的基礎課,在 Linux 內核、底層驅動、通信協議及實際開發中都有大量應用。本課程重點講解數據結構的基礎內容,包括順序表、鏈表、隊列、棧、樹、圖、哈希表、各種查找和排序算法等。每種重要的數據結構都會介紹其理論知識及 C 語言的實現,還會結合實例講解其在實際中的應用。
完成:《死亡游戲》、《四則運算計算器》、《球鐘》、《電文編碼器》、《排課系統》
Java 語言編程
本課程主要讓學員掌握 Java 語言基本語法,掌握面向對象編程方法, 同時和 C 語言進行對比理解面向對象的用法,同時,理解 Java 中多線程編程,網絡編程及常用 Java 類。通過對 Java 語言的學習為Android 應用編程課程和 Android 底層系統移植打下基礎。
完成:《停車場系統模擬小項目》
嵌入式 Linux 項目開發流程
本課程主要讓學員從宏觀了解嵌入式 Linux 開發環境搭建和項目開發流程,讓學員建立起整體架構的概念,包括嵌
入式產品需求分析和選型、硬件平臺、移植、啟動代碼、驅動開發、系統部署等整個過程。
第二階段:嵌入式系統開發核心課程
職場定位:
1. 嵌入式 Linux 系統工程師(Linux Development Engineer for Embedded Systems);
2. Android軟件開發工程師(Android Software Development Engineer)
本期目標:參加本期培訓的學員應該掌握嵌入式 C 語言編程技巧和 Android 開發的編程技巧。嵌入式 Linux 應用開發和系統開發是嵌入式 Linux 中重要的一部分,也是企業人才需求廣的一部分。本期學習的主要目標是精通嵌入式 Linux 下的程序設計,熟悉嵌入式 Linux 開發流程,強化學員對 Linux 應用開發的理解和編碼調試的能力。Android 系統越來越多的應用到嵌入式領域,本課程學習的另一個主要目標是精通 Android 應用編程,可以完成Android 平臺的應用項目的編寫。同時掌握 bootloader 和 kernel 的移植技能,了解 ARM體系結構和編程,具備 ARM 硬件接口的基礎知識,并了解 Linux 內核開發相關內容,在初步掌握 Linux 下的驅動程序開發方法的基礎上,通過典型應用場景的分析舉例,深入掌握Linux 驅動程序的開發技巧,讓學員能夠熟練的移植或編寫不同類型的設備驅動程序。
課程大綱:
6. 嵌入式 Linux 應用編程
嵌入式 Linux 應用開發是嵌入式 Linux 中重要的一部分,也是就業面廣的方向。本課程的主要目標是精通嵌入式 Linux 下的程序設計,精通嵌入式 Linux 開發環境,強化學員對 Linux 應用開發的理解和編碼調試的能力,包括系統編程、標準 I/O、文件 I/O、庫的制作和使用等。
完成:《文件的復制》、《文件加密解密器》、《LS 的實現》
7.嵌入式 Linux 并發程序設計
并發程序設計,是應用開發中非常重要的一部分內容,如何實現程序的并發是重點,又是難點。包括:多進程編程,進程間通信機制,多線程編程,多線程間的同步和互斥機制等。本課程會結合大量的案例來講解。
完成:《多進程實現文件復制》、《命令行解釋器》、《生產者和消費者》、《司機售票員問題》
8.嵌入式 Linux 網絡編程
應用開發的絕大部分項目都涉及到了網絡功能,有一個好的網絡編程功底,是從事 Linux 應用開發的基礎。包括:網絡體系結構,TCP/IP協議,TCP 及 UDP 編程,服務器模型,超時控制,協議分析,抓包等。在講解過程中,結合了大量實例并使用 wireshark 抓包工具分析。
完成:《文件服務器》、《網絡聊天室》、《ping 客戶端》、《網絡嗅探器》
9.嵌入式數據庫開發
能熟練的操作并使用一種數據庫,是一個開發人員的基本技能。本課程重點講解在嵌入式開發中有著廣泛應用的SQLITE 數據庫。包括:數據庫的設計、SQL 語句、使用 C 語言來控制數據庫等。
完成:《人力資源管理系統》
10.嵌入式 Linux 應用綜合項目
對于一個開發人員,必須有一定代碼量的積累,才能從根本上提高自己的編程能力。本課程讓學員獨立完成一個應用層的綜合項目, 該項目涉及到了應用開發中的關鍵技術,包括內存管理、鏈表、文件 I/O、多進程、多線程、網絡編程和數據庫等。
完成:《在線詞典》
11.Android 應用編程
Android 系統越來越多的應用到嵌入式領域,掌握 Android 應用開發的基礎知識顯得很有必要。本課程主要讓學員掌握 Android 應用編程的主要方法,熟悉常用的應用組件的開發和事件處理機制等,并能理解現在使用的 Android 應用產品的實現原理,通過本課程的學習,可以完成 Android 平臺的應用項目的編寫。
完成:《音樂播放器的設計與實現》 、《我們約會吧》
12.ARM 處理器編程
ARM 是嵌入式領域主要的 CPU 處理器,了解 ARM 處理器的基礎知識將為后面課程的底層開發打好堅實基礎,本課程內容包括 ARM 處理器體系結構、編程環境、指令集、尋址方式、調試、匯編和混合編程等方面的內容,為后面移植課程的學習打好基礎。學完此課程學員可獲得ARM 公司全球統一授權培訓證書。
13.ARM 硬件接口開發
本課程重點介紹 ARM 的常用接口開發及硬件電路設計基礎(包括 IO、串口、看門狗、PWM 定時器、ADC、實時時鐘、SPI、I2C 等),另外還有物聯網基礎的內容,傳感網中的熱點技術(ZigBee、RFID),為后續的課程打好基礎。結合 FS4412 開發板和自主研發的 Cortex-A9 仿真器。完成:
1、基于 Cortex-A9 的溫度采集實驗
2、基于 Cortex-A9 的 GPIO
3、基于 Cortex-A9 的鍵盤驅動
4、基于 Cortex-A9 的 flash 讀寫實驗
5、基于 Cortex-A9 的鬧鈴驅動
6、基于 Cortex-A9 的 ADC 驅動
14.嵌入式 Linux 系統開發
Linux 的新版本在內核驅動框架上有了較大的改動,引入設備樹的概念。華清遠見投入大量研發精力,移植了新的 Linux-3.14 操作系統,編寫了全套的設備驅動教學程序。在 Linux 系統移植課程中,詳細講解 Uboot-2013.01 和 Linux-3.14 在 FS4412 平臺的移植過程。
完成:
1、搭建交叉開發環境
2、移植 UBOOT 支持 FS4412 開發板(exynos4412)
3、移植 Linux-3.14 內核支持 FS4412 開發板
4、制作自己的根文件系統
15.嵌入式 Linux 內核開發
本課程是驅動開發的基礎課程,深入內核細節,了解 Linux 相關運行機理,為后面的驅動開發打好理論基礎,內容包括內核源碼結構、內存管理、進程管理、中斷管理、系統調用、內核同步、時鐘和定時器管理、信號、調度、進程間通信、文件系統和 I/O 設備管理等方面的內容。
16.嵌入式 Linux 驅動開發基礎
驅動開發既要熟悉相關硬件的操作又要深入理解內核中驅動框架和相關機制。前面的 ARM 和系統移植課程為驅動課程打下基礎。驅動課程的學習需要循序漸進,從簡單的內核模塊開始,逐步添加相關代碼,實現對設備的各種復雜操作。驅動中的相關機制不需要死記硬背,要理解背后的內核設計思想。此外,驅動和應用層各種編程接口密切相關,學習時要相互關聯。
完成:
1、內核模塊編寫、編譯和使用
2、字符設備驅動框架
3、互斥機制、阻塞和非阻塞 IO、設備輪詢、導步通知
4、中斷注冊、中斷處理函數編寫、內核相關延時機制
5、內核內存分配、釋放和映射
6、設備模型、設備節點自動創建
7、I2C 子系統、SPI 子系統
8、塊設備、網絡設備驅動編寫
17.嵌入式 Linux 驅動開發
驅動開發是嵌入式 Linux 開發難度高的內容,也是目前嵌入式行業緊缺的人才之一。有了前面課程知識的鋪墊,本課程將重點講解嵌入式 Linux 下常用接口驅動的編寫方法; 完成 flash 驅動、塊設備驅動、網卡驅動、液晶驅動、sd 卡驅動和 usb 驅動。
完成:
1、FLASH 驅動:掌握在 Linux 環境下驅動常見 flash 存儲器。
2、塊設備驅動:掌握塊設備驅動的原理,學會 ramdisk 的編寫。
3、網卡驅動:掌握網卡設備的編寫原理,能夠熟練移植各種網卡驅動。在對網卡硬件寄存器熟悉的基礎上,有能力為其編寫完善的網卡驅動。
4、液晶驅動:掌握 frambuffer 驅動的原理,有能力在有控制器的嵌入式平臺上參考液晶手冊實現各種常見液晶驅動。
5、SD 卡驅動:掌握 SDIO 接口操作,熟悉 SD 卡驅動的原理。
6、USB 設備驅動:了解 USB 主機設備驅動的結構及編程方式。
18. 綜合案例的實戰訓練
在第二階段課程中,為了幫助學員充分有效地掌握核心知識點在企業中的具體應用,并開始逐步按照企業需求、流程和規范進行實戰訓練,在嵌入式 Linux 應用開發、系統內核開發的課程講授過程中全部采用項目驅動的方式,將來自合作企業的全真案例貫穿于課程中。通過這種方式帶領學員分析企業崗位的真實技術需求,進行案例演練,從而快速掌握相關的技能和開發技巧。
第三階段:嵌入式系統開發拓展與實踐
職場定位:
1.嵌入式 Linux 驅動工程師(Embedded Linux Driver Development Engineer );
2.Android 研發工程師(Senior Android Engineer)
本期目標:參加本期培訓的學員應該掌握嵌入式 Linux 和 Android 應用開發、系統開發和驅動開發的綜合能力。本期學習的主要目標是掌握嵌入式產品開發從需求分析到詳細設計整個過程的開發內容,并通過技術專題的講解,幫助學員進一步體驗 Linux 驅動程序開發的技巧,并積累足夠的設備驅動開發經驗。同時,本期課程還重點講解嵌入式 Linux 在移動開發領域的典型應用--Android 操作系統,全面了解 Android 系統的開發過程和行業前景,在專業講師的帶領下,實戰體驗 Android 應用程序的開發及底層的系統移植及驅動開發。后,本期將重點花一個月時間,讓學員從零開始完整完成一個真實項目的設計,使學員在鞏固所學內容的同時,迅速積累項目設計經驗,達到并超過企業用人需求,另外,通過實際項目案例,可以發現學員知識薄弱環節進行重點加強。目前嵌入式學院提供的真實項目包括嵌入式 Linux 和 Android 兩個方向,包括:智能家居系統、智能手表、智能小車、倉儲物聯網系統、智能農業系統、智能 TV 系統、便攜式智能醫療系統、遠程視頻監控系統、車載導航系統、安防監控系統等,每期學員可完整完成其中一個項目。
課程大綱:
19.嵌入式 Linux 在移動開發領域的典型應用--手機 Android 操作系統
介紹嵌入式 Linux 在移動開發領域的典型應用 Android 系統,了解Android 系統如何由嵌入式 Linux 衍生出來的,以及 Android 系統和嵌入式 Linux 系統差異化,了解 Android 系統的體系結構、開發特點以及關鍵技術點,并重點學習 ARM 對 Android 系統的支持現狀,掌握 ARM平臺上的 Android 相關開發工具和解決方案,重點講解 Android 系統在 ARM 平臺上的移植過程,介紹 Android 系統底層驅動開發和嵌入式Linux 驅動開發的差異化,后介紹 ARM+Andriod 平臺組合的行業應用前景,使學員全面了解 Android 系統的開發過程及發展前景。
20.Android 底層系統開發
通過本課程的學習,學員可以掌握從 Ubuntu 系統上搭建 Android 開發環境開始,到終 Android 系統硬件抽象層分析,從簡單到復雜,從基礎深入到架構,以源碼分析為主線,架構設計理解為藍圖,上手實驗為目的,系統介紹 Android 系統移植與架構開發要點。其中主要內容為:下載編譯 Android 源碼、Android 系統啟動流程分析、定制產品系統、Android 移植技術要點分析、硬件抽象層實戰等。
完成:《智能醫療平板系統深度定制》、《基于 Android 系統的移動設備開機速度優化》
21.嵌入式 Linux &Android 項目實踐
在第二階段課程中,為了幫助學員充分有效地掌握核心知識點在企業中的具體應用,并開始逐步按照企業需求、流程和規范進行實戰訓練,在嵌入式 Linux 應用開發、系統內核開發的課程講授過程中全部采用項目驅動的方式,將來自合作企業的全真案例貫穿于課程中。通過這種方式帶領學員分析企業崗位的真實技術需求,進行案例演練,從而快速掌握相關的技能和開發技巧。
完成:
1、基于 ARM Cortex-A9+Cortex-M0 的倉儲物聯網系統
2、基于 FSPAD_723 雙核平板的智能家居系統
3、FarsightTV 智能網絡機頂盒
4、車載導航系統項目
5、基于 ARM Cortex-A9 的安防監控項目
6、Android 開源平板電腦系統設計
7、實景智能家居
8、智能機器人項目
9、公交一卡通物聯網充值系統
10、便攜式智能醫療系統
11、基于 FS_Watch 的智能手表項目
12、智能農業綜合實訓系統
備注:嵌入式 Linux 方向的項目有:1、2、3、4、5、7、8、9、12;Android 方向的項目有:1、2、6、9、10、11
【課程體系】

【專業名師】
劉老師

潘老師

講師介紹:
華清遠見星創客精英訓練營杰出講師;
華清遠見"四大才子"之一;
華清遠見杰出講師;成都中心教學負責人;
嵌入式系統骨灰級專家人物;
長期從事長期從事國內、外嵌入式項目開發工作;
工程師 10年以上嵌入式項目開發工程經驗;
實際參與的數十個國內大型嵌入式項目,已廣泛應用。
【教學現場】





