请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28335 工具/软件:Code Composer Studio
我的内存分配有问题。
我使用 CCS 7.1.0.00016。
当我将两个结构放入不同的 RAM 段时、数据大小为22x16b + 44x16b。
typedef 结构{ float dat[2]; }complex_float; typedef 结构体 SlidingGoertzelDFT{ float32值[1]; float32阶段[1]; 结构{ float32* vr0k; float32* vr1k; float32* vr2k; float32 xn[1]; Complex 浮点 VK[1]; float32 vr0t[1]; float32 vr1t[1]; float32 vr2t[1]; } 表; }SlidingGoertzelDFT; typedef 结构 PQAHarmonicsPhaseData{ SlidingGoertzelDFT 电压; SlidingGoertzelDFT 电流; }PQAHarmonicsPhaseData; typedef 结构体 PQAHarmonicsData{ PQAHarmonicsPhaseData L1; }PQAHarmonicsData; PQAHarmonicsData PQAHarmonicsMeasurement; #pragma DATA_SECTION (PQAHarmonicsMeasurement、"DMARAML7"); PQAHarmonicsData PQAHarmonicsMeasurement; typedef struct TTEST{ float32值[1]; float32阶段[1]; 结构{ float32* vr0k; float32* vr1k; float32* vr2k; float32 xn[1]; Complex 浮点 VK[1]; float32 vr0t[1]; float32 vr1t[1]; float32 vr2t[1]; } 表; }TTEST; #pragma DATA_SECTION (ttesttt、"DMARAML6"); TTEST ttesttt;
编译器的结果为:
***-build of configuration Debug for project APF_V0_01 **** "C:\\ti\\ccs710\\ccsv7\\utils\\bin\\gmake"-k -j 8 all -O 'building file:../_apf/PQA_armMeasurement.c' 'invoking:C2000 Compiler'"C :C:\\chine-board-jet="cn=cn_cn_cn"/ti/workspace_v7/APF_v0_01/_DSP -track-board-cn-cn-cn=/ti/workspace_v7/APF_v0_01/_APF/Headers /ti/workspace_v7/APF_v0_01/_DSP/Headers -cn-cn-cn-cn-cn=/ti/workspace_v7/APF_v0_01/_PCB -path=/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.3.0.STS/bin/cl2000 /ti/workspace_v7/APF_v0_01/_APF -cn-cn-cn-cn-cn-cn-cn"/ti/workspace_v7/APF_v0_01/_APF -cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn/simumines=/ti/workspace_v7/APF_v0_01/_APF /ti/workspace_v7/APF_v0_01/_PCB/Headers -cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn include_path="C:/ti/workspace_v7/APF_v0_01 --include_path="C:/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.3.0.STS/include --advice:performance=all --define=_inline --define=s采样_51200 --define=debug_DC_dogram -g --symdebug:dwarf_version=3 --obj_warning=225 --display_dc_d_data-prendore_infote_capsection_apf_capsenditation_reation_reation_reation_reation_reation_files\cmag_apf_sensoritive.c -apf_capsection_capsection_capsection_capsection_apf_capspritation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_reation_real-apf_apf_apf_capsection_capsection_capsection_apf_cap
但是、当我将 testtt 的 DATA_SECTION 也更改为 DMARAML7时、数据大小为108x16b:
***-build of configuration Debug for project APF_V0_01 **** "C:\\ti\\ccs710\\ccsv7\\utils\\bin\\gmake"-k -j 8 all -O 'building file:../_apf/PQA_armMeasurement.c' 'invoking:C2000 Compiler'"C :C:\\chine-board-jet="cn=cn_cn_cn"/ti/workspace_v7/APF_v0_01/_DSP -track-board-cn-cn-cn=/ti/workspace_v7/APF_v0_01/_APF/Headers /ti/workspace_v7/APF_v0_01/_DSP/Headers -cn-cn-cn-cn-cn=/ti/workspace_v7/APF_v0_01/_PCB -path=/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.3.0.STS/bin/cl2000 /ti/workspace_v7/APF_v0_01/_APF -cn-cn-cn-cn-cn-cn-cn"/ti/workspace_v7/APF_v0_01/_APF -cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn/simumines=/ti/workspace_v7/APF_v0_01/_APF /ti/workspace_v7/APF_v0_01/_PCB/Headers -cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn-cn include_path="C:/ti/workspace_v7/APF_v0_01 --include_path="C:/ti/ccs710/ccsv7/tools/compiler/ti-cgt-c2000_17.3.0.STS/include --advice:performance=all --define=_inline --define=sensing_51200 --define=debug_DC_dogram -g --symdebug:dwarf_version=3 --obj_warning=225 --display_dc_d_data-prendore_infote_capsection_capsection_apf_capsection_pritive_sensoritive_pf-apf_capsection_capsection_pritive_pensoritive_pf-nation_sitive_apf_caps=pref_caps\cmag_capsprenditive_pf-nation_sitive_pref.apf_capsprenditive_pref_caps=pref_apf_capsection_capsection_capsection_capsulation_sitive_s
我无法解释22x16 + 44x16如何等于108x16???
因此、我无法将我的数据放入 RAM 段中。
有人能帮我解决这个问题吗?