4
4

More than 5 years have passed since last update.

いまさらSTM8

Last updated at Posted at 2018-09-10

10年以上前の古いマイコンですが、使う必要があったので、備忘録として残しておきます。

手順

  • ツールのインストール
  • STLINKドライバのインストール
  • STM8SDiscoveryの入手
  • 標準ライブラリの入手
  • Lチカ
  • サンプルコードを動かしてみる

ツールのインストール

STVD(ST Visual Developer)

IDEのSTVDをダウンロードします。無料です。以下のURLからダウンロードします。会員登録が必要です。
https://www.stmcu.jp/design/sw_dev/pc_soft/52941/
STVD_download.png
ダウンロードが終わったらzipファイルを展開し、インストーラーを動かしてインストールします。基本的に手順に従えば問題なくインストールできます。

COSMIC STM8

CコンパイラのCOSMIC STM8をダウンロードします。無料です。以下のURLからダウンロードします。会員登録が必要です。
http://www.cosmic-software.com/download.php#stm8
cosmic_download.png
ダウンロードが終わったらexeファイルを実行し、インストールします。進めていくとアクティベーションの手順になります。
ここのチェックを忘れないようにしてください。
cosmic_activation.png
アクティベーションで最後に「On the Web」ボタンを押します。
cosmic_activation2.png
Webページから必要な情報を入力し、登録します。登録したメールアドレスに1年間有効の無料ライセンスファイルが送られてきます。
送られてきた「license.lic」ファイルを以下のフォルダにコピーします。
C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\License
これでCOSMIC STM8 Cコンパイラは有効になります。

STVDとCOSMIC STM8のリンク

STVDを起動して、メニューのTools→Optionsからダイアログを開きます。
Toolsetのタブを開いて、STM8 Cosmicを選んで、Root pathに
C:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8
を設定します。
stvd_cosmic.png

これでコンパイラとIDEの準備はOKです。

STLINKドライバのインストール

STLINKドライバをダウンロードします。無料です。以下のURLからダウンロードします。会員登録が必要です。
https://www.stmcu.jp/design/sw_dev/pc_soft/53405/
ダウンロード後zipファイルを展開してstlink_winusb_install.batをダブルクリックします。

さらに
C:\Program Files (x86)\STMicroelectronics\st_toolset\stvd\dao
にある
ST Toolset.msi
を右クリックしインストールします。

STM8SDiscoveryの入手

色々入手先はあると思いますが、ここではchip1stopを紹介します。
https://www.chip1stop.com/USA/en/view/searchResult/SearchResultTop?zaikoFlg=true&makerCd=STMI&keyword=STM8S-DISCOVERY&cid=STM8S-DISCOVERY

標準ライブラリの入手

STM8用の標準ライブラリをダウンロードします。無料です。以下のURLからダウンロードします。会員登録が必要です。
https://www.stmcu.jp/design/sw_dev/firmware/52859/
stm8spl_download.png
適当なフォルダに展開します。日本語が入っていると、この後コンパイラが動作しないので、英語で空白無しのフォルダがいいと思います。

Lチカ

標準ライブラリのSTM8S_StdPeriph_Lib\Projectフォルダに移動します。STM8S_StdPeriph_Templateをコピーして「blinky」という名前にします。blinkyは読み取りのみに設定しているファイルを含んでいるので、読み書き出来るようにプロパティを変更します。

STVDを起動して、File→Open Workspaceから、STM8S_StdPeriph_Lib\Project\blinky\STVD\Cosmic\Project.stwを開きます。

STM8S-DiscoveryにのっているSTM8はSTM8S105なので、STVDでSTM8S105を選びます。
stm8s105.png

main.cの中を以下のように書き替えます。

/* Private function prototypes -----------------------------------------------*/
static void Delay(uint32_t t);
/* Private functions ---------------------------------------------------------*/

void main(void)
{
    GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_HIGH_FAST);
  /* Infinite loop */
  while (1)
  {
        GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
        Delay(10000);
  }

}

static void Delay(uint32_t t)
{
    __IO uint32_t n = t;
    while (n--) {
        nop();
    }
}

メニューのBuild→Buildからコンパイルしてエラーがないことを確認してください。

メニューのDebug InstrumentsからTarget Settingsをクリックしてダイアログを開きます。
debug_inst.png

SWIM_STLINKを以下のように選択してダイアログを閉じます。
swim_stlink.png

STM8S-DiscoveryをPCにUSB接続し、STVDのDebug→Start Debuggingでデバッグを開始してください。

接続したらメニューのDebug→Continueでプログラムを実行します。LD1の緑色のLEDが点滅すれば成功です。

デバッガをDebug→Stop Debuggingで停止して、STVDを終了してください。

サンプルコードを動かしてみる

STM8S_StdPeriph_Examplesに各種サンプルコードがあるのですが、残念ながらSTM8S-Discovery用はほとんどありません。サンプルコードを参考にして自分で動かしてみてください。

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4