嵌入式系统该如何实现中断控制
http://www.gkong.com 2009-09-09 10:43 来源:NI
今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(EmbeddedSystemConference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。
中断是现代操作系统的一大特点,在嵌入式系统尤为明显,中断函数在驱动程序中的作用非常重要,相当于各种函数的调度中心。在我们的驱动程序中数据包被接收,数据包发送完毕,buffer分配完成以及其他异常情况都会触发中断而调用中断函数进行处理。其他情况触发中断比较容易理解,下面对buffer分配完成中断作一些说明。
现代网络芯片为增加数据吞吐量,在芯片内部都包含一定数量的buffer缓存发送和接收的数据包,在发送数据时网络芯片往往要先分配适当大小的buffer空间,以接收内核发送的数据,当芯片buffur满时,这些buffer分配命令(芯片的内部寄存器指令)就暂时不能执行,如果芯片缓存数据因为成功发送或者接收的数据成功传递给上层协议,释放buffer空间,这时buffer分配命令就可以继续执行,一旦执行成功就触发中断告知系统可以向芯片传送数据了。