課程內(nèi)容
*階段:嵌入式C語言編程
主要介紹在嵌入式開發(fā)編程中C語言的重要概念和編程技巧中的重點(diǎn)難點(diǎn),以復(fù)習(xí)串講和實(shí)例分析的形式,重點(diǎn)介紹函數(shù)與程序結(jié)構(gòu),指針、數(shù)組和鏈表,庫函數(shù)的使用等知識(shí)。
第二階段:嵌入式Linux開發(fā)環(huán)境
主要介紹Linux操作系統(tǒng)的使用和編程知識(shí),包括Linux操作命令,文件和服務(wù),VI編輯器,GCC編譯器,GDB調(diào)試器,Make項(xiàng)目管理工具和Automake/Autoconfig等知識(shí)。
第三階段:嵌入式數(shù)據(jù)結(jié)構(gòu)與算法
主要包括數(shù)據(jù)結(jié)構(gòu)和算法編程訓(xùn)練,排序查找編程訓(xùn)練,遞歸和棧編程訓(xùn)練,字符串操作訓(xùn)練和常用C庫函數(shù)編程接口實(shí)踐,強(qiáng)化學(xué)員對(duì)數(shù)據(jù)結(jié)構(gòu)與算法的理解和嵌入式Linux下編程開發(fā)和編碼調(diào)試的能力。
第四階段:Linux環(huán)境高級(jí)編程及項(xiàng)目迭代開發(fā)實(shí)踐
主要包括系統(tǒng)編程,文件I/O編程,串口編程,網(wǎng)絡(luò)編程;掌握Linux下Socket編程的開發(fā)流程,熟悉網(wǎng)絡(luò)編程的調(diào)用接口函數(shù)和相關(guān)數(shù)據(jù)結(jié)構(gòu),使學(xué)員具備在Linux上進(jìn)行系統(tǒng)編程開發(fā)的能力。同時(shí)綜合之前所學(xué)內(nèi)容和編程技術(shù),學(xué)員以個(gè)體為單位進(jìn)行嵌入式Linux應(yīng)用項(xiàng)目開發(fā),項(xiàng)目內(nèi)容包括嵌入式軟件迭代開發(fā)流程,項(xiàng)目開發(fā)文檔,多進(jìn)程/多線程并發(fā)控制,文件I/O編程,串口編程,網(wǎng)絡(luò)編程。
第五階段:嵌入式C++編程
主要介紹在嵌入式開發(fā)編程中C++在C基礎(chǔ)上的增強(qiáng)特性,C++面向?qū)ο蟮闹黝}:抽象、封裝、繼承、多態(tài),泛型編程和STL庫,MFC界面程序設(shè)計(jì)。
第六階段:嵌入式Linux高級(jí)應(yīng)用
主要介紹嵌入式嵌入式軟件移植,Linux系統(tǒng)構(gòu)建(包括Bootloader工作原理、內(nèi)核裁減配置和交叉編譯、BusyBox,根文件系統(tǒng)制作),圖形界面和數(shù)據(jù)庫開發(fā)等知識(shí)。同時(shí)學(xué)員要為嵌入式Linux應(yīng)用項(xiàng)目增加GUI界面和數(shù)據(jù)庫應(yīng)用。
第七階段:Arm嵌入式開發(fā)
主要介紹ARM體系結(jié)構(gòu)及其基本編程知識(shí),包括指令分類,尋址方式、指令集、存儲(chǔ)系統(tǒng)、異常中斷處理、匯編語言以及C\C++和匯編語言的混合編程等知識(shí)。同時(shí)結(jié)合ARM嵌入式開發(fā)板硬件設(shè)計(jì)原理和基本硬件設(shè)計(jì)流程,分析各種外設(shè)的工作原理和驅(qū)動(dòng)機(jī)制,并自己動(dòng)手完成一個(gè)ARM開發(fā)板上的編程實(shí)踐。
第八階段:嵌入式Linux設(shè)備驅(qū)動(dòng)開發(fā)
主要介紹嵌入式Linux上驅(qū)動(dòng)程序開發(fā)規(guī)范,包括設(shè)備驅(qū)動(dòng)程序概念、字符設(shè)備驅(qū)動(dòng)程序、塊設(shè)備與網(wǎng)絡(luò)設(shè)備、網(wǎng)卡驅(qū)動(dòng)以及常用嵌入式設(shè)備驅(qū)動(dòng)開發(fā)等知識(shí)。同時(shí)獨(dú)立實(shí)現(xiàn)兩種嵌入式設(shè)備驅(qū)動(dòng)程序的編寫,包括驅(qū)動(dòng)模塊的調(diào)試和加載以及完整的項(xiàng)目開發(fā)文檔的編寫。
第九階段:嵌入式軟件架構(gòu)設(shè)計(jì)
人們對(duì)嵌入式設(shè)備的需求花樣越來越多,使得嵌入式軟件越來越復(fù)雜。在目前變化的競爭環(huán)境中,嵌入式項(xiàng)目開發(fā)周期壓得越來越短。本階段主要介紹嵌入式軟件架構(gòu)設(shè)計(jì)方法與過程,通過UML組件化設(shè)計(jì)將僵化的程序分割成小塊,使用時(shí)可以隨意調(diào)換小塊,增加嵌入式軟件的可維護(hù)性與彈性,以滿足嵌入式設(shè)備越來越多的變化需求。
第十階段:嵌入式Linux項(xiàng)目團(tuán)隊(duì)開發(fā)實(shí)踐鍛煉
主要包括設(shè)計(jì)并實(shí)現(xiàn)一個(gè)真實(shí)和完整的嵌入式項(xiàng)目的開發(fā)流程,涉及到數(shù)據(jù)采集、網(wǎng)絡(luò)通訊、圖形用戶界面顯示以及嵌入式數(shù)據(jù)庫存儲(chǔ)系統(tǒng)等多種嵌入式Linux編程技術(shù)。要求學(xué)員使用SVN進(jìn)行版本控制,使用Bugzilla進(jìn)行BUG跟蹤,在開發(fā)過程中建立團(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)備。