- 我在程序cmd文件中, 定义了一片外扩ram的区域: PAGE 1 : ZONE6RAML : origin = 0x100000, length = 0x040000 /*ZONE6 Sram data */
- 我在头文件中进行抽象数据类型定义
typedef struct { void (* GenBitInvLabel)(Uint16 ,void *); //
void (* SwapBitInvArray)(void *, Uint16); //¸
void (* CalcWnTable)(void *); //
void (* FFTCalc)(void*, Uint16); //
COMPLEX (* ComplexMUL)(COMPLEX, COMPLEX); //
void (* CalcComplexModel)(void *, Uint16); //
void (* CalcComplexPhase)(void *, Uint16); //
void (* CalcTHD)(void *, Uint16); //
void (* IFFTCalc) (void *); //
Uint16 Size; //
Uint16 Stages; //
Uint16 BitInvLabel[FFT_SIZE]; //
Uint16 EnableFalg1; //
Uint16 EnableFalg2; //COMPLEX X1[FFT_SIZE]; /
COMPLEX X2[FFT_SIZE]; //
COMPLEX X3[FFT_SIZE]; //
COMPLEX X4[FFT_SIZE]; //union {float f; //
Uint16 ui[2]; //
}AmpMagBuf1[FFT_BUF_SIZE]; //
union {float f; //
Uint16 ui[2]; //
}PhaseBuf1[FFT_BUF_SIZE];
union {float f;
Uint16 ui[2];
}AmpMagBuf2[FFT_BUF_SIZE];
union {float f;
Uint16 ui[2];
}PhaseBuf2[FFT_BUF_SIZE];union {float f;
Uint16 ui[2];
}AmpMagBuf3[FFT_BUF_SIZE];
union {float f;
Uint16 ui[2];
}PhaseBuf3[FFT_BUF_SIZE];union {float f;
Uint16 ui[2];
}AmpMagBuf4[FFT_BUF_SIZE];
union {float f;
Uint16 ui[2];
}PhaseBuf4[FFT_BUF_SIZE];
union { float f;
Uint16 ui[2];
}THD1[THD_SIZE];union { float f;
Uint16 ui[2];
}THD2[THD_SIZE];union { float f;
Uint16 ui[2];
}THD3[THD_SIZE];union { float f;
Uint16 ui[2];
}THD4[THD_SIZE];
float TotalAmpBuf1;
float TotalAmpBuf2;
float TotalAmpBuf3; /
float TotalAmpBuf4;
COMPLEX WnTable[WN_SIZE]; /
Uint16 EnableFlag1Count; /
}FFT;3在源文件中进行对象定义并初始化,并且数据存放于外部ram使用
FFT MYFFT = MYFFT_DEFAULTS;
#pragma DATA_SECTION(MYFFT,"ExtRamFile");4最后,我在程序中使用时 MYFFT.GenBitInvLabel(MYFFT.Stages,&MYFFT); MYFFT.GenBitInvLabel的地址指针指向(0x8E2658D2)并不指向函数的地址,很明显,在上面定义对象时没能进行初始化
5我想问的是,外部ram定义的对象,如何可以在建立的时候对其初始化,麻烦各位指导一下
关于28335外部扩展ram的使用问题,请各位指导指导~~
未经允许不得转载:TI中文支持网 » 关于28335外部扩展ram的使用问题,请各位指导指导~~