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: Looking for SimpleLink Academy training for the MSP432 Bluetooth Plugin

Part Number: CC2650MODA
Other Parts Discussed in Thread: CC2650, CC2640, CC2652RSIP, SYSBIOS

Hi,

I have the CC2650 booster pack and the MSP432 LaunchPad and I would like to develop a stand-alone BLE application for the CC2650, but I am having trouble getting started.

I am following the documentation here: https://dev.ti.com/tirex/explore/node?devtools=BOOSTXL-CC2650MA&node=ABK4r-KkcNI2-Z79Tqd43A__FUz-xrs__LATEST 

I have downloaded the SDK but have not been able to find the  SimpleLink Academy training for the MSP432 Bluetooth Plugin

Can someone point me to it?

Is there a simple example (e.g. "hello world") that demonstrates how to build and download standalone CC2650 code in this configuration?

Thanks,
Phil 

  • Hi Phil,

    For new project development, I would recommend using the CC2640R2 or even the CC26x2 Launchpad Kits, and leveraging the appropriate SDK (CC2640R2 or CC26x2). You may then also find the corresponding Simplelink Academy modules to follow (CC2640R2 or CC26x2). I would recommend starting with the Bluetooth Fundamentals module to start with Bluetooth LE development.

    Each SDK should also have simple driver examples inside examples>rtos>DEVICE>drivers. These driver projects are barebones and are close to a "hello world" equivalent. I would start with a simple uartecho example, or even buttonled.

  • Hi Ammar,

    Thanks for the quick reply.  Is the CC2640 software compatible with the CC2650?   We would like to target the CC2650 for production since it is available on a module and is available in large quantities.

  • Hey Phillip,

    To be clear, the CC2640R2 software is not compatible with the CC2650. The CC2640 and the CC2640R2 are different products. I apologize for the nit picky nature but I want to clarify that for others as well.

    If you'd like, I can help ensure that this part is the right fit for your application. Can you elaborate on your project? If not, that's OK. You can develop for the CC2650, I would start with the BLE-STACK SDK. We have the simple_np project inside the examples>cc2650bp folder. I would take a look at the docs folder and go through the User's Guide. Unfortunately I'm not aware of a simpler "hello world" type example to start off from with this device.

  • Thanks for the clarification, it can be confusing when things like the Developer's guide refers to them as CC26x0.

    The product we are developing is fairly simple, with I2C and GPIOs driving LEDs and motors based on messages sent from a smart phone over BLE.  It also  returns ADC results back to the phone via BLE.  The key advantage of the 2650 for us is its availability on an FCC certified module to minimize our certification requirements.

    Although the products are different, it looks like they share the core and BLE stack in common.  If that is correct could I recompile the 2640R2 examples to target the 2650?  If so what changes would be required?  I tried just  switching the core in the project properties but that doesn't seem to be enough.

    Thanks,
    Phil

  • Hi Ammar,

    It seems like there is significantly more documentation for the CC2640R2 - is that an indication that TI would like to stear new development towards it?  I found an FCC certified module based on the CC2640R2 ( https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/sable-x-r2-bluetooth-module) so we could make the switch if that make sense for the project.

    Thoughts?

    Thanks,
    Phil

  • Hey Phillip,

    It seems like there is significantly more documentation for the CC2640R2 - is that an indication that TI would like to stear new development towards it?

    The CC2640R2 is newer than our CC2650, and for that reason you see more documentation as we worked to improve this for newer generation of parts. You can also use the linked CC2640R2 certified module, but if you'd like to investigate a part that's newer than the CC2640R2, check out the CC2652RSIP (https://www.ti.com/product/CC2652RSIP), which is our module based off the CC26x2 mentioned above.

    If you'd like to use any Bluetooth 5 features (like the S8 long range phy for example), then I would recommend the CC2652RSIP. If Bluetooth LE 5 is not a requirement, then you can really go with any of the devices we've talked about, depending on how much memory you need for your application. The CC2640R2 can be used for Bluetooth 5, but will limit you in terms of available memory for your application, so you'll need to evaluate your needs appropriately if the CC2640R2 is used with Bluetooth LE 5.

    Although the products are different, it looks like they share the core and BLE stack in common.  If that is correct could I recompile the 2640R2 examples to target the 2650?  If so what changes would be required? 

    Although they are very similar, I don't think it will be easy to change targets in this way, and would not recommend doing so. I would recommend starting off with the examples provided in the SDK for the CC2650 rather than trying to make the CC2640R2 examples run on the CC2650. Not to mention, we've certified our stack based on the device so this is another reason I don't recommend cross compiling for the older device.

    Our newer documentation does a good job of going over the basics of Bluetooth with code examples. However, you can still reference newer documentation to learn the basics: just know, the APIs may and likely will differ if you are using the CC2650 BLESTACK SDK.

  • I apologize for the lengthy post above, I hope I've helped. Feel free to ask more questions as you have them.

  • Thanks Ammar, I appreciate all the information.

    I think I will stick with the CC2650 for now, so going back to my original question, I am trying to run the simple_np example from the Bluetooth Low Energy Stack SDK version 2.x for CC2640/CC2650

    I can't seem to find any documentation that describes what this demo should do.  I am able to build and run it but I don't see any output on the serial ports and I don't detect any BLE devices from my scanner app.  If I pause the code it seems to be stuck in  ti_sysbios_family_arm_m3_Hwi_excHandler__I

    Do you know where I can find more details on how to use this example?

    Thanks,
    Phil

  • Hey Phil,

    Did you flash both the stack and application images to the device? You should not be in the exception handler.

    There's a separate User's Guide for this located in the sap_XXX\docs directory titled: CC26x0 Simple Network Processor API Guide.

  • Yes, I downloaded and ran the stack, then the app.  I didn't find much that was helpful in the Simple NP API Guide

    When I trace it, the stack code seems to be getting stuck in the FaultISR() after calling RT_Init_CommonROM

    Are you able to test it and confirm the code works as expected using the latest version of the CC2650 booster pack and CCS?

    Thanks,
    Phil

  • Hey Phillip,

    Do you see this issue with the provided hex files inside the examples>hex directory? There is one for the cc2650bp_simple_np_uart_pm_rel.hex.

    Unfortunately I don't have a CC2650 boosterpack on hand to reproduce this (I only have a launchpad).

  • Hi Ammar,

    I can give that a try.  What is the process to download the hex file using CCS?

    Does the single hex file include both stack and app?

    What should I see when the app is running?  Does it light any LEDs, or print anything on the serial ports?  What should I see if I scan for devices from my nRF Connect app?

    Thanks,
    Phil

  • Hey Phillip,

    Admittedly, the simple_np example is not the first place one should start. Since you are using the boosterpack and this is the only example available in the SDK, we start here.

    The simple network processor will require an application processor to setup the Bluetooth LE device. I believe this is what you initially tried, with the MSP device acting as the application processor. After some digging, I found an Simplelink Academy that looks like what you were originally looking for: http://software-dl.ti.com/lprf/simplelink_academy/modules/ble_snp_sap_intro/ble_snp_sap_intro.html#about-the-simple-network-application-processor 

    I hope this helps.

    Does the single hex file include both stack and app?

    What should I see when the app is running?  Does it light any LEDs, or print anything on the serial ports?  What should I see if I scan for devices from my nRF Connect app?

    It should include both stack and app. I don't think there is any feedback on serial ports or LEDs since the device is just a network processor and all that functionality comes from the application processor.

  • Thanks Ammar,

    I think I have the hex file installed but to know if its working I need to get Project Zero running on the launch pad.

    I found what I think is the right version of Project Zero  in the Resource Explorer (it doesn't have the same folder structure as shown in the documentation)

    But the Import fails.  See details below...
    project_zero_MSP_EXP432P4111_freertos_ccs
    Project-spec import cannot be resolved: ${COM_TI_SIMPLELINK_MSP432_SDK_INSTALL_DIR}/kernel/freertos/builds/MSP_EXP432P4111/release/ccs/freertos_builds_MSP_EXP432P4111_release_ccs.projectspec!

    I get a similar error when I try to Import the TI-RTOS version.

    See details below...
    project_zero_MSP_EXP432P4111_tirtos_ccs
    Project-spec import cannot be resolved: ${COM_TI_SIMPLELINK_MSP432_SDK_INSTALL_DIR}/kernel/tirtos/builds/MSP_EXP432P4111/release/ccs/tirtos_builds_MSP_EXP432P4111_release_ccs.projectspec!


    Any idea what's wrong?

    Thanks,
    Phil

  • Hey Phil,

    I'm really sorry you're experiencing issues here. As we don't recommend the plugin any longer, I'm not sure we'll be able to resolve the issue you are seeing. One approach you can try is to import the project directly from the SDK installation on your local machine. It's located here: SDK_INSTALL_DIR\examples\rtos\MSP_EXP432P4111\bluetooth\project_zero\tirtos

    I would only recommend going down this route any further if you simply want to try to run the demo as-is and not develop it further. For development, I would read on for next steps.

    Again, I'm sorry for the misdirection here. Here are your options:

    • Continue using the CC2650 boosterpack.
      • The only project option supported in the SDK by default is the simple_np project. This means you will have to implement an application host to make the BLE end device.
      • You can try to flash a CC2650 launchpad example on your boosterpack. I'm unable to verify this myself, but it should work after you modify the pin assignments appropriately to adjust for the change in dev kits. This option allows you to use our out of box simple_peripheral example which is the best place to get started. In this case, you do not need to implement the application host.
    • Since you are still in the development stages, you may also opt to develop on another kit (CC2650 Launchpad) and then port it to the boosterpack modules later on. This process should not be too tedious (you will get a taste of this if you try to use the CC2650LP examples on the boosterpack)
    • You can also update to the newer parts mentioned (i.e. CC2652RSIP) and use a different SDK.

    I hope this clarifies things.