Linux module 驅動程式模組範例
git 範例程式
Makefile
hello.c
---
執行
$ sudo insmod hello.ko
$ dmesg
....
[ 239.411976] Hello, world
$modinfo hello.ko
$sudo rmmod hello
....
[ 239.411976] Hello, world
[ 1110.694768] GOOdbye
$objdump -DS hello.ko 產生 assembly 檔案
---
說明
printk
级别
|
描述
|
KERN_EMERG
|
紧急情况,系统可能会崩溃
|
KERN_ALERT
|
必须立即响应
|
KERN_CRIT
|
临界情况
|
KERN_ERR
|
错误信息
|
KERN_WARNING
|
警告信息
|
KERN_NOTICE
|
普通的但可能需要注意的信息
|
KERN_INFO
|
提示性信息
|
KERN_DEBUG
|
调试信息
|
#define pr_debug(fmt,arg...) /
printk(KERN_DEBUG fmt,##arg)
#define pr_info(fmt,arg...) /
printk(KERN_INFO fmt,##arg)
early_printk : 在 linux 系統還沒起來前, 先設定 uart 串口.
# echo 8 > /proc/sys/kernel/printk
--
留言
張貼留言