PC版 SYSLAB blog http://syslab.asablo.jp/blog/......
私の記憶によれば startup.s からライブラリを呼び出し、ライブラリの中でスタックポインタの設定、RAMの初期化などを行い、そこから main() を呼び出す。という手順だったはずだ。
ところが __libc_init_array() から _init() を呼び出したが見つからないというエラーで困っているわけだ。このあたりの詳細は知らないので別の方法を考える事にする。
しかし、以前はコンパイルが通っていたのになぜこんな事になってしまったの?
別の方法とは、 startup.s の中で RAM の初期化を行い、直接 main を呼び出すやり方。
いまいちすっきりしないがここはこれで逃げておこう。
もしかするとダミーの _init() 追加でもいけるのか?
環境:Keil μVision3 + GCC
セコメントをする