(toppers-users 3523) Re: ASP-rx610/rx620の変数初期化について

片岡 歩 kata @ witz-inc.co.jp
2011年 8月 13日 (土) 09:40:43 JST


松浦さん。

片岡 歩@ヴィッツです。

ご指摘ありがとうございます。

ご指摘の内容でよいかと思います。
あいにく手元に確認環境がなく、確証のある回答が出来ないのですが、
以前リリースパッケージの問題として対応方法を調査したときの内容と
同じとだと判断しております。

次回リリースに含めて対応と考えておりますが、ちょっと時間を要しております。

以上、まずはご回答まで。

>皆様
>
>初めて投稿します.松浦と申します.
>
>CQ出版インターフェース2011年9月号に掲載されたASPをCQ出版社のサイトからダウンロ
>ードして使っています.
>初期値のある変数が初期化されない現象があり,原因を調べました.
>このASPの元と思われる Renesas Starter Kit rx610用にも当てはまると考えられます
>ので情報共有したいと思います.
>
>【原因】
>セクションD,D_2,D_1とR,R_2,R_1の配置が逆ではないでしょうか?
>
>【対処法】
>1.まずHEWのツールチェーンの設定メニュー「最適化リンカ」タブのカテゴリ「セク
>ション」でRAMにD,D_2,D_1,ROMにR,R_2,R_1がマップされているが,これを入れ替える
>>(R,R_2,R_1はRAMに,D,D_2,D_1はROMに)
>
>2.次に同じくカテゴリ「出力」のオプション項目「ROMからRAMへマップするセクショ
>ン」に
>Rom	Ram
>D	R
>D_1	R_1
>D_2	R_2
>を追加する(これがないとR,R_2,R_1の領域が定義されない)
>
>3.arch\rx_rxc\start.srcの99〜124行目の
>init_D:
>	mov.l	#(sizeof R), r3
>	cmp		#0, r3
>	beq.b	init_D_2					; サイズ0なら初期化必要なし
>	mov.l	#(topof D), r1
>	mov.l	#(topof R), r2
>	smovf
>
>init_D_2:
>	mov.l	#(sizeof R_2), r3
>	cmp		#0, r3
>	beq.b	init_D_1					; サイズ0なら初期化必要なし
>	mov.l	#(topof D_2), r1
>	mov.l	#(topof R_2), r2
>	smovf
>
>init_D_1:
>	mov.l	#(sizeof R_1), r3
>	cmp		#0, r3
>	beq.b	clear_B						; サイズ0なら初期化必要なし
>	mov.l	#(topof D_1), r1
>	mov.l	#(topof R_1), r2
>	smovf
>
>でD,D_2,D_1をr1に,R,R_2,R_1をr2にmovしているが,逆にする.
>(R,R_2,R_1をr1に,D,D_2,D_1をr2にmov)
>
>私のところでは,この変更で初期値のある変数が初期化されるようになりました.
>勘違いしているところがありましたら,ご指摘いただけると幸いです.
>
>よろしくお願いします.
>
>松浦光洋
>有限会社松浦商事
>
>
>
>

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
||                                                                  ||
|| (株)ヴィッツ                                                   ||
||    組込制御開発部 組込制御室                         ||
||                                                                  ||
||     片岡 歩    E-mail:kata @ witz-inc.co.jp                      ||
||                                                                  ||
||    〒460-0008 名古屋市中区栄2-13-1 白川第2ビル2F/7F              ||
||       TEL:(052)223-7570                      ||
||           (052)220-1218(代表)                                    ||
||       FAX:(052)218-5855                                          ||
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜