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.

C6747 Memory map

Hello.

Please help me.

I have two questions in C6747 Memory handling.

Q1 : There are two similar memory areas in C6747.( DSP L2 RAM, DSP L1P RAM, DSP L1DRAM)

         I would like to know whether one is mirror memory of other or not.

         Example.   DSP L2 RAM

                             Address 1 : 0x0080 0000 ~ 0x0083 FFFF

                             Address 2 : 0x1180 0000 ~ 0x1183 FFFF       Mirror memory??

 

Q2 : I would like to know how to write cmd file.

        I know that we could not use some memory to boot because bootloader use some memory( 0x1180 0000 ~ 0x1180 4000 (16KB) )

       I don't know below linker file is right.

MEMORY
{
   L1D:     o = 11F00000h   l = 00008000h
   L1P:     o = 11E00000h   l = 00008000h
   L2:      o = 11840000h   l = 0003C000h
   Boot:    o = 11800000h   l = 00004000h

}

SECTIONS
{
    .text       >       L2
    .stack      >       L2
    .bss        >       L2
    .cinit      >       L2
    .cio        >       L2
    .const      >       L2
    .sysmem     >       L2
    .far        >       L2
    .switch     >       L2
    .vecs       >       L2
}

 

  • yeunhun choi said:

    Q1 : There are two similar memory areas in C6747.( DSP L2 RAM, DSP L1P RAM, DSP L1DRAM)

             I would like to know whether one is mirror memory of other or not.

             Example.   DSP L2 RAM

                                 Address 1 : 0x0080 0000 ~ 0x0083 FFFF

                                 Address 2 : 0x1180 0000 ~ 0x1183 FFFF       Mirror memory??

    Yes, these two address ranges point to the same physical internal memory.  The 0x008nnnnn memory space is only accessible from the DSP, whereas the 0x118nnnnn memory space is globally accessible by other peripherals/cores.

    yeunhun choi said:

    Q2 : I would like to know how to write cmd file.

            I know that we could not use some memory to boot because bootloader use some memory( 0x1180 0000 ~ 0x1180 4000 (16KB) )

           I don't know below linker file is right.

    MEMORY
    {
       L1D:     o = 11F00000h   l = 00008000h
       L1P:     o = 11E00000h   l = 00008000h
       L2:      o = 11840000h   l = 0003C000h
       Boot:    o = 11800000h   l = 00004000h

    }

    SECTIONS
    {
        .text       >       L2
        .stack      >       L2
        .bss        >       L2
        .cinit      >       L2
        .cio        >       L2
        .const      >       L2
        .sysmem     >       L2
        .far        >       L2
        .switch     >       L2
        .vecs       >       L2
    }

    This looks ok to me.