您好、查姆斯、
我的客户以前在应用中使用了 F2812和 CCS v3.3 (CGT v3.07)、现在他想将项目迁移到 F280037和 CCS v12 (CGT v22.6.0.LTS)、但他面临一个.ebss 大小问题。
项目中有一个 parameter.cpp、但 paramter.obj 的大小在使用 CCS v3.3和 CCS v12构建该项目时有很大不同、请参阅以下.map 文件部分、
**由 CCS v3.3 (CGT v3.07)构建的.map 文件。
.ebss 1 00010980 000016f6 UNINITIALIZED 00010980 000006b6 mc_amf.obj (.ebss) 00011036 0000000a mc_Prog.obj (.ebss:_BreakPoint) 00011040 0000017c C28_SCI.obj (.ebss) 000111bc 00000004 encoder_cpu2.obj (.ebss) 000111c0 0000016c C28_SPI.obj (.ebss) 0001132c 00000012 C28_HW.obj (.ebss:_ePWM) 0001133e 00000002 ISR_PWM.obj (.ebss) 00011340 0000014e Mon.obj (.ebss) 0001148e 00000032 gain_tuning.obj (.ebss:_dB_ratio_table) 000114c0 00000128 Parameter.obj (.ebss) 000115e8 00000018 f28004x_cputimers.obj (.ebss) 00011600 00000120 Data_Save.obj (.ebss) 00011720 00000020 FFT_cal.obj (.ebss) 00011740 000000f4 SWI.obj (.ebss) 00011834 0000000c cCn2Inf.obj (.ebss) 00011840 000000c0 rts2800_fpu32.lib : dtor_list.c.obj (.ebss:_atexit_func) 00011900 000000ac PanelPoll.obj (.ebss) 000119ac 00000010 Mon.obj (.ebss:_Mon_Get_Long_Func) 000119bc 00000004 mc_SR.obj (.ebss) 000119c0 000000ac mc_main.obj (.ebss) 00011a6c 00000010 Parameter.obj (.ebss:_P0_35) 00011a7c 00000004 mc_func.obj (.ebss) 00011a80 000000a0 mc_main.obj (.ebss:_Task)
**由 CCS v12 (CGT v22.6.0.LTS)构建的.map 文件
.ebss 0 003f2000 000041f6 UNINITIALIZED 003f2000 00000708 Parameter.obj (.ebss:_pg5) 003f2708 00000708 Parameter.obj (.ebss:_pg6) 003f2e10 000006f6 Parameter.obj (.ebss:_pg1) 003f3506 000006d2 Parameter.obj (.ebss:_pg2) 003f3bd8 000004da Parameter.obj (.ebss:_pg0) 003f40b2 000002be Parameter.obj (.ebss:_pg_h1) 003f4370 000002ac Parameter.obj (.ebss:_pg_h2) 003f461c 00000018 f28003x_cputimers.obj (.ebss) 003f4634 0000000c Para_Func.obj (.ebss) 003f4640 000001fc CANopen_ApFun.obj (.ebss) 003f483c 000001f8 Parameter.obj (.ebss:_pg7) 003f4a34 000001c2 Parameter.obj (.ebss:_pg4) 003f4bf6 0000000a ISR_PWM.obj (.ebss) 003f4c00 00000190 mc_main.obj (.ebss:_AMF_QUEUE) 003f4d90 0000002e Main.obj (.ebss) 003f4dbe 00000002 CANopen_301Drv.obj (.ebss)
由于 CGT v22.6.0.LTS 会生成许多奇怪的大尺寸参数.obj、因此我们没有足够的 RAM 大小来分配给.ebss 扇区。 请建议我们如何调试此问题、感谢您的帮助。
此致、
Luke