Other Parts Discussed in Thread: OMAPL138
We are using SYS/BIOS 6.35.04.50 and SYSLINK 2.21.01.15 on an OMAPL138 dual core platform. Following various examples from TI's MCSDK and other sources, we have written applications to run on the DSP and ARM. The ARM side is running a Busybox-based Linux OS.
We are using the Notify and MessageQ APIs to transfer data between the two cores, primarily MessageQ transferring buffers from the DSP to the ARM. We are looking to increase the size of the HeapBufMP object used by the MessageQ objects but have run into some problems doing this:
1. When called from the ARM, what exactly does the regionId member of the HeapBufMP_Params struct refer to? Does it correspond to the SharedRegion information in our DSP application's .cfg file? e.g. "SharedRegion.setEntryMeta(0, new SharedRegion.Entry(...) )"
2. If so what configures our device's external memory map? Surely there must be a definition common between the DSP, ARM and Syslink kernel module? In the DSP's .cfg file there is the following comment:
/* configure external memory cache property * * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) Cache.MAR192_223 * ---------------------------------------------------------------------------- * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) -------- don't care * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 no-cache MAR194 * C201_0000 - C2FF_FFFF FF_0000 ( ~15 MB) SR_1 no-cache MAR194 * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG cache enable MAR195 * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) -------- cache enable MAR195 * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) -------- don't care */
From what has this been generated? Can it be changed?
3. How much shared memory needs to be reserved separately from our application's requirements? Presumably Syslink (Notify and MessageQ) require some internal shared state - where does this go?