2016-11-02

NuTiny-SDK-NUC505 (NUC505 QFN88) v1.4 開發板 FreeRTOS v9.0.0 移植建置

NuTiny-SDK-NUC505 (NUC505 QFN88) v1.4 開發板 FreeRTOS v9.0.0 移植建置

移植建置步驟如下:

1. 先到 FreeRTOS 官方網頁下載 FreeRTOS 的 7z 執行包,目前最新版為 9.0.0 版。
 
   官方網頁:http://www.freertos.org/
   
2. 下載完成並解壓縮後,得到一個 FreeRTOSv9.0.0 資料夾。
3. 再將把路徑 FreeRTOSv9.0.0\FreeRTOS\Source 資料夾,複製到 Keil MDK-ARM 專案中。
   路徑:
        NUC505_BSP301000\ThirdParty\FreeRTOS\Source 資料夾

4. 接著再把 NUC505_BSP301000\SampleCode\FreeRTOS 資料夾底下的 FreeRTOSConfig.h
   也複製到 2000_FreeRTOS.uvproj 專案中。
   路徑:
        NUC505_BSP301000\SampleCode\2000_FreeRTOS 資料夾    

5. 在 2000_FreeRTOS.uvproj 專案中,將路徑
    FreeRTOS\Source\include
    FreeRTOS\Source\portable\RVDS\ARM_CM4F
    及
    FreeRTOS\Demo\Common\include
    加入 Compiler include Paths 中。

6. 將 FreeRTOS\Source\portable\MemMang 的 heap_2.c 加入 2000_FreeRTOS.uvproj 專案中。

7. 將 FreeRTOS\Source\portable\RVDS\ARM_CM4F 的 port.c 加入 2000_FreeRTOS.uvproj 專案中。

8. 將 FreeRTOS\Source 資料夾底下的 4 個 *.c 檔案,加入 2000_FreeRTOS.uvproj 專案中。
    list.c
    queue.c
    tasks.c
    timers.c

9. 將原本FreeRTOS v7.4.0 使用 FreeRTOSConfig.h 文件, 
    依下述修改即可解決 FreeRTOS v9.0.0 遭遇的 Error 18 錯誤: 

    // For FreeRTOS v7.4.0
    #define configTICK_RATE_HZ    ( ( portTickType ) 1000 )
    #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )

    改成 
    // For FreeRTOS v9.0.0
    #define configTICK_RATE_HZ              ( ( TickType_t ) 1000 )
    #define configMAX_PRIORITIES            ( 5 )

    存檔後關閉。如圖。 
   


10. 將 FreeRTOS\Demo\Common\Minimal\flash.c 文件的 
    vStartLEDFlashTasks() 中,添加
    
    // PC.3 set to output mode
    PC->MODE = 0x00000008;      // 7654-3210
                                // 0000-1000

    以便對 IO1 Green LED (PC.3) 進行控制。如圖。



11. 將 NUC505_BSP301000\SampleCode\2000_FreeRTOS\ParTest.c 文件中,
    原本 PA.5..PA.7 的相關指令均改為 PC.3。 
   
    以便對 IO1 Green LED (PC.3) 進行控制。如圖。

    
12. NUC505_BSP301000\Library\Device\Nuvoton\NUC505Series\Source\ARM\startup_NUC505Series.s
    複製至
    NUC505_BSP301000\Library\Device\Nuvoton\NUC505Series\Source\ 資料夾
    即可解決 FreeRTOS v9.0.0 遭遇的 Warning L6319W 警告訊息.


沒有留言:

張貼留言