FrontPage

2011/10/02からのアクセス回数 6907

STM8S-Discoveryの復活

ねむいさんのぶろぐSWD専用Versaloonクックブック のハンダ付けにギブアップして諦めていたSTM8S-Discoveryを見事復活させ、SWD版Versaloonにする方法を紹介します。

元ネタは、 Bingo氏のサイト で紹介されている STM32 DiscoveryのVersaloon化の手順書 です。

私の方法は、トラ技オフ会で頂いたSTM32L-DiscoveryのST-LINK機能を使ってfirmwareをSTM8Sに書き込むのがポイントです。

STM32L-DiscoveryをST-LINKにする

STM32LのCN3のジャンパー線を外すとSTM32LをST-LINKとして使うことができます。

STM32L-Jumber.png

STM8Sとの接続

STM32LのSWDのピンコネクタの上から1番ピン

2 SWCLK
3 GND
4 SWDIO
5 TNRST

STM32L-J_LINK.png

STM8SのCN5のJTAGピンに接続します。

4 SWCLK (JTCK)
5 SWDIO (JTMS)
7 GND 
8 JNRST

STM8S-J_LINK.png connector.png

ST-LINK Utilityを使ってfirmwareを書き込む

VersaloonのfirmwareをSTM32LのST-LINKで書き込みます。 使用するアプリケーションは、STの純正ユーティリティST-LINK Utilityです。

ST-LINK Utilityのインストール

ST-LINK Utilityは、以下のサイトからダウンロードし、インストールします。

firmwareのダウンロード

今回のOpenOCDに合ったfirmwareは、 Vsprog SWD working on STM8 and STM32VL embedded debuggers によると、

です。

これを展開し、STM8S/No-Bootloader/Versaloon_GCC-SVN.819-STM8S-offs-0x0000.hexをWindowsにコピーします。

firmwareの書き込み

STM32とSTM8Sを以下のように接続します。

STM8S書き込み.png

ST8Sのfirmwareは、そのままではRead Protectが掛かっているので、最初にこれを外します。

  • メニューからTarget→Option Bytes...を選択
  • Read Out ProtectionからDisabledを選択します

read protection解除.png

  • メニューからOpen file...を選択し、STM8S/No-Bootloader/Versaloon_GCC-SVN.819-STM8S-offs-0x0000.hexを選択
  • DownloadダイアログのProgamボタンを押す

&ref(): File not found: "正常に書き込み後の画面.png" at page "arm/STM8S-DiscoveryをVersaloonにする簡単な方法";

これで、STM8SのVersaloon化は完成です。(簡単でしょう!)

書き込みテスト

実際にARMマイコンパーフェクト学習基板にプログラムを書き込んでみます。

STM8SのCN7の左から1番

2 SWDIO
3 GND
4 SWCLK

をARMマイコンパーフェクト学習基板のP1コネクタの左から1番

2 SWIO
3 SWCLK
8 GND

に接続します。

STM8S-TRG.png

書き込みは無事成功しました。

Versaloon(0x32)by Simon(compiled on Aug 14 2011)

の0x32がどうやらSTM8SのVersaloonの識別子みたいです。

$ /usr/local/bin/openocd -f interface/vsllink_swd.cfg -f target/lpc1343_swd_flash.cfg -c "mt_flash main.elf"
Open On-Chip Debugger 0.5.0-dev-00783-g0123985-dirty (2011-10-02-18:39)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.berlios.de/doc/doxygen/bugs.html
Warn : must select a transport.
Info : OpenOCD runs in SWD mode
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
Info : OpenOCD runs in SWD mode
Info : Versaloon(0x32)by Simon(compiled on Aug 14 2011)
Info : USB_TO_XXX abilities: 0x00000009:0x00000040:0xC0000006
Info : RCLK (adaptive clock speed)
Info : lpc1343.cpu: hardware has 6 breakpoints, 4 watchpoints
target state: halted
target halted due to debug-request, current mode: Thread 
xPSR: 0x21000000 pc: 0x000004b0 msp: 0x10001fc8
flash 'lpc2000' found at 0x00000000
auto erase enabled
wrote 4096 bytes from file main.elf in 0.492170s (8.127 KiB/s)
verified 2968 bytes in 0.126431s (22.925 KiB/s)
requesting target halt and executing a soft reset
target state: halted
target halted due to breakpoint, current mode: Thread 
xPSR: 0x01000000 pc: 0x000000c0 msp: 0x10001fe0
shutdown command invoked

コメント

選択肢 投票
おもしろかった 18  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。


(Input image string)


添付ファイル: fileSTM8S-J_LINK.png 616件 [詳細] fileSTM8S-TRG.png 633件 [詳細] fileSTM8S書き込み.png 652件 [詳細] fileread protection解除.png 552件 [詳細] fileSTM32L-J_LINK.png 647件 [詳細] fileconnector.png 569件 [詳細] fileSTM32L-Jumber.png 579件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-01-30 (金) 09:25:00 (935d)
SmartDoc