2011年12月30日 星期五

基礎 Linux Device Driver 驅動程式#1

前言:
在這之前,我必須假設各位已經有Linux基本指令及相關的知識,
以及C語言程式設計的基礎,和Linux程式設計,
因為我們要說明的是Linux驅動程式,而不是Linux操作以及C語言程式設計。

如果要學習Linux及C語言的話,仿間有許多的書籍可以參考,
至於Linux程式設計的話,也許得上網找一下相關的資料,
在這我們這不再為各位講述其相關的知識。

準備工作:
1. 一台開發用電腦及一套Linux作業系統。
2. 一台目標主機,也可能是目標開發板。
3. gcc 或是跨平台的編譯器。
4. 網路設備,switch hub及網路線。
5. RS232的序列線,筆電可用USB-to-RS232的線。
6. 終端機模擬器,例如: minicom。
7. 一套適合您的編輯器,例如: vi, emacs。
8. 連結器,ld (binutils)。
9. make。
ps. 假設您有開發版的話,在開發時期也可利用nfs較為方便。

我目前的環境是:
作業系統:Ubuntu 11.04 核心: 2.6.38-13-generic-pae
gcc版本:  gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
ld 版本:  GNU ld (GNU Binutils for Ubuntu) 2.21.0.20110327
make版本:GNU Make 3.81

當然在開發前, 您還需要一些套件:
1.  Kernel source code
    基於 deb: linux-source-2.6.xx
    基於 RPM: kernel-2.6.xx
2.  Kernel headers
    基於 deb: linux-headers-2.6.xx
    基於 RPM: kernel-headers-2.6.xx
3.  Kernel Headers for development
    基於 deb: linux-libc-dev
    基於 RPM: kernel-devel-2.6.xx

等環境一切就序,我們就可以開始進入主題了。
註記及聲明:
本教學,是參考Linux Device Driver Programming驅動程式設計由平田豐著的這本書。

沒有留言:

張貼留言