Could someone please test my understanding? Could the internal guts of the system be reprogrammed to put something inside this awesome little hardware platform other than what spark provides? For instance, I have a need for an inexpensive GP microcontroller with WiFi for many different applications. This thing is PERFECT? Is it just a matter of reprogramming the Cortex-M3 (great choice BTW) and going from there? I’m a long-time low- and high-level systems programmer, used to building systems w/o OS’s and doing pretty much everything myself. So I could see putting something small on this and going to town.
@zach thank you… I thought that was the idea! Great! And thanks! I can’t wait to get mine! At sometime in the future, if it comes to be, can we talk about a bulk purchase?
Is there a guild to programming new devices built from scratch? I’ve only programmed ATMEL chips. What’s the process for Cortex? Also, where is the software listed? Thanks.
This will be documented when we release the firmware, but basically you’ll need a JTAG programmer - an ST-Link/V2 is a good one, or an Olimex OpenOCD programmer. Process is similar to with an Atmel chip, but different commands, which we’ll document.
does that mean we can program it using c/c++ (e.g. wiring libraries) without using any of the json/web ide stuff?
if so, how will that work - over usb like regular arduino's or some sort of wifi upload?
will there be any serial comms over usb or gpio for debugging, i'm just thinking i won't always have wifi access - as the cc3000 can't do AP mode, it will always need a router to talk to just one pc, a cable would be easier
Yep you can program it with c/c++/wiring without the web IDE in two ways:
You can use our command-line tool to initiate over-the-air firmware updates with software on your machine locally
You can use our command-line tool to flash the Core over USB
Eventually we would like to have set-ups for common IDEs like Eclipse and Sublime Text, but not sure what the timeline is for these. Hopefully this will be something that the community can help generate.
As for serial comms, yes - we’ll have Serial over USB, just like an Arduino.
@zach - cli tool sounds great. when you say firmware, what is that - some sort of bootloader plus an elf binary of whatever code we put on there (like an arduino hex file)?
i assume we can put anything on there from armv7 assembler to c/c++ compiled using gcc-arm (within limits of the hardware)?
will you have any tutorials on how to get arduino libraries running on the smartcore for instance? i expect that to be a popular use for the sparkcore and assume it can’t run Due code unmodified.
@chibuk - the olimex board sounds a bit like overkill just for getting some code running on an arm chip.
@sej7278 yep firmware = your own binary file. Yes, you can put anything on there, our preferred compiler is arm-none-eabi-gcc. It’s an ARM Cortex M3, not an ARMv7.
We will be releasing our own libraries that include our own port of Arduino/Wiring and those will be included by default when you use our command-line tool. This is the same process that happens through the web IDE, but with the web version, the software is compiled in the cloud rather than on your local machine.
sorry, my bad - yes, you’re correct, it’s ARMv7-M. I assumed you were referring to ARMv7-A.
yes we will be continuing to produce Spark Cores after the Kickstarter campaign, for sale on our own website and through a few distributors that we’re currently in discussion with.