一、一些基础
1.驱动文件形式 --> *.ko
2.安装命令 --> insmod 卸载命令--> rmmod 都需要root权限 ,也可用modprobe
3.其他可能用到的命令:
modinfo -- 查看模块信息
demsg --- 查看硬件信息
objdump---查看模块详细信息(功能很强大,具体man)
4.关于驱动模型 及char block stream等详细信息 可以参考 Linux Device Driver 3thd
二、关于调试
主要尝试过两种方法:打印或单步调试
1.打印: printk 分很多级别信息,功能类似于c语言的printf, 一般来说信息打印到/var/log/messages,可通过cat命令或tail命令查看
大多数问题都可以通过printk来解决,缺点在于不够直感
2.调试工具: GDB ,KDB,KGDB
都需要编译DEBUG版本内核。
KDB单机汇编级调试,需要单独下载kernel对应的patch,
GDB没整明白