Questions tagged «rtos»

实时操作系统-通常在工业控制系统中使用的操作系统。其特点是可预测的对中断和系统请求的响应时间。以使开发人员可以确保满足工业过程的时间要求的方式进行设计。

9
嵌入式系统的实时操作系统
我看过很多文章,告诉我应该将RTOS用于时间管理和资源管理。我的时间不允许进行自己的研究,因此我向Chiphacker寻求建议。 我使用低资源微控制器(MSP430,PIC),并正在寻找可以使用的RTOS。 要点: 系统资源成本 系统优势 系统的缺点 实施技巧 不应/不应使用RTOS的情况。 我没有使用像arduino这样的系统,我从事的项目无法支持这种系统的成本。

6
PIC微控制器上的多任务
如今,多任务处理很重要。我想知道如何在微控制器和嵌入式编程中实现它。我正在设计一个基于PIC微控制器的系统。我已经使用C在MplabX IDE中设计了其固件,然后使用C#在Visual Studio中为其设计了一个应用程序。 由于我已经习惯在台式机上的C#编程中使用线程来实现并行任务,因此有没有办法在我的微控制器代码中做到这一点?MplabX IDE提供了功能,pthreads.h但它只是一个存根,没有实现。我知道有FreeRTOS支持,但是使用它会使您的代码更复杂。一些论坛说,中断也可以用作多任务处理,但我认为中断不等同于线程。 我正在设计一个系统,该系统将一些数据发送到UART,同时需要通过(有线)以太网将数据发送到网站。用户可以通过网站控制输出,但是输出会以2-3秒的延迟打开/关闭。这就是我面临的问题。对于微控制器中的多任务有什么解决方案吗?

1
哪些功能将实时与其他类型的操作系统区分开来?
我正在尝试一个小的实时内核,除了计数到下一个素数之外,它基本上什么也做不了。它使用中断驱动的I / O。但是为什么它是实时内核? 我读到Linux在2002年成为实时内核,对吗? 我使用Altera DE2,我基于它的代码是1个汇编文件,1个头文件和2个C文件。请帮助我理解。 # Uart_0 at 0x860 .equ de2_uart_0_base,0x860 # Timer_1 at 0x920, interrupt index 10 (mask 2^10 = 0x400) .equ de2_timer_1_base,0x920 .equ de2_timer_1_intmask,0x400 # Timeout value for 0,1 ms tick-count interval (CHANGED in every version) .equ de2_timer_1_timeout_value,4999 # Required tick count per time-slice, meaning # the …

2
有没有人评估过NuttX RTOS?
今天在阅读《 Linux用户日记》时,我偶然发现了有关NuttX RTOS 的一些内容。我检查了他们的网站,并对其功能集和将其放入8052的能力印象深刻。我发现有趣的是它支持POSIX,这是我为我的一个客户内部RTOS所做的工作。这个功能似乎比内部RTOS多一些。 是否有其他人听说过NuttX并尝试过?如果是这样,它与FreeRTOS等其他RTOS相比如何?
15 embedded  rtos 


6
在RTOS中替换队列
为了进行任务间通信或在RTOS的两个任务之间共享数据,我们使用队列。但是队列的问题是它们的速度很慢。...他们先将数据复制到Buffer中,然后再进行Mutex处理,然后再进行数据传输。如果必须传输大数据,这会很烦人。另一个问题是,如果多个任务访问同一队列。然后图片变成这样:-首先等待访问Queue,然后对内部Mutex处理队列,然后进行数据传输。 这增加了系统的开销。什么是队列的有效替代品? (我想这个问题是我们使用的RTOS的独立性。大多数RTOS仅以这种方式处理队列)
12 rtos 

6
我的PIC16多任务RTOS内核不工作的原因是什么?
我正在尝试为PIC x16微控制器创建一个半抢占式(协作式)RTOS。在我之前的问题中,我了解到在这些内核中无法访问硬件堆栈指针。我在PIClist中查看了此页面,这就是我正在尝试使用C实现的页面。 我的编译器是Microchip XC8,当前正在使用在配置位中选择了4MHz内部RC振荡器的PIC16F616。 我了解到,可以通过查看编译器的头文件来使用C访问PCLATH和PCL寄存器。因此,我尝试实现一个简单的任务切换器。 如果我在重新启动,重置并在光标不在第一行(TRISA=0;)而不是另一行(例如ANSEL=0;)上时将调试器设置为光标后暂停调试器,则它可以在调试器中正常工作。在调试器的第一次启动中,我在以下位置获得这些消息Debugger Console: Launching Programming target User program running No source code lines were found at current PC 0x204 编辑:我不知道是什么使它起作用,但是调试器现在可以完美地工作了。因此,省略上面的输出和段落。 编辑:更改这样的主要定义使下面的代码工作。这将在程序地址处启动主要功能0x0099。我不知道是什么原因造成的。这不是一个真正的解决方案。我现在猜测存在编译器特定的错误。 void main(void) @ 0x0099 { 这是我的C代码: /* * File: main.c * Author: abdullah * * Created on 10 Haziran 2012 Pazar, 14:43 */ #include <xc.h> …

5
RTOS如何被视为确定性的?
在PC(当然是OS)上,任何C程序在时序方面都变得不确定。例如,根据“我移动另一个窗口的速度”,一个循环需要1.2到1.3秒。这是因为OS使进程(或线程)共享处理能力。 就RTOS而言(在嵌入式系统上),当我们编写多线程应用程序时,我认为根据并发执行的线程数会发生相同的事情。 我没有仪器可以在嵌入式系统上进行准确测试。因此,我想问。我的关注点合理吗?或者我缺少一些非常根本的东西? 编辑:我会举一个例子。我们有task1(花费10毫秒)和task2(花费20毫秒)。它们是同时在不同的两个线程上启动的。我的主张(也是担心,不确定)是task1花费了10ms以上的时间,因为它们与task2共享处理能力。
8 embedded  rtos 

3
具有802.15.4 / 6LoWPAN堆栈的Cortex M4的RTOS
我正在评估要在物联网项目中使用的操作系统,但我不知道什么是最好的进行方法。 我正在使用带有32k RAM和CC2520 802.15.4收发器的TM4C123GH6PM MCU,如果系统已经提供了这些驱动程序,那就太好了。 系统将运行一个(交互式)任务,以绘制一个点矩阵屏幕并对用户输入做出反应。它将配置和应用程序数据存储在spi闪存上。将有一个包含多个模块的网格(基于802.15.4),以在模块之间同步数据,从模块中提取传感器数据并将其转发到网关(想到了rpl),并在八卦中分发OtA固件更新。喜欢时尚。所有这些同时也运行着一个内存消耗大的应用程序。 到目前为止,我已经研究了以下系统: RIOT: 优点 好的硬件抽象 占地面积小 非常活跃和乐于助人的社区 完整的802.15.4 / 6LoWPAN堆栈 缺点 不稳定,仍在发生根本变化 仍然包含比赛条件/崩溃 没有文件系统支持 少数网络协议 Contiki: 优点 成熟的系统,用于商业产品 具有许多有用协议的完整802.15.4 / 6LoWPAN堆栈 文件系统支持 cc2520支持 缺点 发展已过时 '成长'的代码库,很多烂 Tiva C口质量差 对现代平台的支持很少 非抢占式调度可能会导致应用程序出现问题 FreeRTOS: 优点 几乎没有其他复杂性 易于使用,可靠的调度程序 成熟的项目,用于许多产品 很多港口 缺点 没有文件系统 没有用于驱动程序的硬件抽象/没有硬件驱动程序 没有网络堆栈 动态内存使用率较高 NuttX: 优点 功能非常丰富,几乎感觉像Linux,但仍然很小 文件系统支持 …

4
我该如何减少这些通过串行转USB适配器连接到PC的串行端口的延迟?
我想我偶然发现了生活中对嵌入式系统的需求。太好了!有点吓人。而且我需要帮助。 背景:我受雇构建一个GUI应用程序,该应用程序从两个SICK LMS-291进行扫描,并将它们与亚英寸精度的GPS集成在一起,以便您知道每次扫描发生的位置。作为一名天真的Web程序员,我知道时间安排很重要,但没有意识到这也很困难!如果您不知道每个GPS点和每次扫描的发生时间,则无法确定扫描发生的位置。哎呀。 他们指定Windows 7作为平台,并购买了SeaLevel RS422至USB盒以将传感器和GPS连接起来,很快我就发现了自己的愚蠢之处。在传感器和我的计算机程序之间的某个地方,有些东西阻止扫描及时到达。LMS每秒发出75次扫描,或每秒13.32毫秒。我的程序无法及时获取它们。每隔100毫秒左右,以7或8或10或一组的形式获取它们。有时,也没有显示足够多的扫描,或者扫描被打乱了。这个SeaPort适配器每秒仅发送十次信号(可能吗?我不知道USB的工作方式),或者Windows几乎没有足够频繁地检查缓冲区(某处必须有缓冲区,对吗?)。 现在:这导致客户基本上可以接受的一些错误。我不是,但是,因为我有机会为客户做类似的工作(集成更多传感器输入!),所以我想找出正确的方法,例如,考虑到GPS的精度,能够保证扫描位置的准确性和准确性。 看起来像什么?我需要一个UI,并且能够每隔13.32毫秒检查一次来自这三个设备的输入。如果我将FreeRTOS与例如Nano-X一起用于GUI,并在他们提供的笔记本电脑上运行,那听起来像一个理智的解决方案吗?RS-422到USB适配器是否可能导致这些延迟,并且为此目的使用Windows实际上就可以了吗?
8 usb  rs232  rtos  rs422 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.