在 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
- 在 Windows 平台上运行 FreeRTOS 示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
- 在Windows平台上运行Cassandra
- Windows平台使用NDK编写在Android上运行的C/C++标准程序
- 在Windows Azure上运行Java程序
- 在CentOS上运行windows程序
- 在windows上运行python程序
- 在linux 上编译生成windows上运行的exe程序,交叉编译环境的配置( 平台:gentoo linux)
- Wine v0.9.51 - Linux上运行Windows程序的平台
- freeRTOS 在 BlackFin533 平台上的移植 (1)
- openCV学习记录:滤镜:霓虹&曝光
- 一次郁闷的58同城经历
- 极分享:德国两兄弟花15年,做出了真实版「小人国」20万居民..40个城市..900列火车..
- java 将微信录音amr转换为mp3格式
- 第一篇博客
- 在 Windows 平台上运行 FreeRTOS 示例程序
- Codeforce 题目621C Wet Shark and Flowers(期望)
- 一个简单的DBHelper
- openCV学习记录:滤镜:碎片&暗调
- 【Leetcode】Maximum Size Subarray Sum Equals k
- 【Leetcode】Subsets
- 蓝桥杯 算法训练 2的次幂表示(构造)
- windows命令行长度的限制
- windows server上配置 apache + php + MySQL + wordpress