2013年8月20日 星期二

台中班※確定開課※嵌入式Linux系統之操作實務/程式設計/Device Driver技術(實作)工程師認證班

























■ 課程簡介 class="apple-converted-space">



嵌入式Linux系統可以整合網路、無線傳輸、 lang="EN-US">USB、音效裝置及般微處理機周邊裝置等,同時具有 lang="EN-US">Linux作業系統的優點及特性,所以適用於未來科技產品講求【高智慧性】、【多功能網路連結】、【無線網路傳輸】的訴求,因此嵌入式系統已變成未來生活的一個商品研發的技術基礎平 class="GramE">臺。目前嵌入式系統熱門的生活應用產品有:智慧型手機(Smart Phone)、掌上型電腦 lang="EN-US">(PDA)、MP3撥放機、數位機上盒(Set-Top
Box)
、數位視訊錄影機(DVR)、遊戲機、家庭網路閘道器(Home
Gateway)
、網路電話(VoIP)等。

style='font-size:9.0pt;font-family:細明體;
color:red;letter-spacing:.75pt;'>且目前嵌入式系統亦大量應用於工業控制、家用電器產品、醫療應用、遠距視訊應用…等,這些應用已經大大地影響我們的生活方式。為了因應這一波產業 lang="EN-US">IT技術應用的轉變,需要大量嵌入式系統研發及測試技術的人才。
class="apple-converted-space">


工研院規劃一系列嵌入式完整課程,完全以業界所需實務為導向,將嵌入式Linux常見之應用技術於課堂上直接講授並且實作。將軟硬體直接整合,課程範例將直接在 lang="EN-US">ARM開發板上執行測試,深入淺出的將此領域之技術傳授給學員,建立紮實功力,提升您在此領域的競爭力。 class="apple-converted-space">  lang="EN-US">

本課程之嵌入式 lang="EN-US">Linux系統實作與程式設計,全部是在ARM嵌入式開發板上實作完成。課程內容從 lang="EN-US">ARM開發板平開始介紹,講解ARM開發板、 lang="EN-US">GNU Toolchain(Cross Compiler)、 lang="EN-US">Boot Loader、建立自己的嵌入式Kernel lang="EN-US">Root File System,再以自己建立的【嵌入式Linux】學習 lang="EN-US">Linux指令使用及開機管理與網路設定。接著在ARM開發板以自己建立的【嵌入式 lang="EN-US">Linux】為作業系統,以此OS為基礎在上面講授各種 lang="EN-US">Linux 程式設計。整個【嵌入式Linux】程式設計課程,講師會現場撰寫實作程式的範例,隨後將程式透過 lang="EN-US">Cross Compiler後上傳至ARM開發板執行。不同於一般幾乎都在 lang="EN-US">PC的Linux上講授Linux程式設計。而且這些程式 class="GramE">範例均會在ARM開發板上與硬體結合,使學員可以熟悉《軟硬兼施》的程式設計,讓偏【純軟的工程師】不會看到硬體就傻眼、讓偏【純硬的工程師】不會看到軟體就頭痛。課程結束後可以熟悉
【嵌入式Linux】程式設計。 lang="EN-US">



■ 課程目標 lang="EN-US" style='font-family:"sans-serif";

font-weight:normal;'>



1. 讓學員熟悉嵌入式系統課程所需具備之嵌入式 lang="EN-US">Linux BSP操作及嵌入式Linux程式設計 lang="EN-US">(含進階C語言)與嵌入式 lang="EN-US">Linux Programming課程所需具備之GNU Make知識,課程以實際在 lang="EN-US">ARM開發版上操作教學,讓學員未來能更專注於學習嵌入式系統相關知識。 class="apple-converted-space">



2. ARM開發板以自己建立的【嵌入式 lang="EN-US">Linux】為作業系統,以此OS為基礎在上面講授各種 lang="EN-US">Linux 程式設計



3. 課程重點在Step by
Step
介紹嵌入式產品開發過程中,產品研發人員如何實地撰寫【嵌入式 Linux 驅動程式】,我們從簡單的開發板之 lang="EN-US"> Linux
驅動程式架構入手,進而至 Character Device的撰寫 lang="EN-US">(以 LED 與按鍵Key裝置實作 lang="EN-US">),並剖析 Linux 驅動程式與硬體間的運作,再深入 lang="EN-US"> Linux 驅動程式撰寫的各個層面,同時搭配各種不同的周邊裝置,如 LED與按鍵 lang="EN-US">Key裝置等一般嵌入式系統常用之硬體。 lang="EN-US">



■ 課程對象 lang="EN-US" style='font-family:"sans-serif";

font-weight:normal;'>



具備C程式語言能力與計算機基礎概念者為佳 lang="EN-US">



■ 課程大綱



A. 嵌入式 Linux style='font-family:"serif";

'>操作 style='font-family:"serif";

'>實務 lang="EN-US">: (3H)



1. How to Build an Effective Embedded Linux
Environment.



2. Create Embedded System GNU Development class="SpellE">Toolchain.



3. Boot Loader Brief Introduction.



4. How to Porting the Linux to a New ARM11
Board.



B. Linux Programming style='font-family:"serif";

'>先修班- lang="EN-US">GNU Make(3H)



1. An Introduction to Makefiles



2. How to Writing Makefile
Rules and Writing the Commands in Rules



3. How to Use Variables



4. Conditional Parts of Makefiles



5. How to Run Make



6. Using Implicit Rules



C. Embedded Linux style='font-family:"serif";

'>程式設計 lang="EN-US"> (15H)



1. What is Needed Lib for Embedded System? class="GramE">( System Calls & Library)



2. Embedded Linux File I/O style='font-family:"serif";

'>:★【 lang="EN-US">LabSTDIO/STDOUT Programming



3. Embedded Linux Files and Directories style='font-family:"serif";

'>:★【 lang="EN-US">Labopen/create/read/ write/ class="SpellE">lseek/fcntl/close



4. Embedded Linux Standard I/O Library style='font-family:"serif";

'>: lang="EN-US">



LabBuffering I/O style='font-family:"serif";

'>、 lang="EN-US">Reading and Writing a Stream



5. Embedded Linux Termios style='font-family:"serif";

'>:★【 lang="EN-US">LabRS232 Programming



6. Processes(+ style='font-family:"serif";

'>【 lang="EN-US">Lab)



7. Signals (+Lab style='font-family:"serif";

'>】 lang="EN-US">)



8. Posix Threads
& Synchronize(+
Lab)



9. Inter-Process Communication(+ style='font-family:"serif";

'>【 lang="EN-US">Lab)



10. Socket Programming: TCP/IP(+ style='font-family:"serif";

'>【 lang="EN-US">Lab)



style=''> 



D. Embedded Linux Device Driver (15H)



1.嵌入式Linux style='font-family:"serif";

'>驅動程式程式架構 lang="EN-US">



2.嵌入式Linux style='font-family:"serif";

'>驅動程式之程式設計流程 lang="EN-US">:Building and Running Module



LABHello World on ARM style='font-family:"serif";

'>開發板 lang="EN-US">



3.嵌入式Linux style='font-family:"serif";

'>字元驅動程式 lang="EN-US">



LABA Simple LED Device
Driver on ARM
開發板



4.Getting lang="EN-US"> Hold of Memory and Hardware Management



LABARM BSP I/O
Operations on ARM
開發板



5.Flow of Time: Current Time style='font-family:"serif";

'>、 lang="EN-US">Delaying ExecutionTask Queues style='font-family:"serif";

'>、 lang="EN-US">Kernel Timers



LABARM BSP Experiment
for LCM(or LED) Device on ARM
開發板(Current Time style='font-family:"serif";

'>、 lang="EN-US">Delaying ExecutionTask Queues style='font-family:"serif";

'>、 lang="EN-US">Kernel Timers)



6.嵌入式Linux Interrupt
Handling



LABARM BSP Interrupt
Example on ARM
開發板



7.Add lang="EN-US"> your Device Driver into Kernel/ How to Porting Device Drivers to
the Linux Kernel



LABOn ARM style='font-family:"serif";

'>開發版 lang="EN-US"> Experiment: (1).Add a LED Driver into Kernel (2).
Make Kernel (3).Testing








沒有留言:

張貼留言

FPGA Verilog 的學習經驗,提供給要入門的新手

今天簡單說說 FPGA Verilog 的學習經驗,提供給要入門的新手: 1.對自己寫的FPGA Verilog程式,所生成的數位電路要心中有數。 這一點個人認為很重要,就正如寫 C語言,心中要能生成對應的組合語言一樣,我是這樣要求自己的。 雖然 FPGA Verilog語言...