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.

CC2650MODA: Rom driver table, leveraging BIM spi driver, and tool version checking

Part Number: CC2650MODA
Other Parts Discussed in Thread: CC2650

Hello,

I'm running into flash size issues with our project using the CC2650MODA, and i'm looking to confirm a few things that I didn't find recent or definitive answers to in the forums. toolchain and versions:

ble_sdk_2_02_07_06

tirtos_cc13xx_cc26xx_2_21_01_08

xdctools_3_32_00_06_core

  • Along those same lines, am I using the most recent tools for this chip?

  • Is it possible to use the spi driver from driverlib in the BIM first page (Bim_ext_flash example) in the BLE application? Switching from the non-OAD to OAD_Ext_Flash versions of the simple_peripheral example project adds quite a bit of flash space. When I first switched, I was getting a SPI_config missing symbol (I removed that from the board file for our custom hardware) so I assume at least some of that extra space is more RTOS driver in flash.

  • Finally, there are no plans to make a CC2650MODA style module for a chip similar to the 2650 correct? For example the CC2652R since it has much more flash space. Is the 2650 the only chip that does come as a module?

Thanks,

Sam

  • Hello Sam,

    Thanks for reaching out.

    1. I would suggest looking into the CC2640 BLE OAD User's Guide.pdf within the Release Notes of the latest SDK you are pointing out. For instance, you can look into this sections for reference: "3. Off-Chip OAD" and "6. Adding OAD to an Existing Application".
    2. The latest SDK is version: 2.02.07.06 (TI-RTOS version 2.21.01.08 and XDC Tools 3.32.00.06). You can see these in the Release Notes: here.
    3. Could you please give a bit more detail on what you want to accomplish here? For an Off-Chip OAD application, the external flash memory has to be connected to the CC26X0 via SPI (using Board_SPI0 configured as default).
    4. There are some other options, but it will depend on your user case and specific requirements. You can see our Low-power 2.4-GHz products: here. For instance, the CC2651R3SIPA is one of the latest wireless modules (however with more Flash - 352 kBytes)

    Hope this helps.

    David.

  • Hi David,

    Thanks for the response.

    1. That doc does say that ROM drivers cannot be used on the cc2650 with OAD enabled. The RCFG has to be in the first page of flash. I guess I was just hoping that was a limitation of the tooling and we could somehow trick the config to put the RCFG in a different page. - resolved.

    2. Looks like I am using the latest tools - resolved.

    3. I am basically trying to reduce image size as much as possible for off-chip OAD. Since both BIM and APP need to interact with spi flash for OAD, I was wondering if it was possible to use the driverlib spi from the BIM as the spi driver in the APP? I don't have a lot of experience with TI tools, TI TROS, or multi-part images, so I was curious if linking driver libraries from another piece of the multipart image was possible?

    4. Seems the cc2650moda is the only module with an integrated antenna and Sensor Controller?

  • Hello Sam,

    Glad to see some of your answers have been resolved.

    3. I will have to double check on this and come back to you.

    4. The CC2652RSIP is a good example of a module with the sensor controller. It does not include an integrated antenna, an additional chip can be used for this. You can also look into our "Third party wireless module search tool" for more options on modules.

    BR,

    David.

  • Thanks David,

    I'll wait to hear on 3 and keep learning/exploring myself. 

    4. We will search through what you have provided. - resolved.

  • Hello Sam,

    Regarding point #3, I understand we are trying here to remove TI-RTOS driver usage to save flash space by replacing the use of TI-RTOS SPI commands with only driverlib SPI. I would suggest looking into the TI-RTOS SPI library (<SDK>\source\ti\drivers\spi) to figure out how the SPI APIs lead to driverlib SPI commands and evaluate if the space savings will be worth the effort of migrating the application code.

    Hope this helps.

    David.

  • Thanks David,

    I can resolve this thread. I more or less have the answers I need to make a decision.

    For the sake of learning though do you have docs about linking from separate images (if possible). Almost any space saved will be worth the overhead of making it happen. I'll keep learning more, but does TI RTOS wrap the driverlib spi driver? Could I at least link my RTOS app with the BIM driverlib spi driver to remove redundancies in the images?

    -Sam

  • Hello Sam,

    Understood. Could you please provide me more details on what you are looking for here, specially about "linking from separate images" to make sure I can provide information on the right track.

    BR,

    David.

  • Hello David,

    I am building an application based on the example simple_perihperal OAD projects. I have a BT app combined with my custom tasks, a BT stack, and a BIM. In the BIM project I can clearly see redundant symbols with my BT app project. Various symbols from driverlib take up around 2k of in the BIM project. I haven't gone through every single one, but I see a fair number of those same symbols at different addresses in the BT app map file. 

    Is it possible to link BT app such that it knows these driverlib symbols will be already available in the first flash page since they are a part of the BIM? That'd save me 2k in my app it seems.

    Thanks,

    Sam

  • Hello Sam,

    Understood. I am reviewing this internally with the team. Please allow me today to answer.

    BR,

    David.

  • Hi David, 

    Any luck tracking down info on this?

    Thanks, Sam

  • Hello Sam,

    Sorry the delay reply. We do not have a guide for linking from separate images and I would go more for a practical approach. Have you been successful so far at just using the driverlib commands?

    Is everything (BIM, BT app, etc) in one project or are you flashing the images separately?

    BR,

    David.

  • Hi David,

    I have more or less given up hope on this. I realized I was building the stack with minimal config too. Just enabling a few of the additional BT features in the stack pretty much guarantees that the app won't fit.

    The BT Stack image with host config set to PERIPHERAL_CFG and SECURE_CONNS_CFG added is > 68kB at -O4 for size. The simple_peripheral example App is > 42 kB in the external flash oad config at -O4 for size. The BIM and last flash page for booting takes up another 8 kb. That leaves ~10 kB for my application. I just don't think it is going to be enough. 

    I suppose building APP + Stack together seems like it could save some space through optimizations. That might force us to always upgrade BT stack and App during over the air upgrades. Building the BIM separately definitely simplifies the OAD procedure it seems. I'm not sure it makes sense to add that to a single project. 

    But realistically there is too much unknown to be playing around trying to find a few kB. We will probably just change chips.

    thanks for the replies and help