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.

RTOS/CC2640R2F: CC2640R2F: Clarification needed on RAM Allocation and Reserved Space in RAM.

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640

Tool/software: TI-RTOS

Dear Team,

The following hardware and software we are using :

Part Number : CC2640R2F

SDK version : 1.50.00.58

TI-RTOS : Using RTOS in flash

Stack Image : Split Image Configuration

We are using SPI0 and SPI1 channels.

Following doubts we are having :

From document, indicates that, If we are using RTOS in flash. then RAM will be starts from 0x20000100 if our understanding is correct. But when we are trying to compile project and checking in the Map file, then RAM was not saving any information on 0x20000100 to 0x20000520.  Also not starting from 0x20000100 instead, its starting from 0x20000520.

This are the doubts we have :

  1.  Is there any documents available to understand more about RAM allocation (0x20000000 to 0x20005000).   
  2.  Is it possible that, programmer can use reserved space of 0x20000100 Plus 264 bytes.
  3.  Where we can find information about RESERVED RANGES which indicates reserved of the below memory locations.
    1.    [0x20000000-0x200000c7]
         [0x20000430-0x2000043f]
         [0x20000440-0x2000044f]
         [0x20000500-0x2000050f]
         [0x20000510-0x2000051f]
         [0x20004f80-0x20004f83]
         [0x20004f84-0x20004f87]
         [0x20004f88-0x20004f8b]
         [0x20004f8c-0x20004f8f]
         [0x20004f90-0x20004f93]
         [0x20004f94-0x20004f97]
         [0x20004f98-0x20004f9b]
         [0x20004f9c-0x20004f9c]
  4. In one query indicates, if we are using SPI  then full 512 byte table will be used, like that. that means programmer can't use the reserved space of (0x20000100 to 0x20000520) ?
  5. For 3 Services with 4 characteristics each, how much Heap memory is needed. Is there any document is available for us to calculate the exact heap is needed based on service and characteristics? If Yes provide link here.!

Here am providing you the below threads for your information.

Could anyone provide us suggestions on this.

Thanks for your support in advance.

Regards,

Siva.

  • Hello Siva,

    You can see how the data is being allocated and modify it by taking a look at the CC26xx_app.cmd file under the TOOLS folder inside the project. This will give you an idea of how the memory is being allocated and be able to modify it. Take into consideration the defines inside the CCS_COMPILER_DEFINES.bcfg inside the TOOLS folder.

    Also by taking a look at the map file you can see that [0x20000000-0x200000c7] is being used for app_ble_pem3.oem3 (.vecs) you can keep going down the MAP file and be able to follow the addresses with the contents of what you wish to look at.

    Can you elaborate more on Question 4, I do not understand what you are trying to say.

    as for heap optimization for profile and characteristics, you can follow these documents.

    dev.ti.com/.../creating-a-custom-bluetooth-low-energy-application.html

    dev.ti.com/.../memory_management.html

    Regards,
    AB
  • Hi AB,

    Thanks for your response.

    Regarding Question 4, whether Programmer can use the region of 0x20000100 to 0x20000520?

    Reason behind this question is in Map file, this 1056 bytes are reserving by the linker.

    Regards,
    Siva.

  • Hello,

    I do not see why not, you can modify the linker command file to your liking. Remember to also take into consideration the stack project linker command file.

    Regards,

    AB