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.

LAUNCHXL-CC2650: How use "RTOS in ROM" configuration instead of "RTOS in FLASH" configuration for CC2650 OAD ENABLED project?

Part Number: LAUNCHXL-CC2650
Other Parts Discussed in Thread: CC2650, SYSBIOS, CC2640

Hi TI support,

With Launchpad CC2650 project name - "simple_peripheral_cc2650lp_app", Build Configuration - "FlashOnly_OAD_ExtFlash" Project compiles successfully.

I want to start UART log prints in this project.

So I enabled logging code same as done in "Project Zero code".

But then I get the Insufficient memory problem - Program will not fit in memory error.

To save the memory, I tried to use module xdc.useModule('ti.sysbios.rom.ROM');

But then I am getting error as

"DEFAULT memory range overlaps existing memory range"

<Linking>
"configPkg/linker.cmd", line 596: warning #10096-D: specified address lies outside memory map
error #10264: DEFAULT memory range overlaps existing memory range IMAGE_HEADER
error #10264: DEFAULT memory range overlaps existing memory range FLASH
error #10264: DEFAULT memory range overlaps existing memory range SRAM
"configPkg/linker.cmd", line 721: warning #10096-D: specified address lies outside memory map
error #10263: DEFAULT memory range has already been specified
error #10264: DEFAULT memory range overlaps existing memory range DEFAULT
error #10264: DEFAULT memory range overlaps existing memory range IMAGE_HEADER
error #10264: DEFAULT memory range overlaps existing memory range FLASH

error #10264: DEFAULT memory range overlaps existing memory range SRAM
>> Compilation failure
makefile:200: recipe for target 'simple_peripheral_cc2650lp_app_STACK_IN_ROM.out' failed
error #10010: errors encountered during linking; "simple_peripheral_cc2650lp_app_STACK_IN_ROM.out" not built
gmake[1]: *** [simple_peripheral_cc2650lp_app_STACK_IN_ROM.out] Error 1
gmake[1]: Target 'secondary-outputs' not remade because of errors.
gmake: *** [all] Error 2
makefile:196: recipe for target 'all' failed

**** Build Finished ****

In the "CC2640 BLE OAD User's Guide" Section 8.3 

"8.3 RTOS RCFG Section
In order to save space, the CC26xx contains portions of the TI-RTOS kernel in its ROM image. These ROM functions have dependencies on a data structure called the RCFG within flash page 0 of internal flash. The RCFG section is essentially a table of function pointers (and some other kernel data) that allows the kernel ROM functions to access certain data structures in the internal flash memory.
When building a new RTOS in ROM image, the RCFG must be updated. However, since the RCFG lies within page 0 (which contains the vector table and thus is write protected) it cannot be updated via OAD.
This means that all images intended to be sent over the air must use an RTOS in flash configuration that includes their own instance of the RCFG."

Does this section has any clue to solve my problem?

Do I need to rearrange the flash memory boundaries for stack or app in linker file?

Do I need to change in cc26xx_app_oad.cmd file?

Its a humble request, Please take it seriously on priority.

for more details- I am using BLE SDK 2_02_07_06, CCS7.4, Compiler ver.5.2.6, XDC tool version 3.32.0.06_core, TI RTOS version 2.21.1.08

regards

Gajendra