嵌入式操作系统 中断服务子程序 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()经常有重入和性能上的问题。

相关文章推荐

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

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

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

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

嵌入式操作系统内核原理和开发(线程切换)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】    在操作系统中,线程切换是很重要的一个环节。如果没有线程的切换,我们如何才能实现多线程的并...

常用嵌入式操作系统介绍

1)VxWorks VxWorks操作系统是WinRiver(美国风河系统)公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,...

嵌入式操作系统VxWorks

嵌入式操作系统VxWorks

如何编写一个最简单的嵌入式操作系统(1)简单任务调度

写在前面: 放寒假了

三种常用的嵌入式操作系统特点与性能对比

三种常用的嵌入式操作系统特点与性能对比 收藏 ·                    &...

嵌入式操作系统选型及比较

(1) 嵌入式操作系统选择应考虑的因素       硬件的不同,会影响操作系统的选择。低端无MMU(MemoryManagementUnit,存储器管理单元)的CPU,要使用uClinux操作系统;...

嵌入式操作系统的认识

1991年Linus Torralds编写了Linus操作系统的最初版本0.1版本并FTP站点上供人免费下载和修改。直至今日的4.0版本,Linus的发展经过了上千万人的修改与完善。Linus取得...

嵌入式操作系统知多少?

常见的嵌入式系统有这么多:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QN...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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