问题标签 [rtos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
910 浏览

c - 是否可以向 GDB 添加对自定义 RTOS 线程的支持?

在调试运行自定义 RTOS 的远程目标的场景中,需要向 GDB 添加线程支持吗?

就我而言,我可以访问所有调度程序符号的 RTOS 源和调试信息,因此理论上这些信息是可访问的。

这是否意味着重新编译 GDB?向线程相关的命令添加钩子?

任何评论将不胜感激!

0 投票
3 回答
1683 浏览

c++ - 如何在 Windows 7.0 中编程以使其更具确定性?

我的理解是 Windows 是不确定的,在使用它进行数据采集时可能会遇到麻烦。使用 32 位总线和双核,是否可以使用内联汇编来处理 Visual Studio 2005 中的中断,或者至少设置某种标志以在时间上保持一致而几乎没有抖动?

朝着 RTOS(实时操作系统)的方向发展:在内核模式下编程的 Windows CE 对我们来说可能太贵了。

0 投票
1 回答
199 浏览

c++ - RTOS:windows ce:我可以在内核模式下为 PID 控制回路执行所有计算吗?

在 Windows CE 中,我可以在“内核模式”下对 PID(比例积分微分)控制回路进行所有计算并避免使用“用户模式”吗?我将通过 TCP=IP 将数据传输到另一台机器以获得最终结果,以使系统保持在“内核模式”。我的理解是从“内核模式”切换到“用户模式”,反之亦然,需要花费时间..即 40us 往返。

0 投票
3 回答
7870 浏览

real-time - 适合类人机器人的 RTOS 是什么?

我们是学生开发一个中等大小(约 4.5 英尺高)的人形机器人,作为大学赞助的研究项目。机器人应该能够执行的主要任务包括:四处移动(前进、后退、侧身)、奔跑、拾取物体。我们正在考虑使用实时操作系统来控制机器人。但是,由于我们是这个领域的新手,几乎没有嵌入式系统或操作系统的背景,而且有多种选择,我们不确定哪一个是合适的选择。我们遇到了以下情况(括号中是我们目前对它们的印象):

  1. RTLinux(现在死了,内核 2.4.x,gcc 2.95(很难构建),几乎没有文档)
  2. FreeRTOS(良好的社区和文档,流行,移植到许多架构)
  3. uc-OS II(小、干净的内核、轻量级)
  4. RTAI(基于 Linux)

我有几个问题:

  1. 哪个选项更适合这个项目?我知道这听起来有点主观,但任何建议将不胜感激。如果您觉得缺少某些重要信息,请务必指出。
  2. 我遇到了一个名为CONFIG_PREEMPT_RT的 Linux 内核补丁,它为内核提供了硬实时功能。基于 Debian 的发行版也有带有此补丁的预编译内核。仅此一项就足以满足我们的要求吗?
  3. 一般来说,我们对操作系统知之甚少。我们有必要先了解它们吗?如果是,什么是该主题的良好简短入门?

更新:感谢您提供非常详细的答案。很明显,我们的做法是错误的。在没有知识和模糊要求的情况下潜入肯定会很糟糕。我们将不得不坐下来准确地找出我们需要的东西。当我们足够领先时,我们将尝试找出合适的操作系统。让我们看看结果如何。我还将阅读MicroC OS II: The Real Time Kernel 的第 2 章。

0 投票
3 回答
1401 浏览

timer - Linux RTOS sleep() - 定时器任务的唤醒()

我有一个基本上是 TIMER 的任务;所以它进入睡眠状态并且应该定期唤醒。所以计时器任务睡眠了 10 毫秒。但是正在发生的事情是它在唤醒方面不一致,并且不能依靠它来正确地及时唤醒。

事实上,在我的跑步中,睡眠时间有很大的不同。有时它会在觉醒时变化 1-2 毫秒,并且很少会完全恢复。这是因为内核调度程序将所有休眠和等待的任务放在一个队列中,然后当它轮询查看谁将被唤醒时,我认为这是轮询。所以有时任务会在调度程序再次轮询时过期。有时,当出现中断时,ISR 会获得控制权并延迟定时器的唤醒。

处理此类问题的最佳解决方案是什么?

(附加细节:任务是无线网络的 MAC 定时器;RTOS 是 u-velOSity 微内核)

0 投票
5 回答
5880 浏览

real-time - AVR 上的多任务 RTOS

我有一个 AT90USB162 AVR 芯片,我想运行一个多任务 RTOS,所以我正在评估可能的 RTOS 与我的 AVR 芯片一起使用。AVR 支持哪些多任务 RTOS?也许是 QNX?(是否可以在 AVR 微芯片上运行 QNX 内核?)。

提前致谢。

0 投票
4 回答
2459 浏览

cross-compiling - 开源交叉编译器支持 Ada 多任务 RTOS

Ada 有哪些 RTOS 提供开源/免费的交叉编译器,支持多任务/多线程?

我有一个 Atmel AT90USB162 芯片,我想使用 Ada 对其进行编程。我的第一个选择是使用 AVR-Ada 对其进行编程,但由于它没有任务支持,因此无法选择(现在我不知道如何支持它进行任务)。所以我需要一个更强大的方法。我考虑过使用 QNX,但它比我的芯片支架复杂得多。

我得到了 AVR 芯片支持 uC/OS-II 和 FreeRTOS 的信息。是否有适用于 FreeRTOS 或 uC/OS-II 的免费 Ada 交叉编译器?

谢谢。

0 投票
2 回答
1387 浏览

c++ - arm-none-eabi-g++ 调用全局构造函数

我正在尝试使用 gcc 工具(使用 RTOS)将 c++ 应用程序移植到 arm 板上。但是我的静态 const 构造函数没有被调用。

简单代码:

我提供类定义。但是当我用 TestInitClass::TestClassObj.getM() 调用它时,它返回我 0。

有多个问题:

  1. 我的静态常量被分配在 .bss 部分。它没有进入 .ctors 部分(这可能是链接描述文件问题?!)
  2. 即使它进入 .ctors 部分,我如何调用这些构造函数
  3. 当我使用静态 c++ 库时,我应该如何调用它们?

谢谢

0 投票
3 回答
1587 浏览

embedded - Context switching in uC/OS (embedded systems)

I'd like to know if its possible to have an interrupt force the scheduler to switch context to a specific task in RTOS. I'm working with microCOS OS

Here is the task which performs the keyscan and posts the character into a mailbox, I need to add some more features to this code like debounce and auto repeat but I need to sort out a trigger mechanism to get it working properly.

I am not sure how to use polling or interrupts to accomplish this

0 投票
3 回答
645 浏览

module - 解耦应用模块

我正在搜索一个嵌入式 RTOS,它支持更新软件的功能,而无需编译/链接整个内核和应用程序软件。这个概念就像在 Windows 或 Unix 桌面系统中:将应用程序模块(编译/链接的二进制文件)下载到目标而不接触内核(与内核分离)。ExpressLogic ( www.rtos.com/products/threadx/ )的 ThreadX 是一种支持这种受内存保护的可下载应用模块 (DAM) 的RTOS 。

有人知道支持这种 DAM 概念的其他 RTOS(占用空间小,目标 CPU Cortex-M3)吗?

有人对 ThreadX 的 DAM 有经验吗?一些认可的文献?

提前致谢!