マイコン

マイコン

STM32CubeIDEで、ビルド時にhexファイルを生成する方法

よく忘れるのでメモ。 STM32CubeIDEで、ビルドと同時にhexファイルを生成する方法です。 SW4STM32でも同様です。 プロジェクトのプロパティ → C/C++Build → Settingsと選択し、Build Stepsタブを開きます。 Post-build steps(図の赤い枠の箇所)に、以下のコマンドをコピペ。 これでビルド時に、.elfファイルと.hexファイルが同時に生成...
マイコン

STM32H7でキャッシュ一貫性を保持したDMA転送(Memory-to-Peripheral)

STM32H7におけるキャッシュ一貫性を保ったDMA転送の方法として、MPUによる設定を解説します。 STM32H7ではF7と異なり、DMAコントローラからDTCM領域にアクセスできないため注意が必要です。 GitHubでソースコードを公開しています。(Memory-to-Peripheralの場合のみ 概要 Cortex-M7コアにはL1キャッシュが搭載されているため、DMA転送時にはデータ化け...
MIDI音源

[STM32F7で作るMIDI音源] その4 MIDIメッセージの受信とリングバッファ

自作MIDI音源「CureSynth」製作記事の一覧はこちら 回路図、ソースコードはこちら 前回は、自作MIDI音源「CureSynth」のソフトウェア概要について紹介しました。 今回は、STM32F7+HALライブラリを用い、MIDIメッセージを「USART割り込み」で受信する方法と、受信したMIDIメッセージを蓄積するためのリングバッファについて紹介します。 1.MIDI受信回路 本稿で対象と...
MIDI音源

[STM32F7で作るMIDI音源] その3 ソフトウェアの概要

自作MIDI音源「CureSynth」製作記事の一覧はこちら 回路図、ソースコードはこちら 前回は、自作MIDI音源「CureSynth」の音源部の構成について紹介しました。 今回から、組み込みソフトウェアの紹介に移ります。 はじめに 本稿では、コアとなる処理を考え、「メインループ内で実施するか否か」を決め、アバウトなソフト構造を示します。 「CureSynth」のコアとなる処理は、次の5つです。...
MIDI音源

[STM32F7で作るMIDI音源] その2 音源部の構成

自作MIDI音源「CureSynth」製作記事の一覧はこちら 回路図、ソースコードはこちら 前回は、自作MIDI音源「CureSynth」の開発用ボードについて紹介しました。 今回は、音源部の構成について紹介します。 1.全体構成 こちらが音源部の全体図です。 1つの音(例えばピアノの"ド"の音)を発生させる部分を「オペレータ(Operator)」と言い、オペレータの個数がいわゆる最大同時発音数と...