摘要:
1.设备描述结构cdev驱动模型种类繁多,这就需要我从众多的模型中提取出他们的一些共性:a.驱动初始化a.1 分配设备描述结构a.2 初始化设备描述结构a.3 注册设备描述结构a.4 硬件初始化b.实现设备操作c.驱动注销---------------------------------------... 阅读全文
摘要:
1.编译、安装驱动linux系统中,驱动程序通常采用内核模块的程序结构来进行编码,因此,编译、安装一个驱动程序,其实质就是编译、安装一个内核模块。将文件memdev.c makefile 放入虚拟机中,make 得到.ko文件cp .ko rootfs启动开发板 insmod *.ko2.创建设备文... 阅读全文
摘要:
linux内核定时器度量时间差:时钟每隔一段时间就会产生一次中断,这是由系统的定时硬件以周期性的时间间隔产生,这个间隔由内核根据HZ来确定。每当时钟中断发生时,全局变量jiffies(unsigned long)就加1,因此jiffies(当前的时间点)记录了自linux启动后时钟中断发生的次数,驱... 阅读全文
摘要:
linux内核链表:链表通常包括两个域:数据域和指针域。struct list_head{struct list_head *next,*prev;};include/linux/list.h中实现了一套精彩的链表数据结构。传统的链表指针指向下一个节点的头部。linux链表指针指向下一个指针list... 阅读全文
摘要:
如实现一个简单的打印:printk1.cd linux-ok6410/kernel/vim printk.cvoid sys_pk(){printk("this is a new sys call");}cd arch/arm/kernel2.vim calls.S在最后面加上Call(sys_pk... 阅读全文