【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であれば書き込んで実行します。
目次に戻る