vxworks里taskdelay是多少毫秒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vxworks里taskdelay是多少毫秒相关的知识,希望对你有一定的参考价值。

参考技术A

taskdelay(n)是延时n个系统时钟周期(tick),一般是1秒60个tick,既一个tick是60分之一秒。

在vxworks5.5里面系统初始话的时候在usrRoot里面用sysClkRateSet(60)进行了初始设置,当然也可以通过这个函数修改,也可以通过sysClkRateGet查看。

VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试、仿真环境和工具。

常用于 RTOS 的设计模式 (VXworks)

【中文标题】常用于 RTOS 的设计模式 (VXworks)【英文标题】:Design patterns commonly used for RTOS (VXworks) 【发布时间】:2011-02-17 12:32:03 【问题描述】:

谁能帮助我了解 RTOS 常用的设计模式? 在 VXworks 中,哪种模式更可取?

【问题讨论】:

方式。也。通用的。 ...我说的是前 VxWorks 用户。下意识的回答是“解决问题的任何模式。” 这取决于您希望达到什么目标?您要解决的问题是什么? 比什么更可取!?每种模式都有不同的用途,它们不可互换。使用能解决手头问题的那个 我不确定这个问题是否值得投反对票,但我建议您按照我的建议对其进行修改,以防止其他合理的问题得到低分。 这是关于 RTOS 内核设计或使用它的应用程序吗?第二部分,VxWorks 有一个非常确定的设计,你无法更改? 【参考方案1】:

另一个重要方面是保持 RTOS 对用户来说是可预测和可理解的。通常,您会看到固定优先级的调度程序不会尝试公平或自适应,而是完全按照指示执行,如果您弄乱了优先级并使某些任务挨饿,那就这样吧。完成内核操作的时间往往很短且可预测,通常记录在最坏情况下的执行时间。

【讨论】:

【参考方案2】:

我们可以忽略您问题中的第二句话吗?它毫无意义,并且可能指向对设计模式的误解。然而,第一部分很有趣。也就是说,我会将其概括为涵盖实时系统而不是 RTOS。

许多最熟悉的模式都是机械性的,但在实时系统中更高级别的架构模式也很重要。

Bruce Powell Douglass 可能是实时系统模式主题的主要作者。如果您想了解他对这个主题的看法,请阅读this article 上的Embedded.com(这是三部曲中的第三部;请务必阅读前两部,因为它们也涉及主题,(1)(2))。您也可以访问 Embedded.com 并在搜索框中输入“设计模式”,这里有许多关于特定模式的文章和关于该主题的一般文章。

虽然我认为您在请求“RTOS(VxWorks)”模式方面还不够具体,但我专门用于 VxWorks 的模式是 Facade 和 Adapter 模式。部分是为了提供一个 OO API,也为了提供一个与 RTOS 无关的抽象级别。然后为 Segger emBOS(允许我们运行更小、成本更低、免版税的 RTOS)以及 Windows 和 Linux 实现生成的类,以允许在更丰富的环境中使用更强大的工具对代码进行测试、调试和模拟。

Wikipedia 提供了许多模式的非详尽列表,其中许多将适用于实时系统。列出的并发模式最明显相关。

【讨论】:

Embedded.com 的链接失败。你能提供一个新的吗? @AndyLin :我不知道 9 年来该链接可能是什么,但 BPD 在该主题上的一些智慧可以在 lib.iszf.irk.ru/… 或购买他的一本关于该主题的书籍中找到.【参考方案3】:

正如 Mike DeSimone 评论的那样,太笼统了。但是,对于 RTOS(不仅仅是 VxWorks),需要牢记以下几点。

    避免在 ISR 中做太多事情。如果可能,将一些处理传递给等待任务。 使多线程保持最佳状态。太多了,你有上下文切换开销。太少,您的问题解决方案可能会很复杂。

【讨论】:

+1。第一个确实是 RTOS 的设计模式,也是其他 OS 驱动程序的设计模式。应该有人想出一个好名字和适当的模式描述。 (即你什么时候需要它,你具体做什么等等) 第一项在许多操作系统中称为“延迟服务例程”。 eCos 称它们为中断服务程序和延迟服务程序。然后 Linux 调用上半部分和下半部分 IIRC。但这些不是 RTOS 的模式……这些是驱动程序的模式。 也称为“分段中断架构”。

以上是关于vxworks里taskdelay是多少毫秒的主要内容,如果未能解决你的问题,请参考以下文章

VxWorks启动过程具体解释(下)

VxWorks技术铂金VIP群

android里 怎么计算日期差

请问1秒=100毫秒=1000纳秒吗,即1S=100MS=1000NS

1S等于多少ms(毫秒)1ms等于多少us(微秒)

在SysTick微秒及毫秒程序举例中,定时器一次最大定时时间是多少毫秒?