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.

Dual-mapped的疑问

最近在学习Dsp,遇到一个问题,Dual-mapped在同一个Cmd文件中是不是只能用其中一个内存映射?还有reserved映射区为什么一般不分配内存空间,有什么依据么?谢谢。

  • 供参考

    L0与L1是镜像关系,具体用哪个要看CMD文件下面是CCS自带CMD的部分
    从中看到它用了0x00 8000 – 0x00 8FFF的空间,那么0x3F 8000 – 0x3F 8FFF这个还能不能用?当然可以,但容量还是4Kx16,因为这两部分地址空间是重叠的,所以分配内存空间时要小心,不要重了。

    MEMORY
    {
    PAGE 0:    /* Program Memory */
               /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */

       PRAML0      : origin = 0x008000, length = 0x000800     /* on-chip RAM block L0 */
       OTP         : origin = 0x3D7800, length = 0x000400     /* on-chip OTP */
       FLASHD      : origin = 0x3F0000, length = 0x002000     /* on-chip FLASH */
       FLASHC      : origin = 0x3F2000, length = 0x002000     /* on-chip FLASH */
       FLASHA      : origin = 0x3F6000, length = 0x001F80     /* on-chip FLASH */
       CSM_RSVD    : origin = 0x3F7F80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
       BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
       CSM_PWL_P0  : origin = 0x3F7FF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */

       IQTABLES    : origin = 0x3FE000, length = 0x000B50     /* IQ Math Tables in Boot ROM */
       IQTABLES2   : origin = 0x3FEB50, length = 0x00008C     /* IQ Math Tables in Boot ROM */
       IQTABLES3   : origin = 0x3FEBDC, length = 0x0000AA          /* IQ Math Tables in Boot ROM */

       ROM         : origin = 0x3FF27C, length = 0x000D44     /* Boot ROM */
       RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
       VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM  */

    PAGE 1 :   /* Data Memory */
               /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
               /* Registers remain on PAGE1                                                  */

       BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */
       RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
       RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
       DRAML0      : origin = 0x008800, length = 0x000800     /* on-chip RAM block L0 */
       FLASHB      : origin = 0x3F4000, length = 0x002000     /* on-chip FLASH */
    }

  • 以您发的例子为例,是不是MEMORY如果占用了L0中的0x008000-0x0087ff,镜像的L0只能占用0x3f8800-0x3f8fff么