Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程
前言
Ubuntu虛擬機器準備
步驟一:安裝虛擬機器
步驟二:獲取核心版本號
sudo cat /proc/version
步驟三:校準編譯器版本
步驟四:下載核心原始碼
sudo cat /proc/versionsudo apt-cache search linux-sourcesudo apt-get install linux-source-4.15.0
核心編譯
步驟一:下載解壓
cd linux-source-4.18.0/sudo tar xvf linux-source-4.18.0.tar.bz2
步驟二:核心配置
cd linux-source-4.18.0sudo make menuconfig
步驟三:直接編譯
make -j8
驅動編譯
步驟一:使用前面編寫的驅動和makefile
驅動程式碼檔案
#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);
驅動makefile
obj-m += helloworld.o KDIR:=/usr/src/linux-source-4.18.0/linux-source-4.18.0PWD?=$(shell pwd)all: make -C $(KDIR) M=$(PWD) modules
步驟二:編譯make
make
步驟三:載入解除安裝驅動測試
insmod helloworld.ko
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010283/viewspace-2951645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- linux裝置驅動編寫入門Linux
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- Linux RN6752 驅動編寫Linux
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- [linux]一個通用驅動Makefile-V2-支援編譯多目錄Linux編譯
- 如何編寫linux下nandflash驅動-4LinuxNaN
- Qt編譯MySQL驅動QT編譯MySql
- linux 觸控式螢幕驅動編寫Linux
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- 04_Linux下把驅動編譯進核心Linux編譯
- 基於WDF的驅動開發
- Linux驅動實踐:帶你一步一步編譯核心驅動程式Linux編譯
- Centos7.3編譯RAID驅動(一)CentOS編譯AI
- 載入驅動三種execute
- Linux驅動模組載入方法和如何判斷Linux驅動是否載入成功Linux
- Linux下的makefile編寫 ——陳皓《跟我一起寫Makefile》學習筆記(二)Linux筆記
- 載入驅動
- 驅動開發入門
- Linux裝置驅動開發詳解:基於Linux4.0核心Linux
- 全鏈路營銷|基於事件驅動的流程編排系統 策略中心繫統事件
- Asahi Lina講述了使用Rust編寫Linux驅動程式的經驗RustLinux
- C編譯: makefile基礎編譯
- linux驅動之LED驅動Linux
- 驅動開發常見縮寫
- Linux MIPI 攝像頭驅動框架編寫(RN6752解碼晶片)Linux框架晶片
- 關於召回《Linux裝置驅動開發詳解-基於最新的Linux 4.0核心》的通知Linux
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- 使用makefile編譯編譯
- Linux驅動之I2C匯流排裝置以及驅動Linux
- FFmpeg開發筆記(十六)Linux交叉編譯Android的OpenSSL庫筆記Linux編譯Android
- FFmpeg開發筆記(八)Linux交叉編譯Android的FFmpeg庫筆記Linux編譯Android
- 在Ubuntu環境下用gcc命令執行c程式以及Makefile編譯UbuntuGCC程式編譯
- spring boot開發熱載入問題 自動編譯不生效Spring Boot編譯
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- 如何編寫一個簡單的Linux驅動(二)——裝置操作集file_operationsLinux
- Helloworld 驅動模組載入