嵌入式Linux軟件工程師培訓(xùn)課程
嵌入式Linux研發(fā)工程師培訓(xùn)大綱
一、培訓(xùn)目的
近年來,嵌入式系統(tǒng)產(chǎn)業(yè)規(guī)模持續(xù)增長,作為IT 業(yè)的重要新興產(chǎn)業(yè)和經(jīng)濟(jì)增長點(diǎn),發(fā)展嵌入式系統(tǒng)產(chǎn)業(yè)成為“中國制造”向“中國創(chuàng)造”轉(zhuǎn)變的突破口。消費(fèi)電子產(chǎn)業(yè)的蓬勃發(fā)展成為拉動(dòng)嵌入式系統(tǒng)的重要?jiǎng)恿Α?shù)碼相機(jī)、媒體播放器、LCD電視和游戲機(jī)市場每年的增長都在15%以上,而藍(lán)牙、無線局域網(wǎng)、數(shù)碼音樂芯片和閃存的發(fā)展將成為繼續(xù)拉動(dòng)市場前進(jìn)的動(dòng)力。
嵌入式系統(tǒng)是當(dāng)前最熱門最有發(fā)展前途的IT 應(yīng)用領(lǐng)域,像常見到的手機(jī)、PDA、MP3/MP4、機(jī)頂盒、高清電視(HDTV)、路由器、汽車電子、智能家電、醫(yī)療儀器、航天航空設(shè)備等等都是典型的嵌入式系統(tǒng)。目前我國嵌入式系統(tǒng)發(fā)展最大制約因素是缺乏研發(fā)人才,這主要有兩方面的原因:一是與目前我國高校的計(jì)算機(jī)教育普遍以高級(jí)應(yīng)用軟件為主,很少涉及嵌入式軟件的課程;二是嵌入式領(lǐng)域門檻相對(duì)較高,知識(shí)要求比較全面,而且需要有實(shí)驗(yàn)環(huán)境(開發(fā)板和工具軟件)和有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo),很難自學(xué)成才。因此企業(yè)很難招聘到馬上可以從事嵌入式軟件開發(fā)的實(shí)戰(zhàn)型人才。深圳是電子產(chǎn)品研發(fā)的王國,對(duì)嵌入式開發(fā)人才的需求非常大,而且是最具有高薪實(shí)力的IT職位。
本課程是為了適應(yīng)目前發(fā)展迅速的嵌入式Linux需求而設(shè)計(jì),課程目標(biāo)是讓學(xué)員達(dá)到適應(yīng)嵌入式應(yīng)用軟件開發(fā)、嵌入式系統(tǒng)開發(fā)或嵌入式驅(qū)動(dòng)開發(fā)的基本素質(zhì)。課程循序漸進(jìn)的帶領(lǐng)您嵌入式開發(fā)的世界,采用了目前應(yīng)用最廣泛的軟硬件開發(fā)平臺(tái)(Linux和Arm),可以保證您盡量貼近目前企業(yè)需求。具體目標(biāo)是使學(xué)員在短期內(nèi)迅速達(dá)到嵌入式企業(yè)的用人需求,精通嵌入式開發(fā)的基本技能;掌握嵌入式linux項(xiàng)目的完整開發(fā)流程,能夠獨(dú)立完成嵌入式linux系統(tǒng)的移植和設(shè)備驅(qū)動(dòng)程序的編寫,熟練掌握嵌入式Linux應(yīng)用程序的開發(fā)。
本培訓(xùn)課程由資深嵌入式領(lǐng)域?qū)<腋鶕?jù)嵌入式系統(tǒng)的設(shè)計(jì)原則和IT企業(yè)的技術(shù)需求定制,實(shí)踐證明本教學(xué)大綱科學(xué)合理,能夠快速培養(yǎng)實(shí)用的嵌入式工程師。通過培訓(xùn)可以獲得扎實(shí)的開發(fā)技能,積累至少相當(dāng)一年的開發(fā)經(jīng)驗(yàn)。
二、課程簡介
本課程系統(tǒng)學(xué)習(xí)Linux操作系統(tǒng)、嵌入式C語言程序設(shè)計(jì)、數(shù)字電路、ARM體系結(jié)構(gòu)及其編程、嵌入式系統(tǒng)應(yīng)用開發(fā)等技術(shù)知識(shí)。通過這些知識(shí)的學(xué)習(xí),讓學(xué)生掌握嵌入式系統(tǒng)開發(fā)的基本原理和設(shè)計(jì)方法,并通過實(shí)際項(xiàng)目的開發(fā),讓學(xué)生掌握嵌入系統(tǒng)開發(fā)的整個(gè)流程,操作系統(tǒng)的移植的基本思想,移植原則,應(yīng)用程序及驅(qū)動(dòng)程序的開發(fā)和調(diào)式方法。
本課程理論與實(shí)踐相結(jié)合,理論與實(shí)戰(zhàn)的課時(shí)比例約為5:5;由有關(guān)專家、學(xué)者和優(yōu)秀的一線資深嵌入式工程師,集合國際先進(jìn)嵌入式技術(shù)和理論,對(duì)嵌入式開發(fā)過程進(jìn)行綜合分析,結(jié)合最新的軟件開發(fā)環(huán)境,進(jìn)行實(shí)際案例的培訓(xùn);實(shí)戰(zhàn)訓(xùn)練貫穿于全部課程中,學(xué)員學(xué)練結(jié)合、學(xué)以致用,以培養(yǎng)實(shí)際工作能力,快速獲得項(xiàng)目經(jīng)驗(yàn)。每半月進(jìn)行一次測(cè)試,確保學(xué)員掌握所學(xué)知識(shí)。本課程學(xué)習(xí)中需要開發(fā)試驗(yàn)版支持,本公司選用最新的的ARM開發(fā)版,支持ADS1.2(開發(fā)環(huán)境)等調(diào)試。
三、課程設(shè)計(jì)
課程單元
|
主要內(nèi)容 |
Linux 操作系統(tǒng)基礎(chǔ) |
主要介紹 Linux 的基本知識(shí),包括發(fā)展歷史、系統(tǒng)安裝、基本命令和系統(tǒng)管理,Linux 下的常用工具、以及各種應(yīng)用服務(wù)配置等知識(shí)。
介紹 Linux 上的程序設(shè)計(jì)基礎(chǔ)知識(shí),包括編程風(fēng)格(GNU/K&R)、應(yīng)用開發(fā)(gcc/gdb/make&Makefile)、源代碼管理(CVS)等知識(shí)。
|
嵌入式C語言程序設(shè)計(jì) |
主要剖析C語言語法的重點(diǎn)難點(diǎn),掌握代碼編譯、連接及生成可執(zhí)行文件的內(nèi)部過程;
掌握函數(shù)、變量、指針運(yùn)行時(shí)內(nèi)存布局等基本概念的精髓;掌握嵌入式開發(fā)中交叉編譯與鏈接的用法;
介紹嵌入式開發(fā)中的C語言編程特點(diǎn),包括堆和棧、動(dòng)態(tài)內(nèi)存分配、易失寄存器變量、鏈接時(shí)的段布局以及對(duì)處理器現(xiàn)場保護(hù)、匯編語言與C混合編程等概念和原理做深入分析。
|
Linux C編程強(qiáng)化訓(xùn)練 |
主要包括整數(shù)算法訓(xùn)練,遞歸和棧編程訓(xùn)練,位操作訓(xùn)練,指針訓(xùn)練,字符串訓(xùn)練和常用C編程接口實(shí)踐,強(qiáng)化學(xué)員對(duì)Linux下基本編程開發(fā)的理解和編碼調(diào)試的能力。
|
Linux環(huán)境高級(jí)編程 |
主要包括:
1.系統(tǒng)編程(信號(hào)/系統(tǒng)調(diào)用/管道/FIFO/消息隊(duì)列/共享內(nèi)存等),
2.文件I/O編程(文件描述符/文件讀寫接口/原子操作/阻塞與非阻塞IO等),
3.多任務(wù)和多線程編程(進(jìn)程標(biāo)識(shí)/用戶標(biāo)識(shí)/fork與vfork/多線程概念/線程同步等),
4.網(wǎng)絡(luò)編程(網(wǎng)絡(luò)基本概念/套接口編程/網(wǎng)絡(luò)字節(jié)次序/ Client/Server 結(jié)構(gòu)/ UDP 編程);掌握Linux下Socket編程的開發(fā)流程,熟悉網(wǎng)絡(luò)編程的調(diào)用接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu)。 |
編程實(shí)踐 |
主要進(jìn)行一個(gè)團(tuán)隊(duì)合作項(xiàng)目的開發(fā),綜合前面所學(xué)內(nèi)容和編程技術(shù),考核內(nèi)容包括文件I/O編程,多線程編程,網(wǎng)絡(luò)編程和項(xiàng)目文檔編寫。
|
嵌入式ARM體系結(jié)構(gòu) |
介紹 ARM體系結(jié)構(gòu)及其基本編程知識(shí),包括基本編程模型,指令分類,尋址方式、指令集、存儲(chǔ)系統(tǒng)、異常中斷處理等基礎(chǔ)知識(shí)和概念,以及包括ARM匯編語言以及C\C++和匯編語言的混合編程等編程知識(shí)和技巧。
|
ARM開發(fā)實(shí)踐 |
介紹ARM嵌入式開發(fā)板硬件設(shè)計(jì)原理和基本硬件設(shè)計(jì)流程,分析嵌入式開發(fā)板各種外設(shè)的工作原理和驅(qū)動(dòng)機(jī)制,了解基于ARM 開發(fā)的若干編程技巧和編程思想,并自己動(dòng)手實(shí)踐完成一個(gè)ARM開發(fā)板應(yīng)用程序。
|
嵌入式Linux高級(jí)應(yīng)用 |
主要介紹嵌入式Linux應(yīng)用程序編程高級(jí)技巧
1.嵌入式圖形界面的開發(fā)(包括MiniGUI和QT/Embedded)
2.嵌入式數(shù)據(jù)庫(SQLite)編程技巧等知識(shí)。
|
嵌入式Linux驅(qū)動(dòng)理論 |
主要介紹嵌入式 Linux 上驅(qū)動(dòng)程序開發(fā)規(guī)范
1. 設(shè)備驅(qū)動(dòng)程序概念、
2. 字符設(shè)備驅(qū)動(dòng)程序、
3. 塊設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)卡驅(qū)動(dòng)
4. 常用嵌入式設(shè)備驅(qū)動(dòng)開發(fā)等知識(shí)。
|
嵌入式Linux驅(qū)動(dòng)實(shí)踐 |
主要完成團(tuán)隊(duì)合作項(xiàng)目的開發(fā),綜合前4周所學(xué)內(nèi)容,實(shí)現(xiàn)一個(gè)嵌入式Linux設(shè)備驅(qū)動(dòng)程序編寫的項(xiàng)目需求,考核內(nèi)容包括嵌入式硬件外設(shè)的基本工作原理、Linux驅(qū)動(dòng)程序的編程框架、驅(qū)動(dòng)模塊的調(diào)試和加載以及完整的項(xiàng)目開發(fā)文檔。
|
實(shí)戰(zhàn)項(xiàng)目一 |
電子點(diǎn)菜系統(tǒng)(采用ARM S3C2410芯片)
項(xiàng)目描述:本項(xiàng)目的目標(biāo)是實(shí)現(xiàn)一個(gè)基于UDP通訊的局域網(wǎng)點(diǎn)菜系統(tǒng),系統(tǒng)具備與網(wǎng)內(nèi)應(yīng)用服務(wù)器提取菜單信息以及將客戶點(diǎn)菜信息發(fā)往應(yīng)用服務(wù)器的能力。
★軟件平臺(tái): RedHat 9.0 、uCLinux
★硬件平臺(tái): 2410開發(fā)板
★項(xiàng)目成員: 由學(xué)員組成。
★功能描述: 實(shí)現(xiàn)一個(gè)基于UDP通訊的點(diǎn)菜系統(tǒng)。
實(shí)戰(zhàn)要求:
1) UDP通訊協(xié)議
2) 嵌入式數(shù)據(jù)庫與持久存儲(chǔ)
3) 信息壓縮與解壓縮
4) 圖形界面QT
|
實(shí)戰(zhàn)項(xiàng)目二
|
基于ARM的網(wǎng)絡(luò)播放器
主要內(nèi)容包括設(shè)計(jì)并實(shí)現(xiàn)一個(gè)真實(shí)和完整的嵌入式項(xiàng)目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲(chǔ)系統(tǒng)等多種嵌入式 Linux編程技術(shù)。帶領(lǐng)大家建立起團(tuán)隊(duì)開發(fā)和協(xié)同工作的企業(yè)項(xiàng)目開發(fā)模式的概念和流程,強(qiáng)化學(xué)員對(duì)編寫項(xiàng)目概要設(shè)計(jì)文檔和詳細(xì)設(shè)計(jì)文檔的理解,為就業(yè)前的職業(yè)技能和素質(zhì)訓(xùn)練做好充分準(zhǔn)備??己藘?nèi)容包括嵌入式Linux網(wǎng)絡(luò)通信、圖形界面開發(fā),嵌入式數(shù)據(jù)庫編程,嵌入式驅(qū)動(dòng)開發(fā)等以及完整的項(xiàng)目開發(fā)文檔。
|
實(shí)戰(zhàn)項(xiàng)目三
|
PMP開發(fā)
項(xiàng)目簡介:所謂PMP,又名MP4。是當(dāng)前逐漸流行的消費(fèi)類電子產(chǎn)品。項(xiàng)目基于以 ARM920T為核的S3C2410和Linux,進(jìn)行實(shí)踐練習(xí)。
實(shí)踐內(nèi)容主要包括:Bootloader、Kernel及根文件系統(tǒng)重構(gòu),相關(guān)設(shè)備驅(qū)動(dòng)編寫,當(dāng)前主流GUI庫QT與Nano-X的移植,基于QT或 Nano-X的應(yīng)用程序設(shè)計(jì),Linux多線程程序設(shè)計(jì),Linux進(jìn)程間通訊(IPC)編程,Socket編程,視頻播放器,音頻播放器的設(shè)計(jì)與編碼,交叉編譯器重構(gòu)等等。該實(shí)踐項(xiàng)目涉及到了嵌入式Linux開發(fā)的各個(gè)層面,可以大幅提高學(xué)員的實(shí)際Linux開發(fā)能力。
實(shí)戰(zhàn)要求:
5) 進(jìn)行需求分析、撰寫總體設(shè)計(jì)報(bào)告;
6) 選擇合理的體系結(jié)構(gòu),確定開發(fā)方案
7) 編寫程序要規(guī)范 |
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。