2009年7月2日(木)
数年前に購入して本棚の肥やしになったままの、R8C/Tiny基板が付録についたCQ出版のトランジスタ技術 2005年4月号を取り出して、動かしてみた。
付録基板は、28ピンDIP ICと同寸で、右の写真のような連結ソケットにハンダ付けするのをお薦めしている。 貧弱な私の部品箱には、そんなものは入っていない。 がしゃがしゃと探して、32ピンの丸ピンソケットがみつかったので、それにダイオードの足をカットして、コツコツと丸ピンソケットにハンダ付けし、それをさらに付録基板にハンダ付けした。
別の32ピンのICソケットをユニバーサル基板にハンダ付けし、上記のICソケットを差し込んでできあがり。
雑誌にはCD-ROMも付属しており、コンパイラ、デバッガ付きのHEW4が収録されている。
それらをインストールし、下のような2つのLEDを点滅させる簡単なプログラムをデバッガで動作させてみた。 2つのLEDが交互にチカチカと点滅した。
void main(void)
{
volatile long n, i;
drr1 = 1; // P11の駆動能力 High
drr2 = 1; // P12の駆動能力 High
p1_1 = 1; // P11の初期出力
p1_2 = 1; // P12の初期出力
pd1_1 = 1; // P11の方向:出力
pd1_2 = 1; // P12の方向:出力
while(1)
{
p1_1 = 0; // LED1を点灯
p1_2 = 1; // LED2を消灯
for(i=0; i<100000; i++) ;
p1_1 = 1; // LED1を消灯
p1_2 = 0; // LED2を点灯
for(i=0; i<100000; i++) ;
}
}
次に、MODEのジャンパーをはずして、実動作をさせてみると、LEDが点滅しない。あれれ?
雑誌の記事をしっかりと読み進めていくと、付録のR8C/Tinyは、リセット直後は125kHzの低速クロックで動作するが、デバッガで動作させるときは20MHzの外部クロックで動作するので、このような違いが出てしまうようだ。
下のように、外部クロックで動作するように、初期処理を追加してやったら、デバッガでも、実動作でも同じ間隔でLEDが点滅するようになった。
prc0 = 1; // 書き換え許可
cm13 = 1; // Xin-Xout 端子切替え
cm05 = 0; // Xin-Xout メインクロック発振
cm06 = 0; // 8分周以外(分周なし)
asm( "nop" ); // 発振の安定待ち
asm( "nop" );
asm( "nop" );
asm( "nop" );
ocd2 = 0; // メインクロック選択
prc0 = 0; // 書き換え禁止
|
付録のR8C/Tiny基板
おすすめの連結ソケット
普通の丸ピンソケットで代用
デバッグ用基板にRS232Cケーブルを接続 |
2009年7月4日(土)
RS232Cによるデバッグでは、実際の動作とは異なる部分があるのが気に入らないので、購入して引きだしにしまったままになっていたE8aエミュレータをつないでみた。
E8aのプログラムを、先日インストールしたHEW4のフォルダにインストールしようとすると、「ダメだよ」と表示される。
E8aのマニュアルを読んでみると、HEW4のバージョン4.02以降でないとダメらしい。先日のHEW4は4.00だったようだ。
どうせならと、ルネサスのホームページから、最新の評価版HEW4(4.05)とM16Cのコンパイラ、デバッガをダウンロードしてインストールしなおすことにした。
それぞれ60Mバイト、107Mバイト、82Mバイトで、契約しているADSL(0.5Mbps)ではダウンロードだけで2時間以上かかった。ダウンロードの途中で止まってしまうのではないかとハラハラどきどき。それだけで疲れてしまう。
このところ稼ぎが少ないので、経費節減で26MbpsのADSLを、いちばん遅い0.5Mbpsに変えたばかりなんだけど、これじゃぁ仕事にさしつかえるよなぁ。
もっと稼いで、もっと高速な接続サービスに変えたいな。 フレッツ光とかだと速いんだろうけど、高いよなぁ。 |
デバッグ用基板にE8aを接続 |
E8aの場合は、先日のRS2322Cによるデバッガのようなことはなく、低速クロックでも、外部クロックでも、それなりの速度でLEDが点滅した。
次に、E8aをとりはずして、実動作をさせてみると、まったく動かない。LEDが点灯すらしない。あれれ?
E8aのマニュアルを読んでみると、デバッグするときと、実動作させるときとではダウンロードの方法を変える必要があるらしい。
E7やE8のときは、デバッグして動作確認したら、そのままコネクタを抜いて動作させれば普通に動いたのに、E8aではそのあたりが変更になっているようだ。
実動作をさせるときは、下図のように、3番目の「フラッシュメモリデータの書込み(E)を選択してプログラムをダウンロードしてやる必要があるようだ。
|