【面向學員】
大專及以上學歷
【學習模式】
面授/線上
【上課時間】
面授時間:4~5個月
【課程安排】
階段:嵌入式系統開發基礎理論
職場定位:
1. 嵌入式 Linux 軟件開發工程師(Embedded Linux Software Development Engineer);
2. C++開發工程師(C++ Development Engineer )。
3. Linux C 語言開發工程師
本期目標:嵌入式系統是現在熱門的計算機應用領域之一,嵌入式 C/C++語言在其中起著至關重要的作用。一個精通 C/C++語言程序設計的程序員,可以很容易地進入 Linux、Vxworks 等嵌入式操作系統下的軟件開發工作。本階段學習目標是掌握 Linux 操作系統的使用,打好 C 語言基礎、進一步深入學習 C 語言編程并精通常用的數據結構,為將來從事應用開發及底層課程的學習打下基礎。通過本階段的學習,學員還可以精通使用 C++語言編程,為學習Qt圖形化界面編程相關開發,打下良好基礎。通過本期學習,還可以熟練掌握嵌入式 Linux的開發環境,為將來做底層嵌入式開發工作打基礎。
課程大綱:
Linux 操作系統使用
本課程從零起點,講述了 Linux 內核的起源、發展歷程以及目前廣泛的應用場合;概述了 Linux 系統的基本組成框架及組件功能;詳細介紹 Linux 下的文件管理、用戶管理、網絡管理、軟件管理等基本命令;以及包括 VI 編輯器,GCC 編譯器,GDB 調試器和 Make 項目管理工具、Shell 編程等在內的 C 語言環境搭建知識。
完成:《文件管理器》、《用戶管理器》
嵌入式 Linux C 語言編程
C 語言是嵌入式領域重要也是主要的編程語言,本課程將在學員 C語言基礎知識之上,通過大量編程實例重點講解 C 語言的編程知識,包括函數與程序結構、指針、數組、常用算法、庫函數的使用等知識。
完成:《字符串處理器》、《學生信息管理系統》
嵌入式 Linux C 語言數據結構及經典算法編程
數據結構是一門非常重要的基礎課,在 Linux 內核、底層驅動、通信協議及實際開發中都有大量應用。本課程重點講解數據結構的基礎內容,包括順序表、鏈表、隊列、棧、樹、圖、哈希表、各種查找和排序算法等。每種重要的數據結構都會介紹其理論知識及 C 語言的實現,還會結合實例講解其在實際中的應用。
完成:《死亡游戲》、《四則運算計算器》、《球鐘》、《電文編碼器》、《排課系統》
C++語言編程
本課程主要讓學員從 C 到 C++、C++新增特性、C 和 C++兼容及差異、內存模型和名字空間、標準流、對象和類、運算符重載、模板、類繼承、多態、異常、轉換函數、智能指針及 STL、熟悉面向對象編程語言。
嵌入式 Linux 項目開發流程
本課程主要讓學員從宏觀了解嵌入式 Linux 開發環境搭建和項目開發流程,讓學員建立起整體架構的概念,包括嵌入式產品需求分析和選型、硬件平臺、移植、啟動代碼、驅動開發、系統部署等整個過程。
第二階段:嵌入式系統開發核心課程
職場定位:
1. 嵌入式 Linux 軟件開發工程師(Embedded Linux Software Development Engineer);
2. C++開發工程師(C++ Development Engineer )。
3. Qt 圖形化界面程序開發工程師(Qt GUI Development Engineer)。
4. Linux 內核工程師(Linux Kernel Development Engineer);
5. Linux 驅動工程師(Linux Driver Development Engineer );
本期目標:參加本期培訓的學員應該掌握嵌入式 C 語言編程技巧和 Linux 底層開發的編程技巧。嵌入式 Linux 應用開發和 Linux 底層開發是嵌入式 Linux 中重要的一部分,也是企業人才需求廣的一部分。本期學習的主要目標是精通嵌入式 Linux 下的程序設計,熟悉嵌入式Linux 開發流程,強化學員對 Linux 應用開發的理解和編碼調試的能力。同時掌握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.Qt 應用編程
本課程主要讓學員掌握 Qt 應用編程的主要方法,熟悉 Qt 中的主要組件和常用圖形界面組件,熟悉 Qt 中事件驅動和信號槽機制,熟悉 Qt的 2D 技術,熟悉 Qt 的進程、線程及網絡編程,并完成一個基于 Qt 的文件下載工具的編寫。
完成:《基于網絡編程和數據庫完成項目》
12.ARM 處理器編程
ARM 是嵌入式領域主要的 CPU 處理器,了解 ARM 處理器的基礎知識將為后面課程的底層開發打好堅實基礎,本課程內容包括 ARM 處理器體系結構、編程環境、指令集、尋址方式、調試、匯編和混合編程等方面的內容,為后面移植課程的學習打好基礎。學完此課程學員可獲得ARM 公司全球統一授權培訓證書。
13.ARM 硬件接口開發
本課程包含 ARM 處理器體系結構、編程環境、指令集、尋址方式、調試、匯編和混合編程等方面知識,重點介紹 ARM 的常用接口開發及硬件電路設計基礎(包括 IO、串口、看門狗、PWM 定時器、ADC、實時時鐘、SPI、I2C 等),為后續的課程打好基礎。結合 FS4412 開發板和自主研發的 Cortex-A9 仿真器。
完成:
1、基于 Cortex-A9 的 GPIO
2、基于 Cortex-A9 的 PWM
3、基于 Cortex-A9 的鍵盤中斷
4、基于 Cortex-A9 的串口實驗
5、基于 Cortex-A9 的 RTC 驅動
6、基于 Cortex-A9 的 ADC 驅動
7、基于 Cortex-A9 的看門狗實驗
8、基于 Cortex-A9 的 I2C、SPI 接口實驗
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 下常用接口驅動的編寫方法,內容包括:
1、塊設備驅動:掌握塊設備驅動的原理、學會 ramdisk 的編寫;
2、網卡驅動:掌握 Linux 網卡設備驅動的移植及編寫;
3、 mtd 設備驅動:掌握 linux 下的 flash 存儲設備驅動的移植及 編寫;
4、 frambuffer 驅動:掌握 frambuffer 設備驅動的移植及編寫;
5、 eMMC/sd 設備驅動:掌握 eMMC/sd 設備驅動的移植及編寫;
6、 videvo 設備驅動:掌握 v4l2 內核框架,熟悉 video 設備驅動 的移植及編寫;
7、 usb 設備驅動:掌握 USB 設備的移植及編寫。
18. 綜合案例的實戰訓練
在第二階段課程中,為了幫助學員充分有效地掌握核心知識點在企業中的具體應用,并開始逐步按照企業需求、流程和規范進行實戰訓練,在嵌入式 Linux 應用開發、系統內核開發的課程講授過程中全部采用項目驅動的方式,將來自合作企業的全真案例貫穿于課程中。通過這種方式帶領學員分析企業崗位的真實技術需求,進行案例演練,從而快速掌握相關的技能和開發技巧。
第三階段:嵌入式系統開發拓展與實踐
職場定位:
1. 嵌入式 Linux 軟件開發工程師(Embedded Linux Software Development Engineer);
2. C++開發工程師(C++ Development Engineer )。
3. Qt 圖形化界面程序開發工程師(Qt GUI Development Engineer)。
4. Linux 內核工程師(Linux Kernel Development Engineer);
5. Linux 驅動工程師(Linux Driver Development Engineer );
本期目標:參加本期培訓的學員應該掌握嵌入式 Linux 和 Qt 應用開發、系統開發和驅動開發的綜合能力。本期學習的主要目標是掌握嵌入式產品開發從需求分析到詳細設計整個過程的開發內容,并通過技術專題的講解,幫助學員進一步體驗 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 項目實踐
在第二階段課程中,為了幫助學員充分有效地掌握核心知識點在企業中的具體應用,并開始逐步按照企業需求、流程和規范進行實戰訓練,在嵌入式 Linux 應用開發、系統內核開發的課程講授過程中全部采用項目驅動的方式,將來自合作企業的全真案例貫穿于課程中。通過這種方式帶領學員分析企業崗位的真實技術需求,進行案例演練,從而快速掌握相關的技能和開發技巧。
完成:
1、基于 ARM Cortex-A9+Cortex-M0 的倉儲物聯網系統
2、基于 FSPAD_733 雙核平板的智能家居系統
3、FarsightTV 智能網絡機頂盒
4、車載導航系統項目
5、基于 ARM Cortex-A9 的安防監控項目
6、VR 智能家居
7、wifi 智能小車
8、便攜式智能醫療系統
9、智能農業綜合實訓系統
【名師簡介】
陳老師

· 多年軟件開發經驗;
· 在某游戲公司開發多年,一線開發工程師;
· 精通J2ME,Android應用,IPTV應用開發;
· 參與公司游戲引擎研發;
· 對Android游戲開發以及手機應用有深入研究。
程老師

· 武漢中心教學主管;
· 熟悉C/C++、Java等主流的軟件開發語言;
· 擅長 ARM 體系結構及接口編程;
· Linux 下多進程、多線程和基于socketd的網絡編程;
· 有著豐富的嵌入式 Linux課程培訓經驗。
陳老師

· 精通Unix/Linux系統下的C/C++語言編程;
· 擁有多年的Linux下網絡開發經驗;
· 擁有豐富的實戰項目經驗,對視頻監控領域有獨特的見解;
· 對海思和大華的產品有多年的研究經驗;
· 擁有豐富的高校實訓經驗,深受同學們的喜愛。
【關于我們】
北京華清遠見教育科技有限公司 (以下簡稱華清遠見)是中國的嵌入式技術服務機構,公司于2004年注冊于中國北京海淀高科技園區,核心業務定位在為企業和個人提供高端的嵌入式培訓解決方案,為中國嵌入式行業提供更大價值的職業教育服務,其專業服務和質量**在客戶中享有卓越的聲譽。作為嵌入式培訓領域的專家,公司目前推出的主要業務包括:企業員工定制培訓、針對在職工程師的短期高端培訓及主要面對大學生的長期就業培訓。集團旗下有6個子品牌:嵌入式學院、企業學院、移動互聯網學院、物聯網學院、創客學院和研發中心。伴隨著公司的高速成長,華清遠見先后在北京、上海、深圳、武漢、成都、南京、西安、廣州、沈陽、濟南、重慶等地成立分公司,通過全國范圍內的培訓業務平臺,每年有上萬名技術人員受益于華清遠見組織的短期、長期培訓課程及企業內訓課程,從華清遠見培訓課堂中走出的學員在業界得到了廣泛認可。

【就業學員】

【學員風采】




