1.3 演示程序
每种FreeRTOS移植至少有一个演示程序,尽管有些演示程序比较陈旧,编译时应该不会产生任何错误或警告;但是自从演示程序发布以来,构建工具的改变有时可能会导致问题出现。
对Linux用户的说明:FreeRTOS是在Windows主机上开发和测试的。当演示工程在Linux主机上构建时,偶尔会导致构建错误。构建错误几乎总是与引用文件名时使用的字母大小写有关,或者与文件路径中使用的斜线字符的方向有关。
演示程序有以下几个目的:
• 提供一个工作和预配置工程的例子,包括正确的文件,以及正确的编译器选项设置。
• 允许以最少的设置或预备知识开展“开箱即用”实验。
• 作为如何使用FreeRTOS API函数的示例。
• 作为基础,据此可以创建真正的应用程序。
每个演示工程都位于FreeRTOS/Demo目录下的一个独特的子目录中。子目录的名称表示该演示工程所对应的移植。
在FreeRTOS.org网站上也有网页对每个演示程序进行了描述。该网页包括以下信息:
• 如何在FreeRTOS目录结构中找到演示工程文件。
• 工程配置为使用哪种硬件。
• 如何设置运行演示程序的硬件。
• 如何构建演示工程。
• 期待演示工程如何运行。
所有的演示工程都创建了通用演示任务的一个子集,其实现包含在FreeRTOS/Demo/Common/Minimal目录中。普通演示任务的存在纯粹是为了展示如何使用FreeRTOS API函数——任务并没有实现任何特定的有用功能。
较新的演示工程也可以建立初学者的“点灯”工程。“点灯”工程是非常基本的,通常情况下,只会创建两个任务和一个队列。
每个演示工程都包含名为main.c的文件,其中包含main()函数,所有演示应用程序的任务都是在main()函数里创建的。请参阅各个main.c文件中的注释,了解该演示工程的具体信息。
FreeRTOS/Demo目录层次结构如图1-4所示。
图1-4 FreeRTOS/Demo目录层次结构