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 Flash optimization

Part Number: CC2640R2F
Other Parts Discussed in Thread: BLE-STACK

Tool/software: TI-RTOS

SDK: simplelink_cc2640r2_sdk_2_30_00_28

My project is based on the example simple_peripheral_oad_offchip ( split image configuration ). In the default configuration, Flash map as follows:

APP: 0x00000 - 0x13FFF

STACK: 0x14000 - 0x1CFFF

SNV: 0x1D000 - 0x1DFFF

BIM: 0x1E000 - 0x1FFFF

The features I need for my application are as follows:

  1. Device Information service
  2. User service, 0xFFF0
  3. OAD service,
  4. No bluetooth pairing

At present, there is not enough code space for my application, only about 1K of code space in 0x00000 - 0x13FFF is left.

I refer to the suggestion given in the user guide: http://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_2_40_00_32/docs/blestack/ble_user_guide/html/ble-stack-3.x/creating-a-custom-bluetooth-low-energy-application.html#optimizing-bluetooth-low-energy-flash-and-ram-memory-usage 

I think Disalbe SNV and modify the stack library option in build_config.opt is useful to me.  I did the following test:

①  Disable GAP_BOND_MGR in the build_config.opt   →  The starting address of STACK is changed from 0x14000 to 0x15000.

②  Disable GAP_BOND_MGR and L2CAP_COC_CFG in the build_config.opt   →  The starting address of STACK is changed from 0x14000 to 0x16000.

③  OSAL_SNV=0 in STACK  preprocessor option   → build error:   "Incompatible NV settings detected. OAD supports 1 NV page"

so, my question is:

1. What effect will ① & ② have on my application?

2. How can I disable the SNV and use the free 4K space for my app code