0

I'm working with OMAPl138 lcdk and I have a basic application for audio processing (some filtering + equalizering, nothing special). Due to historical reasons I have a lot of static and global data declared, variables, arrays and structures...

Basically my application works fine. But if only I declare one more static variable array I see no output signal. At the same time I do not access it, it's only declared.

Originally I have the following .bss

c31031f0    c31031f0    000006a0   00000000    rw-
  c31031f0    c31031f0    000006a0   00000000    rw- .bss

and .far section

c3000000    c3000000    0005c994   00000000    rw-
  c3000000    c3000000    0005c994   00000000    rw- .far

I'm trying to declare static float tmpArr[8] and see the failure.

These sections are related to DDR memory which is declared like the following :

DDR                   c3000000   00800000  00103f56  006fc0aa  RW X

So it's unused size is 0x6fc0aa which is a big room to be placed :).

What could it be related to? Any hits are extremely appreciated.

Dmitry
  • 1,912
  • 2
  • 18
  • 29

1 Answers1

1

These kinds of problems can be hard to debug. You need to look into the memory layout of the target system and look if any of your sections exceeds its boundaries.

Really hard to give generic advice in such cases. It's easy to spend days and weeks of debugging to find the reason (or not). You can try to remove parts of your code base from your build to get a feel what could make it become unreliable. Integration can be a nightmare on some embedded systems.

I didn't have problems with the OMAPL138 though. Have been running signal processing applications on both the ARM9 and the C674x DSP.

nucleon
  • 1,128
  • 1
  • 6
  • 19
  • Please see my comments about memory layout. There is not overlap as far as I see... – Dmitry Jun 17 '16 at 16:34
  • Have you checked your target's link map to see where it's placing your array? – fullofsquirrels Jun 17 '16 at 21:58
  • Yes, this array is placed inside DDR area, the occupied size is also fine. One thing I've just figured out that if I place this array to other area than DDR - my app works fine. But I have a lot of stuff placed inside DDR, and it seems they all work fine...I hope ;). – Dmitry Jun 19 '16 at 11:29