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