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.

CC3100BOOST: Spi debug tool example using visual studio

Part Number: CC3100BOOST
Other Parts Discussed in Thread: CC31XXEMUBOOST, , CC3100, CC2538, UNIFLASH, Z-STACK, CC3200

Greetings,

I currently have CC3100BOOST and CC31xxEMUBOOST, and I wanted to put the "Spi debug tool" example on the CC3100BOOST but I found that it is available only through CCS and IAR but the CC31xxEMUBOOST upload only code from Visual studio.

So I tried to copy some code from the example into any one of the working examples through visual studio but it gave lots of linking errors.

How can I try the "Spi debug tool" using the CC3100BOOST and CC31xxEMUBOOST?

Regards
James

  • Hi James,

    The SimpleLink Studio has its own libraries in order to work with Visual Studio, so the code cannot be dropped in without errors. You could try adapting the code. We do not have another way to run the CC3100 without a host MCU.

    Best regards,
    Sarah
  • Thanks Sarah for your reply but I don't understand the last sentence "We do not have another way to run the CC3100 without a host MCU." since I do really want to run the CC3100 with a host MCU which to be precise CC2538 by interfacing through SPI. So if you could clarify what you meant with this, I would be grateful.

    I want to ask about one more thing. I read here some old posts about applying this example using CC uniflash so I searched for it to know if it is ok or not and I found that I may use it by connecting CC3100BOOST directly to the computer and flashing the SPI example. Am I right about that ?

    Thanks in advance

    Regards
    James
  • Hi James,

    To be able use your host MCU you need connect CC3100 to your host MCU (CC2538) and create firmware into your MCU. Important part of creating firmware into your host MCU is port SimpleLink driver. SimpleLink driver is a C code and allows use CC3100 with you MCU.

    But as was written in previous threads, usage CC3100 with CC2538 will be very limited. CC2538 have only 32kB RAM. This size RAM is enough to use CC3100, but your IEEE 802.15.4 stack inside CC2538 will require big part of this RAM.

    SPI example can't be flashed into CC3100. Inside CC3100 is no application processor for user code. CC3100 is a "only" WiFi radio chip. SPI example is executed in host MCU (=CC2538).

    Jan
  • Thanks Jan, I found your reply very helpful to me.

    Do you mean that if I wanted to use CC3100 with CC2538 and use Z-stack inside the CC2538, it will be impossible? because if it is like this, I will have to use another MCU.

    Regarding the SPI example, as I understand it is put on the CC3100 where it transmits and receives data to and from the MCU and also a similar program is put on the MCU in order to communicate through the same SPI mode in addition to other functions that the MCU will do. So I am trying to write my application on the CC2538 and in parallel another code on the CC3100 to communicate through SPI. Am I correct or there is something that I am missing :) ?

    Thanks in advance
    Regards
    James
  • Hi James,

    I am not able say that use CC2538 with ZigBee and with CC3100 for WiFi is not possible, because I haven't experience with CC2538. But if you want use CC3100 to WiFi connection you will need about 8kB of free RAM. Do you have that free RAM?

    Sorry, I don't understand your 2nd paragraph. You cannot upload your own code into CC3100 with exception of webpages. If you want device where you can upload own code please look on CC3200 or CC3220.

    Jan
  • I am not sure yet if I can manage this amount of memory for the WiFi connection but this estimate you gave will help me in deciding whether it is possible or not.

    I think I have a wrong understanding about interfacing between CC3100 and CC2538 for example :). My understanding is that I should flash some code that takes data from the MCU through SPI and then send it to the internet. So if you can explain what should I do, it will be great.
    ( I thought that the SPI example code is to be put on the CC3100 not the MCU!)

    Thanks in advance
    Regards
    James
  • Hi James,

    You cannot upload any code into CC3100. SPI debug example (spi_debug_tool) is code for your host MCU. This code you cannot upload into CC3100. You can imagine CC3100 as "dumb" WiFi radio device. CC3100 need to be controlled by your host MCU. This control is done via SimpleLink API commands. API Commands are translated by SimpleLink driver to SPI (UART) communication and send into CC3100 chip. This all is done in your host MCU (=CC2538). From this reason you need some resources in your host MCU (for simple WiFi application should be enough 8kB RAM and 20kB flash in your CC2538).

    If you want WiFi chip with some "intelligence" which is able execute own code, you should look on CC3200. CC3200 contains NWP (=WiFi radio chip CC3100) + application processor Cortex M4 for your code on one chip.

    Jan
  • That's great, things are getting clearer thanks to you :).

    But in case that I want it to access some website as in get_weather example, I uploaded the built the program on CC3100. In case connecting it to an MCU, how it is possible to do this from the MCU, or should I write something on the CC3100?

    Regards
    James
  • Hi James,

    You need do all in your host MCU (CC2538). As first thing you need to do port SimpleLink driver to your host MCU. Then you take example from SDK and this code write into your CC2538 firmware.

    When you use SimpleLink Studio in Visual Studio IDE, then no code is compiled/uploaded into CC3100. In this case acts your PC as "your host MCU". In your case sounds me using SimpleLink Studio as a wasting of time. You will still need port all code to your host MCU. Maybe SimpleLink Studio examples can help you understand how SimpleLink API calls works.

    As I understand you want to use http client code. I think for this purpose you will need more than 8kB RAM. Maybe is still possible use CC2538 + CC3100 for your application, but I suppose that it will be hard all fit into RAM.

    Jan

  • It seems that I had a totally wrong understanding about it from the beginning :). Thanks Jan for your effort.

    But isn't it possible to add extra memory (RAM) to my MCU as I read in some thread here before?
    Regards
    James
  • Hi James,

    Sorry, I am not able answer questions related to CC2538. Please ask your questions at the ZigBee forum - e2e.ti.com/.../158. But because CC2538 haven't integrated controller for external memory, usage of external parallel RAM will be annoying and complicated.

    - If power consumption is not that important for you, you should use CC3200 instead CC3100. You will be able write all network functionality into CC3200. This will completely offload your CC2538 from WiFi code. You will only send data from CC2538 by UART/SPI/I2C into CC3200. All WiFi communication and data processing will be done inside CC3200 firmware. Using CC3200 will allow bigger flexibility. Alternatively you can look to another brand of WiFi SoC like a ESP8266.
    - If is enough for you very simple WiFi functionality (e.g. one TCP connection), you can still use CC2538 + CC3100. Advantage of this solution is lower power consumption.

    It looks that all your questions was answered, now we can close this thread. For further questions please open new thread.

    Jan