V-scale でも kozos を動かしたい 続き

kozos では、データ領域(初期値のある静的変数)を起動時に ROM から SRAM にコピーするのですが、そのサイズをリンカスクリプトで定義しているシンボルから拾っています。この数字がまた、今までとちょっと変わったみたい。
リンカスクリプトには↓のように書いているのだけど、edata≠bbs_start なんです。プログラムの方は同じ値を期待しているようで、コピーサイズが ”(long)&edata - (long)&data_start” なので、最後の1個がコピーされないのが原因でした。
なんでこういう微妙な違いがあるのかなぁ?
で、データ領域初期化はできたけど、XMODEM は動かない… 前にループが足りなかった時と同じ動きだ。今回は時間延ばしただけじゃ動かなかったけど…

.data : {
data_start = . ;
*(.data)
edata = . ;
} > data AT> rom
.bss : {
bss_start = . ;
*(.bss)
*(COMMON)
ebss = . ;
} > data AT> rom
. = ALIGN(4);
_end = . ;

[PR]
トラックバックURL : http://tom01h.exblog.jp/tb/27264765
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by tom01h | 2016-12-11 21:27 | PCとか | Trackback | Comments(0)