共 6 篇文章
显示摘要每页显示  条
irq <NR_IRQS;对于S3C2440开发板,这个函数就是s3c24xx_init_irq,移植machine_desc结构中的init_irq成员就指向这个函数s3c24xx_init_irq函数在arch/arm/plat-s3c24xx/irq.c中定义,它为所有中断设置了芯片相关的数据结构(irq_desc[irq].chip),设置了处理函数入口(irq_desc[irq].handle_irq)。desc_hand_irq函数直接调用desc结构中的han...
我们把搬移前的中断向量表中的irq入口地址记irq_PC,它在中断向量表的偏移量就是irq_PC-vectors_start, vector_irq在stubs中的偏移量是vector_irq-stubs_start,这两个偏移量在搬移前后是不变的。3.6 asm_do_IRQ实现过程,arch/arm/kernel/irq.c.struct irq_desc *desc = irq_desc + irq;static inline void desc_handle_irq(unsigned int irq, ...
Linux 下操作GPIO(两种方法,驱动和mmap)stb_gpio = (STBX25XX_GPIO_REG *)ioremap(GPIO_BASE,GPIO_LEN);printk(KERN_ALERT "GPIO = %08x",(int)uGpio);2. 在应用层使用mmap函数在应用层获得GPIO物理基地址对应的虚拟地址指针,然后使用这个指针来读写GPIO寄存器,这里提供一点程序片断供大家参考:GPIO_REGISTER *gpio_base;gpio_...
class_create()-------------------------------------------------linux-2.6.22/include/linux/device.hstruct class *class_create(struct module *owner, const char *name) class_create - create a struct class structure @owner: pointer to the module that is to "own" this struct class @name: pointer to a str...
内核中定义了struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,内核同时提供了class_create(…)函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建好了这个类,再调用device_create(…)函数来在/dev目录下创建相应的设备节点。struct class和device_create(…) 以及device_create(…)都定义在/include/lin...
EXPORT_SYMBOL例子原文地址:http://blog.chinaunix.net/space.php?uid=20357359&do=blog&cuid=461504一个模块mod1中定义一个函数func1;在另外一个模块mod2中定义一个函数func2,func2调用func1。在模块mod1中,EXPORT_SYMBOL(func1);在模块mod2中,extern int func1();就可以在mod2中调用func1了。#insmod ./mod1.ko#insmod ./mod2.k...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部