FreeRTOS
PSoC
PSoC5
PSoCDay 6

PSoC5LP で FreeRTOSv9.0.0 を動かす

PSoC Advent Calendar 2017 6 日目の記事です

いまホットな FreeRTOS を、PSoC5 LP で動かしちゃいます。

実行環境について

  • Windows10 Home or Professional
  • PSoC Creator 4.1
  • CY8CKIT-059 PSoC® 5LP Prototyping Kit

FreeRTOS をダウンロードする

ここから、ソースコード一式をダウンロードしましょう。この中には、様々なCPUアーキテクチャのものが含まれます。PSoC Creator 用のワークスペースを PSoC Creator で開きましょう。

リンク先を確認しているときに、FreeRTOSv10.0.0 がリリースされていることに気付きましたが、
今回はv9.0.0 のままいきます。

ワークスペースは以下のディレクトリにあります
FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_CY8C5588_PSoC_Creator_GCC

1.PNG

ビルド

ワークスペースを開いたら、ビルドしましょう。
んが、開いていきなり以下のごとくお怒りを買います。

2.PNG

どうやら、ターゲットデバイスが最早サポートされてないので、別のに替えるよう促されてます。
今回のターゲットは、PSoC5LP Prototyping Kit なので、CY8C5888-LTI-LP097 を選択します

無事ブロジェクトが開いたら、大量のエラーが出ていますが、慌てず騒がず、コンポーネントを
更新してください。旧いバージョンのコンポーネントが使われているのが原因です。何かあったときに戻れるよう今の環境をアーカイブするかしないか聞かれますので適宜選択します。

3.PNG

無事、コンポーネントが更新されると、このようになります。

4.PNG

とりあえず、他にエラーが出ないか確認するために、ビルドしてみましょう。
特にエラーは出ないようです。

どういうコンポーネントが使われてるのかスケマティックをみてみましょう。

5.PNG

今回、LCD ディスプレイは存在しないので、ここはひとつ(後の影響も考えずに)
思い切って削除しましょうw

そしてやおらビルドすると、LCD 使用している箇所でことごとく怒られる(当然)ので、
main.c を修正してビルドを通します。

なんか動く気分になってきたので、おもむろにターゲットに書き込みますw(よいこは真似しちゃダメ)

はい、なんも起こりませんね。main.c を斜め読みすると、LED くらい光ってもバチは当たらない
と思うんですがwww

6.PNG

少し真面目になって調べると、元のターゲットと今回のターゲットではLEDに割り当たってるピンが
違うことがわかりますので、それをサクっと修正。

7.PNG

再度ビルドしてターゲットに書き込みます。今度は、LED が点滅しましたね?

このように、ピンアサインが比較的自由であることは PSoC の大きなアドバンテージです。

例え PCB 作成して部品を実装したあとに配線の誤りが発覚したとしても、まだ希望はあります。
入れ替えてしまえばいいんだからw はいこれ、テストに出ますよ〜w

本日はここまでです。続きは、13日目を見てね!

明日は、blgkns さんです。宜しくお願いします。