6

我在网上看到可以在 Windows 上为外部设备构建 FreeRTOS。你可以在 ubuntu 上为 x86 构建它吗?

谢谢

4

3 回答 3

14

您可以在带有 FreeRTOS 的 X86 上做几件事。

第一个是将 FreeRTOS 作为 CPU 上的操作系统运行。FreeRTOS 适用于微控制器,因此仅(官方)支持实模式(16 位)。如果您在基于 186 的微控制器上运行,例如以前由 AMD 和然后(现在?)RDC 制造的微控制器,这是有效的。您还可以在任何 X86 上运行代码,但只能在实模式下运行,它曾经是使用 Open Watcom 等工具的核心 FreeRTOS 代码的开发平台。我不确定是否有等效的 Linux 托管 16 位编译器,但可能有一个。

在 X86 上使用 FreeRTOS 的另一种方法是运行 FreeRTOS 模拟器。完成后,FreeRTOS 不是运行 CPU 的内核,而是 Windows 或 Linux 运行 CPU,但 Windows 或 Linux 线程运行 FreeRTOS 代码。那是现在做核心开发工作的首选方式——但它只是一个模拟器,这意味着时间到处都是,模拟时间比实时低得多(因为与 Windows 中的时间分辨率和准确性相比是如此之低到实时系统)。

Windows 模拟器可以与 Visual Studio(免费版)一起运行,并且该端口得到维护。您也可以将它与 MingW 和 Eclipse 一起使用,尽管演示功能较少,而且我相信更高版本的 Eclipse 存在一些问题。

Linux FreeRTOS 模拟器是一个贡献的端口,所以我不能真正评论它。

Windows 模拟器页面: http ://www.freertos.org/FreeRTOS-Windows-Simulator-Emulator-for-Visual-Studio-and-Eclipse-MingW.html

Linux 模拟器页面: http ://www.freertos.org/FreeRTOS-simulator-for-Linux.html

问候。

于 2012-05-11T08:10:16.553 回答
3

根据FreeRTOS 端口页面,x86 构建支持的工具是:

  • Visual Studio 2010 速成版
  • 明文
  • 打开沃通
  • 博兰
  • 范例

所以你的问题的答案似乎是否定的。

由于以上都是基于 Windows 的工具,我猜您需要一台 Windows PC 来构建 x86 版本的 FreeRTOS,尽管您可能能够在 Ubuntu 下使用诸如 WINE 之类的模拟器。

于 2012-05-10T21:55:36.013 回答
2

我不知道如何构建 FreeRTOS 以在基于 x86 的成熟计算机上作为操作系统运行,但我真的很想了解自己!

如何在 Linux 上构建和运行 freertos

但是,我可以说我能够非常轻松地在 Linux 上运行 FreeRTOS模拟器。我不能真正评论它是多么“实时”,据说(它明确指出它不是实时的,因为它运行在非实时 Linux 内核之上),但是构建和运行它非常容易.

在此处获取源代码:https ://github.com/FreeRTOS/FreeRTOS 。以下是如何在 Linux 上构建和运行模拟器:

git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules
cd FreeRTOS/FreeRTOS/Demo/Posix_GCC
make

现在它已建成。要运行它,请执行以下操作:

./build/posix_demo

而已!效果很好!这是演示项目:https ://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS/Demo/Posix_GCC 。

然后,您可以自己修改该项目,以根据您的确切需求和目的对其进行自定义。只需从该演示开始作为基线即可开始。这是一个很棒的小演示,有 2 个任务(线程)和一个线程安全队列(多生产者/多消费者兼容)在它们之间传递数据。

参考

  1. 主要的 FreeRTOS Linux 模拟器参考页面:https ://www.freertos.org/FreeRTOS-simulator-for-Linux.html 。您也可以在那里查看他们的构建和运行说明。
于 2021-07-22T19:48:07.817 回答