車輪の再発明

電子工作とか信号処理とか、やってみたことの記録的なモノ

STM8S103F3P6でLチカしてみた

やってみたこと

OSX(El Capitan)にSTM8S103F3P6の開発環境を構築してLチカしてみました。つか、このマイコンボード界のトップランナーねこさんのやってることOSX上でトレースしてみただけってな感じ…。や、ホントにこちら以外では日本語の情報にまずお目にかかれないのでハゲシク感謝!

STM8S103F3P6ボード

Amazonで¥150の「HiLetgo STM8S103F3P6 STM8 ARM Minimum システム 開発ボード モジュール Arduinoと互換」。"ARM"とか"Arduinoと互換"てな清々しいまでのおかしな記述がありますけど動作は問題なさげです。

f:id:b09:20170612214445j:plain

開発環境的なもの

  • STM8S103F3P6 : ホンタイ
  • ST-LINK V2 : MACとSTM8ボードをつなぐアレ
    ※ ボードのUSBは電源供給のみなんですって
  • SDCC : コンパイラ
  • STM8FLASH : STM8ボードにプログラムをライト

SDCCのインストー

SDCCってのは"Small Device C Compiler"でありまして、STM8に対応したCコンパイラですね。詳細は http://sdcc.sourceforge.net/を熟読していただくのが良いかと。

んで!これのインストールはOSX用のバイナリが用意されてるんでラクラク。しかもダウンロードページの先頭にOSX用があったりしてちょっと嬉しかったりします。

ダウンロードしたファイルを解凍すると中にINSTALL.txtがあるんでそれに従って/Developer/sdccにファイルをコピー。

STM8FLASHのインストー

先人も苦労されていたようなのですがー、今まで自分でビルドとかしたことなかったんでアタフタ。

ターミナルを使って格闘。

$ git clone https://github.com/vdudouyt/stm8flash
$ cd stm8flash
$ make

pkg-configがないって言われたのでインストール。

$ brew install pkg-config

もー1回makeするとエラーが出た… ググると同じエラーでショゲテル方がいます。同志よ…

compile fails under MacOSX 10.11.1 “el Capitan” #24

xcode-selectてのをインストールすると解決するらしいので従う。

$ xcode-select --install

時間差でインストールするか?的なダイアログが出てきて腰がひけた…

再度、make。エラーは出なくなったんですけど"pointer is missing a nullability type specifier"てなウォーニン(グ)が155個もでて泣きたくなった…。とはいえバイナリができたので試しに実行。

$ stm8flash
Usage: stm8flash [-c programmer] [-p partno] [-s memtype] [-b bytes] [-r|-w|-v] <filename>
Options:
    -?             Display this help
    -c programmer  Specify programmer used (stlink or stlinkv2)
    -p partno      Specify STM8 device
    -l             List supported STM8 devices
    -s memtype     Specify memory type (flash, eeprom, ram, opt or explicit address)
    -b bytes       Specify number of bytes
    -r <filename>  Read data from device to file
    -w <filename>  Write data from file to device
    -v <filename>  Verify data in device against file
    -V             Print Date(YearMonthDay-Version) and Version format is IE: 20171204-1.0
    -u             Unlock. Reset option bytes to factory default to remove write protection.

なんか雰囲気が良さげなのでウォーニンは見なかったことにして適当なパスにコピー。

$ cp stm8flash /usr/local/bin

※このあとにLチカのソースをコンパインしてどーのこーのを書くつもりだったのに、1ヶ月以上も下書きにホッタラカシにされてたので、ひとまず公開してしまおうとゆーグズグズな…