STMicroのライブラリとRaisonance Cコンパイラをつかい、割り込み処理でLEDを点滅させるSTM8S-DISCOVERY用プログラムの全手順

ツールのダウンロードから、インストール、ツールの使い方まで全てを網羅した決定版的解説!!!

ファイルのダウンロード  (2011.8現在)
開発ツール(STVD)のダウンロード
ファームウエアライブラリのダウンロード
プログラマのダウンロード
Cコンパイラのダウンロード

インストール  (2011.8現在)
C コンパイラのインストール
開 発ツール(STVD)のインストール
ファー ムウエアライブラリのインストール
LED 点滅プログラムの作成
STM8S DISCOVERYにLED点滅プログラムを焼く

LED点滅プログラムのworkspaceのzipファイルのダウンロード



開発ツール (STVD) のダウンロード     (トッ プへ戻る)

●こちらから入る.
http://www.st.com/internet/mcu/product/215105.jsp

●design supportタグをクリックする.


●下の方にSTVDというリンクがある.


●design supportのタグをクリックする.


●下の方にTOOLSETSという項目がある.その中のリンクを2つともダウンロードし保存する.






ファー ムウエアライブラリのダウンロード     (トッ プへ戻る)

●こちらから入る.
http://www.st.com/internet/mcu/product/215105.jsp

●design supportタグをクリックする.


●下の方にFIRMWAREという項目がある.その中の STM8S/A Standard peripheral library をダウンロードし保存する.




プログラマのダウン ロード     (トッ プへ戻る)

●こちらから入る.
http://www.st.com/internet/mcu/product/215105.jsp

●design supportタグをクリックする.


●下の方にSW DEMOSという項目がある.その中の STM32 and STM8 Flash loader demonstrator ......をダウンロードし保存する.






Cコンパイラのダ ウンロード     (トッ プへ戻る)

●ここから入る.    http://www.raisonance.com/

●右上のMICROCONTROLLERをクリック.
raisonance-top

●DOWNLOADSをクリックする.
raisonance-goto-downloads

●Support Extranetの文字をクリックする.


●下方のcreate an accountの文字をクリックする.
create-an-account

●register画面が現れるので、好みのusernameとe-mailを入力し.、signupをクリックする.
reisonance-name-address

●アカウント作成成功のメッセージが出る.あとでemailを送るのでそれを見てねと言ってます.
registration-processed

●登録したメールアドレスに下記のようなメールが届く.
あなたはユーザーネームhirasakaでアカウントを持っています.
registrationを進めるために次のURLへ行ってください.
ということが書かれているので、http://以下のURLを開く.

Thank you for registering. You have an account with username "xxxxxxx". In
order to complete your registration, visit the following URL (make sure it is
entered as the single line) and set your own access password:

http://support-raisonance.com/extranet/home/index.php?param=verify&id=2165&confirm_hash=XXXXXXXXXXXXX

If you did not request any registration, ignore this message and nothing will happen.

Do not reply to this message

●開いたページに好みのパスワードと、名前を入力し、update userをクリック.


●パスワードと名前の設定が成功しました、のメッセージ画面がでる.Proceedをクリックする.


●loginできたので右上に自分のIDが表示される.また、login前には表示されなかったDownloadが表示される.
Downloadにマウスを合わせると現れるMCU Toolsをクリックする.
                               



●表示されたページの一番下にdownload可能なファイルが出てくる.


●まずRideをダウンロードします.


●ページを下にスクロールし、右下のほうにある矢印をクリックしてファイルをダウンロードする.


●ブラウザの「戻る」ボタンで1つ前のページに戻ります.下の方にあるRKit-STM8をクリックします.


●下の方にあるRKit-STM8の矢印をクリックし、ファイルを保存します.


●Raisonance社からシリアルキーをもらいます.Generate and Send Serial keyをクリック.
ここで注意するべきことは、あなたがこのアプリソフトをインストールしたいPCでこの操作をしなくちゃいけないということです.
たぶんNIC cardのナンバーでPCを識別しているんだと思います.そこだけ注意しましょう.


●次のメッセージが表示されます.あなたにserial keyのメールを送りましたよと言ってます.


●私のところに送られてきたserial keyメールはこの内容でした.

Dear XXXXX,
You requested a serial key for the RKit-STM8 tool. Please find bellow this serial key, that will be necessary to perform the tool registration:
- Serial key: XXXX-XXXX-XX-XXXX-XXXX
For questions regarding your support contract, send mail to support@raisonance.com
Thank you for choosing Raisonance tools.
Best Regards,
Raisonance Support Team
Do not reply to this message.

以上で、reisonance C compilerのダウンロードは完了です.




Cコンパイラのイ ンストール     (トッ プへ戻る)

●下図のフォルダは、ダウンロードしたファイルと、受け取ったserial keyメールを置いた状態です.
インストールは、Ride7→RKit-STM8S→serial keyの順番でなければなりません.
したがって、まずはRide7_XXXXXXXX.exeをクリックしてインストールを開始します.


●はいをクリックします.


●解凍しています.


●Install Ride7 or its components をクリック.


●Start installをクリック


●I agreeをクリック


●インストールの準備中


●インストール中


●RLinkは使いませんので、キャンセルをクリック.


●Ride7のインストールは完了です.Finishをクリック.


●つぎにRkit-STM8をインストールします.RKit-STM8_XXXXX.exeをクリックして起動します.


●はいをクリック.


●解凍中


●Install Ride7 or its components をクリック.


●Start installをクリック


●I agreeをクリック


●インストールの準備中


●インストール中


●RKit-STM8Sのインストールは完了です.Finishをクリック.


●つぎに、serial keyをRideに設定して使えるようにします.windowsのスタートメニューからRide7を起動します.


●ライセンス状況が表示されます.RKit-STM8のライセンスがDemo-7 evaluation days left! となっています.つまり、このままでは7日間しか使えませんよという意味です.OKを押して次に進みます.


●キーボードショートカットを旧いバージョンのRide6と同じにしたいか、それともVisual Studioと同じにしたいかを聞かれます.私はどっちでもよいのでYes,...の方をクリックしました.



●Ride7の統合開発環境画面が表示されます.


●Help → License をクリックします.


●ここで、
「Administrator権限でライセンスを設定せよ」というメッセージが出ることがあります.
これはwindows7のUAC設定が厳しいから出るメッセージです.
これが出るとライセンスを設定できませんので、UACを緩和しなくちゃいけません.


●UACを緩和します.
コントロールパネルから、ユーザーアカウントを開き、ユーザーアカウント制御設定の変更をクリックします.


●バーを一番下に動かして、OKを押します.


●いいですか?と聞かれるのでOKをクリック.


●めんどくさいですが、PCを再起動します.

●PC再起動後に再度Ride7を起動し、メニューからHelp→Licenseをクリックすると、今度は次に進めるはずです.


●Serial Activationをセレクトして次へをクリック.


●Raisonanceのダウンロードの最後のところで下記のe-mailを受け取りました.その中に書かれたSerial keyのところを、ダイアログのSerial Keyのところにコピペします.次へをクリックします.

Dear XXXXXX,
You requested a serial key for the RKit-STM8 tool. Please find bellow this serial key, that will be necessary to perform the tool registration:
- Serial key: XXXX-XXXX-XX-XXXX-XXXX
For questions regarding your support contract, send mail to support@raisonance.com
Thank you for choosing Raisonance tools.
Best Regards,
Raisonance Support Team
Do not reply to this message.



●すると画面が変わって、Get Activation code online をクリック.その後にメールを待つと再びRaisonanceのサーバからメールが来ます.


●webに新しい画面が表示されます.


●*の所に追記します.Generate and Send Activation code をクリックします.


●あなたにe-mailを送りましたというメッセージがweb画面に表示される.


●Raisonanceからメールが届きます.私の所に来たメールはこのような内容でした.

Dear XXXXXX,
With the serial key XXXX-XXXX-XX-XXXX-XXXX, you have requested the generation of an activation code for RKit-STM8 for the DELL computer.
Please fill the following activation code in the license dialog box.
- Activation Code: XXXXXX-XXXXXX-XXXXXXX-XXXXXXX
This registration has created an account on the Raisonance support website, if you have not created one before. You will now be directly informed about software releases and you will be able to report issues for RKit-STM8.
Thank you for choosing Raisonance tools.
Best Regards,
Raisonance Support Team
Do not reply to this message.

●Activation Codeにe-mailに書かれたactivation codeをコピペします.完了をクリック.


●Licenseが正しく設定されたかを確認します.Ride7のメニューからHelp→About Ride7をクリック.


●RKit-STM8のLicenseが、Lite Suiteに変わりました.これで完了です.






開発ツー ル(STVD)のインストール     (トッ プへ戻る)

●ダウンロードした2つのファイルの確認です.
sttoolset_pack24_patch.zipはアップデートのためのパッチファイルです.
まずは、sttoolset.zipからインストールします.sttoolset.zipをダブルクリックする.


●中身のsttoolset.exeをダブルクリックして起動する.


●セットアップの準備中


●nextをクリック


●I accept ....をチェックし、Nextをクリック


●Nextをクリック


●Nextをクリック


●STVD and STVP shortcutsをオンにして、Nextをクリック.


インストール中


●パラレルポートを持たないPCの場合は、パラレルポートドライバはインストールしませんがいいですねという確認ダイアログが出ますので、OKをク リックして次へ進んでください.


●パラレルポートを持つPCの場合は、パラレルポートドライバをインストールするかどうかを尋ねてきますので、いいえをクリックして次へ進んでください.


●パラレルポートを持つPCの場合は、パラレルポートドライバをインストールしないけど大丈夫かと追確認を求められますので、はいをクリックして次へ進ん でく ださい.


●PCを再起動してくださいと確認を求められます.


●PCによっては、MS VC++ 2005のランタイムルーチンを自動的にインストールします.
このダイアログは出ないこともあります.


●チェックを外してnextをクリックします.


●あとで再起動しますをオンにして、Finishをクリック.


●つづいてアップデートファイルをインストールします.
sttoolset_pack24_patch.zipをダブルクリックして起動します.


●その中のsttoolset_pack24_patch.exeをダブルクリックして起動します.


●セットアップの準備中


●Nextをクリック.


●Nextをクリック.


●インストール中.


●パラレルポートを持つPCの場合は、パラレルポートドライバをインストールするかどうか聞いてきますので、いいえをクリックして先へ進んでください.


●チェックを外してNextをクリック.


●Finishをクリック.

●デスクトップ上には、開発ツールであるSTVisual Develop(STVD)と、プログラマであるSTVP のショートカットができています.







ファー ムウエアライブラリのインストール     (トッ プへ戻る)

●projectを置くフォルダを決めます.
ここでは、
C:\Users\XXXX\Documents の下にSTVDというフォルダを作り、そこにprojectフォルダを置くことにしてインストールを進めて行きます.XXXXのところには皆さんの user nameが入ります.(もちろん、みなさんが好みのフォルダ構成で進めてもOKです)
下図のように、STVDフォルダを作ります.

以降では、STVDフォルダ直下の相対アドレスで書きます.


●ダウンロードしたSTM8用ライブラリファイルです.


●解凍します.


●STM8S_StdPeriph_Lib_V2.0.0 を、STVD直下にコピーします.


STM8S_StdPeriph_Lib_V2.0.0 の中身はこうなっています.
incとsrcがライブラリの本体です.


●STM8Sに存在しない回路のソースファイルを消します.フォルダの場所は

STVD\STM8S_StdPeriph_Lib_V2.0.0\Libraries\STM8S_StdPeriph_Driver\src

です.下記の赤線のファイルを削除します.


STVD\STM8S_StdPeriph_Lib_V2.0.0\Libraries\STM8S_StdPeriph_Driver\inc\stm8s.h
を書き換えます.
STM8S105のコメントを外して保存します.これで、ライブラリにSTM8S105だよと指定しています.

 /* #define STM8S208 */      /*!< STM8S High density devices with CAN */
 /* #define STM8S207 */      /*!< STM8S High density devices without CAN */
 /* #define STM8AF52Ax */    /*!< STM8A High density devices with CAN */
 /* #define STM8AF62Ax */    /*!< STM8A High density devices without CAN */
    #define STM8S105         /*!< STM8S Medium density devices */
 /* #define STM8AF626x */    /*!< STM8A Medium density devices */
 /* #define STM8S103 */      /*!< STM8S Low density devices */
 /* #define STM8S903 */      /*!< STM8S Low density devices */

STM8S_StdPeriph_Lib_V2.0.0 の下にある、stm8s-a_stdperiph_lib_um.chm のことは憶えておきましょう.
このファイルはライブラリの解説書です.ライブラリについて困ったときはこのファイルを見ます.英語ですけど.


以上でライブラリのインストールは終わりです.





LED 点滅プログラムの作成      (トッ プへ戻る)

ここで作るworkspaceをこのページのトップにあるリンクからダウンロードできます.
解凍して、test01.stw をSTVDで開けるはずです.

●STVDを起動します.

●メニューからNew Workspaceを選択する.


●Create workspace and projectを選択しOKをクリック.


●Workspace filenameにtest01を記入する.フォルダ指定ボタンをクリック.


●マイドキュメントの下につくってあるSTVDフォルダを指定する.

●STVD\test01 フォルダをつくる.


●test01を指定してOKをクリック.


●フォルダが作成されました.OKをクリック.


●OKをクリック.


●ToolchainにRaisonanceを選択.Toolchain rootに
C:\Program Files (x86)\Raisonance\Ride を指定します.
OKをクリック.
(WindowsXPの場合は
C:\Program Files\Raisonance\Ride になります)


●CPUを選びます.ここではSTM8S105C6を選びます.



●Workspaceタブに関連するファイルが表示されます.
でもこの時点では、自動的に用意された main.c だけしかありません.


●prpject settingを少々いじります.メニューからProject→settingsをクリック.


●出てきた画面のタブを右の方にたぐってゆくと、Linkerタブがあります.下図のようにチェックを入れます.
それと、
rmun SCINAME(STM8S105)
を記入します.mとnの文字を間違えないようにね.
OKをクリックして抜けます.

2011.10追記:Run Code Compressorにチェックを入れるとerrorで止まることがありました.
もしSTVDのビルドで下記のようなerrorメッセージが出たら、このチェックを外してみてください.


ccompst7_7.exe Debug\test02.aof -O(Debug\test02.aof) -AOF -NOHEX -C -T(2)

ST7/STM8 CodeCompressor V2.38.11.251
Copyright (c) Raisonance S.A.S. 1987-2011. All rights reserved.
Program exceeds the demo CodeCompressor limitations.
 Can not load the Application file!
 The command: "ccompst7_7.exe Debug\test02.aof -O(Debug\test02.aof) -AOF -NOHEX -C -T(2)" has failed, the returned value is: 2
exit code=2.




●つぎにライブラリフォルダの設定をします.メニューからTools→Options...をクリック.


●でてきた画面のToolsetタブをいちおう確認します.Raisonanceが選択されていて、各フォルダ設定が下図のようになっていることを確認し ます.


●Directoryタブにライブラリフォルダを追加します.この2つを追加してください.手順を示します.
STVD\STM8S_StdPeriph_Lib_V2.0.0\Libraries\STM8S_StdPeriph_Driver\inc
STVD\STM8S_StdPeriph_Lib_V2.0.0\Project\Template










●念のためここでデバッガの設定もしておきましょう.


●出てくる画面で次のように設定し、OKをクリックします.


●workspaceのファイル設定をします.Include Filesを消します.


●ライブラリファイルを入れるstdlibという名前の新しいフォルダを作ります.




●つくったstdlibフォルダにライブラリソースファイルを追加します.
ソースファイルの場所は、
STVD\STM8S_StdPeriph_Lib_V2.0.0\Libraries\STM8S_StdPeriph_Driver\src
です.
この中にある*.cファイルを全部追加します.全部は不要なのですが、いちいち考えるのもめんどくさいので全部一気に追加してしまいましょう.   (ラ イブラリのインストールのところで不要なファイルを消去したのはこの準備でした)




●main.cの雛型を、下記フォルダから、
STVD/test01フォルダに上書きコピーします.
STVD\STM8S_StdPeriph_Lib_V2.0.0\Project\Template\main.c

●main.cを開き編集します.下記のようにすればいいです.コピペすればいいでしょう.関数の説明はここでは省きます.
このプログラムは、割り込みを使っています.また、タイマーとGPIOの制御にライブラリを使っています.


#include "stm8s.h"

#define CLKF 16000000
#define ARR  5000
#define INTF (CLKF/ARR)

static u16 cnt=0;

void TIM3_UPD_OVF_BRK_IRQHandler(void) interrupt 15
{
  TIM3_ClearFlag(TIM3_FLAG_UPDATE);
  cnt++;
    if(cnt==(INTF/2-1)){
    GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
        cnt=0;
  }
  return;
}

void main(void)
{
    CLK_ClockSwitchConfig ( CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE );
    GPIO_Init(GPIOD, 0b00000001, GPIO_MODE_OUT_PP_HIGH_FAST);
    GPIO_Write(GPIOD, 0);
  TIM3_TimeBaseInit( TIM3_PRESCALER_1, ARR );
  TIM3_ITConfig(TIM3_IT_UPDATE, ENABLE);
  TIM3_Cmd(ENABLE);
  enableInterrupts();
  while (1) {    }
}

#ifdef USE_FULL_ASSERT
void assert_failed(u8* file, u32 line)
{
  while (1)  {  }
}
#endif




LED 点滅プログラムのコンパイル(ビルド)     (トッ プへ戻る)

●メニューのBuild→Buildをクリック.


●画面の下の方にあるBuildタブにメッセージがスクロールアップしてゆき、最後の方はこんな表示で終わると思います.
最後の行の 0 error(s) が出ればOKです.

Running Post-Build step
omf2hex Debug\test01.aof hexext

OMF to HEX/BIN converter V6.10.11.251
Copyright (c) Raisonance S.A.S. 1987-2011. All rights reserved.
GENERATING EXTENDED HEX FILE: DEBUG\TEST01.HEX
omf2hex Debug\test01.aof BIN

OMF to HEX/BIN converter V6.10.11.251
Copyright (c) Raisonance S.A.S. 1987-2011. All rights reserved.
GENERATING BINARY FILE FOR PAGE 00 : DEBUG\TEST01.BIN
  => Content from 0x8000 to 0x8587

test01.elf - 0 error(s), 2 warning(s)




STM8S-DISCOVERYにLED 点滅プログラムを焼く     (トッ プへ戻る)

●STM8S-DSCOVERYを、PCにUSBケーブルで接続します.

●STVPを起動します.

●メニューから、File→Openをクリック.


●STM8Sに焼くファイルを指定します. STVD\test01\Debug


●PROGRAM MEMORYタブをクリックします.


●焼きます.赤い矢印のボタンを押します.


●焼いただけでは、CPUが動き始めないので、STVPをクローズします.

すると、LEDが1秒ごとに点滅しているはずです.

以上ですべての工程はおしまいです.

inserted by FC2 system