2008年3月21日

摘要: 中断服务程序用来处理来自硬件的中断,是设备驱动程序的重要组成部分。为及时响应外部中断,防止中断丢失.中断服务程序应该尽量的小,只把最必要的任务放在中断服务程序里面执行。一般在系统启动,硬件设备成功初始化之后将ISR与中断向量挂上:也可以在系统启动后的任何时刻挂中断向量。调试中经常采用后一种方式。在VxWorks中有两个不同的函数可提供挂中断:intConnect和pciIntConnect。两者的... 阅读全文
posted @ 2008-03-21 21:36 safeking 阅读(1893) 评论(0) 推荐(0) 编辑
 
摘要: VxWorks的中断服务程序(ISR)运行在特定的空间。不同于一般的任务,中断服务程序没有任务上下文,不包含任务控制块,所有的中断服务程序使用同一中断堆栈。 ISR中不能调用可能导致blocking的函数,例如: (a)不能以semTake获取信号量,因如果该信号量不可利用,内核会试图让调用者切换到blocking态; (b)malloc和free可能导致blocking,因此也不能使用; (c)... 阅读全文
posted @ 2008-03-21 20:48 safeking 阅读(2761) 评论(1) 推荐(0) 编辑
 
摘要: 159: #define min_t(type,x,y) \ 160: ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; }) 阅读全文
posted @ 2008-03-21 13:53 safeking 阅读(634) 评论(0) 推荐(0) 编辑
 
摘要: 函数,相信许多人也知道其重要性;一个文件往往由一个或者多个函数构成的。然而可能许多人还不知道函数调用的一些深层问题,所以我写的这篇文章一来是应了一个好朋友的要求而写,二来希望一些朋友能够从我这篇文章了解函数调用的机制。但是并不是每个人都可以完全读懂这文章,想完全读懂此文,我想必须具备三个条件: 一、对于C语言有一定的了解,最起码有一个整体的初步了解; 二、能够读懂UNIX/LINUX下的AT&... 阅读全文
posted @ 2008-03-21 12:41 safeking 阅读(1064) 评论(1) 推荐(0) 编辑