NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

CC3100 SimpleLink Studio

From Texas Instruments Wiki
Jump to: navigation, search
Cc31xx cc32xx return home.png
Cc31xx cc32xx return tools.png

Introduction[edit]

The SimpleLink™ Studio is a Microsoft Windows-based software to aid in the development of applications designed to work with the SimpleLink WiFi CC31xx family of wireless chips.

Using SimpleLink™ Studio, application code can be written and executed in a desktop IDE, such as Visual Studio and Eclipse, and communicate directly with the CC31xx device through the USB cable without the need of a microcontroller (MCU). This allows the code to be easily tested while it is under development, and then later ported to a microcontroller without having to be modified. Generally, the only modifications required to port a SLS program to another platform are made to a special user.h file that is included in the project.

The SimpleLink™ Studio source files are part of the SDK. No additional downloads other than the IDE explained below is required.

Benefits of SimpleLink Studio for CC31xx[edit]

  • Code can be written and run from a computer, making debugging significantly easier as the code does not need to be run from the MCU.
  • Software development can begin before the hardware development has finished, due to the fact that the hardware isn't required to run the code.
  • The code is MCU agnostic, so it can be ported to any MCU that has had the SimpleLink Driver ported to it.
  • The SimpleLink Studio for CC3100 package contains multiple examples that help to understand its API and structure.
  • Knowledge of complicate wireless networking needs is not required when using SimpleLink Studio for CC3100.

Prerequisites[edit]

Either (or both) of the following

Loading Application Using Visual Studio[edit]

Working with Visual Studio will require opening the provided project and compiling it.

  1. Open Visual Studio.
  2. From the menu: Open, then select File.
  3. Browse to the <Project_Folder_Name> Visual Studio folder. This will be under <Project_Directory> in the CC31xx release folder.
  4. Select the <Project_Name> Visual Studio project. Click on Open. NoteNote: If the project does not open, make sure that you did not accidentally select the Visual Studio Project Filter File.
  5. The project should be created automatically, along with the following folder:
    • External Dependencies
    • SimpleLink
    • Source Files
  6. Build your project: Build the project by clicking on Debug at the top of the screen and then selecting Start Debugging, or by pressing F5.

Loading Application Using Eclipse[edit]

MinGW Installation[edit]

Working with Eclipse will require opening the provided project and compiling by using MinGW GCC.

MinGW Compiler Setup for Windows systems (if you are running linux, you may skip this section).

  1. Download and install MinGW.
  2. During installation, make sure you have the following configuration selected:
    • Take a note on the installation location, you'll need it in the following step (Default: C:\MinGW).
    • In the MinGW Installation Manager screen, select the default two packages: mingw32-base and mingw32-gcc-g++.
      Mingw setting.png
  3. After installation, make sure you have the Environment variable setup with the following:
  4. Click Start -> type sysdm.cpl -> select Advanced tab -> click Environment Variables... on the very bottom -> In the System variable section, scroll down to the Path variable -> click Edit...
    Eclipse system setting.png
    • At the end of Variable value, add the path to your MinGW binaries directory with semicolon in front (For example, ;C:\MinGW\bin).
      Eclipse system setting 2.png
    • Click OK. Environment variable path to MinGW compiler is done here.

Eclipse Setup[edit]

  1. Open Eclipse
  2. In the "Select a workspace", choose your desired workspace directory (For example: C:\Users\myself\Desktop\eclipse_workspace). The main Eclipse IDE window will show up after a few seconds.
  3. From the menu: Open, select File -> New -> Makefile Project with Existing Code
    Eclipse existing project.png
  4. In the New Project window, click the Browse button to browse to the <sdk installation location>\platform\simplelinkstudio\example_project_eclipse folder. Select a project from a list of existing project folders and then click OK.
  5. Under Toolchain for Indexer Settings section, select MinGW GCC, then click Finish. Project will be imported to your Eclipse environment.
    Eclipse existing project 2.png
  6. In project Project Explorer window, right click on <Project_Folder_Name>, then select property.
  7. Expand the C/C++ Build menu, select Tool Chain Editor. Select Gnu Make Builder for Current builder, then click Apply button.
    Eclipse properties.png
  8. Select Environment in the C/C++ Build menu. Make sure the value of MSYS_HOME is empty, then click the Apply button.
    Eclipse properties 2.png
  9. Click the C/C++ Build menu and do the following configurations, then click OK:
    • Uncheck Use the default build command
    • Type mingw32-make -f Makefile in Build command
    • Uncheck Generate Makefiles automatically
      Eclipse properties 3.png
  10. IMPORTANT: This step is critical for Eclipse on Windows systems due to a known bug in Eclipse console output. Please add the following line of code to the beginning of the main function:<syntaxhighlight lang="c"> setvbuf(stdout, NULL, _IONBF, 0); </syntaxhighlight>
  11. You program is ready to run, press Ctrl+F11 to start running.

Porting SimpleLink Studio for CC3100 to a New MCU[edit]

Once your program is complete and ready to be ported to an MCU, a header file called user.h must be created with all of the porting info. This process involves the following steps. A detailed description of this process can be found in the CC31xx Porting Guide.

  1. Create a user.h file: A file called user.h must be created and included in the project. All modifications done in order to port the driver must be made to this file.
  2. Select a capability set: The API that the MCU will need must be specified, or a predefined capability set can be chosen. The smallest capability set that fits the needs of the application should be selected in order to conserve memory.
  3. Bind the enable/disable line: The chip enable line must be programmed in order to conserve power. Without programming this the driver will only be able to be started once.
  4. Write the interface communication driver: Write the driver for either SPI or UART communication. This driver must include the abilities to read/write and open/close.
  5. Choose your memory management model: Choose to use either static or dynamic memory. Static is the default.
  6. Choose your OS platform: Choose whether to use a single threaded or multi-threaded OS.
  7. Set event handlers: Set the asynchronous event handlers to be used.
  8. Run the diagnostic tools: Use the included diagnostic tools to verify that the port was successful.

Links[edit]

{{#invoke: Navbox | navbox }} {{#invoke: Navbox | navbox }}

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article CC3100 SimpleLink Studio here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article CC3100 SimpleLink Studio here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article CC3100 SimpleLink Studio here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article CC3100 SimpleLink Studio here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article CC3100 SimpleLink Studio here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article CC3100 SimpleLink Studio here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article CC3100 SimpleLink Studio here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article CC3100 SimpleLink Studio here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article CC3100 SimpleLink Studio here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity