あってるのかな?

現在のSUZAKU-Vの動かし方は、
標準ブートローダをEDKでBRAM内に格納して起動→imageリージョンのプログラムをブートローダに起動してもらう
という形。標準の使い方のうち、Linuxを丸々オリジナルなプログラムに置き換えた感じ。
とりあえず動いているものの、疑問は絶えない・・・。


この場合、bootセクションは恐らく必要無い(BRAM内に記述されているハズ?)
リンカスクリプトからbootセクションに関する記述を全て削除
bootセクションの削除は、このやり方で良いのだろうか・・・?


それから、ダウンロードファイルの作り方。
AtmarkTechnoのHermitというダウンローダでダウンロードするので、
生のバイナリデータである".bin"ファイルにしないといけない。
powerpc-eabi-objcopy -O binary hoge.elf hoge.bin
として生成している。
DDR2メモリの開始番地が0x00000000からだから良かったものの、
後ろの方の番地だったら、どうやって生成すればいいんだろう?
(実際、bootセクション(後ろの方の番地にある)が入ったファイルをobjcopyすると、4G近いサイズのファイルが出来上がってしまう。)


割り込みの実現方法は何となくわかったかもしれない。
これも、リンカスクリプトが鍵を握っていそう。
割り込みコントローラにベクタを設定すれば行ける気がするけれど、
割り込み関数のアドレスをどうやって固定するんだろう?
それは、関数のサイズが固定されない以上2段呼び出しするしかないような気がするのだけれど、それだと割り込みコントローラから通算3段階の段階を踏まないといけない事になる。
本当に、割り込みはこんなに面倒臭いのだろうか?
BRAM上に配置すれば楽そうだが、割り込み処理が大きくなる予定なのでそれは避けたい所。
もっと効率良く、DDR2メモリ上の関数を割り込ませる事はできないのだろうか・・・。



イロイロ難しそうだけど、これが使えたら何でも使えそうな気がする・・。
がんばろう。