使用するMCUは,cortex-M4FのSTM32F4xxと
cortex-M3のSTM32F1xxがメインです。
ボードとして評価ボードSTM32F4-discoveryと
Arduinoライクな開発環境で知られるMaple-mini
互換ボードと自作のヘンテコボードです...
プログラム開発環境については,C言語(gcc)を中心としたlinuxやcygwin等のGNU開発環境
が主なものになると思います。
個々の何かについては,以下をご覧ください。
STM32F4xx(cortex-M4 STM32F4discoveryボード)を使用したもの | |
---|---|
STM32F4Discoveryボードで高精度なSNTPサーバ↓のI/Oボード(アドオンボード)とTCXO RTCアドオンボードとSTM32F4-discoveryボードを組合わせて, 安上りで高精度に自律計時可能なSNTPサーバを作ってみました。(記事書き中)エコっぽくブリスターパックをケースにして完成したSNTPサーバw |
|
STM32F4Discoveryボード用のI/OアドオンボードマイクロSDカード,Ethernet,シリアルI/Fの簡易I/Oアドオンボードを作ってみました。↓のI/Oベースボードの簡易版です。 |
|
STM32F4Discoveryボード用のI/OベースボードデュアルマイクロSDカード,Ethernet,キャラクタ型LCD用ポート,シリアルI/F, 圧電ブザー,A/D入力(アンプ付き)と,DC-DCコンバータで電源を強化した I/Oボードを作ってみました。 |
|
TCXO RTC(DS323x) addonボードSTM32F4Discoveryボードに取り付ける高精度(TCXO) RTCアドオン基板です。 |
|
音声読み上げ時計プログラムSTM32F4-Discoveryの簡単なアプリとして,時刻読み上げ時計を作りました。ボードのボタンを押すと時刻を喋ります(音声はボード上のジャックから出力)。 USBの仮想COMポートを使って時刻設定が可能です。 ↑のTCXO_RTCアドオンボードがあると起動時の時刻設定が省け,高精度な時計になります。 |
|
Discoveryボードを内蔵RAMブートでお手軽にするブートコンフィグレーションでリセット後, 内蔵SRAM上にあるアプリケーションを実行する方法について。 |
|
Nuttx(RTOS)↑のI/OベースボードのEthernet通信やSDカードの機能を確認するために, Nuttxを対応させてみました。 |
|
STMマイコンでeLuaを動かしてみるスクリプト言語Luaの組込み向け実装eLuaをSTM32F4discoveryで動作させてみます。gitサーバにstm32f4 discoveryのブランチがありますので割と簡単に動作させることが可能です。 ↑のI/Oベースボード用にマイクロSDカードとUSARTコンソールを変更して動作させてみました。 I/Oベースボードがなくても実行はできます。コンソールはUSART3(PD9/TxとPD8/Rx)です。
シェルや足回りがよくできているので,欲が出てスタンドアロンでも
小さめのファイルなら作成/編集が可能なように
ラインエディタのGNU edを組み込んでみました。 |
|
STMマイコンでPython(python-on-a-chip/p14p)を動かしてみる組込み用のpythonの実装一つpython-on-a-chipことpymiteです。1msタイマーとシリアルI/Oを実装したら,とりあえずipm(対話型pymite)でも不都合なく 動作しました。 STM32F4discoveryのデモプログラム程度が,pythonで記述できるようになりましたので, AS-ISで公開しときます。
pymiteをビルドしたときに,折角だからcortex-M4のHardFloatを使ってやろうとしたら,
-mfloat-abi=の違うライブラリとのリンクで嵌ってしまったのでメモに残しておきます。 |
|
STM32F4xxを使用するための最初の一歩(LED明滅プログラム)ChaNさんの作成された Lチカプログラム(mary_1st.zip)を参考にして,STM32F4discovery用の実行ファイルを 生成できるように調整作成したものです。アーカイブを展開して出来たディレクトリにカレントディレクトリを移動して, makeを実行することでビルドします。 STM32 ST-LINK Utility等を使用して, objにある*.hexを評価ボードにロードして, 実行すると,4つのLEDが順番に明滅します。
最初の一歩目なので,データシートを眺めながらのSTのデバイスアクセスAPIを使わない
I/Oレジスタ直叩きです。
←はサンプルプロジェクトのアーカイブへのリンクです。 |
|
STmaicroが公開している資料の紹介:STM32 MCUのプログラミングのお供に
Cortex-M4 プログラミングマニュアル:(PM0214) Programing manual/ STM32F3xxx and STM32F4xxx Cortex-M4 programming manual
データーシート:Datasheet STM32F405xx STM407xx/ ARM Coretex-M4 32b...
リファレンスマニュアル:(RM0090) Reference manual/ STM32F40xxx,STM32F41xxx,STM32F42xxx,STM32F43xxx advanced ARM-based 32-bit MCUs
フラッシュプログラミングマニュアル:(PM0081)Programing manual/ STM32F40xxx and STM32F41xxx Flash programming manual
アプリケーションノート:(ANxxx各種) |
|
STM32F1xx(maple miniボードや自作ボードなど)を使用したもの | |
PC-8801用拡張メモリ&16ビットカード(作り中)FPGAをグルーロジックとして搭載しPC-8801から拡張メモリ用SRAMと80186互換MCUとBluepill互換ボードを使用する拡張カード概略機能
|
|
An Embedded FORTH Operating System (mecrisp-stellaris w/USB&FatFS)MSP430用のFORTHであるmecrispをARM cortex-M向け移植したもので,Bulepill互換ボードを使用して手軽に対話環境を利用できるものです。 USB-to-serial bridgesを組み込んだpill_serial]("https://github.com/ivpri/mecrisp_pillserial"をマージしたものに,さらにFatFsで sdカードを使用できるように改造を加えたものにしています。 |
|
Bulepill互換ボードでSCSIダイレクトアクセスデバイスエミュレータ(scsiem)May-04-2020 scsiem version 1.2 SASI対応May-01-2020 scsiem version 1.1 マルチドライブ対応 Apr-30-2020 scsiem version 1.0 初回リリース Bulepill互換ボードを使用してSDカードのHDDイメージをSCSIデバイスとして使用できるエミュレータを作成してみました。 SCIS ID 0-5のデバイス(最大6デバイス)か SASI UNIT ID 0-1(LUはともに0で最大2デバイス)のドライブをエミュレートします。 ソースはarduinoスタイルで, PlatformIO環境(プラットフォームはststm32)でビルド出来ます。 |
|
20ピンDIPパッケージ(tiny2313ほぼピン互換)のSTM32F1版ヘンテコボード取り付けスペースがあればAVRのATtiny2313と差し替えができる変換基板のSTM32F1版をホームメイドな片面基板で作ってみました。 |
|
20ピンDIPパッケージ(tiny2313ほぼピン互換)のSTM32F0版ヘンテコボードDIPパッケージのcortex-M0が流行ってるみたいなので便乗してみました。STM32F0版20ピンDIP変換ボード(企画倒れ) |
|
モミジもみもみボードとI2C液晶で時刻表示モミジもみもみボードを使って秋月I2CLCDコンパチの液晶で時刻表示してみました。 |
|
モミジもみもみボードで¥39のG-LCDを使ってみるモミジもみもみボードを使ってジャンクのグラフィックLCDをテスト表示してみました。 |
|
モミジもみもみ(Maple-mini互換)ボードをST-LinkでデバッグするモミジもみもみボードやMaple-miniボードをSWDによるST-Link経由で,ST-linkユティリティやOpenOCDなどを使用してデバッグしてみます。 |
|
モミジもみもみ(Maple-mini互換)ボードLeaf LabsのMaple-Miniボードの機能互換ボードを作ってみました。SPI2に接続されたSDカードからSRAMへロードして実行できる機能をブートローダに追加してみました。 |
|
番外編:STM8S-discoveryを使用したもの | |
高精度RTC(DS3231)とSTM8S-discoveryを使った時計STM8Sdiscoveryボードを使用してTCXO RTCを使用してキャラクタ型LCDに時刻を表示するシンプルな時計です。 |
|
STM8SでForthパブリックドメインとして公開されているeForth for STM8Sです。シリアル周りとEXT-Xtalの設定周りでちょっとおかしかった点を修正してあります。
←はSTVD(ST Visual Desktop)のプロジェクト(STmicroのアセンブラ)のアーカイブへのリンクです。
UART2(PD6=Rx PD5=Tx)がコンソールで通信条件115200bps 8N1で接続してください。 |
|
お問合せがあれば,yesドットavrアットまーくgmailどっとcomまで [ご注意] ・このページの記載事項については,一切無保証です。