最近、マイコンを触り始めたものです。
CS+ for CC で RL78/G14 の R5F104LE(64pin)、アプリケーション(CC-RL)でプロジェクトを作成している状態です。
以下のような簡単なプログラムを main.c に書いています。
#include "iodefine.h"static void intit(void);#pragma interrupt intit(vect = INTIT, bank = RB1)void main(void) { // インターバルタイマの割り込み許可 ITMK = 0; __EI(); // 低速オンチップ・オシレータ・クロックを供給 OSMC |= 0x10; // クロックの供給許可 RTCEN = 1; // LED0 の設定 PM1_bit.no7 = 0; // 出力モード P1_bit.no7 = 1; // 消灯 // 100ms 間隔で動作開始 ITMC = 0x8000 + (15000 / 1000) * 100 - 1; while(1);}void intit(void) { static int count = 0; if (10 == count) { P1_bit.no7 = !P1_bit.no7; count = 0; } else { ++count; }}
この状態でデバッグ・ツールとして RL78 EZ Emulator を選択し、CC-RL (ビルド・ツール) のプロパティからリンク・オプションタブの、デバイス > デバッグ・モニタ領域を設定する を 「はい」にした状態でビルド&デバッグ・ツールへダウンロードを押すと、以前はソースファイルに対してステップオーバー実行などが出来ていたのに、逆アセンブル上でしかできなくなってしまいました。現在のPC位置を示す黄色くなる行も逆アセンブルにしか表示されず、ソースファイルにはPC位置を示すものも表示されず、アドレス欄も空欄です。何か設定を変えてしまったのだと思いますが、どこの設定を直せばソースファイル上でのステップオーバー実行ができるでしょうか。よろしくお願いします。
cafe_rene.zip
チョコです。
solさんがやられている方法は、初心者にはあまりお勧めできません。
RL78には、コード生成機能があり、GUIで使用したい内蔵周辺機能を指定すると、必要なプログラムが生成されるので、面倒な初期設定が完了した状態でmain関数が起動します。
ただし、WDTが有効になってしまうので、そこは禁止することをお勧めします。
とは、いえ、せっかくなので、solさんのプログラムを実際にやってみました。
RL78/G14 の R5F104LE(64pin)でRL78 EZ Emulator ということなので、テセラさんから販売されていた
RL78/G14 Stick スターターキットで検証してみました。
CS+CCで新しいプロジェクトを作成し、main.cに提示されたプログラムを埋め込んで、リンクオプションをスレッドになるように設定して
実際にビルドしてRL78/G14 Stick スターターキットにダウンロードしてみました。
結果は全く問題なくステップ実行もできました。(ただし、最後はwhile(1)のループになるので、その先は無意味ですが。)
使用したプロジェクトのzipファイルを添付しておきます。
追加情報です。
かふぇルネには、私が投稿した初心者向けの「チョコさんのRL教室」というものがあります。
http://japan.renesasrulz.com/cafe_rene/b/rl78-classroom
今はトップページの左側のナビの一番下になってしまっていますが、ここの内容が役に立つのではないかと思います。