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

Former Member
Former Member

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

 

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

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

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

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

 

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

Parents
  • チョコです。

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

  • Former Member
    Former Member in reply to チョコ
    チョコ様、ありがとうございます。

    プロジェクトフォルダのcstart.asm を見て、まずhdwinitを呼び出し、その後にmain()を呼び出しているのが(おぼろげながら)理解できました。
    コード生成されるAPI 関数には、CS+の中でCall順を追って行ける関数と、一旦CS+を出ないとCallを追えない関数と、2種類の関数(の使い方)があるのですね。
    (私のレベルで)納得でき安心しました。
  • チョコです。納得していただいたようで,よかったです。
    もっと厳密に言うと,cstart.asmやstkinit.asmとiodedfine.hの3つはCS+でプロジェクトを新規作成した段階で生成されるはずです。これは,コード生成を使わなくて,必要なファイルだからです。
    (ご参考までに)
Reply
  • チョコです。納得していただいたようで,よかったです。
    もっと厳密に言うと,cstart.asmやstkinit.asmとiodedfine.hの3つはCS+でプロジェクトを新規作成した段階で生成されるはずです。これは,コード生成を使わなくて,必要なファイルだからです。
    (ご参考までに)
Children
No Data