- まあ、実は デジタルオーディオプレーヤーでは、FreeRTOS は使っていないのだけど。
FreeRTOS †
- FreeRTOSの最新バージョン V7.1.1からSTM32F4が使えるようになった。
- せっかく、水城さんが、V7.1.0で STM32F4を使うためのパッチを作ったのに・・
- ただし、GCC用のmakefileが付加されていないので、使いにくい。
- GitHubに、FreeRTOSのプログラムのサンプルを入れておいた。
- このサンプルには、GCC用のmakefileを付けておいたので、使いやすいと思う。
- 一応、FPUも使えるようだ。
必要なファイル †
- 2012/07/05 時点の最新 FreeRTOS 本体
- STMよりライブラリー「stm32f4_dsp_stdperiph_lib.zip」をダウンロード
- STMicroelectronics
- 「マイコン&メモリ」のアイコンをクリック
- 「マイクロコントローラ」のアイコンをクリック
- 左欄の「32bit マイクロコントローラ : STM32」をクリック
- 「リソース」のタブをクリック
- ソフトウェアリソースの「ファームウエア」をクリック
- リストの中から「STM32F4 DSP and ・・・」の文字列を探す。
- stm32f4_dsp_stdperiph_lib.zip をダウンロード
- 当然、STM32プログラム開発環境を準備しておくこと。
- デフォルトのUSARTは、makefile の27行目で、USART1〜4から選ぶ事ができる。
- ボーレートは、inc/uart_support.h の51行目で変える事ができる。なお、ボーレートは、外部クロックの周波数が8MHzだと言う前提で設定されようにしてある。
- USART1からの出力は、非同期の8N1形式で設定した端末プログラムで受信するように。
- なお、USART1〜4は同時に使うことができる(はず)ように改造している。makefile の27行目で選ぶデフォルトのUSARTとは、printf出力の切り替えにすぎない。putch_p()やgetch_p()であれば、同時に使用可能である。
- 本サンプルプログラムは、STM32F405でもSTM32F407でも共通して動作する。
- サンプルプログラムの入手及びコンパイル方法を下記に示す。
$ mkdir ~/STM32F4 << これは何処でも良いけど、この後の作業エリアになる
$ cd ~/STM32F4
$ unzip FreeRTOSV7.1.1.zip
$ unzip stm32f4_dsp_stdperiph_lib.zip
$ git clone https://github.com/madnoda/stm32f4-freertos stm32f4-freertos
$ cd stm32f4-freertos
$ make
注意 †
- 2012.06.19 判った情報。
- 調査の結果、
- main()の
- SysTickInit?(INTERVAL);
- と
- vTaskStartScheduler?();
- の間に長いループを含むルーチンが入っているとハングアップすることが判った。
- 長いループを含むルーチンは、この外に置くこと。
参考リンク †
プロジェクト
共通
最新の20件
2020-11-14
2014-11-10
2014-08-17
2013-12-23
2013-09-29
2013-08-09
2013-08-07
2013-08-03
2012-11-28
2012-08-25
2012-07-05
2012-07-03
2012-07-01
今日の11件
- counter: 6074
- today: 1
- yesterday: 0
- online: 1