.cファイルに書いた場所(順番)によって、ポインタが指す場所が変わるのですが、
原因がわかる方はいらっしゃいますか?
具体的には

const u8 hogebindata[HOGE_SIZE] ; // .oファイルから

HOGE* pHoge1 = &hogebindata[0] ; // HOGE構造体のポインタ
HOGE* pHoge2 = &hogebindata[0] ;

これでpHoge1とpHoge2の指す場所が変わったのですが。