ARM嵌入式Linux應(yīng)用開發(fā)工程師班課程介紹
課程背景
嵌入式軟件開發(fā)無疑是當(dāng)今最熱門的行業(yè),嵌入式軟件工程師的薪資比普通的軟件工程師的薪資平均高50%以上。隨著智能電網(wǎng)、物聯(lián)網(wǎng)的建設(shè),社會對嵌入式人才的需求越來越多。
很多同學(xué)或在職人員已經(jīng)意識到了嵌入式開發(fā)的重要性,已經(jīng)開始自學(xué)嵌入式開發(fā)技術(shù),但是因為嵌入式開發(fā)不同于普通的純軟件開發(fā),它是綜合了計算機軟、硬件的一門綜合*,涉及模擬電路,數(shù)字電路,C語言、計算機組成原理,微機控制技術(shù),網(wǎng)絡(luò)技術(shù),數(shù)據(jù)結(jié)構(gòu)等課程,很多同學(xué)面對嵌入式涉及的這么多課程和知識點,往往不知道從何處下手開始學(xué)習(xí)嵌入式。
本課程即是針對有興趣學(xué)習(xí)嵌入式Linux開發(fā)又不知道從何處著實開始學(xué)習(xí)嵌入式Linux開發(fā)的在校同學(xué)以及社會在職人員。
課程目標(biāo)
本課程采用理論教學(xué)與實驗相結(jié)合的方式,系統(tǒng)地介紹嵌入式Linux下環(huán)境和程序開發(fā)技術(shù)。通過本課程的學(xué)習(xí),學(xué)員可以掌握嵌入式Linux的環(huán)境搭建過程,具備Linux下進行多進程、多線程、網(wǎng)絡(luò)、GUI、數(shù)據(jù)庫程序的開發(fā)能力,引導(dǎo)學(xué)員進入嵌入式Linux開發(fā)的精彩世界,為后續(xù)深入學(xué)習(xí)嵌入式Linux驅(qū)動和系統(tǒng)編程打下堅實的基礎(chǔ)。
培養(yǎng)對象
ARM嵌入式Linux初學(xué)者
ARM嵌入式Linux愛好者
有志于從事ARM嵌入式Linux應(yīng)用程序開發(fā)的工程師
入學(xué)要求
學(xué)員學(xué)習(xí)本課程應(yīng)具備下列基礎(chǔ)知識:
? 具備計算機基礎(chǔ)知識;
? 具備C語言編程基礎(chǔ);
電子類、計算機類、通信類、自動化類高年級本科生或研究生
培訓(xùn)教材
? 《ARM嵌入式Linux系統(tǒng)應(yīng)用研發(fā)工程師培訓(xùn)講義》
? 《ARM嵌入式Linux系統(tǒng)應(yīng)用研發(fā)工程師培訓(xùn)實驗教程》
課程周期
學(xué)習(xí)時間: 1個半月
實驗環(huán)境
為了保證培訓(xùn)效果,增加互動環(huán)節(jié),我們堅持小班授課,每期報名人數(shù)限10人,多余人員安排到下一期進行。每個學(xué)員配備一套嵌入式飛凌ARM9學(xué)習(xí)開發(fā)板。
課程大綱 (2010-09-25更新)
時間 課程大綱
*部分 ARM嵌入式Linux開發(fā)環(huán)境搭建及編程(2天)
第 一 天
上午
嵌入式Linux開發(fā)環(huán)境搭建
目標(biāo):通過今天課程的學(xué)習(xí),學(xué)員能掌握嵌入式Linux的開發(fā)流程,掌握Linux下服務(wù)器的配置方法,為嵌入式Linux的高效開發(fā)做鋪墊。
1. ubuntu安裝及配置實戰(zhàn)
(1)ubuntu 安裝實戰(zhàn)
(2)ubuntu基本配置及使用
(3)linux命令及簡單介紹
2.ubuntu配置實戰(zhàn)
(1)網(wǎng)路配置
3 . 嵌入式開發(fā)板簡介
4. 構(gòu)建嵌入式linux開發(fā)環(huán)境
下午
實驗
1. ubuntu安裝及配置
2. 虛擬機vmware安裝及配置
3. windonws、ubuntu和開發(fā)板之間的數(shù)據(jù)傳遞
第 二 天
嵌入式下C編程
(1) 編程環(huán)境搭建
(2) Gcc工具使用
(3) Makefile編寫及make工具使用
(4) 其它常用工具使用
實驗
1. 學(xué)生成績管理系統(tǒng)設(shè)計及遠(yuǎn)程調(diào)試
第二部分 嵌入式Linux內(nèi)核與文件系統(tǒng) ( 1天)
第 三 天
嵌入式Linux內(nèi)核與裁剪
1. Linux內(nèi)核與裁剪
2. 構(gòu)建嵌入式Linux根文件系統(tǒng)
3. Linux下文件系統(tǒng)之兩層含義
4. Linux下根文件系統(tǒng)的目錄結(jié)構(gòu)
5. 移植busybox
6. 安裝glibc庫
7. 制作yaffs文件系統(tǒng)映像文件
8. 制作jffs2文件系統(tǒng)映像文件
實驗
1. 嵌入式linux內(nèi)核裁減
2. 嵌入式Linux內(nèi)核移植及根文件系統(tǒng)制作
第三部分 嵌入式Linux應(yīng)用程序設(shè)計及編程( 4天)
第 四 天
上午 進程管理及編程
1. 進程創(chuàng)建
2. 進程等待
3. Exec函數(shù)族
進程間通信
1. 管道/有名管道
2. 共享內(nèi)存
信號及信號處理
1. Linux2.6內(nèi)核信號機制
2. 常用信號分類
3. 進程間信號通訊模型
下午 實驗
1. 進程間通信實驗(管道、共享內(nèi)存、消息隊列)
2. 守護進程實驗
第 五 天
上午 網(wǎng)絡(luò)通訊socket
1. socket基本概念
2. socket通信框架模型
3. 常用函數(shù)使用講解
4. TCP通信實例
5. UDP通信實例
6. socket高級通信
下午 實驗
1. 基于TCP/UDP協(xié)議的聊天軟件設(shè)計
第 六 天
上午 線程及線程間通信
1. 線程概念及創(chuàng)建
2. 線程間通信
3. 互斥鎖
4. 條件變量
5. 信號量
linux串口控制及編程
1. linux終端設(shè)備(串行端口終端、偽終端、控制臺終端)
2. 串口屬性編程控制
3. 基于GPRS Modem的無線短信控制平臺設(shè)計與編程分析
嵌入式系統(tǒng)應(yīng)用程序移植
下午 實驗
1. 生產(chǎn)者消費者實驗
第 七 天
上午 嵌入式EmbeddedQT圖形軟件設(shè)計
1. QT/Embedded圖形開發(fā)基礎(chǔ)
2. QT/Embedded關(guān)鍵技術(shù)
3. QT/Embedded移植
下午 實驗
基于QT/Embedded的嵌入式計算器設(shè)計與編程
第四部分 嵌入式Linux設(shè)備驅(qū)動及編程( 1天)
第 八 天
上午 LINUX字符設(shè)備驅(qū)動程序開發(fā)
1. Linux字符設(shè)備驅(qū)動基礎(chǔ)
2. 字符設(shè)備驅(qū)動程序?qū)崿F(xiàn)框架與典型驅(qū)動分析
3. 用戶空間與內(nèi)核空間的數(shù)據(jù)傳輸
4. 同步、互斥、阻塞、睡眠機制
5. Linux-2.6設(shè)備模型與sysfs文件系統(tǒng)
下午 實驗
1. LED字符設(shè)備驅(qū)動實驗
第五部分 嵌入式Linux綜合項目實訓(xùn)( 4天)
實訓(xùn)項目
基于USB攝像頭的網(wǎng)絡(luò)視頻采集與傳輸系統(tǒng)
要點:
1. 系統(tǒng)需求分析
2. 數(shù)據(jù)結(jié)構(gòu)設(shè)計及算法設(shè)計
3. 編程實現(xiàn)