【问题标题】:Building FreeRTOS for x86为 x86 构建 FreeRTOS
【发布时间】:2012-05-19 12:49:20
【问题描述】:

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

谢谢

【问题讨论】:

    标签: ubuntu operating-system x86 freertos


    【解决方案1】:

    根据FreeRTOS ports page,x86 构建支持的工具有:

    • Visual Studio 2010 速成版
    • 明文
    • 打开 Watcom
    • Borland
    • 范式

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

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

    【讨论】:

      【解决方案2】:

      您可以在带有 FreeRTOS 的 X86 上执行多种操作。

      首先是在 CPU 上运行 FreeRTOS 作为操作系统。 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

      问候。

      【讨论】:

      • 伟大的信息理查德。您在 FreeRTOS 上的工作的忠实粉丝。干杯!
      • 嗨,Richard,如何在 CPU 上将 FreeRTOS 作为操作系统运行?
      • 我能够在 Linux 上轻松运行 FreeRTOS 模拟器Here are my instructions.
      【解决方案3】:

      我不知道如何构建 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。您也可以在那里查看他们的构建和运行说明。

      【讨论】:

        猜你喜欢
        • 2017-03-09
        • 1970-01-01
        • 2021-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多