おせわになります。
■使用マイコン
RX63T(100pin)
■開発環境
e2 studio(v5.4.0.018)
+Renesas RXC Toolchain(v2.06.00)
現状、プログラム内の文字列はすべてリテラル領域(section=L)に割り付けられていますが、
あるファイルの文字列のみ、デフォルトのsection=Lから切り離して割り付ける方法をご教授いただけませんでしょうか。
「RX ファミリ C/C++コンパイラ、アセンブラ、最適化リンケージエディタ コンパイラパッケージ V.1.01 ユーザーズマニュアル」には
"section オプションでセクション名を変更することができます。"と記載がありますが、やり方がわからず困っています。
以下のプログラムで概要(イメージ)を記載すると、aaa()は、section=P_Testに割り付けられ、
変数testもsection=BP_Testに割り付けられる。
しかし、test2[]はデフォルトのsectioin=Lに割り付けられたままとなってしまう。
※やりたいことは、test2[]をsection=L_Testのようにデフォルトのsectioin=Lから切り離したい。
====================================
・main.c
main(){
aaa();
}
・AAA.c
#pragma section P_Test
char test;
char test2[]="hogehote!";
void aaa(){
#pragma section
わわいです コード上からでも、 #pragma section ほげほげ でセクション名を指定できます これを指定すれば、この行以降で、 コード領域(プログラムコード)は、Pほげほげ 定数領域 Cほげほげ 初期値付き変数領域 Dほげほげ 初期値無し変数領域 Bほげほげ というセクション名がつきます。 いろいろやってみて動作を確認してみてください
詳しくはお使いのツールチェインのマニュアルに書いてあります。一読をおすすめします