LPC1768很早得到freertos的支持,其移植代码也最早就公布于freertos的网站的代码示例里了。这次移植的是最新的freertos v10版本。
随着版本的不断更新,FreeRTOS的移植也越来越简单了。几乎是将示例程度直接拷贝即可完成移植。像pensv(), svc(), 等均使用官方提供的示例代码。当然,由于本人使用的头文件版本与官方移植的不符,因此,也仅做了几个寄存器名称的更换。
本次移植仅包含了一个任务——闪烁heart beat灯。示例代码如下:
- void main(void)
- {
- uint8_t i = 0;
- uint16_t len;
- int8_t ret = 0;
- setXtalToMax();
- heartPinInit();
- debugPrintfInit();
- xTaskCreate(flashTask, "blank heartbeat led", configMINIMAL_STACK_SIZE, (void*) NULL, mainFLASH_TASK_PRIORITY, NULL);
- vTaskStartScheduler();
- for (;;)
- {
- ;
- }
- }
复制代码
其实我们自己的程序还是尽量不要使用RTOS,引入的代码越多,理论上存在的bugs越多。
|