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.

CC3200 bootloader and application shared memory

Other Parts Discussed in Thread: CC3200

Hello, as we know that CC3200 bootloader and application share the 16KB memory between 0x20000000-0x20004000, after bootloader load the application to 0x20004000, can I still use memory from 0x20000000-0x20004000, is there any risk for my application to access this memory region?

  • Hi Bao,

    Yes you can use memory region " 0x20000000-0x20004000" for application data needs.  This should not be used for code placement. Refer to section "6.1.2 Boot Loader / User Application – Sharing MCU RAM" of CC3200-Programmers_Guide.pdf for further details.

    Thanks and Regards,

    Siddaram

  • so for the product E1.33, there will be 64k ROM for Bootloader and driveLib, we will not need to share the 16k RAM for BootLoader, right or wrong?

  • Hi Joseph,

    Boot loader code would be part of ROM but for it's data needs it still needs to use RAM. So even on ES 1.33 RAM of 16 KB would be shared between Boot loader and application. What this means is application code can't be located to this 16 KB of RAM, however application can also use this 16 KB for it's data needs.

    Thanks and Regards,

    Siddaram

  • Hi Siddaram,

    I am building an application which is memory intensive.
    I am currently using CCS debugger to load the code into the device and do the execution.
    The SOP jumper is in 000 state and hence not in download mode.

    I would like to know if i can potentially access the initial memory chunk i.e. 0x20000000 to 0x20004000 for my code or data space.

    if yes then

    1) What changes should i do in the hardware ( jumper / pin settings ).
    2) What changes should i do in the .cmd file?

    My current .cmd file is as follows.

    "

    --retain=g_pfnVectors
    #define RAM_BASE 0x20004000

    /* System memory map */

    MEMORY
    {
    /* Application uses internal RAM for program and data */
    SRAM_CODE (RWX) : origin = 0x20004000, length = 0x26000
    SRAM_DATA (RWX) : origin = 0x2002A000, length = 0x14000
    }

    /* Section allocation in memory */

    SECTIONS
    {
    .intvecs: > RAM_BASE
    .init_array : > SRAM_CODE
    .vtable : > SRAM_CODE
    .text : > SRAM_CODE
    .const : > SRAM_CODE
    .cinit : > SRAM_CODE
    .pinit : > SRAM_CODE
    .data : > SRAM_DATA
    .bss : > SRAM_DATA
    .sysmem : > SRAM_DATA
    .stack : > SRAM_DATA(HIGH)
    }

    "
    Please advice me on this.

    Regards,
    Sreenivasa
  • Hello,

    I have a question regarding the bootloader and LPDS mode. Does the bootloader execute when waking up from LPDS? If that's the case, will it use in any way the shared 16KB of ram region before returning control to the application?

    Thanks in advance!


    Best regards,

    Daniel