在 Windows 平台上运行 FreeRTOS 示例程序

来源:互联网 发布:冰箱哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/05 21:49

在 FreeRTOS 的源代码中,竟然还有一个 Win32-MSVC 的例子。这样我们就可以在 Windows 系统、Visual C++ 环境中熟悉 FreeRTOS。

首先,从 FreeRTOS 在 sourceforge.net 上的主页 下载 FreeRTOS 源代码。当前最新的稳定版本是 8.2.3。

下载之后,解压缩,然后在这个目录中,即可看到 Win32-MSVC 的例子:

…\FreeRTOS\Demo\WIN32-MSVC

用 Visual Studio (2010及以上的版本) 打开 WIN32.sln 这个文件。如果你没有付费版本的 Visual Studio,用免费的 Visual Studio Express 或者 Visual Studio Community 也行。

在我们要运行第一个例子的时候,在 main.c 这个文件中,找到 mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 这个宏,将它的值改为:1
应该很好找的,就在文件开头。

#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY  1

这里写图片描述

编译这个工程文件。编译应该非常顺畅,不会遇到任何问题。
接下来,在 Debug 模式下运行,你就会看到弹出了一个命令行窗口,如下:
这里写图片描述

真好,FreeRTOS 的示例程序已经跑起来了。

接下来,我们就可以通过 Debug 的方式,Go through 代码,来熟悉 FreeRTOS 了。

首先我们找到 main() 函数,在 int main( void ) 这个函数中看到这么一段:

    /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top    of this file. */    #if ( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )    {        main_blinky();    }    #else    {        main_full();    }    #endif

接下来我们来到这个函数:void main_blinky( void )
在这里,我们就可以看到 FreeRTOS 的任务是怎么创建的。即:xTaskCreate 函数的应用。
这里写图片描述

这是个不错的切入点。

这只是个最简单的例子(blink)。熟悉这个例子以后,我们可以把 mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 这个宏 再改回原来的值:0

#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY  0

再编译,运行,我们就能运行 int main_full( void ) 这个函数中实现的例子。这个例子更复杂、更全面一些。
这里写图片描述

相信借助强大而友好的 Visual Studio 我们能够很快熟悉 FreeRTOS。

参考文章

  • Getting Started with Simple FreeRTOS Projects
  • FreeRTOS Windows Port - For Visual Studio or Eclipse and MingW
1 0