cinitのことを忘れていた
PICのProgram Memoryを眺めていて、リセットからMain関数が呼び出される前に、何か処理していることに気が付きました。
リスト・ファイルを調べて見ると・・・Cプログラムの初期化処理(cinit)です!
ユーザ・プログラムの起動は、単純にmain関数を呼び出せば良いと考えていました。しかし、それでは初期化変数に値が設定されません。ユーザ・プログラムの起動は、main関数ではなくcinitを呼び出さなくてはならなかったのです。orz
関数リストにはcinit(<==Cプログラムではない)は含まれていません。mapファイルに記されているのでcinitの先頭アドレスを得ることは出来そうです。
こりゃ、まだまだ抜けが有りそうだ。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
xc32の方はどうなっているのか気になりますが、先ずはxc8を仕上げることに専念します。