locked
XPE系统实时性问题 RRS feed

  • 问题

  •       各位好,我做了个嵌入式系统,一百一十兆的样子。采用命令行的SHELL,然后USB,英文,以及一些网络组件,

    编写了一个串口传送程序用来测试XP,和XPE的实时性,将电脑后面的两个串口COM1和COM2直接相连,然后运行程序发现XPE竟然比XP传输时间还要多0.3毫秒,我传送的只是四十个字符。XP平均41.82毫秒,XPE平均42.1毫秒。

          程序应该没问题,采用的QueryPerformanceCountern以及GetCycleCount()计时,可以精确到纳秒和微秒。XP和XPE运行在同一台电脑上,采用的是双启动。CPU和其他硬件也一样。为什么会出现这种情况呢?

          我现在只是做的测试,想得出XP和XPE的具体实时性数据,除了采用串口数据传输来比较,还有其他方便易行准确的比较方法吗?因为我想得出实时性数据然后决定是否购买XPE系统。

    2008年8月6日 13:13

答案

  • (1),XP和XPE都不是硬实时操作系统,如果需要实现"硬实时",必须找第三方软件支持,参看XPE帮助文档或MSDN文章.

    (2),你做的测试不是理论意义上的"实时性"问题.实时不一定是"快",是"中断发生了,在规定时间内必须得到响应"

    (3),感觉XPE慢些,值得研究,如你所测结果,在1MS以内,个人认为应该是测量工具(PerformanceCounter)的测试精度问题.波特率定了就不会慢的.

     

     

    2008年8月7日 19:05
    版主
  • XPE不是实时系统,如果你的应用实时性要求很苛刻,建议你选用其他的硬实时或者软实时的RTOS..
    如果由于复用和移植的问题,必须用XPE,可以参考一下RTX(Real-Time eXtensions for Ms Windows)..

    不过从你重视串口应用的测试来看,对实时性的要求应该不是太高.
    2008年8月22日 4:20

全部回复

  • (1),XP和XPE都不是硬实时操作系统,如果需要实现"硬实时",必须找第三方软件支持,参看XPE帮助文档或MSDN文章.

    (2),你做的测试不是理论意义上的"实时性"问题.实时不一定是"快",是"中断发生了,在规定时间内必须得到响应"

    (3),感觉XPE慢些,值得研究,如你所测结果,在1MS以内,个人认为应该是测量工具(PerformanceCounter)的测试精度问题.波特率定了就不会慢的.

     

     

    2008年8月7日 19:05
    版主
  • XPE不是实时系统,如果你的应用实时性要求很苛刻,建议你选用其他的硬实时或者软实时的RTOS..
    如果由于复用和移植的问题,必须用XPE,可以参考一下RTX(Real-Time eXtensions for Ms Windows)..

    不过从你重视串口应用的测试来看,对实时性的要求应该不是太高.
    2008年8月22日 4:20