繁体   English   中英

什么是与LPC1788微控制器一起使用的优秀RTOS?

What's a good RTOS to use with the LPC1788 microcontroller?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正试图找到一个免费/廉价的RTOS,其他人发现它与恩智浦LPC1788微控制器配合得很好。 我原本打算使用FreeRTOS,但它似乎不支持那个特定的处理器; 最接近的支持核心是LPC1768。 ThreadX可与LPC1788配合使用,但它的许可证将耗资数千英镑。 建议?

编辑1:我忘了提及,我正在使用IAR Embedded Workbench。

编辑2:我想我还应该指出,我对嵌入式编程相当新,更不用说使用RTOS了。 FreeRTOS和ThreadX似乎非常相似,都有相当直观的API。 另一个RTOS的API与这些API的匹配越多,我想就越好。

编辑3:我一直在寻找一个名为embOS的RTOS。 它看起来很专业,API看起来不错,它们支持相当数量的处理器/ IDE组合(包括我的),而且我已经有一个示例项目正常工作。 它不是免费的,它的许可证将花费大约2500欧元,但这仍然比threadX许可证便宜约3倍。 感谢您的建议,我觉得有点不好,我不能选择一个接受的答案。

7 个回复

我原本打算使用FreeRTOS,但它似乎不支持那个特定的处理器

实际上,FreeRTOS支持所有带有GCC,IAR和Keil的Cortex-M3和Cortex-M4处理器。 仅仅因为没有特定的预先配置的演示项目并不意味着它不受支持。

FreeRTOS不依赖于Cortex-M内核之外的任何东西,因为定时器生成和中断控制器是内核本身的一部分。

您可以从FreeRTOS发行版中获取现有的官方LPCxx IAR演示项目,并通过为芯片设置正确的链接描述文件来重新定位它。 任何使用特定硬件上可能不同的IO的演示任务(用于LED输出的端口等)都可以修改为适合您的IO端口分配,或者只是删除。

例如, Atollic有55个FreeRTOS项目在55个不同的硬件平台上运行,所有这些项目实际上都使用相同的C源文件 - 只有启动文件和链接描述文件不同。

我专门评估了Cortex-M3上的FreeRTOS,embOS和Keil RTX。 在三个FreeRTOS当然有最慢的上下文切换时间,而RTX最快,但范围是5us到15us,所以可能不是最重要的除了最硬的实时应用程序(然而它在我的情况下有所不同)。

RTX当然是Keil特定的,你使用IAR,它的API不如embOS复杂,当时它在CM3上有一些错误,并且不完全支持NVIC中断优先级方案。 我相信这些问题已得到解决。 FreeRTOS可能是API和架构方面三者中最不同寻常的,广泛使用embOS和VxWorks以及类似的“传统”RTOS系统,我对它并不十分满意。

embOS与IAR及其调试器配合良好,具有一定程度的RTOS感知调试功能。 许可是每个开发人员/每个处理器/每个工具链,但在其他方面免版税,可以使用相同的架构和工具链在许多项目中使用。 Segger的支持非常好,文档也是如此,我建议对于具有足够数量和利润的商业产品来说,这是非常值得的。

您也可以考虑使用eCos - 这是一个更全面的解决方案,提供对USB,网络,文件系统等以及调度和IPC的支持。 LPC1766有一个端口可能相对容易移植。 但很可能您必须使用GNU工具链进行开发,这可能会影响您对现有工具(如JTAG调试器)的使用。

我知道Keil mVision IDE有适用于NXP芯片的RTOS,它可以在24xx 100%上运行。 但是这个RTOS不是开源的,只有IDE所有者才能使用它。

您可以尝试使用任何Linux内核编译获取RTAI。 可能需要一些工作,但应该可行(并且免费)

Linux,它的uClinux形式,在LPC1788上运行得很好。 看一下这个视频,例如:

http://www.youtube.com/watch?v=VTemb8P1doI

如上面的评论所述,LPC1788的内部SRAM不足以运行Linux,但LPC1788提供了一个SDRAM接口,可以添加外部RAM。

Unison RTOS提供与Linux相同的POSIX调用,包括一系列完整的I / O调用,您可以从freertos等内容中找到这些调用。 商业模式是免费的DIY和版税的商业产品。 它往往是竞争对手价格的一小部分,999美元开始使用串行I / O和文件系统。 www.rowebots.com了解详情。

如果你想在github找到我,我正在RTOS工作

http://www.github.com/geppo12/YasminOS

(路径区分大小写)

我是一个简单的调度程序,我将尽快引入任务优先级。 我创建了YasminOS,因为其他操作系统太复杂或太昂贵其实我只用一个愿景开发YasminOS:简单

有许多应用程序不需要极其强大的操作系统,但就像简单的调度程序一样。 实际上它在Spansion FM3架构或NXP lpc800上测试(是的,也适用于cortex m0)我将在nxp 4088上进行测试....

1 LPC1788微控制器的原子测试和设置

我正在使用NXP LPC1788微控制器,并且正在用C开发一个多线程应用程序。在我的应用程序的一部分中,我定义了一个自定义的链表数据结构。 由于并发访问特定列表,我以前在程序上遇到问题,我似乎通过为线程可以在访问列表本身之前调用的列表实现“锁定获取”方法和“锁定释放”方法而解决了这个问题。 ...

2 LPC1788微控制器的内存分配问题

我是微控制器编程的新手。 我已经在LPC1788上工作了两个星期。 我最近遇到的一个问题是,内存用完的时间比我预期的要早得多。 通过测试我可以分配多少块连续内存,我已经测试了多少可用内存。结果是972个字节。 分配从地址0x10000000开始(此板上的片上SRAM的开始应在64kB ...

3 如何使用LPC1788微控制器通过USB进行通信?

目前,我正在使用NXP LPC1788微控制器,并且正在尝试将其配置为使用USB与Windows 7 PC通信。 我对USB的经验有限(我从本周初开始学习该协议),但是我在LPC1788上已经工作了一段时间,并且对其他通信协议(CAN,I2C,SSP)有经验。 我想将我的微控制器配置为充 ...

4 在LPC1788微控制器上无法通过CAN接收消息时

我正在使用NXP LPC1788微控制器进行编程,该微控制器具有几个CAN控制器。 我一直在尝试让微控制器发送一条消息,然后从自身接收回来(本地自检)。 我认为传输工作正常(一位同事使用探针确认了这一点),并且当我发送消息时,会生成一个中断并调用其句柄。 但是,CAN状态寄存器(CAN ...

5 LPC1788微控制器间歇性不发送USB消息

我正在为NXP LPC1788微控制器开发代码,而我的部分工作是在基于USB的产品上进行开发。 大部分工作都是完成的,一般来说,通过USB进行的通信几乎可以与通过CAN进行通信。 但是,我一直遇到的问题之一是,当从微控制器产生的USB消息的输出不断靠近时,这些消息有时会被丢弃。 我 ...

6 RTOS和微控制器

我是微控制器的新手,并开始学习AVR微控制器。 我所知道的是有通用和高级功能的I / O引脚,我们需要阅读它们各自的电阻。 我做了几个使用相同功能的项目。 但是现在我遇到了可以将RTOS嵌入微控制器的功能,例如Micrium-现在我完全无法理解如何将OS嵌入微控制器以及它如何与硬件/控 ...

7 LPC1788上的双重缓冲

我面临着极大的担忧。 我目前正在参加一个三明治课程,并且正在独自学习如何在open1788板上开发嵌入式系统上的软件。 我计划实现双缓冲功能,因为可以在LCD屏幕上看到闪烁。 确实可以在绘制形状的同时查看形状! 使用双缓冲,重新绘制整个屏幕的速度足够快。 也许我应该深入研究剪辑 ...

8 在LPC1788的USB ISR中使用embOS功能

我正在为NXP LPC1788微控制器开发软件,并且正在使用embOS RTOS。 每当通过USB接收到一条消息时,我都想使用OS_PutMailCond()函数将USB消息存储在一个等待处理程序功能的邮箱中。 换句话说,我想使消息处理由中断驱动。 embOS用户手册可在此处找到。 ...

10 LPC1788:使用SPI与UFDC-1进行通信

我正在使用LPC1788微控制器,正在尝试使用SPI从UFDC-1(通用频率数字转换器)发送和接收数据。 我可以在MOSI上传输数据达到最佳状态(我已经用示波器确认了这一点),但是每当我发送“获取准确性”之类的指令时,我在数据缓冲区中唯一的数据就是数据或指令我刚寄出去 未启用“回送”。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM