(日々の記録)デジタルオシロを買った。次のテーマが見つからない。(日)STM8Sの開発環境を整備するSTマイクロ純正の開発環境に移行するのに苦労する(12/1/2012)販促基板のUSBローダーの部分だけが脚光を浴び、本体は見捨てられて不遇な境遇にあるSTM8Sプロセッサーに少しでも日を当ててやろうと、このところSTM8S-Discovery基板の開発環境を整備している。前回の記事ではフラッシュ32KBまで無償のRaisonanceのCコンパイラーと一緒にIDE(統合開発環境)であるRide7をインストールしたことをご報告した。Ride7だけではSTM8Sにプログラムを書き込めないようだ。プラグインのような形で別のプログラマーを組み込む必要がある。面倒なことになってきた。いくつかのSTM8S関連のサイトを見渡す。みなさん素直にSTマイクロの純正の開発環境をインストールされている。こちらの開発環境はSTVDとSTVPという2つの系に分かれており、使いにくそうなので敬遠していたのだが、Ride7のプラグインを探すより、正規の環境でやる方が安全だ。こだわるのはやめて、みんなの方法に従うことにした。ところがいざプログラムをダウンロードしようとしたら、開発用ソフトのzipファイルsttoolset.exeが見つからない。サイトの情報が古くなっていて所定のURLにはもうファイルがない。みなさんが使っているCosmicのCコンパイラーも無償提供が終わっている。考えてみれば、話題になってからもう3年近く経っているのだ。STマイクロのサイトは、STM32の頃、欲しいものが見つからないと散々悪態をついていたが、今度も大苦戦だ。色んなところを探し回って、やっと見つけた。実は、一番最近のこのサイトにはちゃんとダウンロードの仕方が書いてあったのだが見落としていた。サイトのネストが深いのである。Supportのタグを押さないとリンクが出てこないようになっていた。やれやれ慌て者だから、こういうミスが多い。混乱したのは、必要なファームウエアライブラリの名前が参考にしていたな主なサイト(さっきの平坂氏のサイトとここ)で変わっていて、最初は2つあるのかと勘違いしていた。旧の名前は、_fwlibで、新は_StdPeriph_Libになっており中身は同じである。いう開発環境の整備は、余り好きではない(人の言う通りに素直に動くのが嫌い)。ここを通らなければ何も進まないので仕方がない。AVRにしておけば何も苦労することはないのだが、乗りかかった船だ。降りるわけには行かない。黙々とディレクトリチェーンを作る。Develop)は、AVRStudioと開発したところが同じと見えて外観が似ており、アイコンなどは全く同じなのが面白い。ファームウエアライブラリを少し見てみる。8ビットマシンだけれど、生意気に結構、大層なライブラリー構成だ。USE_FULL_ASSERTをコメントにしてソースから削除。不必要)無事に稼動した。STM8S-Discoveryのボードは、デモ用にタッチパッドでLEDを制御するプログラムが元々焼かれている。開発環境のテストを兼ねて、このプログラムへの復元をやってみた。これは、もっと楽だった。落としてきたUM0834アプリケーションノートをそっくりプロジェクトにしてコンパイルし直したら、そのまま簡単に動いた。STM8Sは動いたようだ。次はUARTに行こう。UARTを作り替えようとしてはまる(12/3/2012)UARTはこうした組み込み系の開発にはモニター機能として欠かせない機能で、当研究所ではどんなチップでも、まずこれを動かすことを開発の基本にしている。UARTを使わないアプリケーションでも、フラッシュがある限り必ずつけて、本番のときとりはずす(メモリがあればデバッグ用に残す)。STM8Sでも当然のように、UARTの組み込みを始めた。LEDチカチカのソースを頂いたサイトにはもちろんUARTのサンプルソースもある。ありがたく参考にさせてもらう。ソースコードをコピー&ペーストで簡単に取り込んだ。割り込みを使った本格的なUARTだ。ハードは定番の秋月のUSB-UARTモジュールを使ってPCとつなぐ。モジュールはブレッドボードに差し、ジャンパーで接続する。ハードの準備はあっという間である。