78Kマイコンを使ってみる
by K.I
2006/07/09 〜
Index
- PastelMagicの桑野さんが、「はじめての78Kマイコン」という本を出されたので、買ってみた。
- これは、USB-シリアル変換ICで、USB接続可能な非常にコンパクトな開発ボード付きで、3200円と安い。
- 78Kマイコンというのは、知らなかったが、NECのCPUらしい。
- 「はじめての78Kマイコン」の内容に沿って、ちょっと試してみよう。
[top]
本に詳しく解説してあるので不要だが、とりあえず備忘録として。
- CD-ROMをセットすると、自動的に「付属CD-ROMについて」という説明HTMLファイルが、ブラウザで起動する。
- まず、エクスプローラで、Dドライブ(CDROMドライブ)を開いて、NECELフォルダをCドライブにコピーする。
- 以下の自動解凍プログラムを実行するして解凍する。
- applilet_78k0s_kx1+_v150.exe →そのままインストールすると、applilet_78k0s_kx1+_v150フォルダが出来る
- df789234_v210.exe →dfフォルダを指定する必要がある
- prm78f9234_v102.exe →prmフォルダを指定する必要がある
- 以下のプログラムを、順にインストールする。プロダクトIDはproductid.txtを見て、それぞれ記入する必要がある。
- ra78k0s_w140_j.exe →開発環境・アセンブラ
- cc78k0s_w150_j.exe →Cコンパイラ
- sm+for78k0s_kx1+_w102_j.exe →シュミレータ
- C:\NECEL\FTDI-VCP driver\R2176.zipを解凍しておき、78K開発ボードをUSB接続する
- 解凍しておいたR2176フォルダを指定してインストール
- デバイスドライバと、シリアルポートドライバを別々に2回インストールする必要がある。
- デバイスマネージャーで、「USB Serial Converter」と、「USB Serial Port(COMx)」があることを確認しておく。
- インストールが、ちょっと大変だった。まぁ、1度しかやらないことなんだけど、インストーラをもう少し頑張って欲しい気がする。
[top]
Appliletというのは、プログラムの初期設定部分を自動作成するツールらしい。
- Appliletを起動、新規作成して、以下の設定を行う。
- プロジェクト名は、本の通り、swledにしておく。
- システム設定
- 低速内蔵発信機をソフトウェアで停止できるようにして、
- 低速内蔵発信機を停止
- P34をリセット端子として使うように
- ポート設定
- P40,P41を入力、P123,P130を出力にする
- ウォッチドックタイマ設定
→ソフトウェアモジュールも欲しいな〜
- GOのボタンを押す。
- swledフォルダを作成して
- コード生成ボタンを押す
- とりあえず、これで初期化コードが生成されるらしい。
1普通のCPUではウォッチドックタイマOFFがデフォルトだと思うけど、78kはONになってるのか。。。
[top]
PM plusが、メインの統合環境になっていて、コンパイル、リンクを行う
- 初回は、デバイスが登録されていないので、デバイスの登録を行う。
- ツールメニュー→デバイスファイルインストーラを選ぶ
- 最初にインストールした、dfフォルダを指定して、開発ボード上のuPD78F9222を登録する。
unsigned char P13dat, P12dat;
void main( void )
{
P13dat = 0;
P12dat = 0;
while(1){
if (P4 & 1) {
P13dat |= 0x01;
}
else {
P13dat &= ~0x01;
}
if (P4 & 2) {
P12dat |= 0x08;
}
else {
P12dat &= ~0x08;
}
P13 = P13dat;
P12 = P12dat;
}
}
- I/Oポートの設定は、Appliletで記述されているので、特に必要ない。
2どうでも良い事だが、デバッグの方が一般的のような気がする。
[top]
- シュミレータメニュー→入出力パネルを選ぶ
- LEDボタンを押して、入出力パネルにLEDを配置、ダブルクリックしてプロパティを設定
- ラベル:LED1
- 接続端子:P130
- アクティブレベル:LOW
- コピーして、同様に、
- ラベル:LED2
- 接続端子:P123
- アクティブレベル:LOW
- ボタン作成ボタンを押して、入出力パネルにスイッチを配置、ダブルクリックしてプロパティ設定
- ラベル:SW1
- 接続端子:P40
- アクティブレベル:LOW
- 種類:トグル
- コピーして、
- ラベル:SW2
- 接続端子:P41
- アクティブレベル:LOW
- 種類:トグル
- 図形メニュー3→入力シュミレーションを選択で、シュミレーションモードへ変更する
- 実行メニュー→リスタートでシュミレーション開始
→スイッチをクリックすると、ちゃんとLEDが点灯する。
- これは、LabViewのパネル配置のような感じだ。
- スイッチを動かすと、ちゃんとLEDのON/OFFの動作確認も出来る。
- このシュミレータは、良く出来ているなぁ。
- これが、Appliletの設定とうまく統合されていれば、凄く良いんだけどなぁ。
3図形メニューに、この切替えがあるのは不自然に思える。
[top]
書き込みは、以下のように別ツールを起動して行う。
- C:\NECEL\WriteEZ2\WriteEZ2.exeを起動
- Device→Setupを選択
- Port:COMx
- Speed:115200
- Frequency:8MHz
- Multiply rate:1
- Chip
- Turn off -> on Target powerのチェックを外す
- PRM File Readボタンを押して、78f9222.prmの読み込み
Flash Programming finish!
Flash Internal Verify OK!
が出ればOK.
- 書き込みツールは、統合環境から実行できるようになっていた方が良いなぁ。
[top]
- RUNモードへ切替え
- これでプログラムが動作する。
- 基本的に、迷うことなく書き込みと、プログラム動作まで行えた。
- まぁ、これは「はじめての78Kマイコン」を見ながらだったからだけど、
- 初めてのツールって、最初に躓くことって普通なので、すんなり出来たこと自体は、結構評価出来るなー。
[top]
- 初回だけの話だが、インストールが面倒
- インストーラで、基本的なApplilet,PMplus,SM+,WriteEZ2のインストールと、デバイスファイル等の基本設定までやって欲しい。
- Appliletで、初期化部分が、自動的に作成されるのは良い。
- Appliletでは、ハード的な設定しか出来ないが、ソフトモジュール的なものを設定出来るようにすれば使いやすくなると思う。
- 例えばLCDモジュール、7SEGのLEDモジュールとか →PICのコンパイラとか、PSoCのように
- 可変抵抗器をA/Dに繋いで、電圧入力するようなモジュールや、ロータリーエンコーダのモジュールとか
- 単純にサーミスタや、cdsのようなモジュールで、設定するとA/Dが自動的にセットされるとか
- 統合環境と言いながら、Appliletと、PM plus、SM+、そしてWriterEZ2が、バラバラに感じる。
- PM plus上から、全て起動出来るようになっていた方が良い。
- 各ツールのインターフェースに、もう少し統一感を持たせた方が良いかも。
- 別に独自のインターフェースが悪い訳ではないが、一般的なインターフェースは安心感がある
- 敢えて苦言を呈したが、シュミレータはなかなか独自のものを持っている。
- Appliletで、いろんなモジュールが追加されて、そのデバッグが簡単に行えるように統合化されれば、かなり強力なツールになると思う。
- まだまだ統合環境では、MicroChipやCypressにちょっと見劣りする。
とは言っても、これだけの構成のボードとしては、破格の値段と思う。
→こんな基板が書籍に付いてくるようになるとは。。
- USB接続で、I/Oコントロール出来る。
- 通常のCOMポートに見えるので、PC側のプログラムは簡単だし。
- 自分としては、シリアルインターフェースのテスト用に、いろいろ使えそうだと思った。
- 単純なもので良いので、電子ブロック的な、いろんなモジュールが沢山出来れば、魅力的な開発環境になる素質はありそうだ。
- 日本のメーカーって開発環境がイマイチだったけど、こんな風にいろんな試みが出てくるのは良いことだと思う。
- ここらへんは、NECさんにも頑張って欲しいなー。
[top]
[電子工作関連に戻る]