SWRA845 June   2026 CC2340R5 , CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1

 

  1.   1
  2.   Abstract
  3. 1Links to Hardware and Software Design References
    1. 1.1 Data Sheet and User Guide
    2. 1.2 Required and Recommended Software for Environment Setup
    3. 1.3 SDK Examples
    4. 1.4 Hardware Design References
    5. 1.5 Power Calculator Table
    6. 1.6 Links to Product QDID Certificates
    7. 1.7 HSM (CC2745) Certification
  4. 2CCS 20.0-Based Debugging Methods
    1. 2.1 How to Map a Project File to the Customer's Own Board
    2. 2.2 Evaluating RAM Consumption and Checking for Stack Overflow With Map File and ROV
    3. 2.3 How to Port Your Project in CCS 12.x to CCS 20.x for Debugging
    4. 2.4 Performing Chip Erase on the CC2745
    5. 2.5 How to Debug a Project (.out) Directly in CCS 20.x Without Importing Project Code
    6. 2.6 How to Verify Whether the Chip's RF Is Working Properly
  5. 3FAQs for Development Using CC2340 and CC2745
    1. 3.1  Why Does the Program Fail to Run Correctly Although It Has Been Successfully Flashed via UniFlash or CCS
    2. 3.2  How to Change the Tx Power for Bluetooth Devices
    3. 3.3  Why Does My Program Enter iCall_abort
    4. 3.4  How to Debug a Project with MCUboot
    5. 3.5  How to Adjust the Flash Location and Size of the App in an OAD Application
    6. 3.6  How to Customize a Section in .cmd and Use it in Code
    7. 3.7  How to Use the Non-initialized Variable Section
    8. 3.8  How to Simultaneously Send Two ADV Sets With Public and RPA Addresses
    9. 3.9  What is the Difference Between E0 and E1 on the CC2745R10 Chip
    10. 3.10 How to Enable More DMA Channels to Support My Driver Requirements

Evaluating RAM Consumption and Checking for Stack Overflow With Map File and ROV

In BLE applications, the question of how much Heap space to allocate to the protocol stack often arises. Developers may address this question by using the .map file and ROV to observe the Heap usage.

Once the project is imported and built, a .map file with the corresponding project name is visible in the Release/Debug folder under the project directory. This file shows the detailed usage of SRAM, Flash, and CCFG/SCFG on the chip.

This figure shows the used and unused space of the project under the current configuration. The generation of this file corresponds to the .cmd file located in the project directory. Free-RTOS is extensively used in the SimpleLink F3 SDK, and there is an allocation of Free-RTOS Heap space via SysConfig, which allows users to increase or decrease the allocated Heap space depending on their specific requirements. When searching for .bss in the .map file, you may find that the Heap managed by Free-RTOS is allocated in the .bss section.

The .bss section points to the RAM space in the .cmd file.

After reviewing the .map file, to determine how much Heap space to allocate to the protocol stack for our applications, we can monitor the peak Heap consumption using ROV while maintaining four simultaneous connections, taking BLE in the peripheral role as an example. Open CCS 20.x, select the project you want to test, right-click it, and click Debug Project.

After properly connecting and starting the debugging process, click View -> Run Time Object on the toolbar to launch the ROV feature. Select Heap in the Module Name list and select either Basic or Detailed on the right. Run the code normally, and connect four peer devices to the emulation device in sequence. In the example code environment, the peak Heap consumption under four simultaneous connections is observed to be 13440 bytes (13kB). In this case, to ensure the program runs normally, at least 13440 bytes must be allocated for the Heap.

For issues that may occur in the code, it's also recommended to use ROV to check for stack overflow first, which is helpful in resolving the issue. The procedure is similar, but select System Stack from the ROV Module Name list and check the execution of Tasks at the same time. If the System Stack indicates a Stack Overflow, proceed to examine the Tasks.