CCWO

挫けそうになるブログ

STM32F303K8 デバッグ設定

NucleoはST-LINK/v2がオンボードにあるので、エミュレーターを使うことができます。その設定を行います。
ちなみに
RenesasだとE1/E2 emulator
MicrochipだとMPLAB ICD
みたいなのがあります。ただしこれら1マソから2マソくらいするので、なかなか高価です。回路規模も大きいですし、なかなか使うのはよっぽどじゃないとないかと思います。
それに比べてSTはNucleoだとオンボードだし、ST-LINK/v2は3000円くらいなのでいろいろと良心的ですね。
というのはおいておいて、設定をしてきます。
まずはビルドします。トンカチマークです。
f:id:CCWO:20170816103807p:plain
次に、左のプロジェクトツリーのTEST01で右クリックします。
Debug As→Debug Configurations を選択します。
f:id:CCWO:20170816103831p:plain
Debug Configurations画面が開きます。
f:id:CCWO:20170816104042p:plain
次に左のツリーからAc6 STM32 Debuggingで右クリックして、Newを選択します。
Search Project...から.elfファイルを選択します。
右下のDebugボタンを押せばDebugが開始します。
こんな画面に遷移すれば成功です。
f:id:CCWO:20170816104248p:plain
他のプロジェクトのデバッガーをつなげたりするとエラーになるので、他のプロジェクトの接続は切っておきましょう。
ここらへんをいじってデバッグをします。
f:id:CCWO:20170816104252p:plain
ぽちぽち押していればいろいろとやりかたがわかると思います。基本的にはResume・Terminateをよく使うと思います。
エミュレーターというのは、プロジェクト中にbreakpointをおいて任意の場所でプログラムを止めたり、現在の変数の値を参照できたりする機能です。右上のVariablesというタブに変数が一覧表示されます。レジスタの現在の値あったりも参照できたりします。マイコンを素早く開発するためのツールということです。使いこなせれば超強力。(ぜんぜん使いこなせていないけど笑)
デバッグを終わるときは虫のマークからとなりのCのマークを押せばもとの画面に戻ります。
f:id:CCWO:20170816104703p:plain

STM32F303K8 プロジェクトの作成

まずはプロジェクトを作成します。
STM32CubeMXから、
STM32CubeMX
f:id:CCWO:20170816101352p:plain
New Projectを選択します。Board Selectorを開きます。
f:id:CCWO:20170816101408p:plain
・Vendor : STMicroelectronics
・Type of Board : Nucleo 32
MCU Series : STM32F3
を選択し。Board List: 1temで出てきたものをダブルクリックします。
CubeMXの設定画面が出てきます。
f:id:CCWO:20170816101544p:plain
あらかじめ何本かのピンが設定されているはずです。
この状態で、左側のリストの
USART2: Mode :Asynchronous
に設定します。そうするとPA15とPA2が緑色になります。
PB3をクリックして、GPIO_Outputにします。このピンは基板上の緑色のLEDにアサインされています。右クリックでLD3とします。
次に、Project Settingsを開きます。(上のメニューのProject→Settings)
f:id:CCWO:20170816101855p:plain
Project NameとProject Locationは適当に設定します。
Toolchain / IDE : SW4STM32に設定します。
タブを移動して、
f:id:CCWO:20170816102310p:plain
Copy only the neccesary library files: 使うファイルだけプロジェクトにHALからコピーしてきます。
Keep User Code when re-generating: ユーザーコードを保持する。(USER CODEで挟まれた部分だけ!!!
Delete Peviously generated files when re-generating: 以前の設定ファイルは消去します。
この3つにチェックが入ってるいることを確認します。
これでとりあえずの設定は完了です。
CubeMXに戻って、左上の歯車マークでプロジェクトが生成されます。
f:id:CCWO:20170816102728p:plain
SW4STM32(System workbench for STM32の略、これからはこっちで)のプロジェクトロケーションを適当に設定して、正常にプロジェクトが読み込まれれば、
f:id:CCWO:20170816102454p:plain
とプロジェクトが生成されます。
簡単ですね。次はデバックの設定について。

STM32 開発環境の構築<3>

またまた、STMを使ってみようかなと思いまして開発環境を構築しました。
なんと・・・
ccwo.hatenablog.jp
前回STMの開発環境を調べていたのがちょうど1年ほど前で、時の流れは残酷です。
今回はSTM32F303K8を使って、ペリフェラルを徐々に使えるようにしてモータードライバのマイコンにしてみたいと思います。
なので、PWMとENCODERとかCANとかADCとかDACとかもろもろ使えると便利なのかな。

開発環境は前回に引き続き、
ハード:STM32 Nucleo Board Nucleo STM32F303K8
ソフト:CubeMX + AC6 System Workbench for STM32
でやっていきたいと思います。無料でフルサイズコンパイルできるし、GUIペリフェラルの設定ができて、関数等(HAL Driver)も生成してくれるから、これが今かなり現実的で比較的楽な開発環境なのではないでしょうか?1年前に記事を書いたときはまだまだ日本語の記事が少なかったのですが、最近調べているとこの組み合わせでやってる人が増えていてかなり嬉しいです。

簡単に構築方法を

  • the System Workbench for STM32のインストール

1. OpenSTM32 Communityに会員登録をします。
OpenSTM32 Community Site | HomePage
2. インストーラーをダウンロードします。
http://www.openstm32.org/Downloading+the+System+Workbench+for+STM32+installer
Zipped installer: install_sw4stm32_win_64bits-v2.1.zip
これをダウンロードして解凍して、インストールします。exeじゃなくてzipじゃないとwinはだめ。

  • Cube MXのインストール

STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics - STMicroelectronics
STに会員登録して、一番下からダウンロードしてインストール。
と言った感じで簡単です。

参考サイト

  • 開発環境構築方法

yuqlid.hatenablog.com

  • STM32F4のHALの資料

www.st.com
UM1725: Description of STM32F4 HAL and LL drivers
UM1743: STM32CubeF4 demonstration platform

  • ボードの資料

www.st.com
UM1727: Getting started with STM32 Nucleo board software development tools
UM1956: STM32 Nucleo-32 board

  • チップの資料

www.st.com
RM0316: STM32F303xB/C/D/E、STM32F303x6/8、STM32F328x8、STM32F358xC、および、STM32F398xE 高性能 ARM ベース 32 ビット MCU
PM0214: STM32F3, STM32F4 and STM32L4 Series Cortex®-M4 programming manual
それにしても資料はすごい充実してますね。
なんか最近すごいやる気がなにごとにも起きなくて、ブログに書けばある程度やる気がでるかなと短絡的な思いから書いてみます。

Re:make[弾いてみた]

Re:makeを弾いてみました。
初のONE OK ROCKです。

しかし

本当はRe:makeを弾くつもりではなかったんです・・・笑
本当は爪爪爪を弾くつもりだったんですが、4,5日練習しても全く録音できるレベルになりそうになかったのでなくなく諦めました・・・
リフが難しすぎて・・・音作りも難しすぎて・・・あああああ
ダメダッダメダッダメダッダメダッダメダッダメダッダメダッアアアアアアアアアアアアアアアアアアアア(賭ケグルイのみどりちゃん風

というわけでたまたまiTunesで流れてきたRe:makeがかっこいいな~ってなったので弾きました。
予定ではホルモンは爪爪爪で一区切りにしようとおもってたのですが、このような不甲斐ない結果になってしまいました・・・んがなしい・・・

よかったら見てください。今回は爪爪爪でひたすら悩みまくっていた音作りがRe:makeにも反映されてなかなかいい音になったのではないかと思っています。
www.youtube.com

音作りはこんな感じ
EQ
f:id:CCWO:20170814204550p:plain
PREAMP A
f:id:CCWO:20170814204559p:plain
PREAMP B
f:id:CCWO:20170814204610p:plain
です。MASTERは特にいじってないはず!

Fusion PCB 発注 注文編2

ちょっと前から使っているマイコンがあって、ようやっとプログラムとかが整理できたので使いたい機能をあらかた引き出して基板にしました。
これもAD変換の関連なのですが、電源とグランドに少し気を配ってみましたとさ。
f:id:CCWO:20170814072734p:plain
f:id:CCWO:20170814072737p:plain
f:id:CCWO:20170814072740p:plain
今回は青色で頼んでみました。
来るのが楽しみです。
注文するのもだいぶ慣れてしまいました。

gerber viewer便利だな~って思ってましたけど、ガーバーデータを見ることのできるソフトもあるんですね・・・これで確認すればよかったのか・・・
gervっていうソフトを使ってみましたけど、よかったです。