構造体のポインタ配列を指定メモリに割り当てたい
Posted: 2011年3月24日(木) 21:28
こんにちは。
みほといいます。
構造体のポインタ配列を指定メモリに割り当てたいのですが、出来ません。
どこが悪いでしょうか?
下にソースプログラムを書きます。
----------------------------------------------------------------------------
//rxf[0]をメモリエリア0x00001000に割り当てたい 0x00001000はRAMです。
//rxf[1]をメモリエリア0x00002000に割り当てたい 0x00002000はRAMです。
//rxf[2]をメモリエリア0x00003000に割り当てたい 0x00003000はRAMです。
//rxf[3]をメモリエリア0x00004000に割り当てたい 0x00004000はRAMです。
//rxf[0].fifo[0]が 0x00001000番地に割り当て
//rxf[0].fifo[1]が 0x00001001番地に割り当て
//rxf[0].fifo[511]が0x000011FF番地に割り当て
//rxf[0].rtが 0x00001200番地に割り当て
//構造体です
struct type_fifo{
unsigned char fifo[512];
int rt;
};
//構造体のポインタ配列です。
struct type_fifo *rxf[4]; //グローバルです
#define ADR_MAP0 0x00001000
#define ADR_MAP1 0x00002000
#define ADR_MAP2 0x00003000
#define ADR_MAP3 0x00004000
void main(void) {
//rxf[0] を 固定メモリADR_MA0に割り当てる
rxf[0] = (struct type_fifo *)(ADR_MA0);
//rxf[0].fifo[0] に データ0xDDを代入する。
rxf[0]->fifo[0] = 0xDD;
}
みほといいます。
構造体のポインタ配列を指定メモリに割り当てたいのですが、出来ません。
どこが悪いでしょうか?
下にソースプログラムを書きます。
----------------------------------------------------------------------------
//rxf[0]をメモリエリア0x00001000に割り当てたい 0x00001000はRAMです。
//rxf[1]をメモリエリア0x00002000に割り当てたい 0x00002000はRAMです。
//rxf[2]をメモリエリア0x00003000に割り当てたい 0x00003000はRAMです。
//rxf[3]をメモリエリア0x00004000に割り当てたい 0x00004000はRAMです。
//rxf[0].fifo[0]が 0x00001000番地に割り当て
//rxf[0].fifo[1]が 0x00001001番地に割り当て
//rxf[0].fifo[511]が0x000011FF番地に割り当て
//rxf[0].rtが 0x00001200番地に割り当て
//構造体です
struct type_fifo{
unsigned char fifo[512];
int rt;
};
//構造体のポインタ配列です。
struct type_fifo *rxf[4]; //グローバルです
#define ADR_MAP0 0x00001000
#define ADR_MAP1 0x00002000
#define ADR_MAP2 0x00003000
#define ADR_MAP3 0x00004000
void main(void) {
//rxf[0] を 固定メモリADR_MA0に割り当てる
rxf[0] = (struct type_fifo *)(ADR_MA0);
//rxf[0].fifo[0] に データ0xDDを代入する。
rxf[0]->fifo[0] = 0xDD;
}