Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
RL78 MCU
More
Cancel
RL78 MCU
Forum
RL78/G13で、デュアルブート
Home
Forum
Tags
More
Cancel
New
Replies
12 replies
Subscribers
446 subscribers
Views
8129 views
Users
0 members are here
G13
デュアルブートRL78
スイッチ
プログラム
CubeSuite+
beginner
Options
Share
More
Cancel
Related
RL78/G13で、デュアルブート
RyuKucchan
over 11 years ago
RL78/G13と、CubeSuite+を使用して開発しています。
CPUのGPIOにスイッチを設けて、
スイッチ=OFFの場合はプログラムA、
スイッチ=ONの場合にはプログラムB
を、起動するようなやり方は可能なのでしょうか?
プログラムA、プログラムB双方ともRAMを大量に消費する
プログラムで、機能や動作内容が異なるため、
main処理後にプログラムA、プログラムBを選んで
動作をする余裕がありません。
コードサイズ自体はそれぞれ大きくないのでROMには
入りそうなのですが、RAMがどうにもなりません。
発想としては、リセット解除後に、
スイッチを読み込むプログラムが動作して、
その後、スイッチに従ったプログラムA又はBが動作する
ようなことがしたいのですが、
どのようにCubeSuiteで作成すればよいのかわかりません。
ご教授お願いします。
また、上記方法以外にも案がありましたらご提案お願いします。
Parents
RyuKucchan
over 11 years ago
何度もすいません。
教えていただいたunionの変数を、
main以外の別ファイルのモジュールで使用するにはどのようにすればよいでしょうか?
ヘッダーファイルに、
union unVAL{
struct PRG_A {
//プログラムAが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
};
struct PRG_B {
//プログラムBが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
};
struct PRG_C {
//プログラムCが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
};
};
extern union unVAL gUV;
上記なように書いてみたのですが、エラーが出まくりです。
下記のように宣言すると、
今度はメモリが足りないような下記エラーが発生してしまいます。
「CC78K0R error E0111: Compiler limit : too much global data defined in file」
typedef struct _stPRG_A {
//プログラムAが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
}stPRG_A;
typedef struct _stPRG_B {
//プログラムBが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
}stPRG_B;
typedef struct _stPRG_C {
//プログラムCが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
}stPRG_C;
union unVAL{
stPRG_A PRGA;
stPRG_B PRGB;
stPRG_C PRGC;
} ;
extern union unVAL gUV;
どのようにすればよいのかご教授お願いします。
Cancel
Up
0
Down
Reply
Cancel
Reply
RyuKucchan
over 11 years ago
何度もすいません。
教えていただいたunionの変数を、
main以外の別ファイルのモジュールで使用するにはどのようにすればよいでしょうか?
ヘッダーファイルに、
union unVAL{
struct PRG_A {
//プログラムAが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
};
struct PRG_B {
//プログラムBが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
};
struct PRG_C {
//プログラムCが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
};
};
extern union unVAL gUV;
上記なように書いてみたのですが、エラーが出まくりです。
下記のように宣言すると、
今度はメモリが足りないような下記エラーが発生してしまいます。
「CC78K0R error E0111: Compiler limit : too much global data defined in file」
typedef struct _stPRG_A {
//プログラムAが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
}stPRG_A;
typedef struct _stPRG_B {
//プログラムBが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
}stPRG_B;
typedef struct _stPRG_C {
//プログラムCが使用する外部変数の宣言
unsigned char TestBuf1[10000];
unsigned char TestBuf2[10000];
}stPRG_C;
union unVAL{
stPRG_A PRGA;
stPRG_B PRGB;
stPRG_C PRGC;
} ;
extern union unVAL gUV;
どのようにすればよいのかご教授お願いします。
Cancel
Up
0
Down
Reply
Cancel
Children
No Data