CC3551E: cc3551 ram and flash layout?

Part Number: CC3551E

Tool/software:

The following description can be found  In the document:《 Technical Reference Manual CC35xx SimpleLinkTm Wi-Fi 6 and Bluetooth® Low Energy Wireless MCU 》 2.2 Introduction

• On chip memories

– over 1MB SRAM for application data


The definition of the "link.cmd" for the example "CC35xx_network_terminal" is as follows:

MEMORY
{
    FLASH_INT_VEC         (RWX) : origin = 0x10000000,          length = FLASH_INT_VEC_SIZE              //0x10000000-0x10001300  0x4kbyte
    FLASH_NON_SECURE      (RX) :  origin = end(FLASH_INT_VEC) , length = build_linker_toolbox_FLASH0_SIZE-FLASH_INT_VEC_SIZE
    //FLASH_SECURE          (RX)  : origin = 0x14000000,        length = 0x03FFFFFF                      //0x14000000-0x17FFFFFF
    //INT_VEC               (RWX) : origin = 0x00000000,        length = 0x000002FF                      //0x00000000-0x000002FF  0x300kbyte
    TCM_CRAM_NON_SECURE   (RWX) : origin = 0x00000000,          length = 0x00007FFF                      //0x00000000-0x000007FF  32kbyte
    //TCM_CRAM_SECURE	      (RWX) : origin = 0x04000000,      length = 0x03FFFFFF                      //0x04000000-0x07FFFFFF
    CRAM_NON_SECURE       (RWX) : origin = 0x08000000,          length = 0x0000FFFF                      //0x08000000-0x0800FFFF  64Kbyte
    //CRAM_SECURE           (RWX) : origin = 0x0C000000,        length = 0x03FFFFFF                      //0x0C000000-0x0FFFFFFF
    TCM_DRAM_NON_SECURE   (RW)  : origin = 0x20000000,          length = 0x0001FFFF                      //0x20000000-0x2001FFFF  128Kbyte
    //TCM_DRAM_SECURE        (RW)  : origin = 0x24000000,       length = 0x03FFFFFF                      //0x24000000-0x27FFFFFF
    DRAM_NON_SECURE       (RW)  : origin = 0x28000000,          length = 0x00037FFF                      //0x28000000-0x28037FFF
    CONNECTIVITY_SHARED_MEM   (RW)  : origin = 0x2803FF00,      length = 0x000000FF                      //0x2803FF00-0x2803FFFF
    //DRAM_SECURE	          (RW)  : origin = 0x2C000000,      length = 0x03FFFFFF                      //0x2C000000-0x2FFFFFFF

    /* Explicitly placed off target for the storage of logging data.
     * The ARM memory map allocates 1 GB of external memory from 0x60000000 - 0x9FFFFFFF.
     * Unlikely that all of this will be used, so we are using the upper parts of the region.
     * ARM memory map: https://developer.arm.com/documentation/ddi0337/e/memory-map/about-the-memory-map*/
    LOG_DATA (R) : origin = 0x90000000,                          length = 0x40000        /* 256 KB */
    LOG_PTR  (R) : origin = 0x94000008,                          length = 0x40000        /* 256 KB */

}

I think TCM_DRAM_NON_SECURE is the RAM area used by the user.And the TCM_DRAM_NON_SECURE is defined with a size of only 128K, and its content is as follows:

TCM_DRAM_NON_SECURE   (RW)  : origin = 0x20000000,          length = 0x0001FFFF                      //0x20000000-0x2001FFFF  128Kbyte

May I ask, how should I correctly increase the RAM for this application?

  • Hello,

    We only support one mode, which is as the linker is defined.

    To modify you can use both TCM_DRAM_NON_SECUR and general DRAM_NON_SECUR, just know that it wont add up to 1MB since a arge part of it is being used for the FW run by the radio.

    In short,  the linker is what is available to the M33 for the application. The rest is used by the wireless firmware.

    Regards,

    AB

  • I would like to know how to make the adjustment and what the adjustment range is.