科创园

科创园地,分享技术知识,为科技助力发展,贡献一己之力。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

02 2013 档案

摘要:在linux2.6内核驱动中,为设备实现一套中断处理机制提供了如下两个步骤:1.向内核注册中断处理;2.实现中断处理函数int request_irq(unsigned int irq,void (*handler)(int, void*, structpt_regs *),unsigned long flags,const char *devname,void *dev_id) //注册中断;返回0表示成功,或者返回一个错误码参数含义unsigned int irq 中断号void (*handler)(int,void *,struct pt_regs *) 中断处理函数u... 阅读全文

posted @ 2013-02-20 10:09 科创园 阅读(1105) 评论(0) 推荐(0)

摘要:为了适用要求越来越高的硬件设备需求,linux2.6内核提供了一种全新的内核设备模型。设备模型三元素:总线、设备、驱动;第一节:总线总线是处理器与设备之间的通道,所有的设备通过总线相连;总线由bus_type定义(位于<linux/device.h> 1 struct bus_type { 2 const char *name; 3 struct bus_attribute *bus_attrs; 4 struct device_attribute *dev_attrs; 5 struct driver_attribute *dr... 阅读全文

posted @ 2013-02-19 18:11 科创园 阅读(848) 评论(0) 推荐(0)

摘要:说明:关于代码中涉及的一些结构参考2.6内核;以及kobject原理参考http://www.cnblogs.com/myblesh/articles/2367613.htmlKobject实例代码解读View Code 1 #include <linux/device.h> 2 #include <linux/module.h> 3 #include <linux/kernel.h> 4 #include <linux/init.h> 5 #include <linux/string.h> 6 #include <linux/ 阅读全文

posted @ 2013-02-19 08:45 科创园 阅读(607) 评论(0) 推荐(0)

摘要:一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变量缓存到寄存器;调整指令顺序充分利用CPU指令流水线,常见的是重新排序读写指令。对常规内存进行优化的时候,这些优化是透明的,而且效率很好。由编译器优化或者硬件重新排序引起的问题的解决办法是在从硬件(或 阅读全文

posted @ 2013-02-03 15:58 科创园 阅读(7801) 评论(0) 推荐(0)