課程安排 |
第一階段 嵌入式 linux 開(kāi)發(fā)基礎(chǔ)
職場(chǎng)定位:Linux Development Engineer for Software Engineering
本期目標(biāo):嵌入式系統(tǒng)是現(xiàn)在熱門(mén)的計(jì)算機(jī)應(yīng)用領(lǐng)域之一,嵌入式C語(yǔ)言在其中起著至關(guān)重要的作用。一個(gè)精通C語(yǔ)言程序設(shè)計(jì)的程序員,可以很容易地進(jìn)入Linux、WinCE、Vxworks等嵌入式操作系統(tǒng)下的軟件開(kāi)發(fā)工作。本階段學(xué)習(xí)目標(biāo)是掌握C語(yǔ)言基本知識(shí)、C編程語(yǔ)法基礎(chǔ)和Linux操作系統(tǒng)的使用,并熟練掌握嵌入式Linux的開(kāi)發(fā)環(huán)境,為將來(lái)的編程工作打基礎(chǔ)。 |
|
時(shí)間 |
課程名稱 |
課程內(nèi)容 |
第 1 天
|
Linux操作系統(tǒng)使用
|
1.1嵌入式 linux 系統(tǒng)概述;1.2 Linux 下的文件管理、 用戶管理、 網(wǎng)絡(luò)管理、 軟件管理等基本命令;1.3 Vi 編輯器的使用;1.4 Gcc 程序編譯
|
第 2 天
|
Linux操作系統(tǒng)使用 |
2.1 gdb 程序調(diào)試;2.2 軟件包工具的使用;2.3 Makefile;2.4 shell 編程 |
第 3 天
|
嵌入式Linux C語(yǔ)言編程 |
C 語(yǔ)言重/難點(diǎn)精講(涉及 函數(shù),數(shù)組,二維數(shù)組,指針,指針函數(shù),函數(shù)指針,指針數(shù)組,數(shù)組指針,結(jié)構(gòu)體,算法等) |
第 4 天
|
嵌入式Linux C語(yǔ)言編程 |
本課程通過(guò)大量的編程實(shí)例重點(diǎn)講解 c 語(yǔ)言高級(jí)編程知識(shí)。 |
第 5 天
|
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)及經(jīng)典算法編程 |
5.1 順序表;5.2 單向鏈表;5.3 雙向鏈表 |
第 6 天
|
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)及經(jīng)典算法編程 |
6.1 隊(duì)列; 6.2 棧 |
第 7 天
|
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)及經(jīng)典算法編程 |
7.1 樹(shù),圖哈希表;7.2 各種查找和排序算法 |
第二階段 嵌入式系統(tǒng)開(kāi)發(fā)
職場(chǎng)定位:Linux Development Engineer for Embedded System
本期目標(biāo):參加本期培訓(xùn)的學(xué)員應(yīng)該掌握嵌入式C語(yǔ)言高級(jí)編程技巧。嵌入式Linux應(yīng)用開(kāi)發(fā)和系統(tǒng)開(kāi)發(fā)是嵌入式Linux中重要的一部分,也是企業(yè)人才需求廣的一部分。本期學(xué)習(xí)的主要目標(biāo)是精通嵌入式Linux下的程序設(shè)計(jì),熟悉嵌入式Linux開(kāi)發(fā)流程,強(qiáng)化學(xué)員對(duì)Linux應(yīng)用開(kāi)發(fā)的理解和編碼調(diào)試的能力,同時(shí)掌握bootloader和kernel的移植技能,了解ARM體系結(jié)構(gòu)和編程,具備ARM硬件接口的基礎(chǔ)知識(shí),并了解Linux內(nèi)核開(kāi)發(fā)相關(guān)內(nèi)容,在初步掌握Linux下的驅(qū)動(dòng)程序開(kāi)發(fā)方法的基礎(chǔ)上,通過(guò)典型應(yīng)用場(chǎng)景的分析舉例,深入掌握Linux驅(qū)動(dòng)程序的開(kāi)發(fā)技巧,讓學(xué)員能夠熟練的移植或編寫(xiě)不同類型的設(shè)備驅(qū)動(dòng)程序。 |
|
時(shí)間 |
課程名稱 |
課程內(nèi)容 |
第 8 天
|
嵌入式linux應(yīng)用開(kāi)發(fā)
|
8.1 靜態(tài)庫(kù)的制作和使用;8.2 動(dòng)態(tài)庫(kù)的制作和使用;8.3 標(biāo)準(zhǔn) I/O 文件類型的介紹;8.4 標(biāo)準(zhǔn) I/O 和文件 I/O 介紹;8.5 標(biāo)準(zhǔn) I/O 函數(shù)
|
第 9 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
9.1 unix 基礎(chǔ)知識(shí);9.2 文件 I/O 介紹;9.3 文件 I/O 函數(shù);9.4 取得文件的屬性信息;9.5 目錄讀取函數(shù) |
第 10 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
10.1 進(jìn)程基礎(chǔ);10.2 進(jìn)程相關(guān)命令;10.3 進(jìn)程相關(guān)系統(tǒng)調(diào)用;10.4 守護(hù)進(jìn)程 |
第 11 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
11.1 線程基礎(chǔ);11.2 線程同步機(jī)制;11.3 線程互斥機(jī)制;11.4 進(jìn)程間通信方式 |
第 12 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
12.1 無(wú)名管道;12.2 有名管道;12.3 信號(hào)的基礎(chǔ);12.4 信號(hào)的命令介紹;12.5 信號(hào)相關(guān)函數(shù)使用 |
第 13 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
13.1 IPC-共享內(nèi)存;13.2 IPC-消息隊(duì)列;13.3 IPC-信號(hào)燈集 |
第 14 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
14.1 TCP/IP 協(xié)議概述;14.2 OSI 參考模型;14.3 TCP 和 UDP;14.4 網(wǎng)絡(luò)編程 |
第 15 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
15.1 socket 概述;15.2 socket 類型;15.3 地址結(jié)構(gòu)相關(guān)處理;15.4 數(shù)據(jù)存儲(chǔ)優(yōu)先順序;15.5 地址格式轉(zhuǎn)化 |
第 16 天
|
嵌入式linux應(yīng)用開(kāi)發(fā) |
16.1 socket 基礎(chǔ)編程;16.2 網(wǎng)絡(luò)高級(jí)編程;16.3 廣播和組播;16.4 I/O 模型;16.5 數(shù)據(jù)庫(kù)開(kāi)發(fā) |
第 17 天
|
項(xiàng)目實(shí)戰(zhàn) |
網(wǎng)絡(luò)實(shí)戰(zhàn)項(xiàng)目-在線詞典…… |
第 18 天
第 19 天
第 20 天
第 21 天
第 22 天
|
ARM 五天課程
|
本單元內(nèi)容包括 ARM 處理器體系結(jié)構(gòu)、編程環(huán)境、指令集、尋址方式、調(diào)試、匯編和混合編程、 ARM 的常用接口開(kāi)發(fā)及硬件電路設(shè)計(jì)基礎(chǔ)(包括 IO、串口、看門(mén)狗、實(shí)時(shí)時(shí)鐘、 SPI、 IIC 等)。 |
第 23 天
|
嵌入式linux系統(tǒng)開(kāi)發(fā) |
23.1 嵌入式系統(tǒng)介紹;123.2 嵌入式 linux 系統(tǒng)構(gòu)成;23.3 Gcc 介紹;23.4 Gnu 工具鏈介紹;23.5 Crosstool 介紹;23.6 嵌入式 linux 開(kāi)發(fā)環(huán)境搭建;1.7 Bootloader 的工作原理 |
第 24 天
|
嵌入式linux系統(tǒng)開(kāi)發(fā) |
24.1 u-boot 簡(jiǎn)介;24.2 u-boot 命令介紹;124.3 u-boot 目錄結(jié)構(gòu);24.4 u-boot 的編譯;24.5 u-boot 命令的添加 |
第 25 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
25.1 Linux 內(nèi)核簡(jiǎn)介;25.2 Linux 內(nèi)核源碼層次分析;25.3 嵌入式 linux 移植介紹;25.4 Linux 內(nèi)核介紹;25.5 Linux 內(nèi)核特點(diǎn);25.6 Linux 內(nèi)核源代碼結(jié)構(gòu);25.7 Linux 內(nèi)核選項(xiàng)解析;25.8 Linux 內(nèi)核編譯鏈接;25.9 內(nèi)核模塊編譯、使用方法 |
第 26 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
26.1. Linux 內(nèi)核調(diào)試概述;26.2. Linux 內(nèi)核的打印函數(shù);26.3. Linux 內(nèi)核啟動(dòng)過(guò)程錯(cuò)誤分析;26.4. 解析 oops 信息;26.5. 常用調(diào)試方法和工具;26.6. 集成部署 Linux 文件系統(tǒng);26.7. Linux 根文件系統(tǒng)制作;26.8. 文件系統(tǒng)和存儲(chǔ)設(shè)備的選擇;26.9. 通過(guò) ramdisk 掛載根文件系統(tǒng) |
第 27 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
27.1 linux 內(nèi)核模塊開(kāi)發(fā);27.2 模塊外部傳參;27.3 模塊符號(hào)導(dǎo)出;27.4 Linux 設(shè)備驅(qū)動(dòng)分類;27.5 Linux 字符設(shè)備驅(qū)動(dòng)結(jié)構(gòu);27.6 字符設(shè)備驅(qū)動(dòng)程序;27.7 Linux 字符設(shè)備驅(qū)動(dòng)實(shí)例;27.8 Linux 并發(fā)控制;27.9 Linux 內(nèi)核 原子操作實(shí)現(xiàn);27.10 Linux 內(nèi)核自旋鎖 讀寫(xiě)鎖 順序鎖實(shí)現(xiàn) |
第 28 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
28.1Linux 并發(fā)控制信號(hào)量;28.2 設(shè)備 I/O 模型;28.3 阻塞和非阻塞;28.4 等待隊(duì)列;28.5 多路復(fù)用;28.6 異步通知;28.7 次設(shè)備號(hào)識(shí)別;28.8 自動(dòng)創(chuàng)建設(shè)備節(jié)點(diǎn) |
第 29 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
29.1 內(nèi)核中時(shí)間流;29.2 定時(shí)器;29.3 Kobject;29.4 總線設(shè)備驅(qū)動(dòng)模型;29.5 Platform 總線 |
第 30 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
30.1 中斷概述;30.2 中斷處理程序?qū)崿F(xiàn);30.3 Led 驅(qū)動(dòng)程序?qū)崿F(xiàn);30.4 Beep 驅(qū)動(dòng)程序?qū)崿F(xiàn) |
第 31 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
31.1 設(shè)備樹(shù)介紹;31.2 按鍵中斷程序?qū)崿F(xiàn);31.3 Adc 電壓采集驅(qū)動(dòng)實(shí)現(xiàn) |
第 32 天
|
嵌入式linux內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā) |
32.1 spi 和 i2c 驅(qū)動(dòng)程序?qū)崿F(xiàn);32.2 lcd 驅(qū)動(dòng)程序?qū)崿F(xiàn);32.3 高級(jí)驅(qū)動(dòng)介紹 |
第 33--40 天
|
項(xiàng)目實(shí)戰(zhàn) |
倉(cāng)儲(chǔ)物聯(lián)網(wǎng)系統(tǒng)項(xiàng)目:1)基于 cortex A9 的主控中心,是系統(tǒng)的核心。將整個(gè)系統(tǒng)分為多個(gè)功能的單個(gè)線程,線程間通過(guò)互斥鎖、條件變量、信號(hào)量、共享內(nèi)存和消息隊(duì)列等同步、互斥通信機(jī)制,實(shí)現(xiàn)數(shù)據(jù)的處理,以及對(duì)各種服務(wù),請(qǐng)求的響應(yīng)。
2)基于 M0(LPC11C14)數(shù)據(jù)采集端, 通過(guò) M0 端的溫濕華 清 遠(yuǎn) 見(jiàn) — 中 國(guó) 嵌 入 式 教 育 第 一 品 牌度、光敏、煙霧、三軸加速度等傳感器完成數(shù)據(jù)的采集,以及響應(yīng)警報(bào)命令, RFID 完成貨物的進(jìn)庫(kù)、出庫(kù)。
3) 基于 Zigbee 完成 M0 與 A9的數(shù)據(jù)傳輸,前端完成遠(yuǎn)程顯示、控制終端硬件。網(wǎng)頁(yè)前端主要實(shí)時(shí)顯示進(jìn)出庫(kù)的貨物信息,環(huán)境參數(shù)信息以及進(jìn)出貨物和環(huán)境參數(shù)的歷史記錄。同時(shí)可以在網(wǎng)頁(yè)前端發(fā)送命令控制相關(guān)的操作。
|