请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:LAUNCHXL-F2.8379万D 主题中讨论的其他部件:C2000WARE
工具/软件:Code Composer Studio
您好,
我打算在“2837x_rfft_ADC_RT”示例中将“freq”变量传输到SCI端口,但编译时出现错误:
****为项目2837x_RFFT_ADC_RT构建配置RAM **** "C:\\ti\\ccsv6\\utils\\bin\\gme"-k all 'building target:2837x_RFFT_ADC_RT.out' 调用:c2000_Linker' "C:/ti/Ccsv6/tools/bin/ctrad_I 6.4 :6.4 6.4 fg/trad_crf_f_-00/cv00_fu_rk_crf_lip_f-f_ck/f_-rk_ck/f-f_-rk_ck/cr-f_-f-f_-fx_ck/fx_fx_-rk/cr-fx_-fx_-fx_-fx-f_-fx_-fx_-fccfx_-fx_-fx_-fccfx_-fx_-fccf_-fx_-fccf_-fx_-fx_-fdcp_-fx_-fcc_-fx_-d ROM_MODEL -o "2837x_RFFT_ADC_RT.out""./F2837xD_ADC.OBJ""./F2837xD_CodeStartBranch.DSP"./F2837xD_DefaultISX.""./F2837xD_DEF_EX.00"./FP_DEF2837_OBJ_OBJ_FM_EC_EX.00".F2837_POM_"/FC"./"2837/FC"./"./337"./FC"./337"./337_OBJ_OBJ_ST_DE_"."./337_OBJ_"./FC"./337"./337"./"2837./337"./FC"./337"./337_OBJ_OBJ_ST_DE_"."./337_OBJ_"./FC"./337"./337"./"./337_OBJ_"./337_OBJ_"."."."./"./337_OBJEC_"."."./337_"."."./337_"._OBJEC_"."./OBJEC_"."."./337_OBJEC_". 程序将不适合可用内存。 对".text"区域大小0x25de页面0进行对齐/阻止的放置失败。 可用 内存范围: RAMM1 大小:0x400 未使用:0x1 最大孔:0x1 RAMD0 大小:0x800 未使用:0x0 最大孔:0x0 RAMD1 大小:0x800 未使用:0x3 最大孔:0x3 >>编译失败 RAMLS0 大小:0x800 未使用:0x21e 最大孔:0x21e "C:/ti/C2000Ware_1_00_00/libraries/DSP/FPU/c28/cmd/F2837xD_FPU_RFFT_ADC_RT_Lnk.cmd",2837,第170行:错误: 程序将不适合可用内存。对 ".stack"尺寸0x300部分执行校准/阻止操作失败,第1页。 可用 内存范围: RAMLS4_5 大小:0x1000 未使用:0x290 最大孔数:0x290 警告:指定的入口点符号不是“_c_int00”:“code_start” 错误:链接时遇到错误;“2837x_RFFT_ADC_RT.OUT”未构建 gmake:***[2837x_RFFT_ADC_RT.OUT错误1 gmake:目标`ALL’由于错误而未重制。 ****构建已完成****
main.c代码:
...
Freq = RFFTmagBuff[1]; 用于(i=2;i<RFFT_size=2+1;i++){ //查找频谱的最大分量 IF (RFFTmagBuff[i]> freq){ J = I; Freq = RFFTmagBuff[i]; } } //将标准化数字频率转换为实际模拟频率 //f = m * FS/N //其中m是具有最大值的容器,FS是采样 // frequency和N FFT中的点数 Freq = F_Per_sample *(FLOW)j; sprintf (msg,"%f\n",freq);//<----------- scia_msg(msg);//<!-----------------
cmd文件:
--define RFFT_alignment=1024
#if !defined(RFFT_alignment)
#error define RFFT_alignment under C2000 Linker -> Advanced Options -> Command File Preprocessing ->--define
#endif
memory
{
page 0:/*
begin用于"boot to SARAM" bootloader mode */
#if defined(RAM)
begin :Origin = 0x0万,length = 0x0.0002万
#Elif defined (flash)
begin :原点= 0x8万,长度= 0x0.0002万
#endif
RAMM0 :原点= 0x0.0122万,长度= 0x0002DE
RAMM1 :原点= 0x0.04万,长度= 0x0.04万
RAMD0 :原点= 0x00B000,长度= 0x0.08万
RAMD1 :原点= 0x00B800,长度= 0x0.08万
RAMLS0 :原点= 0x0.8万,长度= 0x0.08万
RAMLS1 :原点= 0x0.88万,长度= 0x0.08万
RAMLS2 :原点= 0x0.9万,长度= 0x0.08万
RAMGS0 :原点= 0x00C000,长度= 0x0.1万
RAMGS1 :原点= 0x00D000,长度= 0x0.1万
RAMGS2 :原点= 0x00E000,长度= 0x0.1万
RAMGS3 :原点= 0x00F000,长度= 0x0.1万
重置 :原点= 0x3FFFC0,长度= 0x0.0002万
FLASHA :原点= 0x8.0002万,长度= 0x001FFE /*片上闪存*/
FLASHC :原点= 0x8.4万,长度= 0x0.2万 /*片上闪存*/
FLASHD :原点= 0x8.6万,长度= 0x0.2万 /*片上闪存*/
FLASHE :原点= 0x8.8万,长度= 0x0.8万 /*片上闪存*/
FLASHF :原始= 0x9万,长度= 0x0.8万 /*片上闪存*/
FLASHG :原始= 0x9.8万,长度= 0x0.8万 /*片上闪存*/
FLASHH :原始= 0x0A0000,长度= 0x0.8万 /*片上闪存*/
FLASHI :原点= 0x0A8000,长度= 0x0.8万 /*片上闪存*/
FLASHJ :原始= 0x0B0000,长度= 0x0.8万 /*片上闪存*/
FLASHK :原点= 0x0B8000,长度= 0x0.2万 /*片上闪存*/
FLASHL :原点= 0x0BA000,长度= 0x0.2万 /*片上闪存*/
FLASHM :原点= 0x0BC000,长度= 0x0.2万 /*片上闪存*/
FLASHN :Origin = 0x0BE000,length = 0x0.2万 /*片上闪存*/
page 1:
boot_rsvd :原点= 0x0.0002万,长度= 0x0.012万 /* M0的一部分,引导ROM将使用此堆栈*/
RAMLS3 :原点= 0x0.98万,长度= 0x0.08万
//RAMLS4 :原点= 0x00A000,长度= 0x0.08万
//RAMLS5 :原点= 0x00A800,长度= 0x0.08万
RAMLS4_5 :原点= 0x00A000,长度= 0x0.1万//<------------------ 新
RAMGS45 :原点= 0x1万,长度= 0x0.2万
RAMGS67 :原点= 0x1.2万,长度= 0x0.2万
RAMGS89 :原点= 0x1.4万,长度= 0x0.2万
RAMGS1011 :原点= 0x1.6万,长度= 0x002000
RAMGS12 :原点= 0x018000,长度= 0x00GS1000 RAMGS1000
:长度:0x0.1万
:0 原点= 0x01A000,长度= 0x0.1万
RAMGS15 :原点= 0x01B000,长度= 0x0.1万
FLASHB :Origin = 0x8.2万,length = 0x0.2万 /*片上闪存*/
}
节
{
codegot :>开始, 页= 0
#if defined (RAM)
ramfuncs. :> RAMM0, 页面= 0
.text :>> RAMM1 | RAMD0 | RAMD1 | RAMLS0,页面= 0
.cit :> RAMLS1,第= 0页
。销钉 :> RAMLS1,页= 0
.switch :> RAMLS1,页面= 0
//.econst :> RAMLS4,页面= 1
。econst :> RAMLS4_5,页=1//<------------------ 新
的#Elif定义(flash)
ramfuncs. :负载= FLASHC,
RUN = RAMLS1,
run_start(_RamfuncsRunStart),
load_start(_RamfuncsLoadStart),
load_size (_RamfuncsLoadSize),
页面= 0
.text :> FLASHN,page = 0
.cinit :> FLASHM,页面= 0
。Pinit :> FLASHM,PAGE = 0
.SWITCH :> FLASHM,页面= 0
。econst :> FLASHB,第=1页
#其它
#错误将"RAM"或"FLASH"添加到C2000连接器->高级选项->命令文件预处理->-定义
#endif //RAM/*
测试特定部分*/
RFFTdata1 :> RAMGS45,页面=1,对齐= RFFT_alignment
RFFTdata2 :> RAMGS67,第= 1页
RFFTdata3. :> RAMGS89,第= 1页
RFFTdata4. :> RAMGS1011,第= 1页
FPUmathTables:> RAMGS12,page = 1
重置 :>重置, Page =0,type = DSECT /* not used,*/
.cio :> RAMLS3,页面= 1
.sysmem :> RAMLS3,页面= 1
//.stack :> RAMLS4,页面= 1
//.ebss :> RAMLS5,页面= 1
//.esysmem :> RAMLS4,page = 1
.stack :> RAMLS4_5,页=1//<------------------ 新
.ebss :> RAMLS4_5,页=1//<------------------ 新
的.esysmem :> RAMLS4_5,页=1//<------------------ 新
}
感谢你的帮助。
此致,
Amin