what is the maximum number of elements of an Uint16 array in 28035 ?
I have declared Uint16 x [1500]
it gives error when compiling - it says maximum memory is 0x400 or something like that
but in manual of 28035 it says 10K RAM ?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
what is the maximum number of elements of an Uint16 array in 28035 ?
I have declared Uint16 x [1500]
it gives error when compiling - it says maximum memory is 0x400 or something like that
but in manual of 28035 it says 10K RAM ?
mehmet karakaya said:I have declared Uint16 x [1500]
it gives error when compiling - it says maximum memory is 0x400 or something like that
Please provide the exact error - it will help determine what the issue is.
mehmet karakaya said:but in manual of 28035 it says 10K RAM ?
Yes, 2035 has 10K or RAM. 2K of this is not contiguous with the other 8, however.
The memory linker command file .cmd will also tell the tools where to place various pieces of the code including the array - so perhaps the placement is into a chunk of memory too small for the placement.
-Lori
"C:\\tidcs\\c28\\DSP2803x\\v121\\DSP2803x_common\\cmd\\28035_RAM_lnk.cmd", line 119: error:
run placement fails for object ".ebss", size 0x649 (page 1). Available
ranges:
RAML2 size: 0x400 unused: 0x300 max hole: 0x300
exact error is this - ( the application is the sci_interrupt example with small addition of code )
mehmet karakaya said:"C:\\tidcs\\c28\\DSP2803x\\v121\\DSP2803x_common\\cmd\\28035_RAM_lnk.cmd", line 119: error:
run placement fails for object ".ebss", size 0x649 (page 1). Available
ranges:
RAML2 size: 0x400 unused: 0x300 max hole: 0x300exact error is this - ( the application is the sci_interrupt example with small addition of code )
Mehmet,
This means that in the linker command file (28035_RAM_lnk.cmd) the .ebss section is not large enough for the placement. You can try modifying the .cmd file to allow for a larger .ebss section. The linker command file is documented in the assembly ref guide www.ti.com/lit/spru513.
Regards
-Lori
thank you for the answer
but ... , wouldnot it be good
that the C compiler takes care of all the memory management ?
Mehmet,
mehmet karakaya said:but ... , wouldnot it be good
that the C compiler takes care of all the memory management ?
For simple examples it may not matter much what memory is used. But in embedded processing it quickly does become important. Some things to consider when placing code/data:
The linker command file is how you describe your device to the tools and tell it where you want different sections to go.
If you don't assign a particular section to a memory region then the tools will indeed try to place it in any available memory. This may not be desired for the above reasons. Because of this I suggest always linking with the -w flag so the tools will tell you it is assigning a section to memory without your influence.
Regards,
-Lori