awr1443 RAM分配问题

Other Parts Discussed in Thread: AWR1443

你好,ES3.0 的AWR1443芯片,我看SDK_02_01_00_04中 demo中允许配置自由配置6个bank的RAM空间 

我实际用的时候给L3_RAM分配了4个BANK,PROG_RAM分配1个,DATA_RAM分配1个,那么实际PROG_RAM大小是192k,DATA_RAM是128K了,

但是如果我的程序大小超过了128K或者说DATA_RAM超过了64K,代码就无法正常运行,也就是说我给PROG_RAM和DATA_RAM分配的空间没法用起来,请问这是什么原因?

  • 你好,

    我看到你这边使用的都还是默认的memory配置?没有改动呀?

    我理解你的问题是想要拓展PROG_RAM和DATA_RAM,放置于L3上。

    这里我提供一个修改方式给你参考,如下

    /*----------------------------------------------------------------------------*/
    /* Memory Map                                                                 */
    /*----------------------------------------------------------------------------*/
    MEMORY{
    PAGE 0:
    
        VECTORS  (X)  : origin=0x00000000 length=0x00000100
        PROG_RAM (RX) : origin=0x00000100 length=0x0001FF00
        DATA_RAM (RW) : origin=0x08000000 length=0x00010000
    
        //L3_RAM (RW)   : origin=0x51020000 length=0x00036000
        L3_RAM (RW)   : origin=0x51020000 length=0x00036000
        L3_RAM_CONST (RW) : origin=0x51056000 length=0x00004000
        HWA_RAM (RW)  : origin=0x52030000 length=0x00010000
    
    PAGE 1:
        L3_RAM (RW)   : origin=0x51020000 length=0x00040000
    }
    
    /*----------------------------------------------------------------------------*/
    /* Section Configuration                                                      */
    /* 14xx ROM bootloader requires strict 16 byte alignment for the loadable     */
    /* program sections                                                           */
    /*----------------------------------------------------------------------------*/
    SECTIONS
    {
        .intvecs : {} > VECTORS
    
        /* Ensure that these sections are placed in the TCMA; since the bootloader
         * will load to only TCMA. */
        .text    : {} > PROG_RAM ALIGN(16)
        .const   : {} > L3_RAM_CONST ALIGN(16)
        .cinit   : {} > L3_RAM_CONST ALIGN(16)
    
        //.const   : {} > PROG_RAM ALIGN(16)
        //.cinit   : {} > PROG_RAM ALIGN(16)
        .pinit   : {} > PROG_RAM ALIGN(16)
    
        .bss     : {} > DATA_RAM
        .data    : {} > DATA_RAM
        .stack   : {} > DATA_RAM
    }
    /*----------------------------------------------------------------------------*/