了解更多課程訊息
姓      名
連絡電話
電子信箱
新舊學員
舊學員 新學員
選擇課程
選擇場次
驗證碼
資訊來源
了解更多課程訊息
嵌入式Device Driver開發實務課程    上課時數:28小時    
( Linux Driver Design )
CP值最高的嵌入式Device Driver開發實務課程
※課程獨家採用ARM Cortex-A9 四核心開發板授課,具實際開發板經驗
業界講師,小班教學,結合實作與應用 。
 
Device Driver課程教學實錄

Device Driver(裝置驅動程式) 在Linux核心中扮演和硬體裝置與上層使用者應用程式溝通的重要角色,驅動程式的撰寫與傳統應用程式的開發有著截然不同的設計思維,本課程以豐富的實例演練帶領學員有效的學習Linux 驅動程式設計觀念,並在核心內建立良好的溝通機制,進而新增硬體裝置與上層應用程式做溝通。

開發板差異分析課程特色:
採用 ARM Cortex-A9四核心開發板 熟悉Linux驅動程式開發架構觀念
熟悉硬體裝置設備與驅動程式溝通流程架構
了解驅動程式編譯執行流程 豐富的課堂實作演練
實例新增硬體裝置並撰寫驅動程式

適合對象:
具備GUN Software能力者佳 •嵌入式系統相關開發人員。
已具備Embedded Linux能力者佳 •以修過嵌入式系統相關課程人員
有基礎C語言能力、Linux 程式語言觀念尤佳。
已在相關領域,欲再增強本身專業技能者。

職涯發展:
嵌入式設計師 │韌體工程師 │資訊家電設計師 │網路應用程式設計 │Linux平台驅動程式等
 
Cortex-A9 四核心開發板實例解說 GPIO (LED, Push Button), Watchdog、RTC、Serial port
等等切入Driver撰寫的各個層面包含資源配置、中斷處理、同步、記憶體管理等等
導正學員Linux Device Driver Development 的觀念,並撰寫完整的Driver架構與良好的框架。
可以自己撰寫完整的驅動程式架構與良好的框架及實際撰寫程式也了解
user-space與kernel-space 之間的關係。
讓學員實作將自已寫的程式整合到 Linux kernel,並移植到Cortex-A9 四核心開發板。
 
 
 
Introduction to Linux Device Driver (Linux 輸出入裝置與驅動程式簡介)
•何謂裝置驅動程式
•Linux 驅動程式分類
•Linux核心介紹
•Linux驅動程式架構
•Linux驅動程式開發流程
•裝置硬體規格與驅動程式介面介紹
Linux Kernel Module Building and Running (Linux核心模組建置與執行)
•Linux 核心模組介紹
•模組工具程式
•Kernel space V.S User space 程式
•System calls
•Linux 核心模組架構
•Linux 核心模組開發流程
•Linux核心模組相依性
•Linux 核心模組參數
Char Driver (字元驅動程式)
•何謂字元裝置驅動程式
•字元驅動程式開發流程
•註冊字元驅動程式
•溝通字元驅動程式
•資源競爭問題探討
Debugging Linux Kernel and Device Driver (Linux核心與驅動程式除錯)
•核心除錯方式介紹
•系統事件紀錄簿介紹
•除錯技巧
•驅動程式除錯流程
•實作Proc檔案格式進行除錯
•除錯工具介紹使用
Kernel concurrency and Race conditions (核心一致性與競爭問題)
•行程一致性問題介紹
•競爭問題介紹
•Semaphore號誌介紹
•Completion介紹
•Spinlock 自旋鎖介紹
•Lock ordering 規則
Advanced Char Driver (進階字元驅動程式)
•ioctl介紹
•ioctl 架構實作
•阻塞式與非阻塞式操作
•休眠介紹
•Polling 介紹
•Select 介紹
•進階驅動程式開發流程與架構
Time, Delay and Deferred work (時間,延遲與遲緩操作探討)
Linux 核心時間計時介紹
RTC介紹
延遲執行架構與實作
核心時間相關API函式實作
Tasklets介紹
工作佇列
Allocation Memory(記憶體配置)
•Linux核心記憶體管理機制
•配置核心記憶體方式介紹
•kmalloc函式
•Memory pool函式
•前瞻快取介紹
•vmalloc 函式
•ioremap函式
Communicating with Hardware(硬體裝置溝通)
•I/O Port介袑
•Memory mapped I/O 介紹
•Memory mapped I/O開發流程
•存取Memory mapped I/O
•平台相依性
Interrupt Handler (中斷控制)
•中斷介紹
•中斷程式開發流程
•進階中斷函式處理
•共享中斷
Data Types in the Linux Kernel(核心資料型別)
•標準C語言資料型別
•Timer Interval
•Page size
•資料對齊
 
 
•撰寫編譯Linux 模組
•撰寫記憶體區塊當作字元裝置驅動程式
•Linux Kernel與Driver除錯範例
•使用Proc檔案架構除錯範例
•競爭問題實作範例
•ioctl實作範例
•驅動程式休眠範例
•阻塞型驅動範例
•允許多個終端機存取裝置範例
•允許多次開啟之驅動程式範例
•Kernel Timer驅動範例
•配置核心記憶體驅動範例
•Tiny4412開發板LED驅動範例
•Tiny4412開發板 Button中斷驅動範例
•Tiny4412開發板 ADC 類比轉數位驅動範例
•Tiny4412開發板數位溫度晶片驅動範例
•Tiny4412開發板SPI晶片驅動範例
•新增驅動程式至核心
 
 
•業界專業講師,訓用合一為目標
•專業實務經驗講師,業界需求導向課程規劃,著重培養科技界即戰力人才。
•實作範例演練,紮實你的開發實力
課程專題實作,獨家採用Tiny4412 ARM Cortex-A9四核心開發板實作範例演練
業界師資群自行技術研發,多元化周邊模組搭教學,與業界實際開發不脫節
•Linux Driver 課程以Cortex-A9四核心開發板實例解說 GPIO (LED, Push Button),
 Watchdog、RTC、Serial port等等

•撰寫的各個層面 包含資源配置、中斷處理、同步、記憶體管理等等
•導正學員Linux Device Driver的觀念,並撰寫完整的Driver架構與良好的框架
•入門關鍵點為「觀念的解析」,有正確且清晰的觀念後,便能快速看懂 Linux 的Device Driver,
 所以從簡單的Character Driver剖析Linux Device Driver的運作
•學會整合軟硬體嵌入式系統技術與觀念
•例如:硬體的功能和效能是由軟體程式來決定的,而這個軟體程式就是所謂的"Device Driver
•要有Driver來趨動它,上層應用程式才可以寫資料到面板上; 網路卡要有Driver去負責將上層資料
•搬到TX上, 這些使硬體得已動作的控制通通都得靠軟體 (driver) 來完成。
•由淺入深連貫性教學,完整的學程規劃
Linux系統管理→C語言→Linux程式設計→Embedded實作→Android BSP Porting
循序漸進連貫性教學,掌握每階段的學習方向。
•中華數位F.B技術討論區,提供學員疑難雜症的好幫手
•不論在學中或結訓後提供你解決學習上的疑難雜症,讓學員學習上不再單打獨鬥。
•業界師資群編譯最新的實作教材
•業界資深師資群合作編譯最完整的課程教材,規劃更貼近業界需求課程內容,不斷創新。
 

開課時間
•106年11月25日至106年12月16日
(週六全天班 AM9:30至PM5:30)
•107年1月21日至107年2月11日
(週日全天班 AM9:30至PM5:30)
相關課程: 嵌入式Android物聯網人才養成
相關課程: Embedded Linux系統移植實作
................................................................................
報名方式
•電話報名:專線02-2311-7355
線上報名 下載報名表
Mail:grace@cadtc.com.tw
傳真:02-2331-3591
現場報名:
親洽中華行動數位教育訓練中心 - 台北中心
(台北市開封街1段2號9樓)
................................................................................
上課地點
台北市開封街一段2號9樓 > 地圖 <
(台北火車站│館前路口│麥當勞隔壁大樓)

MP3播放器
透過A9板子播放USB隨身碟內的MP3音樂檔,並可以切換頁面、控制音量大小、暫停、繼續、刪除等功能。
 
中華行動數位 讓我成功就業
結訓學員-許○民

學員李孟真,embedded linux系統移植實作結訓心得

        當初學習嵌入式的動機是希望可以自己做玩具,找更好的工作,因緣際會參加了中華數位工業局補助的嵌入式Android雲端物聯網人才養成課程
上完課後終於知道...

 
2010年伴隨著各種技術與應用端產品的出現,近年來嵌入式系統設計應用範圍持續擴張,根據調查指出未來全球將有更多的嵌入式裝置出現於市面,如此龐大的潛在商機,使得許多高科技業者對於嵌入式市場的重視度有增無減,嵌入式產品應用的領域範圍,包括智慧型手機、STB、VoIP產品行動上網裝置(MID)、電子書、數位電子看板、工業控制、網路安全、數位相框、資訊家電、GPS導航裝置、遊樂器等領域與產品都是未來產業發展重點。
 
最新Cortex-A9四核開發板
搭配開發板周邊模組教學
24-7雲端實驗室
全天後可上線操作練習
學員結訓專題作品發表
課程規劃的專題製作
學員結業後服務更貼心
提供F.B.社團技術分享
隨時提供學員工作職缺
供求職資訊,訓用合一
講師親自撰寫上課講義
定時更新課程講義,掌握最新技術動脈
嵌入式系統書籍
定期訂閱熱門書籍,供學員免費借閱
免費供應飲料
研磨咖啡、特調冷飲、現泡熱茶
環型教室、數位設備
師生互動式廣播教學系統
 
  
所謂的嵌入式系統簡而言之是一種『執行部份特定功能』的系統 實作上並不限定技術範疇, 只要能將特定的功能(function)『嵌入』 到目標裝置(target device)裡,包含這些功 能的整體系統(或平臺) 即是『嵌入式系統』。
Embedded Linux其實並不是一個作業系統,而是代表應用Linux系統於embedded system 的名詞。Embedded Linux是Linux for devices 的意思。
Embedded Linux的技術核心主軸是在研究
「如何將Linux系統嵌入至嵌入式目標裝置裡」。
嵌入式的應用範圍:
2010年伴隨著各種技術與應用端產品的出現,近年來嵌入式系統設計應用範圍持續擴張,根據調查指出未來全球將有更多的嵌入式裝置出現於市面,如此龐大的潛在商機,使得許多高科技業者對於嵌入式市場的重視度有增無減,嵌入式產品應用的領域範圍,包括智慧型手機、STB、VoIP產品行動上網裝置(MID)、電子書、數位電子看板、工業控制、網路安全、數位相框、資訊家電、GPS導航裝置、遊樂器等領域與產品都是未來產業發展重點。
 
最新推薦課程
none
none