Sim's blog

電子工作はじめてみました

アプリレットを使ってみる

2007-04-10 23:04:51 | V850
Interface付録のV850の開発ツールの一つにappliletというのがあります。何をするものかというと、デバイスの初期設定みたいなある程度決まりきったことのCソースを自動で生成してくれる便利ツールです。詳しくはInterface 6月号で解説があるようです。

本家NECエレのappliletのページです。ここ。ドキュメントが色々そろっています。

写真の12個のデバイスについて、設定するだけでCソースを作ってくれます。12個全部でなくてもいいので、使いたいものだけ設定すれば、他は何も生成されません。

タイマー割り込みLEDチカチカを作ってみます。
- システムはwatchdogタイマーをoffにします
- 時計用タイマーは、使用する、INTWT、0.25sを選びます
- ポートはPCT6を出力にします
あとは、GOボタンを押してフォルダーを作ってからコード生成すればソースはできあがりです。

フォルダーの中の*.prwファイルをダブクリすればPM+が起動します。コンパイルオプションを変更しないといけません。ツール→コンパイラオプション→出力コード→プロローグエピローグランタイムを未使用に選択します(Interface p.112の図65)。

この状態だと、デバイスの初期設定しかしてくれていないので、したいことを追加してやらないといけません。
まずはmain.cにタイマースタートのコードを追加します。
void  main( void )
{
	WT_Start();	// ←追加 タイマースタート
	while (1) {
		;
	}
}

次に割り込み処理ルーチンにLED点滅のコードを追加します。割り込みハンドラはWATCHTIMER_user.cの中にあります。
__interrupt void MD_INTWT( void )
{
	PCT.6 ^= 1;	// ←追加 LED反転
}

追加したのは2行だけです。
あとはコンパイルして書き込めばLEDチカチカの完成です。

あいかわらず「F0c34: オンチップ・デバッグで使用する予約領域への書き込みはできません。(address 0000)」と怒られてデバッガは使えません。しかたないのでFPLで書き込んでいます。

はじめてでしたが、簡単にできました。898ページあるユーザーマニュアルがこのツールに凝縮されています。肝心の初期設定ですが、startupのところから呼ばれているSystemInit()の中で色々しているみたいでした。

メインクロックのところをサブクロックに変更して、動かしてみると・・・あいかわらず動きません。サブクロックは発振してないかもしれません。秋葉原に行く機会があったらATラボの人に聞いてみようかと思います。

とりあえず予習したので6月号が楽しみです。

4/15 追記 jsskさんがアプリレットでF0c34を回避してデバッガを動かす方法を見つけてくれました(4/13の記事)。システムの「オンチップディバグ設定」タブ:オンチップディバグ設定を「使用する」に変更します。