Sim's blog

電子工作はじめてみました

Nucleo F411REでMicroPythonを動かしてみた

2017-12-16 17:16:13 | その他のマイコン

Nucleo F411REでMicroPythonを動かしてみたときの備忘録です。

PCの環境はwindows 10 (64bit)です。

 

Nucleo F411RE 秋月リンク(M-10175)

 

やったことのまとめ

(1) micropython.orgダウンロードページからNucleo F411用のバイナリイメージ(.dfuファイル)をダウンロード。今回はNUCLEO_F411RE-20171216-v1.9.3-181-g02d2a0fb.dfuをダウンロードしました。

(2) ダウンロードした.dfuファイルをNucleo F411に書き込みます。.dfuファイルの書き込み方がよく分からなかったので、変則的な方法を使いました。ジャンパーピンを使ってdfuモードにしたりとかは一切なく、Nucleo F411REとPCをUSBケーブルでつなぐだけの方法です。

(2-a) dfu file managerを使って、.dfuファイルを.hexファイルに変換する

- dfu file managerを立ち上げる。

 

 下の方を選んでOK

- 次の画面

 

 右上の・・・ボタンでダウンロードした.dfuファイルを選択する

 Extractionの選択をHexにする

 Extractボタンを押す

- .dfuファイルを置いた場所と同じ場所に.hexファイルができます。

(2-b) ST-LINK Utilityを使って、(2-a)で作った.hexファイルをNucleo F411REに書き込む

- ST-LINK Utilityを起動する

 
 メニューでFile → Open File(O)で(2-a)で作った.hexファイルを選択する
- 次に上で読み込んだ.hexファイルを書き込みます。
 

 メニューでTarget → Connectで、Nucleo F411REと接続

 メニューでTarget → Program & Verifyで、書き込み

 メニューでTarget → Disconnectで、Nucleo F411REと接続解除

 これで書き込み完了です。

(3) TeraTermでNucleo F411REとシリアルで接続します。私の場合はCOM3でボーレートは115200bpsにしました。

 

 Nucleo F411REのリセットボタン(黒いボタン)を押すとMicroPythonが起動します。

 

(4) Lチカをしてみました。

 

 

上のは画像なのでテキスト版も置いておきます。

led = pyb.LED(1)

while True:

    led.toggle()

    pyb.delay(100)

 

最初がledのインスタンスを作っています。ここでTeraTermからled.on()とするとLEDが点灯します。led.off()とするとLEDが消灯します。led.toggle()でLEDが反転します。pyb.delay(ms)はmsミリ秒待ちます。

 

とりあえず、やったことはこれで全部です。

DfuSe demoを使って、.dfuファイルを書き込めるようになるのが次の課題です。

 

リンク先

NUCLEO-F411RE : 本家ST Microの製品ページ

MicroPython : コンパイル済みのバイナリイメージがダウンロードできます。

DfuSe (STSW-STM32080): dfu file managerとdfu書き込み用のDfuSe demoが含まれています。

ST-LINK Utility (STSW-LINK004): .hexファイルを書き込むのに使います。

 


STM32VLDiscoveryをST-LINKとして使う

2010-12-21 01:40:53 | その他のマイコン
秋月から1100円という激安のARMマイコンキットSTM32VLDiscoveryが発売になりました(通販コードM-04276)

STMicroの製品ページ


※試した範囲では動作しているようですが、同じことをして壊しても責任持てません。


ユーザーズマニュアル(UM0919)の10pageによると、STM32VLDiscoveryは簡単にST-LINKとして動かせることになっています。ST-LINKはSTM8とSTM32用のJTAGデバッガです。秋月でも売っています(通販コードM-04012)。純正品なのに2500円は激安です。でも、STM32VLDiscoveryを使えば1100円でJTAGデバッグできることになります。

ストロベリーリナックスで販売しているSTBeeにつないでみました。

STM32VLDiscovery側は
(1) CN3の2つのジャンパーをはずす
(2) CN2からSWDの線を3本接続する。CN2は以下のようなピン配置です。

pin1 Vdd検知。未接続。
pin2 SWCLK --- STBeeのpin7(TCK)に接続 (写真の緑の線)
pin3 GND ----- STBeeのpin4(GND)に接続 (写真の黒い線)
pin4 SWDIO --- STBeeのpin5(TMS)に接続 (写真の白い線)

STM32VLDiscovery側のCN2です。赤丸のついているところに1pinを表す「1」が描かれています。

pin1のVdd検知ですが、ユーザーマニュアルに載っている回路図を見るとGNDに10kΩを介して接続しているだけみたいなので、接続しなくてもいい(はず)です。

STBee側のCN2です。赤丸のところに1pinを表す▼マークがついています。

pin3のGNDですが、pin4, 6, 8, 10, 12, 14, 16, 18, 20が全てGNDなので、このうちのどれにつないでもいいです。

PA13がTMS(白い線)、PA14がTCK(緑の線)なので、そちらにつないでもいいです(未確認)。

JTAGデバッグしている様子です。



横着してAtollicTrue Studioでしか試していません。True Studioで使うときの注意点は、ST-LINKの設定をJTAGからSWDに変更してやる必要があることです。Runメニュー → Debug Configurationを選んでDebuggerタブのGDB Server Command Line OptionsのラジオボタンをJTAGからSWDに変更します。デフォルトはJTAGになっています。


SWDはJTAGの接続線を節約するために、時分割でJTAGのピンの情報を送信するプロトコルのようです。本質的にはJTAGと同じ情報を伝えているはずですが、時分割な分遅そうです。

gccやEclipseを使った開発は「マイコン徹底入門」のサイトが詳しいです。このページの作者さんが「STM32マイコン徹底入門」という本も書かれています。とてもいい本です。

STM32VLDiscoveryそのものの使い方については、エレキジャックのサイトで「STM32バリュー・ラインを使ってみる」という連載が始まっています。


というわけで、3本つなぐだけで、JTAG(SWD)デバッグができちゃいます。もちろん、STMicroのARMじゃないと駄目です。

ところで、JTAGデバッガとマイコンボードは、どちらの電源を先に入れるのがいいんでしょうか?特にSTM32VLDiscoveryは保護用のバッファICがいるわけではないので、ちょっと怖いです。保護用ということだと、マイコンボードにつなぐラインには100Ω程度のダンピング抵抗をいれてやったほうがいいと思います。

STM8S discoveryでLチカ

2010-02-14 04:23:19 | その他のマイコン
750円と激安で話題のSTM8S Discoveryを秋月で買ってきました(商品番号 M-03457)。エレキジャックでのりたんさんが連載を始めています。STMicroのページはこちらです。

こんなパッケージに入っています。

ユーザーズマニュアルやCD-ROMとかはついていないので、STMicroのページからダウンロードします。

フリーエリアには16pinの1.27mmピッチ表面実装タイプのICが実装できるようになっています。

配線は写真のようになっています。

開発ツールをインストールしなくても、最初からデモプログラムが書き込まれているので、USBケーブルを挿すだけで動作確認ができます(PCからはUSB大容量記憶装置デバイスとして見えるのでドライバのインストールも不要です)。金色の丸のところがタッチセンサになっていて、触るたびにLEDの点滅速度が変わります。

開発ツールは16kまで開発できる無料のコンパイラが提供されています。ダウンロード方法とかインストール方法はのりたんさんの連載が役に立ちます。

2種類ある無料コンパイラのうちCosmic社のC Compilerについては、のりたんさんが解説されています。このコンパイラはインストールした後、ライセンスをメールで送ってもらいます。うちはまだメールが届いていないので、とりあえず、もう一つのRaisonance社のCコンパイラをインストールしてみました。

Raisonanceの方はRide7というIDEをインストールしてからでないとコンパイラをインストールできませんでした。インストールした順番は以下です。
(1) STMicroからダウンロードしたsttools.exe
(2) RaisonanceからダウンロードしたRide7_7.26.09.0351.exe
(3) RaisonanceからダウンロードしたRKit-STM8_2.26.09.0317.exe

ライセンスはRide7を起動してHelp→Licenseとメニューを選んでManual Activationを選んで表示されるSerial KeyをRaisonanceのregistrationのページに入力するとActivation Codeがメールで送られてくるので、このActivation Codeを入力してやります。

ST Visual Develop(STVD)でプロジェクトを作るときに、どのCコンパイラを使うかを指定します(第4回のプロジェクトを作ろう参照)。

ToolchainにRaisonanceを選び、Toolchain rootはC:¥Program Files¥Raisonance¥Rideを選びました。

また、includeパスを追加してやる必要があります。STVDのToolsメニュー→DirectoriesのInclude filesでC:¥Program Files¥Raisonance¥Ride¥inc¥STM8を追加してやります。


Tools→OptionsのToolsetタブで設定してやってもいいはずです(試してません)


さっそくLチカしてみました。


作ったソースはこんな感じです(<が全角になってます)。
// Lチカ

#include "stm8s105c6.h"

main()
{
    volatile unsigned t;

    PD_DDR = 0x01; // ポートDのbit0は出力

    // 無限ループ
    while(1){
        PD_ODR ^= 0x01; // 出力を切り替える
        for(t = 0; t < 20000; t++) ; // 時間待ち
    }
    return 0;
}

最初のstm8s105c6.hでポートとかの設定がされています。PD_DDRとかPD_ODRのようにポートにアクセスできます。入力ポートはPD_IDRになります。他のポートは例えばPA_ほにゃとか、PB_ほにゃみたいに2文字目が変わります。

コンパイルした結果はhexファイルになります。書き込みはTools→Programmerからします。ただし、「ハードウェアの安全な取り外し」をしてから、USBケーブルを挿しなおしてやると実行が開始されます。ケーブルの抜き差しは面倒なので、Debug→Start Debuggingで書き込む方が手っ取り早いです。

IDEはAVR Studioみたいな感じです。標準的というか違和感なく使えます。日本語の設定でMSゴシックを選べません。HGゴシックMなら選べたので、とりあえずHGゴシックMにしています。

とりあえず、やってみたのはこんな感じです。

Coron

2009-11-24 22:27:28 | その他のマイコン
Coronテクノロードが出しているロボット制御向けのマイコンボードです。MTM04会場で来場記念特別割引きで販売していたので衝動買いしてしまいました。

秋葉原だと千石で販売しています(ブログ記事)。あのポップが欲しかったかも・・・。Coronのマスコットキャラなんでしょうか。

とにかく小さいです。Arduinoと並べてみました。


CPUはARMのCortex-M3です。

STMicroのSTM32F103RET6です。動作周波数72MHz、ROM512k、RAM64kです。パッケージはTQFP64ピンです。
DesignWave 2008年5月号の付録のSTM32F103VBT6はROM128k、RAM20kでした。
STM32 Primer2のST32F103VET6もROM512k、RAM64kです。パッケージはTQFP100ピンです。

ピンが3列ずつ並んでいるのはサーボのコネクタをさせるように、信号、Vcc、GNDがペアになっています。サーボは16個制御できます。ロボットを作りたい人にはいいマイコンボードなんじゃないでしょうか。うーん、なんで衝動買いしたのか不思議です。ロボットには、とんと縁がありません。
手前のマイクロSDスロットの横にあるピンソケット(2.0mm)はXBee用です。

おまけでついてくる、CD-ROMが素敵です。Eclipseのインストールをしてくれるセットアッププログラムが入っています。setup.exe一発でインストールできるので、楽チンです。って、また今日もEclipseがハードディスクに増殖してしまいました。

液晶マイコンを使ってみました

2009-11-23 23:03:36 | その他のマイコン
ET2009で買ってきた「液晶搭載マイコン・モジュール」を使ってみました。

最低限必要なJP1とJP5だけヘッダーピンをつけています。最初JP5とCN5を間違えてつけてしまいました。気をつけましょう。って、そんなマヌケは他にはいませんね><。

CQの液晶マイコン基板特設ページからツールやサンプルをダウンロードしてインストールします。CP2102のデバイスドライバはネットからインストールでもできました。

EPSONのツールのインストール先をデフォルトのC:¥EPSONからc:¥bin¥EPSONに変えてしまったのがハマリの始まりでした。サンプルには5つのプロジェクトが含まれているのですが、まともに動いたのは1つだけ(CQ_StartSample)でした。

一応、他のサンプルも動かせたので報告しておきます。
(1) p.16の手順でプロジェクトをインポートします。
(2) Makefileの中に1箇所、ほにゃ.ldsというファイルの中に16箇所、ツールの絶対パスが書いてある場所があるので、これをインストール先に変更します。
(3) 後はp.17以降の手順に従ってビルド&書き込みをしてやります。

demo_blockだけは、実行用のコンフィグレーションがありません。ゼロから作るか他のをコピーして修正してやる必要があります。

(1) Runメニュー → External Tools → External Tools Configurationsを選びます。
(2) Programのところを右クリックしてNewを選ぶか、他のコンフィグレーションを右クリックしてDuplicateを選んでやります。
後は以下のようにMainタブとCommonタブを埋めてやります。

Mainタブ(クリックすると大きくなります)


Commonタブ(クリックすると大きくなります)


このあと、Runボタンを押してやります。注意点としては、Runメニューを選ぶ前に実行したいプロジェクト名をクリックして灰色にしておかないと、ちゃんと実行されません。Project Aを選択していてProject Bを実行しようとしていることになります。

上のコンフィグレーションの作成ですが、ゼロから作ると何箇所も入力がありますが、コピーして作ると変更箇所は2箇所だけなので楽です。

ちゃんと動くことを確認しないで公開しているっぽいので多少萎えました。

ゼロから動くプロジェクトを作るのは結構面倒っぽいので、ちゃんと動くCQ_StartSampleをインポートして名前を変えてから使うのがよさそうです。


開発ツール自体はEclipseです。最近、Eclipse多いですね。Nios II EDSもEclipseです。

「Interface」ARMマイコン基板アプリケーション制作コンテストの結果

2009-11-13 02:54:41 | その他のマイコン
hamayanさんのブログ「Interface」ARMマイコン基板アプリケーション制作コンテストの結果が発表されていることを知りました。10/30に発表だったみたいです。
先日行われたARM FORUM 2009で授賞式や入賞者の方の作品の展示もあったそうです。参加しなくて失敗でした。
受賞者の皆様、おめでとうございます。

「プリント基板で作るPIC応用装置」

2009-11-07 20:33:13 | その他のマイコン
いしかわきょーすけさんの「陰気な男でいいですか?」で知ったラトルズの「プリント基板で作るPIC応用装置」ですが、書店に並んでいました(川崎)。この本に付録でついてくる基板単体での販売「プリント基板で作るPIC応用装置【追加プリント基板】」もありました。
 
ラトルズから出ている鈴木哲哉さんのPICシリーズは3冊目になります。
PICとセンサの電子工作
PICとC言語の電子工作
プリント基板で作るPIC応用装置

秋月はアマゾンなんかより早く10/30から販売していた模様です(通販コードS-03221)。秋月には「※各種パーツセット近日販売!!」なんて書かれています。サポートページから行ける公式ブログ秋月の部品セットを検証した話が載っています。

基板は8つあって、以下が作れるそうです。
- 赤外線解析リモコン
- 温湿度計
- 数値表示装置
- シリアル接続基板
- USB接続基板
- FT232RL基板
- テレビ表示装置
- 情報収集装置

11/10 追記 とりあえず買ってみましたが、ミシン線もないし、これってどうやって取り出すのが正しいんでしょうか?

「すぐに使える! 液晶搭載マイコン・モジュール」

2009-11-05 23:35:20 | その他のマイコン
先日書いた「すぐに使える! 液晶搭載マイコン・モジュール」がCQ出版のホームページに出ています。発売は11/18で3990円だそうです。Amazonにはまだ出ていません。

開発環境はgccとのことです。CQ出版はマイコン基板付録雑誌から、マイコン基板付録本に移行しているみたいです。
本のページの表紙をクリックすると拡大します。USBコネクタが見えます。たぶん電源供給とプログラミングはUSB経由でするものと思われます。
EPSONのマイコンなんて全然知らなかったので、ちょっと興味があります。

chumby

2009-10-04 20:15:39 | その他のマイコン
chumbyに新モデルchumby oneが出るという記事がengadgetに出ていました。$99に値下げです。本家サイトでは、右上に写真が出ています。今のもこもこから随分イメージが変わります。

Makeには、Chumbyのキットの記事が出ていました(販売ページ)。こちらはマイコミジャーナルの分解記事「Cooking Chumby! - (3) Chumbyをバラす」です。

chumbyの日本語公式ページ
書籍「chumbyで遊ぼう

現行のchumbyはi.MX21というfreescaleのARM9プロセッサが搭載されているそうです。世の中、どこもかしこもARMだらけです。

オープンソースBDM

2009-09-24 02:18:14 | その他のマイコン
若松通商でオープンソースBDMの取り扱いが始まりました。

フリースケールのマイコン用の書き込みツールのことみたいです。

ぐぐってみると、「カマデンOSBDMの製作」というページが見つかりました。回路図やファームウェア等、色々な情報が載っています。
カマデンで探してみると、こちらが見つかりました。
masatoさんのサイトでも見つかりましたが写真が違うので別モノみたいです(記事)。

元々はフリースケールフォーラムでオープンソースで作られていたものを電子工作の森さんが作られた基板をカマデンが販売したという経緯みたいです(このあたりは事実誤認があるかもしれません。間違ってたらすみません)。でもって、さらに若松でも販売されたということのようです。

のりたんさんの記事「MULTILINK にも色々とありまして」にある「HCS08 / RS08 / ColdFire V1 用MULTILINK」相当品ということになるんでしょうか。

ちなみにUSBSPYDER08はS08QG、S08QD、RS08KAの書き込みに対応していることになっています。USBSPYDERはS08QAとかS08QEとかS08SHは駄目な気がします(未検証)。

先日行われたFTF2009でも展示されていたみたいです。hamayanさんの記事に写真がありました。

手軽に入手できるライターができたことでユーザーが増えるといいですね。

9/25 追記 ストロベリーリナックステクノロジアでも販売されているそうです。のりたんさん、情報ありがとうございました。

NetWalker

2009-08-29 01:22:35 | その他のマイコン
PC Watchで「シャープ、Linux搭載のモバイルインターネットツール「NetWalker」」という記事を見ました。昔のリナザウ(Linuxザウルス)の復活でしょうか。



AndroidやChrome OSを載せたりするツワモノが出てくるんでしょうね。
個人的にはARMのネイティブ環境なのが素敵です。
Freescaleって、ARMもやってたんですね。知りませんでした。
WANはe-mobileに対応するみたいです。WiMAXへの対応が気になるところです。
見た感じ、電子辞書みたいです。

関連記事

■大河原克行の「パソコン業界、東奔西走」■
新ブランドを引っ提げて、MID市場に参入したシャープの思惑

■西川和久の不定期コラム■
超小型モバイルインターネットツール登場! シャープ「PC-Z1」

シャープ、モバイルインターネットツール「NetWalker」発表会
~年内10万台出荷を目指す

409グラムで10時間駆動:
“Windowsの呪縛”から逃れた超小型マシン――シャープ「NetWalker」に迫る

シャープ、わずか409gで10時間駆動のモバイルインターネットツール

シャープ、新世代のモバイル端末「NetWalker」を発表

シャープの新モバイル端末 NetWalkerを最速レビュー

シャープの商品ページ

ストロベリーリナックスさんでSTM32 Primer2の販売開始

2009-07-17 23:52:04 | その他のマイコン
ストロベリーリナックスさんでSTM32 Primer2の販売が始まっています。
STマイクロがSTM32 Primer2を出したときのプレスリリース


以前からdigikeyでは取り扱いがあったのですが、国内では初めてではないでしょうか。

見た目、ゲーム機ですね。とにかく、やたらと色々なペリフェラルが搭載されています。stm32circle.comからスペックを抜書きしてみます。

- CPU STM32F103E (512k FLASH)、ST MicroのARM(Cortex M3)
- リチウムイオンバッテリー
- タッチパネル付128x160pixel TFTスクリーン
- オーディオ・コーデック、マイク、スピーカ、イヤホンジャック
- 4方向ジョイスティック、プッシュボタン
- マイクロSDカードソケット
- 赤外線送信機
- 20pin外部コネクタ
- 加速度センサ
- USBコネクタ(通信用とデバッグ用)

ほんと、すごいです。

8/10 追記 タイトルがST32になっていたのでSTM32に修正しました。秋月でも取り扱いが始まっています(記事)。