嵌入式軟件工程師課程簡(jiǎn)介——牛耳教育
基于安博集團(tuán)大量的數(shù)據(jù)調(diào)研,該課程專(zhuān)注于培養(yǎng)基于嵌入式Linux平臺(tái),以嵌入式系統(tǒng)的軟件開(kāi)發(fā)為主,培養(yǎng)學(xué)生在嵌入式領(lǐng)域進(jìn)行軟件開(kāi)發(fā)、軟/硬件測(cè)試、系統(tǒng)維護(hù)等方面的綜合技能,旨在為社會(huì)提供嵌入式軟件開(kāi)發(fā)、產(chǎn)品測(cè)試、技術(shù)支持等方面具備優(yōu)秀的職業(yè)素養(yǎng)的實(shí)用型、技能型人才。精通ARM嵌入式系統(tǒng)的驅(qū)動(dòng)程序開(kāi)發(fā)、操作系統(tǒng)移植、熟悉基于ARM的串行數(shù)據(jù)無(wú)線傳輸系統(tǒng)、基于ARM的無(wú)線數(shù)據(jù)采集系統(tǒng)等面向不同行業(yè)的專(zhuān)用嵌入式應(yīng)用系統(tǒng)的開(kāi)發(fā)。通過(guò)該實(shí)訓(xùn)課程,實(shí)訓(xùn)學(xué)員能夠積累1-2年的軟件開(kāi)發(fā)經(jīng)驗(yàn)。
培養(yǎng)方案
在實(shí)訓(xùn)項(xiàng)目經(jīng)理的帶領(lǐng)下,通過(guò)完成多個(gè)企業(yè)級(jí)項(xiàng)目(基于ARM的串行數(shù)據(jù)無(wú)線傳輸系統(tǒng)、基于ARM的無(wú)線數(shù)據(jù)采集系統(tǒng)、基于ARM的GPRS應(yīng)用系統(tǒng))的分析、設(shè)計(jì)和開(kāi)發(fā),掌握開(kāi)發(fā)企業(yè)級(jí)軟件項(xiàng)目過(guò)程所需的設(shè)計(jì)規(guī)范、開(kāi)發(fā)流程、質(zhì)量控制及項(xiàng)目管理。
就業(yè)方向
能夠勝任軟件公司中的嵌入式工程師、C/C++軟件工程師、數(shù)據(jù)庫(kù)工程師等相關(guān)職位。
*階段
Unix開(kāi)發(fā)環(huán)境、開(kāi)發(fā)規(guī)范培訓(xùn)
Unix系統(tǒng)原理、Unix開(kāi)發(fā)環(huán)境、Unix常用命令
熟練Unix下的C/C++開(kāi)發(fā)環(huán)境,掌握常用的命令
Unix下的定時(shí)任務(wù)
Oracle數(shù)據(jù)庫(kù)
Oracle 10數(shù)據(jù)庫(kù)原理、SL語(yǔ)句、數(shù)據(jù)庫(kù)表及索引
PL/SL語(yǔ)法,存儲(chǔ)過(guò)程,存儲(chǔ)函數(shù),觸發(fā)器等
熟練掌握Oracle 10G下的SL開(kāi)發(fā),精通PL/SL等
基于Oracle,完成計(jì)費(fèi)系統(tǒng)的數(shù)據(jù)整合,包括表的創(chuàng)建,數(shù)據(jù)的錄入以及整合等
C++核心
數(shù)據(jù)類(lèi)型,控制語(yǔ)句,自定義數(shù)據(jù)類(lèi)型,模塊化程序設(shè)計(jì),指針
類(lèi)與對(duì)象(封裝性)類(lèi)的擴(kuò)展,繼承,虛函數(shù),多態(tài)
熟練掌握C基礎(chǔ)語(yǔ)法,函數(shù)的編寫(xiě)和調(diào)用
掌握面向?qū)ο缶幊痰娜齻€(gè)特性,并熟練應(yīng)用OO思想
完成銀行項(xiàng)目的類(lèi)結(jié)構(gòu)設(shè)計(jì),深入理解面向?qū)ο缶幊?
數(shù)據(jù)結(jié)構(gòu)和算法、標(biāo)準(zhǔn)庫(kù)
鏈表、棧、隊(duì)列、二叉樹(shù)、算法
IO、異常、模版(STL)
掌握各種數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn),并了解常用的算法
雙賂鏈表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)
OOAD
面向?qū)ο蠓治龊驮O(shè)計(jì)的方法
UML圖
設(shè)計(jì)模式
掌握多種設(shè)計(jì)模式
了解軟件研發(fā)的整個(gè)過(guò)程,能夠熟練使用UML進(jìn)行分析和設(shè)計(jì)
完成銀行項(xiàng)目的UML設(shè)計(jì),并能使用設(shè)計(jì)模式進(jìn)行優(yōu)化
項(xiàng)目實(shí)訓(xùn)
銀行項(xiàng)目
完成銀行前臺(tái)業(yè)務(wù),包括基本的存取款和轉(zhuǎn)賬等
銀行項(xiàng)目提升和整合
第二階段
Shell編程
Shell編程語(yǔ)法
掌握Shell編程技術(shù)
編寫(xiě)Shell腳本完成FTP功能
Unix環(huán)境編程和開(kāi)發(fā)工具
用戶(hù)信息,文件操作,目錄操作,時(shí)間處理make,makefile,gdb
掌握和環(huán)境編程相關(guān)的函數(shù),并能熟練使用編程工具
計(jì)費(fèi)系統(tǒng)數(shù)據(jù)采集
進(jìn)程、多線程
創(chuàng)建進(jìn)程 子進(jìn)程
信號(hào) 消息隊(duì)列車(chē) 共享內(nèi)存 信號(hào)量
線程的創(chuàng)建、線程的狀態(tài)
多線程編程 線程間的通信
線程同步
線程池編程
掌握進(jìn)程和多線程編程
計(jì)費(fèi)系統(tǒng)C/S分布式架構(gòu)的設(shè)計(jì),掌握線程池的應(yīng)用
網(wǎng)絡(luò)編程和數(shù)據(jù)庫(kù)編程
網(wǎng)絡(luò)基礎(chǔ)
TCP/IP協(xié)議
基于TCP和UDP的網(wǎng)絡(luò)編程
Pro★C數(shù)據(jù)編程
掌握網(wǎng)絡(luò)編程,并能編寫(xiě)支持多客戶(hù)端的服務(wù)器軟件
熟練掌握Oracle MySL等數(shù)據(jù)庫(kù)的連接和數(shù)據(jù)訪問(wèn)
計(jì)費(fèi)系統(tǒng)集中式數(shù)據(jù)模塊,該模塊完成數(shù)據(jù)集中化并錄入到ORACLE中
項(xiàng)目實(shí)訓(xùn)
計(jì)費(fèi)系統(tǒng)采集和整合模塊
掌握計(jì)費(fèi)系統(tǒng)后臺(tái)業(yè)務(wù)流程,綜合使用所學(xué)知識(shí)點(diǎn),完成計(jì)費(fèi)數(shù)據(jù)采集和整合
Billing系統(tǒng)提升和整合
第三階段
ARM系統(tǒng)體系結(jié)構(gòu)
ARM處理器體系結(jié)構(gòu)
ARM編程環(huán)境
指令系統(tǒng)以及尋址方式
調(diào)試
對(duì)嵌入式系統(tǒng)了解,掌握ARM的編程模型
驅(qū)動(dòng)程序開(kāi)發(fā)環(huán)境
ARM系統(tǒng)編程
過(guò)程調(diào)用的標(biāo)準(zhǔn)
匯編程序以用C程序之間相互
調(diào)用的技術(shù)
異常中斷技術(shù)
ARM體系中C語(yǔ)言程序設(shè)計(jì)的基本知識(shí)
FLASH操作
掌握匯編程序與C程序之間的互相調(diào)用,精通ARM體系中C程序的基本知識(shí)
掌握FLASH操作
驅(qū)動(dòng)程序語(yǔ)法基礎(chǔ)
嵌入式Linux構(gòu)建
嵌入式Linux開(kāi)發(fā)環(huán)境構(gòu)建
BootLoader引導(dǎo)程序
Linux內(nèi)核代碼移植
交叉編譯、內(nèi)核調(diào)試
掌握BootLoader引導(dǎo)程序
熟悉交叉編譯和內(nèi)核調(diào)試
BootLoader引導(dǎo)程序
嵌入式Linux內(nèi)核開(kāi)發(fā)
內(nèi)核源代碼架構(gòu)
內(nèi)存管理
進(jìn)程管理、中斷管理
內(nèi)核同步
信號(hào)、調(diào)度、進(jìn)程間通訊等
文件系統(tǒng)
掌握進(jìn)程編程、進(jìn)程間的通訊
精通內(nèi)存管理
熟悉文件系統(tǒng)
驅(qū)動(dòng)程序理論準(zhǔn)備
嵌入式Linux驅(qū)動(dòng)程序開(kāi)發(fā)
Linux設(shè)備驅(qū)動(dòng)程序概述
字符設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
串口、SPL、LLC
A/D轉(zhuǎn)換、定時(shí)器
掌握字符設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
熟悉串口、SPL
驅(qū)動(dòng)程序總體分析和設(shè)計(jì)
Linux驅(qū)動(dòng)程序開(kāi)發(fā)高級(jí)
A/D驅(qū)動(dòng)程序編寫(xiě)
矩陣鍵盤(pán)驅(qū)動(dòng)程序編寫(xiě)
塊設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
網(wǎng)卡驅(qū)動(dòng)程序開(kāi)發(fā)
USB設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
熟練掌握矩陣鍵盤(pán)驅(qū)動(dòng)程序和網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序提升
項(xiàng)目實(shí)訓(xùn)
基于ARM開(kāi)發(fā)板的Linux設(shè)備驅(qū)動(dòng)程序研發(fā)
綜合運(yùn)用所學(xué)知識(shí),特別是ARM,編寫(xiě)驅(qū)動(dòng)程序
驅(qū)動(dòng)程序研發(fā)
第四階段
企業(yè)實(shí)訓(xùn)
基于ARM的串行數(shù)據(jù)無(wú)線傳輸系統(tǒng),主要有以下三個(gè)方面的運(yùn)用:點(diǎn)對(duì)點(diǎn)控制;點(diǎn)對(duì)多點(diǎn)控制;中繼傳輸
參與完成實(shí)際項(xiàng)目,積累軟件開(kāi)發(fā)經(jīng)驗(yàn),經(jīng)歷完整的軟件開(kāi)發(fā)過(guò)程:需求、軟件分析設(shè)計(jì)、編碼、調(diào)試,交付。
串行數(shù)據(jù)無(wú)線傳輸系統(tǒng)