顯示具有 FreeRTOS 標籤的文章。 顯示所有文章
顯示具有 FreeRTOS 標籤的文章。 顯示所有文章

2016年1月4日 星期一

Atmel SAMG53 Xplained Pro unboxing + FreeRTOS v8.2.3

1. 之前跟Atmel合作案子時用過這張板子, 那時候覺得很類似ST Discovery Board的概念,
    板子上已經內建了ICE, 省去了另外購買ICE的花費, 而這張SAMG53 Xplained Pro也是我
    第一次用到內建CMSIS-DAP的板子, 從淘寶上購買加上運費大概台幣一千塊左右.

2. 外盒包裝採用機器人當作主題, 之前使用過STK600開發板的時候, 也是使用類似像無敵鐵金
    剛的造型, 看來這應該是Atmel開發板的特色.



3. 看來我這片開發板是在馬來西亞製作完成的.




4. 在使用此塊板子之前需先安裝Atmel USB相關的Driver才能夠使用, 下載連結如下:

5. 安裝USB Driver完畢後, 此時就可以透過USB Cable與開發板相接, 此時裝置管理員會新增
    EDBG USB Port出來, 前置工作基本上就準備完成了.


6. 測試程式的編譯軟體是IAR EWARM, 完整測試程式連結如下:

7. 使用IAR EWARM開啟Project後, 需要先設定Device和Debug Tool才能夠正常進入Debug 
     Mode和燒錄.





8. Main Flow:


  • init evb hardware.(init Wdt & Clock & Usart & LED)

  • create task and start the scheduler.
  • toggle LED0 & Print HelloWorld via Usart0.


9. Test Flow:
  • LED Toggle可以透過觀察LED0是否有變化來得知.
  • Usart Output可以透過putty來觀察是否有輸出來得知, putty的設定如下:

  • 設定成功後, 可以看到如下的輸出結果.


10. Test Video:




2015年10月14日 星期三

nRF52832 + FreeRTOS v8.2.2 + LED Toggle example (Keil MDK Version)

1. 總共創建4個Task.

2. 每個Task分別去Toggle不同的LED.

3. 測試用的Keil MDK版本為v5.16a.

4. 程式的開啟位置為\Nrf52832_KeilMDK_FreeRTOS_v8.2.2_LED_Toggle\examples\peripheral\blinky\pca10036\blank\arm5_no_packs\blinky_blank_pca10036.uvprojx

5. 測試影片如下:
    
6. 完整範例下載連結:
   
Nrf52832_KeilMDK_FreeRTOS_v8.2.2_LED_Toggle

nRF52832 + FreeRTOS v8.2.2 + LED Toggle example (IAR EWARM Version)

1. 總共創建4個Task.
2. 每個Task分別去Toggle不同的LED.
3. 測試影片如下:
   
4. 完整範例下載連結:
    nRF52832_FreeRTOSv8.2.2_LED_Toggle

如何在STM32F407 Discovery Kit上移植FreeRTOS

1. 移植步驟可以參考 如何在STM32F429 Discovery Kit上移植FreeRTOS.
2. 總共創建4個Task, 並分別Toggle 4個LED.
3. 測試影片如下:
 
4. 完整範例下載連結:
    STM32F407-Discovery-RTOS_v8.0.1

2014年10月17日 星期五

如何在 STM32F429 Discovery Kit 上移植FreeRTOS

      最近剛好有在STM32F429 Discovery kit上面移植FreeRTOS v8.0.1的機會, 想說藉著實作的過程, 順便把整個移植的步驟記錄下來, 以免以後忘掉.

需要準備的軟硬體如下:
1. STM32F4 Discovery kit for STM32F429
2. IAR EWARM v7.20
3. Mini USB Cable * 1
------------------------------------------------------------------------------------------------------------
移植步驟:

  • 至STMicroelectronics的官方網站下載範例程式碼
    1. 至http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090,下載STM32F429 Discovery kit example code.
    2. 進入網頁後, 搜尋"Related Tools and Software", 接著點選"STSW-STM32138"
    3. 接著會跳到"Sample & Buy"的頁面, 點選"Download"即可下載STM32F429的範例程式碼
    4. 將"stsw-stm32138.zip"解壓縮後, 即可得到"STM32F429I-Discovery_FW_V1.0.1"的資料夾
點選STSW-STM32138來下載檔案

直接點選Download及可以下載stsw-stm32138.zip

解壓縮後, 會看到STM32F429I-Discovery_FW_V1.0.1的資料夾

    • 至FreeRTOS的官方網站下載範例程式碼
      1. 至http://www.freertos.org/網頁, 並點選左方之"Download"
      2. 至RTOS Source Code Download Instructions的第二項, 點選連結下載
      3. 下載完畢會看到FreeRTOSv8.0.1.exe的檔案, 解壓後會看到FreeRTOSv8.0.1的目錄
      4. 接下來進入FreeRTOSv8.0.1的目錄,只留下FreeRTOS目錄,將不必要的檔案刪除掉.
      5. 進入FreeRTOS/Demo/, 將除了Common以外的目錄全部刪除掉.
      6. 將精簡過後的FreeRTOSv8.0.1資料夾複製到"STM32F429I-Discovery_FW_V1.0.1"資料夾底下. (ex: c:\STM32F429I-Discovery_FW_V1.0.1\Projects\Template\)
    • 使用IAR EWARM v7.20 開始將程式依序加進專案中.

      1. 先到達C:\STM32F429I-Discovery_FW_V1.0.1\Projects\Template\EWARM\,開啟Template專案.
      2. 在Template專案的地方按下右鍵, 選擇Add->Add Group.
      3. 輸入Group name.(ex: FreeRTOS_v8.0.1)
      4. 依序完成下列檔案的建置.
      5. 所有的檔案中, 僅有FreeRTOSConfig.h需由使用者自行建置, 其餘檔案皆可在FreeRTOS_v8.0.1當中找到, FreeRTOSConfig.h的範例可先參考此連結.
      6. 完成所有檔案建置後, 接下來將開始完成include檔案的路徑配置,首先在Template專案的地方按下右鍵, 選擇Options.

      7. 在C/C++ Compiler -> Preprocessor -> Additional include directories:(one per line)右邊的...方塊.
      8. 參考下列圖片加入FreeRTOS檔案所需之路徑.

      9. 在Assembler -> Preprocessor -> Additional include directories:(one per line)中加入下列路徑.
      10. 此時可以先按下"F7" 開始Build code, 但會發現有3個錯誤, 原因是因為"SVC_Handler" & "SysTick_Handler" & "PendSV_Handler" 這3個function在stm32f4xx_it.c重複定義.
      11. 所以我們開啟stm32f4xx_it.c, 將此檔案中的這3個function都刪除掉.
      12. 再按下"F7"重新Build code, 則可以發現沒有錯誤發生.
      13. 接下來可以開始來檢視main.c的程式碼:
        • 程式中總共創建了3個Task.
        • Task1每100msec執行一次, 且不停地Toggle LED3(Green LED).
        • Task2每500msec執行一次, 且不停地Toggle LED4(Red LED).

        • Task3每5msec執行一次, 僅不停地對Task3Task_Counter + 1.





        •  測試影片如下: