課程內(nèi)容
2、Linux基礎(chǔ):Linux操作系統(tǒng)的概念、安裝方法,都可以詳細(xì)了解下Linux下的目錄結(jié)構(gòu)、基本命令、編輯器VI、編譯器GCC,調(diào)試器GDB和Make項(xiàng)目管理工具。
3、Linux系統(tǒng)編程:主要是重點(diǎn)學(xué)習(xí)標(biāo)準(zhǔn)I/O庫(kù),Linux多任務(wù)編程中的多進(jìn)程和多線程,以及進(jìn)程間通信,同步與互斥對(duì)共享資源訪問(wèn)控制等重點(diǎn)知識(shí),主要提升對(duì)Linux應(yīng)用開(kāi)發(fā)的理解和代碼調(diào)試的能力。
4、Linux網(wǎng)絡(luò)編程:計(jì)算機(jī)網(wǎng)絡(luò)在嵌入式Linux系統(tǒng)應(yīng)用開(kāi)發(fā)過(guò)程中使用非常廣泛,通過(guò)Linux網(wǎng)絡(luò)發(fā)展、TCP/IP協(xié)議、socket編程、TCP網(wǎng)絡(luò)編程、UDP網(wǎng)絡(luò)編程、Web編程開(kāi)發(fā)等方面入手,全面了解Linux網(wǎng)絡(luò)應(yīng)用程序開(kāi)發(fā)。
5、數(shù)據(jù)結(jié)構(gòu)域算法:數(shù)據(jù)結(jié)構(gòu)及算法在嵌入式底層驅(qū)動(dòng)、通信協(xié)議、及各種引擎開(kāi)發(fā)中會(huì)得到大量應(yīng)用,對(duì)其掌握的好壞直接影響程序的效率、簡(jiǎn)潔及健壯性。
6、Cortex-A9系列,基于exynos芯片的linux驅(qū)動(dòng)開(kāi)發(fā)。通過(guò)uboot制作,內(nèi)核裁剪、移植,文件系統(tǒng)制作、掛載搭建arm-linux運(yùn)行環(huán)境!學(xué)習(xí)設(shè)備驅(qū)動(dòng)的編寫(xiě)與使用,外部中斷、定時(shí)器中斷、同步機(jī)制、異步機(jī)制等內(nèi)核機(jī)制,掌握l(shuí)inux驅(qū)動(dòng)的編寫(xiě)方法。學(xué)習(xí)平臺(tái)設(shè)備總線、輸入子系統(tǒng)、i2c子系統(tǒng)等內(nèi)核總線,掌握l(shuí)inux內(nèi)核中驅(qū)動(dòng)管理方法。此外,還有LCD屏、觸摸屏、WIFI、攝像頭等實(shí)戰(zhàn)模塊。
7、驅(qū)動(dòng)開(kāi)發(fā):驅(qū)動(dòng)程序設(shè)計(jì)是嵌入式Linux開(kāi)發(fā)中重要的一部分,也是比較困難的一部分。本階段的學(xué)習(xí)要熟悉Linux的內(nèi)核機(jī)制、驅(qū)動(dòng)程序與用戶級(jí)應(yīng)用程序的接口,掌握系統(tǒng)對(duì)設(shè)備的并發(fā)操作。
8、C++、QT:C++是Linux應(yīng)用開(kāi)發(fā)的主要語(yǔ)言之一,在這一階段重要的是掌握面向?qū)ο缶幊痰幕舅枷胍约癈++的重要內(nèi)容。
課程目標(biāo)
2、掌握Linux操作系統(tǒng)使用,包括命令,Shell,系統(tǒng)配置
3、掌握進(jìn)行Linux下應(yīng)用編程及系統(tǒng)調(diào)用
4、精通ARM CORTEX-A9體系結(jié)構(gòu)以及開(kāi)發(fā)
5、精通Bootloader移植、開(kāi)發(fā)
6、精通Linux系統(tǒng)移植,內(nèi)核裁減,調(diào)試
7、精通Linux常用接口驅(qū)動(dòng)開(kāi)發(fā)及驅(qū)動(dòng)移植
8、精通用開(kāi)發(fā)及系統(tǒng)移植
適合人群
2、基礎(chǔ)良好的在讀研究生或者即將畢業(yè)的應(yīng)屆畢業(yè)生
3、熟悉Linux應(yīng)用和框架開(kāi)發(fā),希望從上到下走通Linux系統(tǒng)的工程師
4、希望做驅(qū)動(dòng),做系統(tǒng)移植的工程師
5、有手機(jī)硬件維修基礎(chǔ),希望走向軟件開(kāi)發(fā)的特殊愛(ài)好者
6、在應(yīng)用職工程師想提升個(gè)人技術(shù)水平者
課程內(nèi)容
課程大綱
階段:Linux基礎(chǔ) | |
1、C程序結(jié)構(gòu)、編譯原理、基本數(shù)據(jù)類型、輸入、輸出函數(shù) |
2、linux程序設(shè)計(jì),編譯器 |
3、Makefile 學(xué)習(xí) | 4、Shell編程 |
|
|
第二階段: C程序設(shè)計(jì) | |
1、C程序結(jié)構(gòu)、編譯原理、基本數(shù)據(jù)類型 |
2、運(yùn)算符、表達(dá)式、流程控制、關(guān)鍵字 |
3、函數(shù)、數(shù)組,排序算法 | 4、精講指針 |
5、預(yù)處理 |
6、結(jié)構(gòu)體、共用體、枚舉型 |
7、線性結(jié)構(gòu)(鏈表) | 8、堆棧應(yīng)用和舉例、棧與遞歸的實(shí)現(xiàn) |
9、階段項(xiàng)目實(shí)戰(zhàn) |
|
|
|
第三階段: Linux 高級(jí)系統(tǒng)編程 | |
1、創(chuàng)建和使用庫(kù) |
2、文件和目錄的維護(hù)、掃描目錄 |
3、基于文件描述符的文件操作(非緩沖) | 4、多進(jìn)程 |
5、多進(jìn)程,進(jìn)程間通信 |
6、多線程編程 |
7、Socket網(wǎng)絡(luò)編程 | 8、階段項(xiàng)目實(shí)戰(zhàn) |
9、IO多路復(fù)用 |
|
|
|
第四階段:Cortex-M4/7 驅(qū)動(dòng)開(kāi)發(fā) | |
1、Cortex-M4 介紹,開(kāi)發(fā)環(huán)境搭建,GPIO模塊實(shí)戰(zhàn) |
2、STM32F407 UART模塊實(shí)戰(zhàn) |
3、STM32F407 中斷模塊實(shí)戰(zhàn) | 4、STM32F10X DMA模塊 |
5、基本&通用定時(shí)器定時(shí)功能軟件設(shè)計(jì) |
6、ADC模數(shù)轉(zhuǎn)換模塊 |
7、STM32F407 RTC和系統(tǒng)定時(shí)器模塊實(shí)戰(zhàn) | 8、STM32F407 IIC模塊實(shí)戰(zhàn) |
9、STM32F407 SPI模塊實(shí)戰(zhàn) |
10、TFTLCD模塊實(shí)戰(zhàn) |
11、觸摸屏模塊實(shí)訓(xùn) | 12、GUI |
13、UCOS-II |
14、環(huán)境檢測(cè)項(xiàng)目實(shí)戰(zhàn) |
15、Cortex-M4高級(jí)進(jìn)階模塊實(shí)訓(xùn) (CanBus總線、DAC數(shù)模轉(zhuǎn)換、高級(jí)定時(shí)器、看門(mén)狗定時(shí)器、FSMC文件系統(tǒng)等) | |
16、熱門(mén)項(xiàng)目模塊實(shí)戰(zhàn)(Zigbee、IP程序遠(yuǎn)程升級(jí)、TCP/IP和USB模塊、心跳傳感器、433M模塊、通信協(xié)議、藍(lán)牙wifi、溫濕度檢測(cè)、語(yǔ)音等) | |
17、產(chǎn)品項(xiàng)目實(shí)戰(zhàn)(智能機(jī)械手臂、可穿戴設(shè)備、四軸無(wú)人機(jī)、人體健康檢測(cè)、駕校語(yǔ)音模擬等) | |
|
|
第五階段:嵌入式Linux驅(qū)動(dòng)開(kāi)發(fā)階段 (A9/A72雙平臺(tái)教學(xué),采用最新的RK-3399) | |
1、u-boot介紹,u-boot常用命令學(xué)習(xí) |
2、Linux內(nèi)核移植編譯,裁剪 |
3、內(nèi)核頂層Makefile 交叉編譯器修改 | 4、根文件系統(tǒng)制作,掛接 |
5、驅(qū)動(dòng)理論,字符設(shè)備驅(qū)動(dòng) |
6、設(shè)備驅(qū)動(dòng):Linux驅(qū)動(dòng)中斷編程 |
7、平臺(tái)總線驅(qū)動(dòng)模型 | 8、LCD驅(qū)動(dòng)程序移植 ,LCD應(yīng)用程序編程 |
9、Linux輸入子系統(tǒng),觸摸屏驅(qū)動(dòng) |
10、Linux I2C子系統(tǒng) |
11、Exynos4412產(chǎn)品發(fā)布 | 12、Linux驅(qū)動(dòng)項(xiàng)目實(shí)戰(zhàn) |
|
|
第六階段:嵌入式 Android驅(qū)動(dòng)開(kāi)發(fā)階段 | |
1、Android設(shè)備驅(qū)動(dòng)概述 |
2、Android設(shè)備驅(qū)動(dòng)概述 |
3、JNI開(kāi)發(fā) |
4、NDK開(kāi)發(fā) |
5、SystemServer |
6、ServiceManager |
7、Android Binder通訊機(jī)制 |
8、Android電源管理 |
9、Android調(diào)試方法 |
10、Android設(shè)備驅(qū)動(dòng)開(kāi)發(fā)實(shí)例:LED |
11、Android設(shè)備驅(qū)動(dòng)開(kāi)發(fā)實(shí)例:按鍵 |
12、Android設(shè)備驅(qū)動(dòng)開(kāi)發(fā)實(shí)例:蜂鳴器 |
11、Android設(shè)備驅(qū)動(dòng)開(kāi)發(fā)實(shí)例:串口 |
12、Android設(shè)備驅(qū)動(dòng)項(xiàng)目實(shí)戰(zhàn) |
|
|
第七階段:C++、QT開(kāi)發(fā) | |
1、C++新特性,類和對(duì)象基本知識(shí) |
2、類和對(duì)象基本思想,構(gòu)造函數(shù),析構(gòu)函數(shù) |
3、類中特殊數(shù)據(jù)成員和函數(shù)成員的初始化等類的其它基本知識(shí) | 4、類域,友元,運(yùn)算符重載 |
5、深入運(yùn)算符重載 |
6、派生與繼承 |
7、多態(tài) | 8、模版思想 |
9、名稱空間,string類,智能指針,typeid操作符 |
10、Qt入門(mén)知識(shí) |
11、Qt信號(hào)與槽函數(shù)機(jī)制 | 12、基于Qt的圖片瀏覽器的制作 |
13、基于Qt的MP3音樂(lè)播放器的制作 | 14、基于Qt的網(wǎng)絡(luò)視頻播放器的制作 |
|
|
第八階段:Linux綜合項(xiàng)目實(shí)戰(zhàn) | |
1、基于嵌入式linux的智能家居管理系統(tǒng) | 2、智能醫(yī)療管理系統(tǒng) |
2、智能醫(yī)療管理系統(tǒng) | 3、智能物聯(lián)網(wǎng)管理系統(tǒng) |
4、多媒體視頻廣告機(jī) | 5、遠(yuǎn)程視頻監(jiān)控項(xiàng)目 |
6、USB鍵盤(pán)生產(chǎn)測(cè)試儀器 | 7、人臉識(shí)別系統(tǒng) |
8、行車記錄儀 | 9、刷卡消費(fèi)系統(tǒng) |