Linux驱动编程
kingyal
加油!
展开
-
itop下内核源码目录结构
linux内核源码目录结构如下:arch目录:arch目录为平台目录,所有内核能支持的CPU结构,在该目录下都有对应的子目录,如arm,x86等,每个CPU的子目录,又可进一步分为boot,kernel,mm,vfp等子目录,用来控制系统引导,内存管理,系统调用等。其他目录如下图:以下标红的部分是linux编写驱动时常常用到的一些文件夹。...原创 2019-04-01 19:55:06 · 231 阅读 · 0 评论 -
printk:内核打印函数
printk是内核打印函数,它与printf的不同只处在于printf运行在用户态,printk运行在内核态。 两个函数几乎是相同的,出现这种差异是因为tty_write函数需要使用fs指向的被显示的字符串,而fs是专门用于存放用户态段选择符的,因此,在内核态时,为了配合tty_write函数,printk会把fs修改为内核态数据段选择符ds中的值,这样才能正确指向...原创 2019-04-01 20:15:47 · 780 阅读 · 0 评论 -
module_init与module_exit
这是一个简单的linux驱动程序:/*包含声明开源与作者的两个函数*/#include <linux/module.h>/*包含入口与出口函数*/#include <linux/init.h>//声明开源,声明作者可有可无MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("kingyal");static int...原创 2019-04-01 20:47:28 · 942 阅读 · 0 评论 -
Kconfig与Makefile
内核源码树的目录下都有两个文件,即Kconfig与Makefile。分布到各个目录中的Kconfig文件构成了一个分布式的内核配置数据库,每个Kconfig文件分别描述了所属目录源文档的相关内核配置菜单,在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config这个内核配置文档中,在内核编译时,主目录中的makefile调用.config文件,就知道了用...原创 2019-05-19 14:57:38 · 268 阅读 · 0 评论