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