ルネサスRXシリーズ用Cコンパイラの設定について
Posted: 2014年9月12日(金) 15:24
今、ルネサスのRX62NにSDRAMを外付けしてプログラムを組もうとしています。
開発環境はHEWでコンパイラはルネサスのCコンパイラです。
標準の雛形の設定は全て内部RAMを使うようになっているんですが、それをスタック以外外部RAMに移動すると
malloc等でヒープ領域の確保が小さい大きさでも確保できません。
SDRAMの初期化などは正常に動作していることを確認しています。
HEWのビルドメニューからRX Standard Toolchainを選択してセクションの設定を
スタック以外をSDRAMの先頭アドレスに移動しました
↓はそのときの最適化リンカのオプションです
-start=SU,SI/01000,B_1,R_1,B_2,R_2,B,R/08000000,PResetPRG/0FFFF8000,C_1,C_2,C,C$*,D_1,D_2,D,P,PIntPRG,W*,L/0FFFF8100,FIXEDVECT/0FFFFFFD0
そうすると、デフォルトの状態ではmallocで100byte程度確保したら正常にポインタにアドレスが返ってくるのに、
上記の変更をしたら確保できません。
何か他に設定しなくてはならないところがあるんでしょうか?
いろいろ調べましたが、解決策が見つからずほとんど手詰まりの状態です。
環境固有の問題で、C言語の質問とはちがうかも知れませんが、ご存知の方がおられましたら、ご教授宜しくお願いします。
開発環境はHEWでコンパイラはルネサスのCコンパイラです。
標準の雛形の設定は全て内部RAMを使うようになっているんですが、それをスタック以外外部RAMに移動すると
malloc等でヒープ領域の確保が小さい大きさでも確保できません。
SDRAMの初期化などは正常に動作していることを確認しています。
HEWのビルドメニューからRX Standard Toolchainを選択してセクションの設定を
スタック以外をSDRAMの先頭アドレスに移動しました
↓はそのときの最適化リンカのオプションです
-start=SU,SI/01000,B_1,R_1,B_2,R_2,B,R/08000000,PResetPRG/0FFFF8000,C_1,C_2,C,C$*,D_1,D_2,D,P,PIntPRG,W*,L/0FFFF8100,FIXEDVECT/0FFFFFFD0
そうすると、デフォルトの状態ではmallocで100byte程度確保したら正常にポインタにアドレスが返ってくるのに、
上記の変更をしたら確保できません。
何か他に設定しなくてはならないところがあるんでしょうか?
いろいろ調べましたが、解決策が見つからずほとんど手詰まりの状態です。
環境固有の問題で、C言語の質問とはちがうかも知れませんが、ご存知の方がおられましたら、ご教授宜しくお願いします。