Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE
Tool/software: Code Composer Studio
Hi,
I am implementing a code for FOC of a PMSM. I have a lot of float and int variables, and it seems that these volume of data do not fit into the memory. This is the error that I see : "program will not fit into available memory. run placement with alignment/blocking fails for section ".ebss" size 0x1e6d page 1. " I am using 28335_RAM_lnk.cmd as the linker. To solve this error, I try to increase the length of RAML4 in PAGE1 to be able to fit the data into .ebss. This is the command that I am using for PAGE 1:
BOOT_RSVD : origin = 0x000002, length = 0x00004E /* Part of M0, BOOT rom will use this for stack */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
RAML4 : origin = 0x00B000, length = 0x002000
RAML5 : origin = 0x00D000, length = 0x001000
RAML6 : origin = 0x00E000, length = 0x001000
RAML7 : origin = 0x00F000, length = 0x001000
ZONE7B : origin = 0x20FC00, length = 0x000400 /* XINTF zone 7 - data space */
Basically, I change the origin of the RAML4 to 0x00B000 and then increase its length to 0x002000. However, I see that people are saying if we do so and have some sort of mutual memory region in PAGE 0 and PAGE 1, the program and/or data may be corrupted. The reason that the same concern raised for me is that I get different results (using exactly the same code and configuration and every thing) when running multiple times. For example, sometimes the output of PI reaches the limit and sometimes it does not reach the limit and works fine and try to tune the system. I believe the microprocessor have some problems computing and executing the code, and this is why I think maybe this is the problem. So, I thought maybe since I am changing the origin and it has the same memory region in PAGE 0 and PAGE 1 (for RAML4), I face this problem. Does any one have any comment on this? If so, I would really appreciate if someone helps me.