2012-09-13 45 views
3

我试图找到其他人发现的免费/便宜的RTOS,与恩智浦LPC1788微控制器配合使用。我原本计划使用FreeRTOS,但它似乎不支持该特定处理器;最接近的支持核心是LPC1768。 ThreadX与LPC1788协同工作,但许可证将花费数千英镑。建议?什么是与LPC1788微控制器一起使用的良好RTOS?

编辑1:我忘了提及,我正在使用IAR Embedded Workbench。编辑2:我想我也应该指出,我对嵌入式编程相当陌生,更不用说使用RTOS了。 FreeRTOS和ThreadX似乎都非常相似,都有相当直观的API。另一个RTOS的API与这些类型的API匹配的越多,我认为就越好。编辑3:我一直在寻找一个名为embOS的RTOS。它看起来很专业,API看起来很不错,它们支持数量可观的处理器/ IDE组合(包括我的),并且我已经有一个示例项目正常工作。它不是免费的,它的授权费用约为2500欧元,但仍然比threadX许可证便宜3倍左右。感谢您的建议,我觉得有些不好,我不能选择一个可接受的答案。

+0

是否必须是RTOS?你的应用程序是否真的需要实时响应?如果没有,那么你有更多的选择。例如,Linux。我已经做了15年的嵌入式工作,并且根据问题领域,您可能几乎没有很强的实时要求。 – jszakmeister

+0

@jszakmeister:对于LPC1788(512KB Flash/96KB RAM,没有MMU),Linux几乎不是一个合适的建议。也许更合理的建议是,如果对设备,文件系统和网络提供免费的,可扩展的和广泛的支持,[eCos](http://ecos.sourceware.org/)。 – Clifford

+0

@Clifford Yikes!我没有看到它受到内存限制,或者我从来不会建议Linux。感谢您指出。 eCos很不错,但它似乎现在还没有得到支持。 :[ – jszakmeister

回答

0

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

1

我知道Keil mVision IDE具有恩智浦芯片的RTOS,它可以在24xx 100%上工作。但是这个RTOS不是开源的,只有IDE所有者才能使用它。

+0

它非常好用,IDE中有很多例子。 – AGo

6

我本来打算使用FreeRTOS操作系统,但它似乎没有 不支持该特定处理器

其实,FreeRTOS操作系统支持所有的Cortex-M3和Cortex-M4处理器与海湾合作委员会, IAR和Keil。仅仅因为没有特定的预配置演示项目并不意味着它不被支持。

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

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

例如,Atollic有55个FreeRTOS项目上55个不同的硬件平台上,所有的实际使用相同的C源文件运行 - 只有启动文件和链接器的脚本是不同的。

4

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

RTX当然是Keil特有的,你使用的是IAR,它的API不像embOS那么复杂,当时它在CM3上有一些缺陷,并且不完全支持NVIC中断优先级方案。我相信这些问题已经解决。FreeRTOS可能是API和体系结构中三个最不符合常规的程序,它广泛使用了embOS和VxWorks以及类似的“传统”RTOS系统,但我并不完全满意。

embOS可以很好地与IAR及其调试器配合使用,并具有一定的实时操作系统感知调试功能。许可证是每个开发人员/每个处理器/每个工具链,但是否则是免费的,可以在许多使用相同体系结构和工具链的项目上使用。来自Segger的支持与文档一样非常出色,我认为对于具有足够的数量和利润率的商业产品来说,这将是非常值得的。

您可能还会考虑eCos--这是一个更全面的解决方案,可提供对USB,网络连接,文件系统以及更多以及调度和IPC的支持。有一个port for LPC1766,可能移植相对容易。然而,最有可能的是,您必须使用GNU工具链进行开发,这可能会影响您使用JTAG调试器等现有工具。

0

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

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

如上评论提到的,LPC1788内部SRAM是不够的,运行Linux,但LPC1788提供了一个SDRAM接口,从而可以添加外部内存。

0

Unison RTOS提供与Linux相同的POSIX调用,包括一组完整的I/O调用,您将从诸如freertos之类的东西中找到它们。这种商业模式对于商业产品的DIY和版税是免费的。在串行I/O和文件系统方面,它往往只是999美元竞争对手价格的一小部分。 www.rowebots.com的细节。

0

我在RTOS工作,如果你愿意,你可以找到在github上

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

(路径区分大小写)

是一个简单的调度,我要介绍的任务优先级尽快。 创建YasminOS因为其他操作系统过于复杂或 其实我发展YasminOS只有一个视觉太贵:简单

有许多不需要极端强大的OS应用程序,而只是作为简单的调度。实际上,它在Spansion FM3架构或恩智浦lpc800(是的,也可用于cortex m0)上进行了测试,我将在nxp 4088上进行测试....

相关问题