denshikobo’s blog

PICプログラミングやPCの操作で感じた日々の由無し事を綴ります

cinitのことを忘れていた

PICのProgram Memoryを眺めていて、リセットからMain関数が呼び出される前に、何か処理していることに気が付きました。

リスト・ファイルを調べて見ると・・・Cプログラムの初期化処理(cinit)です!

 

ユーザ・プログラムの起動は、単純にmain関数を呼び出せば良いと考えていました。しかし、それでは初期化変数に値が設定されません。ユーザ・プログラムの起動は、main関数ではなくcinitを呼び出さなくてはならなかったのです。orz

 

関数リストにはcinit(<==Cプログラムではない)は含まれていません。mapファイルに記されているのでcinitの先頭アドレスを得ることは出来そうです。

 

こりゃ、まだまだ抜けが有りそうだ。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

xc32の方はどうなっているのか気になりますが、先ずはxc8を仕上げることに専念します。