上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 参考:linux内核定时器 Linux内核时钟系统和定时器实现 linux内核定时器使用及原理 Linux内核学习笔记八——定时器和时间管理 软件意义上的定时器最终依赖硬件定时器来实现,内核在时钟中断发生后检测各定时器是否到期,到期后的定时器处理函数将作为软中断在底半部执行。实质上,时钟中断处理程序 阅读全文
posted @ 2017-10-09 21:13 bluebluebluesky 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 参考: Linux下半部处理之软中断 linux中断底半部机制 《深入理解Linux内核》软中断/tasklet/工作队列 软中断和tasklet介绍 详解操作系统中断 Linux内核:中断、软中断、tasklet 为了提高系统的响应能力和并发能力,Linux将中断处理分了上半部和下半部。当一个中断 阅读全文
posted @ 2017-10-07 22:22 bluebluebluesky 阅读(1683) 评论(0) 推荐(0) 编辑
摘要: 1.中断处理体系结构 Linux内核将所有中断统一编号,使用一个irq_desc结构数组来描述这些中断。 数组声明在/linux/kernel/irq/handle.c中,其中#define NR_IRQS 128,定义在/linux/include/asm/irq.h中 irq_desc结构的数据 阅读全文
posted @ 2017-10-06 14:41 bluebluebluesky 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 转自 http://www.xuebuyuan.com/2208550.html 在ARM V4及V4T以后的大部分处理器中,中断向量表的位置可以有两个位置:一个是0x00000000,另一个是0xffff0000。可以通过CP15协处理器c1寄存器中V位(bit[13])控制。V和中断向量表的对应 阅读全文
posted @ 2017-10-05 21:32 bluebluebluesky 阅读(445) 评论(0) 推荐(0) 编辑
摘要: ARM-Linux汇编的宏定义语法说明如下: 使用注意: 1.宏定义以.macro开始,以.endm结束 2.可带参数,参数可有默认值 3.直接使用参数的名字\arg vector_stub宏的功能: 计算处理完异常的返回地址; 保存寄存器(r0,lr,spsr) 进入管理模式; 最后根据进入异常前 阅读全文
posted @ 2017-10-05 20:33 bluebluebluesky 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: arm11处理器裸机的异常与中断处理参考: 【OK6410裸机程序】异常处理 【OK6410裸机程序】按键中断 另外参考一篇:Linux中断体系结构 在ARM V4及V4T以后的大部分处理器中,中断向量表的位置可以有两个位置:一个是0,另一个是0xffff0000。可以通过CP15协处理器c1寄存器 阅读全文
posted @ 2017-10-05 19:38 bluebluebluesky 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 1.用户空间调用(参考 poll(2) - Linux man page) int poll(struct pollfd *fds, nfds_t nfds, int timeout); it waits for one of a set of file descriptors to become 阅读全文
posted @ 2017-10-02 21:57 bluebluebluesky 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 1.数据结构 1.1等待队列头 初始化等待队列头 1.2等待队列 初始化等待队列 等待队列的task_list加入等待队列头的task_list链表。一般将wait_queue_func_t赋值为下面的默认处理函数: 1.3添加/删除等待队列 2等待事件 调用以下四个宏等待事件,等待以第一个参数作为 阅读全文
posted @ 2017-10-02 19:23 bluebluebluesky 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 1. $(shell CMD) 名称: 执行 shell 命令函数 功能: 在新的 shell 中执行 CMD 命令 返回值: CMD 在 shell 中执行的结果 例如:PLATFORM=$(shell $(ROOT)/systype.sh)在执行完下面的脚本后等价于PLATFORM=linux 阅读全文
posted @ 2017-05-13 09:40 bluebluebluesky 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 可变参数的宏 标准C只支持可变参数的函数,意味着函数的参数可以是不固定的 例如printf()函数的原型是int printf(const char *format [,argument]...) 而在GNU C中,宏也可以接受可变数目的参数,例如 #define pr_debug(fmt,arg. 阅读全文
posted @ 2017-05-13 09:29 bluebluebluesky 阅读(305) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页