标签:
编写一个Linux的一般步骤:
第1步:建立Linux驱动骨架(装载和卸载Linux驱动)
第2步:注册和注销设备文件
第3步:指定和驱动相关的信息
第4步:指定回调函数
第5步:编写业务逻辑
第6步:编写Makefile文件
第7步:编译Linux驱动程序
第8步:安装和卸载Linux驱动
在编写Makefile文件时obj-m表示将Linux驱动作为模块(.ko文件)编译,而obj-y是将Linux驱动编译进Linux内核;obj-m或obj-y需要使用":="赋值。通过make menuconfig命令可以配置每一个驱动及其他内核程序是否允许编译进内核。Linux系统内存分为了用户空间和内核空间,这两个空间的程序不能直接访问。printf函数运行在用户空间,printk函数运行在内核空间,因此,属于内核程序的Linux驱动是不能直接访问printf函数的,而用户空间的程序
也不能直接调用printk函数。如果使用模块方式编译Linux驱动程序,需要
使用M指定驱动程序所在的目录。例如:查看由Linux驱动输出的日志信息所使用如下命令:
# dmesg | grep word_count | tail -n 2
或
# cat /var/log/syslog | grep word_count | tail -n 2
使用modinfo查看.ko文件的信息,设备文件由主设备号和次设备号描述。
标签:
原文地址:http://www.cnblogs.com/zgen1/p/5547784.html