Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯
前言
筆者自身情況
推薦
驅動
驅動分為四個部分
第一個驅動原始碼:Hello world!
步驟一:包含標頭檔案
#include <linux/init.h>
#include <linux/module.h>
步驟二:寫驅動檔案的入口和出口
module_init();module_exit();
步驟三:宣告開源資訊
MODULE_LICENSE(“GPL”);
步驟四:實現基礎功能
static int hello_init(void){ // 在核心裡面無法使用基礎c庫printf,需要使用核心庫printk printk(“Hello, I’m hongPangZi\n”); return 0;}
static void hello_exit(void){ printk(“bye-bye!!!\n”);}
module_init(hello_init);module_exit(hello_exit);
#include <linux/init.h>#include <linux/module.h>static int hello_init(void){ // 在核心裡面無法使用基礎c庫printf,需要使用核心庫printk printk(“Hello, I’m hongPangZi\n”); return 0;}static void hello_exit(void){ printk(“bye-bye!!!\n”);}MODULE_LICENSE(“GPL”);module_init(hello_init);module_exit(hello_exit);
Linux驅動編譯成模組
步驟一:編寫makefle
1 生成中間檔案的名稱
obj-m += helloworld.o
2 核心的路徑
KDIR:=
3 當前路徑
PWD?=$(shell pwd)
4 總的編譯命令
all: make -C $(KDIR) M=$(PWD) modules
obj-m = helloworld.o KDIR:=PWD?=$(shell pwd)all: make -C $(KDIR) M=$(PWD) modules
步驟二:編譯驅動
1 核心原始碼要編譯透過
2 核心原始碼版本
make menu configureexport ARCH=arm
3 編譯器版本
export CROSS_COMPILE=arm-linux-gnueabihf-
4 編譯
步驟三:載入解除安裝驅動
1載入驅動
insmod helloworld.ko
2 檢視當前載入的驅動
lsmod
3 解除安裝驅動
rmmod helloworld
總結
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010283/viewspace-2950524/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- usb驅動程式初步編寫
- Linux RN6752 驅動編寫Linux
- Linux網路驅動程式編寫(一)(轉)Linux
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- linux裝置驅動編寫入門Linux
- 如何編寫linux下nandflash驅動-4LinuxNaN
- linux裝置驅動編寫基礎Linux
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- Qt編譯MySQL驅動QT編譯MySql
- linux 觸控式螢幕驅動編寫Linux
- Linux網路驅動程式編寫(四)(轉)Linux
- Linux網路驅動程式編寫(三)(轉)Linux
- Linux網路驅動程式編寫(二)(轉)Linux
- 編寫軟體動態載入NT式驅動
- [Windows驅動開發](一)VS2008搭建windows驅動編譯環境Windows編譯
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- [linux]一個通用驅動Makefile-V2-支援編譯多目錄Linux編譯
- Window下 Qt 編譯MySQL驅動QT編譯MySql
- mongodb c++ 驅動庫編譯MongoDBC++編譯
- Linux驅動實踐:帶你一步一步編譯核心驅動程式Linux編譯
- Linux系統核心模組和驅動的編寫(轉)Linux
- Centos7.3編譯RAID驅動(一)CentOS編譯AI
- Qt5.4 MSVC mysql驅動編譯;QTMySql編譯
- 用 Delphi 編寫 VxD 裝置驅動程式(轉) (轉)
- 04_Linux下把驅動編譯進核心Linux編譯
- 入門文章:教你學會編寫Linux裝置驅動(轉)Linux
- Linux MIPI 攝像頭驅動框架編寫(RN6752解碼晶片)Linux框架晶片
- 驅動開發常見縮寫
- Windows95的裝置驅動程式的編寫 (轉)Windows
- 08_第一個相對完整的驅動實踐編寫
- 編寫安全的驅動程式之輸入輸出檢查
- linux網路卡驅動程式的編譯與安裝(轉)Linux編譯
- linux下靜態庫、動態庫編譯及makefile書寫Linux編譯
- Helloworld 驅動模組載入
- 寫作驅動學習
- linux驅動之LED驅動Linux
- 如何編寫一個簡單的Linux驅動(二)——裝置操作集file_operationsLinux