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にタイマースタートのコードを追加します。
次に割り込み処理ルーチンにLED点滅のコードを追加します。割り込みハンドラはWATCHTIMER_user.cの中にあります。
追加したのは2行だけです。
あとはコンパイルして書き込めばLEDチカチカの完成です。
あいかわらず「F0c34: オンチップ・デバッグで使用する予約領域への書き込みはできません。(address 0000)」と怒られてデバッガは使えません。しかたないのでFPLで書き込んでいます。
はじめてでしたが、簡単にできました。898ページあるユーザーマニュアルがこのツールに凝縮されています。肝心の初期設定ですが、startupのところから呼ばれているSystemInit()の中で色々しているみたいでした。
メインクロックのところをサブクロックに変更して、動かしてみると・・・あいかわらず動きません。サブクロックは発振してないかもしれません。秋葉原に行く機会があったらATラボの人に聞いてみようかと思います。
とりあえず予習したので6月号が楽しみです。
4/15 追記 jsskさんがアプリレットでF0c34を回避してデバッガを動かす方法を見つけてくれました(4/13の記事)。システムの「オンチップディバグ設定」タブ:オンチップディバグ設定を「使用する」に変更します。
本家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の記事)。システムの「オンチップディバグ設定」タブ:オンチップディバグ設定を「使用する」に変更します。