現在位置:艾鍗學院>Embedded Linux 課程> 嵌入式Linux驅動程式
1. 嵌入式Linux學程,早鳥優惠實施中
2. 報名立即送Raspberry Pi開發套件組
3. 本課程有數位線上學習版本
你有這樣的問題嗎?
▪ 有8051, AVR單晶片等MCU開發經驗,如I2C, SPI 等,但不知如何將這些Driver移植到 Linux平台
▪ Linux 驅動程式程式進入點在那裡? Linux 驅動程式要如何跟上層的應用程式溝通?不同硬體裝置l驅動程式的架構是不是不同? 在Linux多工的環境下, 驅動程式如何處理多工同時存取? 同步I/O與非同步I/O、中斷、DMA等I/O方式,Linux 驅動程式如何撰寫?
▪ 看過一些Linux 驅動程式的書,但看不懂? 或者是,.....好像懂,但卻又不知如何寫起?!
▪ 為什麼Windows USB Driver裝不起來? 安裝過程因找不到檔案而安裝失敗
▪ 如何看懂 HID格式、如何獲得device傳送過來的資料?
快速上手: 用Raspberry Pi 學Linux驅動程式, 並且搭配本公司所設計的Raspberry Pi I/O擴充板作為驅動程式實戰演練,實戰GPIO, UART, I2C, SPI等Linux硬體驅動,並了解USB硬體架構以及Linux在USB的軟體框架。
1. Linux驅動程式初探-Linux核心程式介面:
學習Driver撰寫的各個層面包含核心APIs、中斷處理、同步、記憶體管理等等。導正學員Linux Device Driver與 Linux 基本作業系統的觀念,為將來的Driver coding打下良好的基礎。可以了解user-space與kernel-space 之間的關係。可以開始研讀及參考kernel裡面或是別人撰寫的 device driver source code。
2. 實際硬體驅動-Linux驅動程式:
能了解硬體工作原理與kernel對特定硬體的驅動程式架構。你可以了解真實硬體驅動程式的開發。如UART, GPIO 、I2C、SPI 等驅動程式。
3. 教你如何於Linux 下開發USB設備的驅動程式:
你會了解USB硬體架構以及Linux在USB的軟體框架。課程從USB HID 類別到USB Mass Storage 類別,由淺入深一步步帶你從實作中,學會USB開發方法與除錯技巧。 此外,課程使用立肯科技USB邏輯分析儀器,揭開你看不到的USB的神秘面紗。
● 字元裝置Driver
● Linux Misc Device
● Linux GPIO 驅動程式 for LED, Button,Relay
● Linux 中斷註冊 & 中斷控制器HAL層架構
● Bottom Halves (Tasklet & Work Queue)
● 進階字元Driver:
Non-blocking I/O : 使用Wait Queue & completion 機制
kernel 對UserSpace通知: SIGIO 信號非同步通知,call_usermodehelper()
● Kernel Timer List (Jiffies, timer ticks) for LED 閃爍
● Linux Serial port 驅動程式 for Bluetooth 模組
● Linux Platform Device & Platform Driver 架構
● Linux Device Tree
● Linux SPI Client驅動程式 for ADC Driver (MCP3008)
● Linux IIO Driver(Linux Industrial I/O Subsystem)
● Linux SPI Bus master 驅動程式 for BCM2835 SPI controller
● Linux I2C Client驅動程式 for EEPROM
● Linux I2C Bus master驅動程式 for BCM2835 I2C controller
● Linux User Space Driver - BCM2835 C I/O Library
● Introduction to USB Architecture
● USB Data Flow Type
● USB Communication protocol
● USB Device Enumeration
● Linux USB Driver Software Framework
Linux USB Host Controller Driver
Linux USB Class driver
Linux USB Core and API
Linux Urbs
●USB Debug using USB Protocol Analyzer (使用立肯科技USB分析儀)● USB HID – Mouse driver 實作
如何看懂 HID-Mouse資料格式
如何獲得mouse device傳送過來的資料
如何獲得mouse device的descriptors
透過USB Mouse控制Raspberry Pi GPIO
● USB HID – keyboard driver實作
如何看懂 HID-Keyboard資料格式
如何獲得kerboard device傳送過來的資料
如何獲得kerboard device的descriptors
Lab應用: 透過USB鍵盤向控制Raspberry Pi GPIO
● USB HID雙向通訊應用
● USB Mass storage實作
如何看懂 Mass Storage資料格式
如何得到Flash Drive的相關資訊 (ex:隨身碟名稱,容量…)
如何得到Flash Drive的Partition Type
Lab應用: SCSI command讀寫Flash Drive
1. 需要移植或整合一些Driver到Linux平台上。
2. 已在嵌入式Linux開發相關領域,欲再增強本身Linux Device Driver專業技能者。
3. 想學會如何撰寫完整Linux驅動程式與開發技巧。
Linux驅動程式工程師 | 嵌入式Linux系統開發工程師 | 韌體工程師 | Linux 軟體工程師 | Linux平台驅動程式 | Linux System Engineer | Embedded Linux driver programmer | Linux Firmware Engineer | 資訊家電設計師 | 網路應用程式設計師
Collin ※講師具18年嵌入式開發與Linux驅動程式設計經驗
▪ 國立雲林科技大學電機系
▪ Linux 驅動程式 ▪ Embedded linux 開發 ▪ ARM u-boot 開發
▪ 產品開發經驗: Android cell phone, P.O.S(工業電腦)
Kangta ※講師具18年以上Linux嵌入式系統驅動程式設計經驗,在國內一線PC/NB ODM廠擔任主任級資深工程師!
▪ 輔仁大學電子工程碩士 ▪ 上市公司資深軟韌體設計工程師
▪ Embedded Linux Device Driver ▪ C/C++ ▪ 嵌入式Linux程式設計
▪ USB韌體設計 ▪ 8051單晶片/Assembly Language ▪ 類比/數位電路設計
- 1.由於Raspberry Pi 沒有類比輸入的能力: 所以此擴充板加入ADC 晶片以提供8 通道的類比訊號輸入, 如此可以讓Raspberry Pi 可以擁有連接類比感測器的的能力。
- 2.拉出Pi的硬體PWM訊號腳, 並加入DC 驅動電路, 使Pi 可以直接連接DC 馬達及BLDC無刷馬達。
- 3.SB Debug Console: 不用再買Serial-TO-USB的轉接線材了, 本擴充板已內建PL2303晶片了, 故可以直接接到PC USB
- 4.同時擁有IR紅外線發送器及接收器, 可以讓Pi當作多媒體的應用平台或IR遙控器
- 5.具OLED的模組座,可以直接接上OLED用來顯示系統狀態 ( I2C OLED 將隨出貨附贈)
- 6.TH1 可以直接連接光敏電阻, 可以進行光度感測 (光敏電阻將隨出貨附贈)
- 7.內建 G-Sensor (LIS3DH) 可以感測Pi 在X,Y,Z軸方向的移動狀態
- 8.具有nRF24L01的2.4G RF通訊模組座,可以進行2.4G 無線通訊實作
- 9.用DIP Switch 記錄不同狀態,Pi 就能有不同的啓動狀態或選擇進入不同的功能模式
- 10.接出I2C連接座、SPI連接座方便外接更多的數位式感測器
了解更多...