Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

AliExpressで買ったSTM8S103F3P6の載ったボードを使ってみる。

追記(2020/04/24/20:19)
 STMicro製のプログラマを使うつもりで書いたが、
 途中でArduino IDEで書き込めることに気づいたので記事を訂正した。
 Arduino Pro Mini などUSB-シリアル変換モジュールが必要なボードがあるが
 変換モジュールno
 代わりにST-Link V2を使う感じだ。

環境
 Windows10 Pro 64BIT
 Arduino IDE 1.8.12
 Sduino STM8 0.5.0Sduino STM8 0.5.0
 ST Visual Programmer STM8 42.0.0
 STM8S103F3P6 Development Board
 ST-Link V2

1pcs STM8S103F3P6 system board STM8S STM8 development board minimum core board
という商品名で送料込み$0.78で売ってるSTM8S103F3P6の載ったボードを買ったので使ってみる。

最初は「STM32F103C8T6ボードをArduino IDEで使う。」でやったようにブートローダを書き込めば、使い方はArduino同様かと高をくくっていた。
だが、現状ではできないのか探し方が悪いのか、そのような方法が見つからない()。
素直にST-Link V2を買って来て書き込むことにした。
そんな程度なので、以下の方法がArduino的な王道の使い方なのかどうかは不明だ。

「STM8S103F3P6 Arduino」で検索すると以下のサイトが出て来るので書いてある通りにやる。
https://tenbaht.github.io/sduino/
とはいっても、ESP8266だのESP32だのを使えるように環境構築してきている人にはおなじみの手順だ。

※以下Arduino IDEでの準備


Arduino IDEを起動してFile>PreferencesからSettingsタブを開く。
下の方にAdditional Board Manager URLsという欄があるので、今書いてあるURLの最後に「,」を入れてから
https://github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
を追加する。
Tools>Board:>Board Managerで検索欄に「sduino」と入れると「Sduino STM8 plain C core (non-C++)」が表示されるのでInstallする。
これでボードの種類に「STM8S103F3 Breakout Board」が出て来るので選ぶ。
お決まりの「Blink」をExamplesから読み込む。

File>Examples>Examples for STM8S103F3 Breakout Board>Generic_Examples>01.Basics>Blink
元のフォルダには上書きできないので別フォルダに保存する。
分かりやすく点灯と消灯の時間を変更する。してからHEXファイルを出力する。
Sketch>Export compiled Binary

HEXファイルはスケッチのフォルダに「スケッチ名.standard.hex」という名で作成される。
場所だけ確認してHEXファイルはいったん置いておく。

追記(2020/04/24/20:19)
 ST-Link V2経由のArduino IDEで書き込めるのでHEXファイルは必要ない。

Arduino IDEでの操作はここまで

※STMicroelectronics関連の準備


ST-Link V2のドライバをもらって来てインストールする。
https://www.st.com/ja/development-tools/stsw-link009.html

現時点では、en-stsw-link009.zip というファイルだった。
解凍して、64BIT環境なら dpinst_amd64.exe を実行する。

ST Visual Programmerをもらって来てインストールする。
https://www.st.com/ja/development-tools/stvp-stm8.html

en.stvp-stm8.zip を解凍して中身を実行する。

ボードボードとPCのUSBとをST-Link V2でつなぐ。

私の環境では電源用のUSBをつながないとエラーで書き込めなかった。
ちなみにこのUSB端子、データはつながってなくて電源専用だ。

USB端子でなくても、赤枠のどこかに電源をつなげば同じことだ。

追記(2020/04/24/20:19)
 STMicro製のプログラマーが必要だと思い込んでいた。
 Arduino IDEでも書き込めた。
  Progremmer: “ST-Link/V2”
  として通常通りUploadアイコンをクリックで書き込まれる。

 したがって、以下の手順は不要。

ST Visual Programmerを起動してConfigureから以下の設定にする。

先ほどArduino IDEで保存したHEXファイルはスケッチのフォルダにあるのでそれを読み込む。

最初、PROGRAM MEMORYタブにしてProgram current tab or active sectorsをクリックしたらエラーが出た。
Program all tabs でも同じエラーが出た。


OPTION BYTEタブにしてProgram current tab or active sectorsをクリックしたら書き込めた。

その後、Program all tabs をクリックでエラー無く書き込めた。
一度はOPTION BYTEを書き込まないといけないのかもしれない。
データシートどころか使い方さえ調べずにいきなりやっているのですべてが不明だ。
ただ、LEDは意図した通りの点滅をするので、一応書き込めてはいる。

Arduino IDEを起動しっぱなしで編集してHEXを書き換えると、やはり起動しっぱなしのST Visual Programmerがこれを検知して「変更されたけどどうする?」とたずねてくる。

なので、両者が連携しているようなもので、さほど手順が煩雑と言うわけでもない。

要は値段が安いのだけが取り柄なわけだが、さっき上のAliExpressのセラーを見てみたら、ちゃっかり送料が発生していた。


USBのデータ線がどこへもつながっていない以上、ブートローダもクソも無く、STM8S103F3P6単体を変換ボードに載せただけと考えた方がいい。

このエントリーをはてなブックマークに追加

Posted under: PIC以外


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.