FreeRTOS入門(1)——環境搭建


1. 開發環境

首先介紹一下相關的開發環境。不太差勁的一台台式機或者筆記本電腦,使用Windows 7及以上操作系統,安裝有Keil 5;

然后是使用的開發板,這個選擇較多,我采用的是OM13092,也就是經典的LPC54608開發板。

最后則是需要下載相應的DFP,以及FreeRTOS的軟件包並安裝。下載的地址是:https://www.keil.com/dd2/Pack/

我當前下載的是10.4.6 :https://keilpack.azureedge.net/pack/ARM.CMSIS-FreeRTOS.10.4.6.pack

 

2. 環境配置

打開Keil新建1個項目,選擇好相關的芯片以后,重點配置RTE:

 

 選中ROS以后直接使用下面的Resolve,可以幫你把需要的組件都選擇上,但是有個問題就是,如果需要配置LPC54608的時鍾,那就要把SDK Drivers中的clock選中,然后繼續使用一次Resolve,見下圖。

 

 這樣框架就搭建起來了。

然后就是添加main函數等文件。測試文件:

#include "FreeRTOS.h"
#include "task.h"

#include "LPC54608.h"
#include "MISC.h"

#include "XDLED.h"
#include "Console.h"

void vTask1(void* pvParameters);
void vTask2(void* pvParameters);

int main()
{
    BootClockPLL180M();
    
    XDLED_Init();
    Console_Init();

    xTaskCreate(vTask1, "Task 1", 16, NULL, 1, NULL);
    xTaskCreate(vTask2, "Task 2", 16, NULL, 1, NULL);

    vTaskStartScheduler();
    
    while (1){}
    return 0;

}

void vTask1(void* pvParameters)
{
    while(1)
    {
        XDLED_Toggle(1);
        vTaskDelay(200/portTICK_RATE_MS);
    }
}

void vTask2(void* pvParameters)
{
    portTickType xLastWakeTime;
    xLastWakeTime = xTaskGetTickCount();
    while(1)
    {
        XDLED_Toggle(2);
        Console_WriteString("this is task2",13);
        vTaskDelayUntil(&xLastWakeTime, (500/portTICK_RATE_MS ));
    }
}

void vTask3(void* pvParameters)
{
    while(1)
    {
        XDLED_Toggle(3);
        vTaskDelay(1000/portTICK_RATE_MS);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM