[4] FreeRTOSを立ち上げてみる(Lチカ)

今回、有志がFreeRTOSをH8/300Hに移植しましたのでご紹介します。

FreeRTOSと聞くと、AWSに接続できそうな、暗号化もありネットワークミドルウェアもあり、、、という感じで、IoT用途にピッタリ!と想像されるかもしれません。ですが、こちらはH8/300Hで、ネットワークIPは乗っていません。なので、FreeRTOSの利点である「リアルタイムOS」という事と、そのリアルタイムOS下で動作する複数のドライバを、結構簡単に使える、というところを享受しているものだとお考え下さい。

今回ドライバとしては、よく使われるUART、タイマ系、PWM操作、ADC/DACを含んでいます。H8/3048を使うにあたり、だいたいのことができるのではないかと思います。UARTがありますので、そちらを使用してWifiチップを制御したり、LTEチップを制御したりして、クラウドに接続することが可能です。なので、センサを制御し、外部チップと連携してIoTができます。

例えばUARTを使用してWifiチップを制御&ADC接続の温度センサなどを接続し、タイマで定期的にポーリングしたセンサデータをサーバに送信する、といったIoTシステムを構築。接続先のサーバをAWSにしてみたり、、、用途は広がります。

さらに、本チップはIPチップですので、例えばEthernetIPを追加して1チップにするような場合、ネットワークミドルウェアを移植すればクラウドの接続まで行えることになります。

本稿では、FreeRTOSを起動してみる、というところを実践してみます。

1. バージョン等

本ワークスペースは、以下の環境で動作しています。

IDE:Hew(High-performance Embedded Workshop IDE Version 4.09.01.007)

FreeRTOSバージョン:V4.7.0

GCCバージョン:GNUH8 v12.02 Toolchain
• GCC 4.7.0
• Binutils 2.22
• Newlib 1.20.0
• GDB v7.4.1

です。

2. FreeRTOSのビルド

FreeRTOSは以下からダウンロードできます。

注:動作確認はしていますが、動作保証をするものではありません。

Source_CodeフォルダにあるFreeRTOS_H8.hwsをダブルクリックして、Hewを起動してください。

注:Hewと対象のGCCがインストールされているPCで実行してください。

Hewが起動されます。

このワークスペースにはいくつかのサンプルプロジェクトが含まれています。
ここでは、LED点滅するだけのサンプルプロジェクトを動かしてみます。

まず、アクティブなサンプルプロジェクトを選択します。

ここでは、プロジェクト名”FreeRTOS_H8”をポイントし右クリックします。
Set as Current Project(和文は少し違うかもしれません)を選択してください。

ビルドします。

3. Lチカしてみる

E10A-USBを接続し、ダウンロードし、リセットし実行すると、LEDが点滅します。