HCS08シリーズマイコン用の低価格開発ツールがでてきました。 その名もUSBSPYDER08。 どんな物だか、さっそく調べてみましょう。
今までのフリースケールの開発ツールは、ゴツイ段ボール箱に入っていたのですが、 この開発ツールのパッケージは、実に簡素です。
中を見ると、CD-ROMと本体が入っているだけで、 紙の説明書もケーブル類も入っていません。
"Quick Start Guide"は、表紙の裏にありました。
次に本体を眺めてみましょう。
本体は、USBメモリのような形をしていますが、18mmとかなり厚みがあります。
両端のキャップをはずすとコネクタが露出します。 写真の左側がUSBコネクタで、右側がBDMコネクタです。
USBSPYDER08に搭載されているMCUは、 ホームページなどではDIP8パッケージのMC9S08QG8と記載されていました。 写真では判断しにくいのですが、実際に搭載されていたのは、MC9S08QG4でした。 やはり、DIP8パッケージのMC9S08QG8は、ガセだったのか?
MCUの隣には、8ピンのヘッダが実装されており、 MCUのすべての端子を引き出せるようになっています。 ただ、そこまでして、ツール上のMCUを使いたいかというと疑問だと思います。
BDMコネクタ側のキャップには、穴が開いているため、 キャップを閉めた状態でもBDMコネクタを使用することができます。
実際に使用するときには、こんな感じになるでしょう。
まずは、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 Name | PPG1 | |||
Period | 1.0 sec | |||
Starting pulse width | 0.9 sec |
パルス周期を1.0秒に最初のパルス幅を0.9秒に設定すると、 1.0秒ごとに0.1秒だけLEDが点灯します。
"Make"ボタンをクリックすると"Processor Expert"によってプログラムが生成され、 コンパイルが行われます。 エラー表示がなければ、これでプログラミングは終了です。
最後にUSBSPYDER08にプログラムを書き込み実行します。
最初に"USBSPYDER08"をPCのUSBコネクタに接続します。 初めて"USBSPYDER08"を接続すると、「新しいハードウェアの検出ウィザード」が開きますので、 デバイスドライバをインストールします。
"Debug"ボタンをクリックするとデバッガが呼び出され、"Target Connection"ダイアログが開きます。
ダイアログに以下のような値を入れます。
Hardware Model | |||
Code: | |||
"USBSPYDER08"を選択する | |||
Device | |||
Device code: | |||
"MC9S08QG4"を選択する |
"Connect"ボタンをクリックするとプログラムが書き込まれてリセット直後の状態で いったん停止します。
"Start/Continue (F5)"ボタンをクリックすると"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"というボタンをクリックすると、 別のダイアログが開きます。
このダイアログでは、トリムコードで調整したときの内蔵発振器の周波数を指定することができます。 たとえば、ここに20000000(20MHz)を指定すると、MC9S08QG4は、仕様書上の最高周波数で動作します。 また、19660800 (19.6608MHz : 38400×512)を指定すると、 38400baudというかなり高速なボー・レートでも安定して同期させることができます。
このダイアログで指定する周波数は、Processor Expertの設定とは連動していませんので、 お好みの周波数をProcessor ExpertのCpuビーンに設定した後、 プログラムを書き込む際に内蔵発振器の周波数を調整する必要があります。
Internal oscillator frequency | DCO Bus Frequency |
---|---|
31.25kHz | 16.00MHz |
38.40kHz | 19.6608MHz |
39.0625kHz | 20.00MHz |
他にも皆様のお好みの周波数がありますか?
2007-03-05 「眺める」まで発行。
2007-03-10 「デバッガによる実行」まで発行。
2007-03-19 発行。
Updated: $Date: 2007/03/19 13:20:31 $
Copyright (C) 2007 noritan.org ■