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.

Using AM3359 internal memory

Hi,

     We are using the 3359 running StarterWare hooked to an external device that DMA's data to memory. We thought it would be more efficient to DMA the data to internal memory before it is massaged and then moved to external DDR. The Code Composer.cmd file shows internal memory as:

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 */

Is there a set of rules for these areas? If I wanted to make a DMA area in SRAM that the compiler knows about like:

char    buffer1[DMA_TEST_BUFFER_SIZE] __attribute__((section (".SRAM")));

Is this area ok to use or are there other internal memory address that could be used?

Thanks,

      John C.

  • John Conover said:
    char    buffer1[DMA_TEST_BUFFER_SIZE] __attribute__((section (".SRAM")));

    Do you mean that you want to make compiler to know "buffer1" to be placed in SRAM? If yes, you can use following statement

    #pragma DATA_SECTION(buffer1, ".SRAM" );

  • Radhesh,

              I put the code snippet in just to show the assignment of the DMA buffer to internal memory. I really was trying to verify if there are a set of rules when using the internal memory. It could be that from a hardware perspective there are no set of rules when using SRAM and that it is the specific software you are using. If that is the case I should move this question into the StarterWare group (or SYS/BIOS or Linux) based on the OS I am using. So the concise question for this forum should be:

    Is all of SRAM available for software use?

    Thanks,

         John C.

  • Hi John,

    If the usage from starterware perspective, then as you mentioned better to check with Starterware forum. Because, it purely depends on the fact that which all modules in the software are utilizing SRAM to what extent and how (like whether the data is persistent or scratch).

  • Does anyone know if StarterWare uses the 3359's internal SRAM is for a scratchpad or stack or something?

    Thanks,

         John C.

  • Hi John,

    First of all sorry for the delayed response.

    StarterWare applications use internal memory for powermanagement code relocation. If there is no power management, you can use internal memory for any other purpose.

    Also, StarterWare bootloader runs from internal memory only. But once application comes up, we are safe to use internal memory.

    Hope this clarifies.

    Regards

    Anant Pai

  • Anant,

            Thank you for the response. During some earlier testing we had been using internal memory for DMA'ing our data to and had noticed that we were seeing something overwrite it but were not sure. I'll check to insure we are not using any power management.

    Thanks again,

         John C.