Previous: 2.1. FreeRTOSとは |
Up: 2. FreeRTOS |
Next: 3. タスク管理 |
本書の冒頭で紹介した環境の構築方法でフォルダツリーを作成している場合には、すでにlib/FreeRTOSフォルダ以下にFreeRTOSの動作に必要なファイルがすべてコピーされています(本書執筆時点でのバージョン5系の最新版であるFreeRTOSバージョン5.4.2を使用)。
本書ではベクタテーブルを直接修正してFreeRTOSを動作可能な状態にしています。○項を参照して、一旦startup_stm32f10x.sを削除し、RTOSを使用する場合のベクタテーブルファイルをコピーしてstartup_stm32f10x.sにリネームしてください。
本書の環境でFreeRTOSを使用するために必要な準備はこれだけです。
ここでは自分で環境を構築する場合や、FreeRTOSをバージョンアップさせる時のための導入方法も紹介しておきます。本書の環境のフォルダツリーを参照しながら構築してください。
公式サイトからダウンロードしてきた最新版のファイルを解凍し、その中のSourceフォルダを、開発環境のインクルードパスが通っているフォルダ(本書の環境ではlibフォルダ)にコピーします。
次にCortex-M3+GCCの環境で使用しないフォルダを削除します。Source/portableフォルダ内のGCCフォルダとMemMangフォルダ以外のフォルダを削除します。さらにGCCフォルダ内のARM_CM3フォルダ以外のフォルダを削除します。実際のところ、FreeRTOSを動作させる上ではこれらを削除しなくても構わないのですが、余分なものがあると検索時間やバックアップ時間、コンパイル時間が長くなったり、ソースコードをブラウジングするときに見づらくなったりしますので、削除することをお勧めします。
次にSource/portable/Memmangフォルダ内の3つのファイルのうち、heap_1.cを残して、残りの2つを削除します。これの意味については後述のメモリ管理を参照してください。
本書のMakefileを使用してビルドする場合は特に設定は必要ありませんが、自分でMakefileを作ったり、gccを直接起動したりする場合には、コンパイルオプションとして、
-D GCC_ARMCM3 |
を指定しておきます。これによりFreeRTOSを、Cortex-M3+GCCで使用する際の固有のプログラムコードが自動的にインクルードされるようになります。
最後に本書の環境のlibフォルダにあるFreeRTOSConfig.hをインクルードパスが通っているフォルダにコピーします。公式サイトからダウンロードしたファイル内では、Demoフォルダ内の” CORTEX_STM32xxxxxxxx”といった名前がついているフォルダにありますので、適当なものを選んで同じくインクルードパスが通っているフォルダにコピーします。
Previous: 2.1. FreeRTOSとは |
Up: 2. FreeRTOS |
Next: 3. タスク管理 |