Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

CS+が生成する周辺機能設定のコードは、どこでCallしている?

CS+forCC(V8.03.00)を使い始めました。 デバグツール無しで、PCから自作シリアル回路で実回路にロードしてます。

 

周辺機能/ポート機能を設定して ”コードを生成する” を押すとコードが生成されました、

ビルドして実回路にロードし、実行すると出力に設定したポートが出力(Hi/Lo)になってます。

しかし、生成されたコードの main で順に見て行っても、ポートの設定 (例えば生成された関数 R_PORT_Create()) をcallしてるところが見当たりません。

どこでCallしてるのでしょうか? 電源Start時の割込みでしょうか。

 

CS+の機能として関数のCall元が表示できる?使い方ご教示下さい。

  • https://www.google.com/search?q=R_PORT_Create+main

    tool-support.renesas.com/.../rportcreate.htm
    > 備考 本 API 関数は、main()関数を実行する前に、R_Systeminit から呼び出されます。

  • In reply to fujita nozomu:

    fujita nozomu様

    早速のご教示ありがとうございます。
    「パワーオン・リセット回路による内部リセットに対応した割り込み処理」
    と理解しました。誤解であればご指摘下さい。
  • In reply to ひでルネ:

    リセット動作は電源投入時に限りません。
  • In reply to fujita nozomu:

    なるほど。ご指摘ありがとうございます、
  • チョコです。

    ここらは,C言語のプログラムを動かすための処理を行うスタート・アップ・ルーチン(cstart.asm)の中の処理の一つとして,hdwinit関数を呼び出していて,そこからfujita nozomuさんが示されたR_Systeminit を呼び出すことで,内蔵周辺機能を初期化するようになっています。このように,起動した後できるだけ早い段階で周辺機能を初期化しているのは,端子の未定義状態を短くしたいためです。

  • In reply to チョコ:

    チョコ様、ありがとうございます。

    プロジェクトフォルダのcstart.asm を見て、まずhdwinitを呼び出し、その後にmain()を呼び出しているのが(おぼろげながら)理解できました。
    コード生成されるAPI 関数には、CS+の中でCall順を追って行ける関数と、一旦CS+を出ないとCallを追えない関数と、2種類の関数(の使い方)があるのですね。
    (私のレベルで)納得でき安心しました。
  • In reply to ひでルネ:

    チョコです。納得していただいたようで,よかったです。
    もっと厳密に言うと,cstart.asmやstkinit.asmとiodedfine.hの3つはCS+でプロジェクトを新規作成した段階で生成されるはずです。これは,コード生成を使わなくて,必要なファイルだからです。
    (ご参考までに)

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page