Other Parts Discussed in Thread: C2000WARE
Tool/software:
Cla1ProgRunStart is set to 0, not sure why.
This is from the .map file.
page address name ---- ------- ---- 0 00000000 Cla1ProgRunStart 0 00000000 Cla1Task1 0 00000400 __stack 0 00000600 __TI_STACK_END 0 00001480 gFromCLA 0 00001500 SwingCommutationA 0 00001506 SwingCommutationB 0 0000150c SwingCommutationC 0 00001512 ValveCommutationA 0 00001518 ValveCommutationB 0 0000151e ValveCommutationC 0 00001540 gToCLA 0 00001636 __claabi_addd 0 00001d9e __TI_frcdivd 0 00002270 __claabi_mpyd 0 00002654 __claabi_divd 0 00002944 __claabi_mpyll 0 00002ad8 __TI_frcmpyd 0 00002c5a __claabi_cmpull 0 00002d8a __claabi_asrll 0 00002eb4 __claabi_lslll 0 00002fba __claabi_cmplli 0 000030bc __claabi_lsrll 0 000031be __claabi_fltid 0 000032aa __claabi_cvtdf 0 0000336c __claabi_cvtfd 0 000033fe __claabi_addll 0 0000346c __claabi_subd 0 000034a6 __claabi_memset 0 000034d8 Cla1Task2 0 000034e0 Cla1Task3
This is from the memory section in f280037_cla_flash_link.cmd
BEGIN : origin = 0x00080000, length = 0x00000002 BOOT_RSVD : origin = 0x00000002, length = 0x00000126 RAMM0 : origin = 0x00000128, length = 0x000002D8 RAMM1 : origin = 0x00000400, length = 0x000003F8 // RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ //shared by CPU and CLA RAMLS0 : origin = 0x00008000, length = 0x00000800 RAMLS1 : origin = 0x00008800, length = 0x00000800 RAMLS2 : origin = 0x00009000, length = 0x00000800 RAMLS3 : origin = 0x00009800, length = 0x00000800 //RAMLS4 : origin = 0x0000A000, length = 0x00000800 //RAMLS5 : origin = 0x0000A800, length = 0x00000800 //RAMLS6 : origin = 0x0000B000, length = 0x00000800 RAMLS4_5_6 : origin = 0x0000A000, length = 0x00001800 RAMLS7 : origin = 0x0000B800, length = 0x00000800 RAMGS0 : origin = 0x0000C000, length = 0x00001000 RAMGS1 : origin = 0x0000D000, length = 0x00001000 RAMGS2 : origin = 0x0000E000, length = 0x00001000 RAMGS3 : origin = 0x0000F000, length = 0x00000FF8 // RAMGS3_RSVD : origin = 0x0000FFF8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ BOOTROM : origin = 0x003F8000, length = 0x00007FC0 SECURE_ROM : origin = 0x003F2000, length = 0x00006000 RESET : origin = 0x003FFFC0, length = 0x00000002
And this is from the sections of the same file.
// CLA program memory */
#if defined(__TI_EABI__)
Cla1Prog : LOAD = FLASH_BANK0,
RUN = RAMLS4_5_6,
LOAD_START(Cla1ProgLoadStart),
RUN_START(Cla1ProgRunStart),
LOAD_SIZE(Cla1ProgLoadSize),
ALIGN(8)
#else
Cla1Prog : LOAD = FLASH_BANK0,
RUN = RAMLS4_5_6,
LOAD_START(_Cla1ProgLoadStart),
RUN_START(_Cla1ProgRunStart),
LOAD_SIZE(_Cla1ProgLoadSize),
ALIGN(8)
#endif
When I try to build, I get the following error:
../28003x_cla_flash_lnk.cmd", line 158: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section "Cla1Prog" size 0x3510 page 0. Available memory ranges:
RAMLS4_5_6 size: 0x1800 unused: 0x1800 max hole: 0x1800
Ths size reported (0x3510) is the location of CLATask8, the size should be around 0x1300.
The code was running fine on a 280049 processor with C2000W2_00_00_02 and older compiler. I cannot get the old code to compile on the currently installed C2000Ware and compiler.
Thanks for the help.
