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