2: 2016-03-28 (月) 18:27:45 takaboo | 現: 2016-03-30 (水) 18:09:51 takaboo | ||
---|---|---|---|
Line 1: | Line 1: | ||
**概要 [#va21cbfb] | **概要 [#va21cbfb] | ||
- | [[STM32Fマイコンボード>#BTC097]]のペリフェラルを応用したライブラリ集のドキュメントとサンプルプログラムです。~ | + | [[Digitus STM32F3>BTC097]]に搭載されたSTM32F373のペリフェラルを応用したライブラリ集です。~ |
GCC Developer Liteにはほとんどの各マイコンボード用にGPIOやシリアル通信に関する簡単なライブラリが含まれていますが、それ以外のペリフェラル等を活用するとなるとゼロからプログラムしなくてはなりません。その場合、プログラムコードの大半がそれらの初期化ルーチンや制御ルーチンで埋め尽くされ、1つのソースコードの編集しか許容していないGCC Developer Liteでは大きな負担となります。~ | GCC Developer Liteにはほとんどの各マイコンボード用にGPIOやシリアル通信に関する簡単なライブラリが含まれていますが、それ以外のペリフェラル等を活用するとなるとゼロからプログラムしなくてはなりません。その場合、プログラムコードの大半がそれらの初期化ルーチンや制御ルーチンで埋め尽くされ、1つのソースコードの編集しか許容していないGCC Developer Liteでは大きな負担となります。~ | ||
もちろんGCC Develoer Liteにこだわらなければ、その他の便利な開発環境を使用する事で、標準で提供されるペリフェラルライブラリが使えたり、複数ソースのコンパイルや編集が可能です。~ | もちろんGCC Develoer Liteにこだわらなければ、その他の便利な開発環境を使用する事で、標準で提供されるペリフェラルライブラリが使えたり、複数ソースのコンパイルや編集が可能です。~ | ||
Line 42: | Line 42: | ||
***FreeRTOS [#uc14acff] | ***FreeRTOS [#uc14acff] | ||
FreeRTOSをCortex-M4Fコア用としてコンパイル及びライブラリ化し「TARGET/FREERTOS_CM4F」フォルダに収録しています。必要に応じて同梱の「FreeRTOSConfig.h」を編集してライブラリを再構築する事もできます。~ | FreeRTOSをCortex-M4Fコア用としてコンパイル及びライブラリ化し「TARGET/FREERTOS_CM4F」フォルダに収録しています。必要に応じて同梱の「FreeRTOSConfig.h」を編集してライブラリを再構築する事もできます。~ | ||
- | FreeRTOS自体は自信のプログラムの状態にかかわらず自由にリンクして使う事ができますので、OSが必要になった段階で適用の可否を判断したとしても影響が過大になることは少ないでしょう。~ | + | FreeRTOS自体は自身のプログラムの状態にかかわらず自由にリンクして使う事ができますので、OSが必要になった段階で適用の可否を判断したとしても影響が過大になることは少ないでしょう。~ |
詳細は[[FreeRTOSのサイト>http://www.freertos.org/]]に委ねます。 | 詳細は[[FreeRTOSのサイト>http://www.freertos.org/]]に委ねます。 | ||
***ディレイ [#zedbb449] | ***ディレイ [#zedbb449] | ||
- | 正確な時間を元に時間待ちや経過時間を計測します。元となるクロックは[[DWT>http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100166_0001_00_en/ric1417175910926.html]]を使用しています。 | + | 正確な時間を元に時間待ちや経過時間を計測します。元となるクロックは[[DWT>http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100166_0001_00_en/ric1417175910926.html]]を使用しているため、各APIを定期的にコールする際は59秒以内(4294967295/72MHz)に行う必要があります。 |
****delay_us [#o27b86b3] | ****delay_us [#o27b86b3] | ||
Line 57: | Line 57: | ||
extern void (*delay_csw) (void); | extern void (*delay_csw) (void); | ||
***CRCチェックサム [#i0bff965] | ***CRCチェックサム [#i0bff965] | ||
- | X^16+X^15+X^2+1の多項式に限定したチェックサムを算出します。DynamixelプロトコルV2に使用されるチェックサムを目的としているため、それ以外のCRCを算出する用途には使えません。 | + | X^16+X^15+X^2+1の多項式に限定したチェックサムを算出します。DynamixelプロトコルV2に使用されるチェックサムを目的としているため、それ以外のCRCを算出する用途には使えません。~ |
+ | なお、内蔵ペリフェラルもしくはソフトウェアによるCRCの算出が選択できます。 | ||
****ushpfunc [#p84a9123] | ****ushpfunc [#p84a9123] |