老古开发网首页
导航:老古开发网首页文章索引文章分类ARM设计→[实时多任务系统设计的一些心得]
| -文章搜索 - 最新文章 - |

实时多任务系统设计的一些心得

发布时间:2005年1月15日 点击次数:6245
来源:   作者:
 
对于实时任务来说,主线流程的优化尤为重要,主线流程是指任务按照正常流程接受合法消息时,所走的最常调用分支。这些分支效率的高低,将直接影响到整个任务的平均响应速度,所以应该仔细的优化。
应该尽量避免在主线流程中做printf等十分费时的流操作。而主线流程的并且优化完后,要对主线流程的运行效率(或者说一个主线流程的平均处理时间和最坏处理时间)做测试,这个测试数据将做为整个实时系统调度策略设计的基础数据。

实时的含义是指在规定的时限内能够传递正确的结果,迟到的结果就是错误。实时程序在设计时,必须充分考虑到这一点,必须按照给定的时限和硬件运行速度来设计算法,优化代码,而不是草草设计完了等结果行就行,不行再改。

对于实时系统的设计来说,实时和分时单元的合理划分,是提高整个系统实时性能的一个重要手段。例如,对于信令处理系统来说,对信令的翻译、解释和转移、传递、应答是实时单元,而对于信令的监视打印、非法信令的打印等则是分时单元。实时单元应该放到实时任务里面去处理,而分时单元的处理应该由实时任务通过消息或者共享内存模式传递数据,启动分时进程的在线或者后台处理。

对于实时系统的设计,实时任务的划分合理与否,将直接影响整个实时系统的平均响应速度。一般说来,很多时候,我们设计时要考虑将两(多)个逻辑上应该分成两(多)个任务的任务合并为一个任务。例如:有两个任务A和B,他们分别做两个优先级没有明显分别的处理,他们通过消息通信,任务A是消息的发送者,任务B是消息的接受者,如果他们之间通信的消息量很大,可能就需要考虑将这两个任务合并。当然前提是从逻辑上讲,这两个任务的合并是可能的。

对于嵌入式实时软件的设计,要对实时嵌入内核在对应的硬件平台上的的任务切换时间、中断延迟时间有一个准确了解,以便于任务设计和中断处理程序的设计。任务切换时间是实时操作系统将控制权从一个任务的执行中取回,然后交给另外一个任务所需要的时间。它包括保存目前正在执行任务所需要的时间,另外一个任务调入系统执行所需要的时间以及实时操作系统决定下一个调度任务所须的调度时间。中断延时时间是指系统确认中断开始直到执行中断服务程序的第一条指令为止整个处理过程所需要的时间。实时操作系统的中断延迟时间由下列三个因素决定:
——处理器硬件电路的延迟时间,通常这个时间可以忽略。
——实时操作系统处理中断并将控制权转移给相关处理程序所需要的时间。
——实时操作系统的中断禁止时间,这是实时操作系统为了保护重要的系统程序代码暂停接受中断的可能需要的最长时间。

对于实时任务的实现来说,必须在主循环中调用系统调用诸如psos+的tm_wkafte()之类的系统调用,将控制权交还实时操作系统,否则优先级比此任务低的任务将没有机会被调度到。

欢迎进入老古论坛进行讨论
[ARM设计] 相关文章:
ARM在北京设立办事处
简介:
ARM公司日前宣布其北京办事处正式成立,将为本地合作伙伴提供更直接的支持。该公司同时还宣布与北京科银京成(CoreTek Systems)、北京凯思昊鹏(Hopen)、中芯国际(SMIC)以及北京振戎融通公司(ZRRT)签署四项战略性授权合作协议。 ARM北京办事处作为一个销售和市场推广分支机构将使ARM公司为在北京地区的合作伙伴提供更为本地化的支持。这些合作伙伴包括无晶圆设计公司、国内的集成电路设计中心、大学以及科研机构、晶圆代工厂、原设备制造商(OEM......

赛普拉斯PSoC简化嵌入式设计,销量突破千万
ARM与NEC Electronics合作推出可授权MPCore处理器
Cirrus Logic推出具200MHz处理能力的ARM9嵌入式处理器
ARM壮志凌云,希望进入每一个数字芯片
中芯国际获ARM授权,开发ARM922T核心SoC技术
ARM新推二极缓存控制器,有助延长电池使用时间
PHILIPS公司32位FLASH MCU的优势
哪里可以买到soc的芯片和开发工具
SoC的一些芯片的电压为3伏多,可以用5伏的外围器件吗?
 
下一个:[ARM设计]实时操作系统比较
简介:
RTOS在国内主要有vxworks和pSOS,现在还有nuclear、QNX、WinCE。 说起好坏吗,其实,vxWorks要好一些,可能;不知道以前国内研究所一直用的VRTX是不是都被vxworks所替代了呢。据说因为VRTX是最早商业化的RTOS,60年代就开始卖了,所以呢,全是汇编,改都改不过来,还有就是对TCP/IP的支持一直不好,vxWorks是从VRTX公司出来的人做的,号称make VrtX Works!,所以就有了vxWorks的名字。 nuclear是卖源代码的,而且不卖licence,就是说,你设计了一台路由器,生产的时候不用为你的每一台路由器都付30美圆的......
 

上一个:[单片机]keil 中的重入问题解决

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒