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.

AM335x EVM Linker Errors

Other Parts Discussed in Thread: AM3358

I'm testing a sample project provided by Micrium with their uC/OS-II on the AM335x EVM using TI's CCS; I'm having problems with the linker as it's giving me the following errors:

"../AM3358.cmd", line 54: error #10099-D: run placement fails for object
".sysmem", size 0x800 (page 0). Available ranges:
L3OCMC0 size: 0x10000 unused: 0x204 max hole: 0x204

"../AM3358.cmd", line 52: error #10099-D: run placement fails for object

".data", size 0x260 (page 0). Available ranges:

L3OCMC0 size: 0x10000 unused: 0x204 max hole: 0x204

Please note that I'm using the default configurations in AM3358.cmd which are:

MEMORY
{
  SRAM: o = 0x402F0400 l = 0x0000FC00 /* 64kB internal SRAM */
  L3OCMC0: o = 0x40300000 l = 0x00010000 /* 64kB L3 OCMC SRAM */ 
  M3SHUMEM: o = 0x44D00000 l = 0x00004000 /* 16kB M3 Shared Unified Code Space */
  M3SHDMEM: o = 0x44D80000 l = 0x00002000 /* 8kB M3 Shared Data Memory */
  DDR0: o = 0x80000000 l = 0x40000000 /* 1GB external DDR Bank 0 */

were all sections are assigned to L3OCMC0. From my understanding the error means that my application requires a larger amount of memory than that available for L3OCMC0. What I did is assigned .data and .sysmem to DDR0 and that fixed the linker errors but the application did not run and halted before entering main().

I'm new to the whole embedded world so any kind of help to fix my errors is really appreciated.


Thanks!