FreeRTOSの移植手順


【FreeRTOSの移植手順】

FreeRTOSはすでに各種のマイコンに移植され、ソースが公開されています。
PICについては、下記の3種類の移植結果が公開されています。
@ PIC18F プリエンプティブ型
A PIC24/dsPIC プエンプティブ型
B PIC32MX プリエンプティブ型
この移植した例を元に、新規にアプリケーションを作成する手順を説明します。

使用するハードウェア構成は下記とします。
  Explore16 + PIC24F PIM(PIC24FJ128GA010)

またプロジェクトは、Eドライブの「FreeRTOS24」ディレクトリ下にプロジェクト「sample1」
として作成するものとします。(つまり E:\FreeRTOS24\sample1 )

(1) プロジェクト用のディレクトリ作成とファイルのコピー
  @ 「Source」ディレクトリをE:\FreeRTOS24下に新規に作成する
    このディレクトリはFreeRTOSを使う場合の共有ディレクトリとして使う
  A Source直下に本体の4つのファイルをコピーする(readme.txtは不要)
  B 「include」ディレクトリ全体をコピー
  C 「portbale」ディレクトリ下の「MPLAB\PIC24_dsPIC」下にあるファイルをコピーする
  D 「portable」にある「MemMang」ディレクトリ全体をコピーする



(2) プロジェクトの作成
  MPLAB IDEでプロジェクトを作成します。
  @ プロジェクト用のディレクトリ「sample1」と、その下にオブジェクト格納用の
    「Output」サブディレクトリを作成する
  A sample1ディレクトリに"FreeRTOSConfig.h"をDemoからコピーする
  B MPLAB IDEでプロジェクトsample1を生成する
  C プロジェクトにファイルを登録する。メイン関数を含むsample1.cは
    後から新規作成する。登録するファイルは下記となる
  D MemMangからは"heap_1.c"だけを選択して登録する 


  D プロジェクトのパスを設定する
    (プロジェクトのディレクトリは、E:\FreeRTOS\sample1とする)
    MPLAB IDEのメインメニューから、
    [Project]→[Build Options]→[Project]→[Directories Tab]
    で下記のようにパスをNewで追加します。
     ★Output Directory
       E:\FreeRTOS24\sample1\Output
     ★Intermediary Directory
       E:\FreeRTOS24\sample1\Output
     ★Include Search Path は下記のように4つ登録する



  E portable.hの修正
    includeディレクトリ下にある"portbale.h"ファイルに下記のように1行追加する。
    PIC24の場合には、「#define MPLAB_PIC24_PORT」を追加してPIC24への移植
    であることを定義します。dsPICの場合には、「#define MPLAB_DSPIC_PORT」を
    追加します。
    次のその下側にある「portmacro.h」のinclude文のパス指定を変更し直接指定
    とします。これはデフォルトのままではパスが通らずインクルードできないためです。




(3) メインプログラムの作成
  "sample1.c"のプログラムを作成する。作り方の詳細は以降のページで解説
  今回のプログラム機能の概要
   ★タスク1、2、3の3つのタスクを生成し、それぞれ1個のLEDを下記のように
    一定間隔で点滅させる。
       タスク1  D10のLEDを100msec間隔
       タスク2  D9のLEDを200msec間隔
       タスク3  D8のLEDを500msec間隔
   このプログラムのリストは下記となります。




(4) FreeRTOSConfig.hの設定
   作成するアプリケーションに合わせてFreeRTOSの構成を設定します。
   詳細は後述します。

(5) コンパイル、実行
  上記プロジェクトをコンパイルし、Successであれば書き込んで実行します。


目次に戻る