一:課程特點 |
對于嵌入式開發(fā)工程師來說,在技術(shù)上需要逾越三道關(guān)卡,分別是"硬件"開發(fā)、操作系統(tǒng)開發(fā)和應(yīng)用軟件開發(fā),三者缺一不可(如果缺一環(huán),在工作中的技術(shù)發(fā)展會受限)。逾越三個堡壘的*途徑是通過平臺級的應(yīng)用軟件開發(fā),鍛造良好的應(yīng)用軟件編程思維;在這個軟件編程思維和一定的編程經(jīng)驗基礎(chǔ)上,能夠更好得看透操作系統(tǒng),理解操作系統(tǒng)的各個子系統(tǒng)工作原理和構(gòu)成要素;從而在具備了一定"硬件"開發(fā)基礎(chǔ)后,能夠在開發(fā)板或者公司設(shè)計的板子上從容得搭建起滿足成本、性能或其他要求的嵌入式系統(tǒng),并在這個嵌入式系統(tǒng)上完成設(shè)備應(yīng)用的軟件開發(fā)。
本課程就是按照如上的*途徑來設(shè)計的:
(1) 基礎(chǔ)階段:與高校的課程進行銜接,并為學(xué)員打下扎實得語言基礎(chǔ);另外需要熟悉我們后期開發(fā)系統(tǒng)的環(huán)境即WINDOW和Linux操作系統(tǒng)
(2) 平臺系統(tǒng)軟件:以軟件應(yīng)用項目為主導(dǎo),在項目中熟練掌握以GUI、數(shù)據(jù)庫、網(wǎng)絡(luò)通訊等上位機的主流開發(fā)技術(shù),建立起良好的編程思維和項目模塊化思想,熟悉了基于操作系統(tǒng)以上的開發(fā)技術(shù),積累一定的項目開發(fā)經(jīng)驗和文檔能力。
(3) 嵌入式設(shè)備:以ARM裸機開發(fā)為起點,讓學(xué)員掌握基于芯片級的開發(fā)技術(shù),理解計算機系統(tǒng)一步一步如何從底層被搭建起來。以一款UCOS-II的嵌入式設(shè)備為例,讓學(xué)員明白了嵌入式系統(tǒng)工作原理和整個過程中需要完成的各類開發(fā)技術(shù)。*讓學(xué)員搭建起以基于嵌入式Linux操作系統(tǒng)的另外一款設(shè)備,從中更加了解嵌入式Linux的總體工作原理以及總體架構(gòu),理解驅(qū)動開發(fā)過程,更加有助于學(xué)員理解應(yīng)用開發(fā)技術(shù)。 |
二:培養(yǎng)目標(biāo) |
通過本課程的系統(tǒng)學(xué)習(xí),可以使學(xué)員由淺入深地對嵌入式Linux系統(tǒng)全面學(xué)習(xí),能夠獨立勝任嵌入式Linux應(yīng)用開發(fā)、系統(tǒng)開發(fā)等多方面工作。課程目標(biāo)包括:
- 精通linux操作系統(tǒng)使用;
- 精通linux下C語言高級編程;
- 精通嵌入式linux高級應(yīng)用開發(fā);
- 掌握ARM處理器平臺及其接口硬件開發(fā);
- 精通嵌入式Linux下Bootloader的編寫方法;
- 精通嵌入式Linux下常用接口的驅(qū)動開發(fā);
- 了解WinCE/UCOS系統(tǒng)的應(yīng)用開發(fā)及底層開發(fā)
- 豐富的嵌入式linux實際項目案例開發(fā)流程
|
三:就業(yè)方向 |
1、 Linux C開發(fā)工程師
2、 C/C++應(yīng)用軟件開發(fā)工程師
3、 手機應(yīng)用開發(fā)工程師
4、 單片機應(yīng)用開發(fā)工程師
5、 嵌入式應(yīng)用軟件開發(fā)工程師
6、 嵌入式系統(tǒng)驅(qū)動開發(fā)工程師 |
四:招生對象: |
(1):本科以上學(xué)歷,理工類相關(guān)專業(yè)
(計算機、電子工程、軟件工程、無線電、自動化、自動控制、通信工程、應(yīng)用物理、應(yīng)用數(shù)學(xué)、儀器儀表、檢測/測控技術(shù)、機械電子、汽車電子等專業(yè)者優(yōu)先)。
(2):年齡在22-35周歲以內(nèi) 有志于從事嵌入式行業(yè)開發(fā)者
(3):上課周期: 6個月 共計課時 500個課時 |
五:課程說明
|
1、 從軟件編程入手,培養(yǎng)軟件編程思維,在編程過程中逐漸理解ARM芯片體系結(jié)構(gòu)的硬件底層工作原理以及各類外設(shè)驅(qū)動開發(fā)過程。
2、 體現(xiàn)項目實踐來帶動理論學(xué)習(xí)的教學(xué)方法,打破學(xué)員“不會動手”或無項目經(jīng)驗的困惑
3、 體現(xiàn)終端+平臺的軟件體系結(jié)構(gòu),迎合企業(yè)未來的技術(shù)應(yīng)用方向,適應(yīng)后PC時代的開發(fā)模式
4、 注重計算機技術(shù)基礎(chǔ)和原理的培養(yǎng),為學(xué)員順利跨過企業(yè)筆試關(guān)和后續(xù)技術(shù)路線上的發(fā)展打下深厚的基礎(chǔ)。
5、 每個階段課程嚴(yán)格按照嵌入式開發(fā)流程進行管控,從需求文檔開始,到設(shè)計,灌輸開發(fā)規(guī)范規(guī)范一直到開發(fā)以及最終的測試過程中教學(xué)課程貫穿在內(nèi)。 |
|
五:課程大綱: |
嵌入式C語言強化
|
時間安排:: |
3周 |
理論學(xué)習(xí): |
|
實戰(zhàn)項目: |
項目名稱: |
餐館點菜系統(tǒng)
|
項目類型: |
MIS |
開發(fā)環(huán)境: |
WINDOWS |
開發(fā)工具: |
VC |
|
【項目簡介】:
項目主要是實現(xiàn)前臺收銀管理,主要包括如下的功能:
1)總臺功能:開臺、移臺、撤臺和并臺;預(yù)定管理;現(xiàn)金結(jié)算收銀、系統(tǒng)日結(jié)及報表
2)點菜功能:點菜、加/減菜、催菜、上菜確認(rèn);
3)廚房功能:炒菜策略、炒菜及要求上菜、催菜告警等。
應(yīng)用的技術(shù)要點:
結(jié)構(gòu)體/指針的應(yīng)用鏈表的應(yīng)用(產(chǎn)生/遍歷/查找/增刪改節(jié)點)/文件IO
【備選項目】:銀行ATM交易系統(tǒng) |
|
|
|
嵌入式Linux C基礎(chǔ)開發(fā)技術(shù) |
時間安排: |
4周 |
理論學(xué)習(xí): |
Linux系統(tǒng)概述以及常用命令、Linux用戶權(quán)限管理、環(huán)境變量、常用工具使用、常用網(wǎng)絡(luò)配置、主流網(wǎng)絡(luò)服務(wù)配置、Linux通信與文件共享;系統(tǒng)需求文檔編寫、關(guān)鍵業(yè)務(wù)設(shè)計/數(shù)據(jù)庫設(shè)計/PowerDesigner使用、Shell編程、GCC/GDB等工具使用、MakeFile編寫、編程規(guī)范與調(diào)試技巧、Linux編程實用工具、基本SQL-92語句(增刪改查)、SQLITE3數(shù)據(jù)庫、NCurses編程、SQLITE3 API;
|
|
實戰(zhàn)項目: |
項目名稱: |
電信渠道終端Epos[終端管理子系統(tǒng)】 |
項目類型: |
MIS |
開發(fā)環(huán)境: |
RedHat Linux9.0+SQLite3
|
開發(fā)工具: |
vi+gcc+gdb+make
|
|
【項目簡介】:
該項目是電信運營為擴展電子渠道業(yè)務(wù)而延伸的項目;采用CS結(jié)構(gòu),以數(shù)據(jù)庫技術(shù)為主,通過PC的方式實現(xiàn)電子營業(yè)廳的前臺業(yè)務(wù)功能和部分的后臺管理功能;
前臺業(yè)務(wù)功能:充值繳費、號卡銷售、話費查詢、購買電子卡、日營業(yè)報表等等
后臺管理功能:營業(yè)點管理、交易明細查詢、月度結(jié)算報表等
【應(yīng)用的技術(shù)要點】:
vi/gcc/gdb/makefile的使用/Shell腳本編程/NCurses界面編程/文件IO基礎(chǔ)/SQL語句
【備選項目】:*移動煙草信息機(后臺管理功能) |
|
|
|
嵌入式Linux C高級開發(fā)技術(shù) |
時間安排: |
4周 |
理論學(xué)習(xí): |
進程、子進程與信號、管道、進程間通信(消息隊列/共享內(nèi)存/信號量等)、POSIX線程、守護進程、網(wǎng)絡(luò)基礎(chǔ)與TCPIP協(xié)議族、IO復(fù)用編程基礎(chǔ)、基本套接字SOCKET編程、TCP端口以及端口狀態(tài)分析(三次握手建鏈與斷鏈)、IO復(fù)用模型、UDP編程、原始套接口。
|
|
實戰(zhàn)項目: |
項目名稱: |
電信渠道終端Epos[終端前置接入服務(wù)]
|
項目類型: |
行業(yè)通訊服務(wù)
|
開發(fā)環(huán)境: |
RedHat Linux9.0+SQLite3
|
開發(fā)工具: |
gedit或vi/GCC
|
|
【項目簡介】:
智能終端是作為業(yè)務(wù)的營業(yè)點或業(yè)務(wù)的發(fā)起方,只提供客戶辦理業(yè)務(wù)時的數(shù)據(jù)采集功能;需要一個服務(wù)為分布廣泛的終端的各類業(yè)務(wù)提供后臺支撐和集中接入點。本項目就是為了達到和實現(xiàn)該集中接入點的功能。該服務(wù)器按照萬級用戶/終端作為接入的標(biāo)準(zhǔn),采用Linux2.6內(nèi)核以上版本提供的epoll技術(shù),承載萬級用戶數(shù)的長連接接入,并能負(fù)載千級的業(yè)務(wù)并發(fā)。對服務(wù)器性能、服務(wù)程序架構(gòu)以及部分算法提出很高的要求。該項目由終端前置接入服務(wù)、Epos設(shè)備、壓力測試工具終端前置四個子系統(tǒng)構(gòu)成。
【應(yīng)用的技術(shù)要點】:
多線程/線程池/線程同步技術(shù)/線程間通信/Linux;EPoll技術(shù)與SOCKET TCP編程/高性能的服務(wù)程序框架/高效率的散列表
【備選項目】: *移動煙草信息機系統(tǒng)(終端前置接入服務(wù)器) |
|
|
ARM體系結(jié)構(gòu)與編程 |
時間安排: |
4周 |
理論學(xué)習(xí): |
Keil ARM編程環(huán)境、ARM指令系統(tǒng)、ARM體系結(jié)構(gòu)(常用arm/thumb指令集及匯編、尋址方式、寄存器等)、硬件初始化、2440存儲控制體系、ARM9的中斷體系、定時器工作原理及設(shè)置、GPIO介紹以及控制、LCD原理及編程、NORFLASH或NANDFLASH原理及編程、觸摸屏控制、UART控制器、YAFFS文件系統(tǒng)、DM9000網(wǎng)卡驅(qū)動以及簡易協(xié)議棧。
|
|
實戰(zhàn)項目: |
項目名稱: |
卓躍簡易操作系統(tǒng)EasyOS
|
項目類型: |
自制
|
開發(fā)環(huán)境: |
Mini2440裸機開發(fā)
|
開發(fā)工具: |
Keil ARM
|
|
【項目簡介】:
該項目是在MINI2440開發(fā)板硬件基礎(chǔ)上,采用前后臺模式(后臺中斷體系和軟定時器,前臺消息處理),開發(fā)了一款簡易的操作系統(tǒng)EasyOS;實現(xiàn)開機啟動畫面、硬件檢測、系統(tǒng)應(yīng)用環(huán)境初始化;在系統(tǒng)啟動后,它可以同時處理軟鍵盤、串口命令和手寫等交互,并規(guī)劃自身的文件系統(tǒng)。操作系統(tǒng)中實現(xiàn)虛擬鍵盤和手寫功能,實現(xiàn)操作系統(tǒng)與用戶的交互界面UI;同時用戶可以通過串口輸入命令,實現(xiàn)與設(shè)備的交互;另外為了完成設(shè)備與平臺或PC的數(shù)據(jù)交互,在EasyOS中,簡易封裝TCP/IP協(xié)議棧和文件系統(tǒng)(或移植yaffs),實現(xiàn)兩邊的通信和文件傳送。
【應(yīng)用的技術(shù)要點】:
ARM指令系統(tǒng)/mini2440體系結(jié)構(gòu)/Mini2440存儲控制/arm9中斷體系/定時器/UART串口編程/NANDFLASH讀寫以及管理/LCD和觸摸/網(wǎng)卡驅(qū)動/簡易TCPIP協(xié)議棧
|
|
|
ARM-uC/OS-II嵌入式開發(fā) |
時間安排: |
4周 |
理論學(xué)習(xí): |
uCOS-II源碼分析、uCOS-II移植、uCos-II任務(wù)管理、uCos-II內(nèi)存管理以及任務(wù)通信技術(shù)、自定義的內(nèi)存管理實現(xiàn)malloc等、文件系統(tǒng)實現(xiàn)原理、MiNiGUI工作原理、消息循環(huán)和事件處理、常用控件使用;SIM300模塊的應(yīng)用、語音通話功能、短信PDU格式、AT指令集
|
|
實戰(zhàn)項目: |
項目名稱: |
GSM無線商話(UPHONE) |
項目類型: |
移動設(shè)備
|
開發(fā)環(huán)境: |
Mini2440+uC/OS-II+SIM300
|
開發(fā)工具: |
Microsoft visual studio |
|
【項目簡介】:
利用uCos-II實現(xiàn)一款無線商話(雙模方案s3c2440+SIM300),利用SIM300能實現(xiàn)語音通話、SMS收發(fā)以及GPRS上網(wǎng)功能等,在2440平臺實現(xiàn)電話本,軟鍵盤或九宮格菜單,通話記錄,短信箱等等常見的手機功能。系統(tǒng)平臺是在MINI2440硬件平臺上借助前一個項目的簡易操作系統(tǒng)(Easy OS)自行開發(fā)的所有外設(shè)驅(qū)動,比如:nandflash,lcd,uart等,通用可移植的AT模塊封裝,并移植MiniGUI和yaffs,并實現(xiàn)部分MM單元(內(nèi)存管理單元)、文件系統(tǒng)等等
【應(yīng)用的技術(shù)要點】:
uCos-II多任務(wù)調(diào)度原理/uCos-II系統(tǒng)開發(fā)/uCos-II系統(tǒng)下內(nèi)存管理,比如:malloc函數(shù)的實現(xiàn)/YAFFS文件系統(tǒng)移植及開發(fā)接口/TCP/IP協(xié)議棧移植和應(yīng)用/MiniGUI的移植和應(yīng)用/無線模塊的語音通話、SMS應(yīng)用和PDU格式、GPRS上網(wǎng)功能/AT指令集
【備選項目】:聯(lián)通Mini營業(yè)廳手持設(shè)備 |
|
|
|
ARM-Linux嵌入式高級開發(fā) |
時間安排: |
4周 |
理論學(xué)習(xí): |
Boot介紹和分析、UBoot編譯及配置、UBoot下載等、Linux內(nèi)核代碼結(jié)構(gòu)分析、內(nèi)核裁剪、編譯、內(nèi)核配置系統(tǒng)介紹、MakeFile分析和制作、BusyBox工具生成根文件系統(tǒng)介紹、RAMDISK文件系統(tǒng)移植、yaffs文件系統(tǒng)介紹、Linux內(nèi)核空間和用戶空間以及內(nèi)核函數(shù)的講解、Linux字符設(shè)備驅(qū)動、MTD接口、Linux塊設(shè)備驅(qū)動等等驅(qū)動
|
|
實戰(zhàn)項目: |
項目名稱: |
手持閱讀終端 (*移動電子書)
|
項目類型: |
電信行業(yè) |
開發(fā)環(huán)境: |
MINI2440+arm Linux+sim300
|
開發(fā)工具: |
Microrsoft visual studio
|
|
【項目簡介】:
項目是為了完成一款帶有操作系統(tǒng)的智能終端。主要實現(xiàn)如下功能:
本地功能:是實現(xiàn)本地的電子書籍、期刊等資料的個人管理設(shè)備,讓用戶可以將自身的各類資源或信息通過電子書設(shè)備進行管理和可以隨身攜帶、閱讀或播放等,主要功能如下:書籍或電子期刊等資料信息分類維護/資料的導(dǎo)入和導(dǎo)出功能/書籍和電子期刊的閱讀功能...
網(wǎng)絡(luò)應(yīng)用功能:是在完成智能終端設(shè)備的本地功能基礎(chǔ)上,讓設(shè)備具備上網(wǎng)功能(GSM或TD),并加入電子書的運營平臺,實現(xiàn)與運營平臺服務(wù)的對接;采用CS結(jié)構(gòu),通過終端前置接入服務(wù)的幫助下,可以在設(shè)備上完成運營商的電子書或電子期刊的檢索、排行、熱點跟蹤等功能,并支持在線閱讀或下載后離線閱讀等功能,支持資料導(dǎo)入導(dǎo)出。
【應(yīng)用的技術(shù)要點】:
UBOOT、Linux內(nèi)核、根文件系統(tǒng)配置/移植/燒寫。系統(tǒng)設(shè)備驅(qū)動開發(fā)移植/自編寫的串口驅(qū)動加入內(nèi)核/RAMDISK、Yaffs移植/GSM模塊通信控制和功能封裝/Linux高級開發(fā)技術(shù)/MiniGUI移植和應(yīng)用/SQLite移植和應(yīng)用
【備選項目】:卓躍.三層智能網(wǎng)絡(luò)交換機 |
|
|
|
|