USBSPYDER08を調べる

HCS08シリーズマイコン用の低価格開発ツールがでてきました。 その名もUSBSPYDER08。 どんな物だか、さっそく調べてみましょう。

USBSPYDER08本体

パッケージを眺める

今までのフリースケールの開発ツールは、ゴツイ段ボール箱に入っていたのですが、 この開発ツールのパッケージは、実に簡素です。

USBSPYDER08パッケージ

中を見ると、CD-ROMと本体が入っているだけで、 紙の説明書もケーブル類も入っていません。

USBSPYDER08パッケージ内部

"Quick Start Guide"は、表紙の裏にありました。

USBSPYDER08パッケージ見返し

本体を眺める

次に本体を眺めてみましょう。

USBSPYDER08本体

本体は、USBメモリのような形をしていますが、18mmとかなり厚みがあります。

USBSPYDER08本体のキャップをはずす

両端のキャップをはずすとコネクタが露出します。 写真の左側がUSBコネクタで、右側がBDMコネクタです。

USBSPYDER08本体に搭載されたMCU

USBSPYDER08に搭載されているMCUは、 ホームページなどではDIP8パッケージのMC9S08QG8と記載されていました。 写真では判断しにくいのですが、実際に搭載されていたのは、MC9S08QG4でした。 やはり、DIP8パッケージのMC9S08QG8は、ガセだったのか?

MCUの隣には、8ピンのヘッダが実装されており、 MCUのすべての端子を引き出せるようになっています。 ただ、そこまでして、ツール上のMCUを使いたいかというと疑問だと思います。

USBSPYDER08本体のBDMコネクタ

BDMコネクタ側のキャップには、穴が開いているため、 キャップを閉めた状態でもBDMコネクタを使用することができます。

USBSPYDER08本体にBDMケーブルをつなぐ

実際に使用するときには、こんな感じになるでしょう。

QG4のプログラミング

まずは、USBSPYDER08に搭載されているMC9S08QG4にプログラムを書き込みます。 USBSPYDER08には、LEDが一個だけ搭載されており、MCUの8番ピンに接続されています。 MC9S08QG4の8番ピンには、タイマのチャネル0(TPMCH0)が割り当てられていますから、 "Processor Expert"による0行コーディングでLEDを点滅させてみます。

新規プロジェクトを作成する

プロジェクトを作成する手順は、 DEMO9S08QG8を使用していたときと何ら変わりません。 ”CodeWarrior"の「File→Startup Dialog...」メニューから "Create New Project"ボタンをクリックします。 プロジェクトを作成するときに与えるパラメータは、以下の通りです。

プロジェクト作成時のパラメータ
Device and Connection
Select the derivative you would like to use
HCS08 → HCS08Q Family→ MC9S08QG4
Connections
"SofTec HCS08"を選択する
Project Parameters
Please select the set of languages to be supported initially. You can make multiple selections.
"C"のみチェック
Project name
SpyFlash1
Add Additional Files
Add existing files to the project
何も選択しない
Processor Expert
Rapid Application Development Options:
"Processor Expert"を選択する
C/C++ Options
Which level of startup code do you want to use ?
"ANSI startup code"を選択する
Which memory model shall be used ?
"Small"を選択する
Select the floating point format supported.
"None"を選択する
PC-Lint
Do you want to create a project set up for PC-lint(TM) ?
"No"を選択する
Select CPUs
Select CPU pin variants.
"MC9S08QG4CPA 8-pins PDIP"を選択する
Select Configurations
Select supported configurations - for all CPUs.
"Debug"のみ選択する

ビーンを設定する

次は、ビーンの設定です。 使用するビーンは、"Programable Pulse Generation (PPG)"だけです。

ビーンのプロパティ設定
CPU Internal Periphearls → Timer → PPG
Bean NamePPG1
Period1.0 sec
Starting pulse width0.9 sec

パルス周期を1.0秒に最初のパルス幅を0.9秒に設定すると、 1.0秒ごとに0.1秒だけLEDが点灯します。

コンパイルする

"Make"ボタンをクリックすると"Processor Expert"によってプログラムが生成され、 コンパイルが行われます。 エラー表示がなければ、これでプログラミングは終了です。

デバッガによる実行

最後にUSBSPYDER08にプログラムを書き込み実行します。

プログラムの書き込み

最初に"USBSPYDER08"をPCのUSBコネクタに接続します。 初めて"USBSPYDER08"を接続すると、「新しいハードウェアの検出ウィザード」が開きますので、 デバイスドライバをインストールします。

"Debug"ボタンをクリックするとデバッガが呼び出され、"Target Connection"ダイアログが開きます。

Target Connectionダイアログ

ダイアログに以下のような値を入れます。

Target Connectionダイアログの設定
Hardware Model
Code:
"USBSPYDER08"を選択する
Device
Device code:
"MC9S08QG4"を選択する

"Connect"ボタンをクリックするとプログラムが書き込まれてリセット直後の状態で いったん停止します。

プログラムを実行する

"Start/Continue (F5)"ボタンをクリックすると"USBSPYDER08"が点滅を始めます。

USBSPYDER08は、ここがすごい

USBSPYDER08って、実はすごいんです。

消去&書き込みを確認しない

今まで、"P&E Microsystems"のUSB-to-BDMインターフェースが搭載されていたDEMO9S08QG8を 使用していたので、SofTecのツールを使うと戸惑うこともあります。 たとえば、DEMO9S08QG8でFLASHへの書き込みをするときには、「書き込みをするか」ダイアログが出てきて、 FLASHの消去の確認を取ってきます。

USBSPYDER08では、書き込みが必要だと判断したら確認もせず消去と書き込みを行ってくれます。 まあ、1万回の書き込み保障があるので、ケチケチせずに書き込めというところでしょうが、 「ちょっと、中を見たいだけ」という方には不向きでしょう。 消去&書き込みをせずに接続するオプションはまだ見つかっていません。

トリム値を調整してくれる

DEMO9S8QG8の場合、プログラミングと同時に$FFAE,$FFAFに書き込まれる内蔵発振器用のトリムコードは、 DCO (Digitally Controlled Oscillator)の出力が16MHzになる31.25kHzと固定されていました。 このため、UARTにちょっと高めのボー・レート(たとえば38400baudなど)を設定しようとすると、 誤差が大きくなってしまい、通信できなくなります。

USBSPYDER08の場合、 "Target Connection"ダイアログにある"Communication Settings"というボタンをクリックすると、 別のダイアログが開きます。

Communication Settingsダイアログ

このダイアログでは、トリムコードで調整したときの内蔵発振器の周波数を指定することができます。 たとえば、ここに20000000(20MHz)を指定すると、MC9S08QG4は、仕様書上の最高周波数で動作します。 また、19660800 (19.6608MHz : 38400×512)を指定すると、 38400baudというかなり高速なボー・レートでも安定して同期させることができます。

このダイアログで指定する周波数は、Processor Expertの設定とは連動していませんので、 お好みの周波数をProcessor ExpertのCpuビーンに設定した後、 プログラムを書き込む際に内蔵発振器の周波数を調整する必要があります。

内部発振周波数とDCO周波数早見表
Internal oscillator frequencyDCO Bus Frequency
31.25kHz16.00MHz
38.40kHz19.6608MHz
39.0625kHz20.00MHz

他にも皆様のお好みの周波数がありますか?

2007-03-05 「眺める」まで発行。
2007-03-10 「デバッガによる実行」まで発行。
2007-03-19 発行。

Updated: $Date: 2007/03/19 13:20:31 $

Copyright (C) 2007 noritan.org ■