フォト
無料ブログはココログ

MyList

« 急ぎの仕事はないけど「残業しろ」 <相手の忖度力を期待しないで伝える> | トップページ | 失敗の科学 改善すべきは、人間の心理を考慮しないシステム »

2018年5月28日 (月)

STM8SをVersaloonで

 今年の大型連休にふと思い立ち、ジャンク化しているSTM8S-Discoveryを引っ張り出してきた。このボードは、ターゲットCPUはSTM8S105C6でST-Linkが付いていて安価なボードだ。

 ST-Link部分にはSTM32F103が乗っている。

Versaloon

ちょっと前に、ねむいさんの記事を参考にして、この部分を改造してSWD I/F用のVersaloon互換にして使っていた。

 残った、STM8Sは使うあてもなくジャンク化していたのだが、何か動かしてみないともったいないお化けが出てきそうだ。

Stm8sdiscovery

 ということで、
コンパイラはSDCCが使える。ライタはVersaloonが使える、書き込みソフトはVersaloonに対応したvsprogというツールを使うことにした。

 vsprogは以前にインストールした記憶はあるのだが、パソコンを変えてからインストールしていない。 バイナリがあったと記憶しているのだがVersaloonの本家サイトが無くなっていてドキュメントがない。 githubからソースを落としてきてmakeした。

ところが、vsprogでフラッシュが読み書きできない。

 SWIMをサポートしていないと言われる。 でも、VersaloonとOpenOCDでstm32のデバッグができているのでVersaloonは動いているようだ。

 STM8のフラッシュメモリの読み書きにはSWIMというインタフェースを使う。 SWIMが使えるのは、STM8x-Discoveryか純正ST-LinkかVersaloonだ。

 STM32F0-DiscoveryやNucleo401のST-LINKはSWD専用になっているので使えない。

 STM8S-DiscoveryのST-LinkはSWIM専用だ。 VersaloonはSWDにもSWIMにも対応しているというので改造したのだがSWIMが使えない。

Versaloon本家のサイトが閉じているようなので、ソースを読んでみることにした。 ヘッダファイルから読み始めると、だんだん思い出してきた。

 dongle/firmware/Projects/Versaloon/GCC/makefile中のHW_BOARD=STM8SDiscoveryにしてmailするとファームウェアができて、それをJTAG-KEYそっくりさんでSTM8SDiscoveryのST-Link部分に書き込んだはず。

 STM8SDiscovery.cfgを見ると、SWIMは0になっている。つまりこのファームウエアは対応していないということ。 orz

 SWIMを1にしてmakeするとエラーがたくさん出る。 ソースを真面目に読まないといけないようだ。 サイトは閉じているしなあ。

 STM8にはUARTから使えるbootloader機能があるのでUARTがあればファームウエアは書けるようだ。

ところが、bootloaderを有効にするためにはオプションバイトの値を書き換えなければならない。 オプションバイトを書き換えるにはSWIMで書き換えるしかないようだ。

 ということで、ST-Linkを買うことにした。そっくりさんだけど。
Amazonで探すと同じような製品が沢山出てくる。その中で一番安いやつを注文した。

 注文の翌日に発送にお知らせメールが来たが、5日~12日かかるという。 国内のストックではなく大陸から直接来るのか。


最近の投稿】【最近のCPUボード】【2017の投稿】【2016の投稿】【2015の投稿

« 急ぎの仕事はないけど「残業しろ」 <相手の忖度力を期待しないで伝える> | トップページ | 失敗の科学 改善すべきは、人間の心理を考慮しないシステム »

CPUボード」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: STM8SをVersaloonで:

« 急ぎの仕事はないけど「残業しろ」 <相手の忖度力を期待しないで伝える> | トップページ | 失敗の科学 改善すべきは、人間の心理を考慮しないシステム »