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.

TI CC 3100 + Beaglebone Black

Other Parts Discussed in Thread: CC3100

Hi,

I am currently working with the TI CC 3100 and the Beaglebone Black rev C.  I am looking for a porting guide or a quick start to get the CC3100 running off of the Beaglebone Black.  I was not able to find any support for a linux based walk through with the CC3100 module.  If this topic is covered somewhere in the forum and I missed it, please let me know where this information is.  If not, it would be helpful to get a porting guide to getting this working with the Beaglebone black.  I currently have Debian installed as the OS (flashed over from Angstrom).

Thanks,

Nathan

  • I am not aware of anything for the BB and the CC3100. The CC3100 was designed mainly to work with small embedded systems, as it has it's own TCP/IP stack. For the BB, I'd suggest investigating the WiLink Solutions from TI, these are likely a lot easier to get working, as you should not need to perform an entire port of the drivers - http://www.ti.com/lsds/ti/wireless_connectivity/embedded_wi-fi/overview.page

    Glenn.
  • Hi Nathan,

    As of today we don't have an official Beaglebone Black porting guide.
    However, I'm familiar with people who have done it and are working with it, using Linux OS.

    We have the action of producing such reference code and documentation, but I can't commit to a schedule for it.

    My very high level guideline is to treat the cc3100 as a "regular" spi peripheral, plus adding an IRQ gpio and a gpio for turning the device on & off.
    The CC3100 SPI interface uses standard SPI, so no modifications are required there, just make sure to configure the SPI to mode 0.

    If you have specific questions during your porting process, please feel free to post them and we will do our best to answer.

    Thanks,
    Alon
  • Thanks for the response. Any follow up reference code or documentation for this would be extremely helpful even if it is a little after the fact, it is still greatly appreciated!
  • Hello everyone,

    I'm also interested in this topic.

    I ported the CC3100 to a Beaglebone white Rev.3 running debian. That's why I wrote a char driver to access the SPI interface and gpio pins that are connected with the CC3100 of my Beaglebone. To make the Simplelink driver (running in userspace) able to access the CC3100 I used the SPI interface to call the functions from my char driver . Everything works fine and stable.
    At first I didn't enable the multi threaded option in user.h and the Beaglebone had a CPU load of +30% coming from the application while receiving data.
    Now I enabled the multi threaded option in user.h and tried to write the required functions. But I'm running into segmentation faults... (A function in _SlInternalSpawn tries to lock g_SlInternalSpawnCB.LockObj before the LockObj is initialized.)

    I'm using pthread_cond_t for _SlSyncObj_t and pthread_mutex_t for _SlLockObj_t. And is it advisable/possible to write an own spawning function based on pthread?

    Does somebody have an idea if this is the right approach, to enable multi threading under linux? If not please feel free to give me some other ideas.

    Thanks,
    Robin

  • Hello Nathan,
    I fixed my issues and uploaded a linux patch for the simplelink driver to github.
    If you are still interested:
    https://github.com/rpricken/cc3100-linux

    Best Regards,
    Robin

  • Hi Nathan,

    I am closing the thread, if there are further questions on this topic, please open a new thread and add a link to this one for reference.

    Thanks,
    Alon