嵌入式操作系统 中断服务子程序 ISR

转载 2012年03月28日 21:46:14

中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。

__interrupt double compute_area (double radius)
{

double area = PI * radius * radius;
printf(" Area = %f", area);
return area;
}

1). ISR 不能返回一个值。
2). ISR 不能传递参数。

3). 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。
4). 与第三点一脉相承,printf()经常有重入和性能上的问题。

ISR 中断服务子程序的几个特点

中断是嵌入式系统中重要组成部分,很多编译器开发商都让标准c支持中断,并引入关键字_interrupt.但是 ISR不能有返回值;ISR不能传递参数;ISR应该是短而高效的,在ISR中做浮...

中断服务子程序 ISR

中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。 具代表事实是,产生了一个新的关键字 __interrupt。 下面的代码就使用了__interru...

嵌入式操作系统内核原理和开发(系统中断仿真)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】    在嵌入式操作系统中,最难模仿的是系统中断的问题。在windows下面,这是没有办法的事情...

基于嵌入式操作系统VxWorks的多任务并发程序设计――中断与任务

中断处理是整个运行系统中优先级最高的代码,可以抢占任何任务级代码运行。中断机制是多任务环境运行的基础,是系统实时性的保证。几乎所有的实时多任务操作系统都需要一个周期性系统时钟中断的支持,用以完成时间片...

嵌入式 中断服务子程序注意事情

中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。 具代表事实是,产生了一个新的关键字 __interrupt。 下面的代码就使用了__interru...
  • skdkjxy
  • skdkjxy
  • 2014年09月23日 17:16
  • 1352

嵌入式操作系统内存管理 mmu

一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的...

时速350高铁用的中兴嵌入式操作系统用在普通汽车上,会怎样?

时速350是个什么概念? 一般飞机起飞的时速也就250—350。 估计高铁插个翅膀就能飞啦... ... 这就很有趣了,如果把高铁的支撑系统中兴新支点嵌入操作系统放到普通汽车上面,究竟会发生些什...

嵌入式操作系统内核原理和开发(基于链表节点的内存分配算法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】     链接节点的内存分配方法,其实就是一种按需分配的内存分配方法。简单一点说,就是你需要多少...

嵌入式操作系统VxWorks介绍(一)

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌...

嵌入式操作系统内核原理和开发(内存分配算法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】        内存分配是操作系统必须面对的一个环节,除非这个系统本身不需要内存安排,所有业务可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式操作系统 中断服务子程序 ISR
举报原因:
原因补充:

(最多只允许输入30个字)