Help us choose our next fun project. We’re thinking:
Short technical deep-dive videos on Spark technology with our experts
An Ask Me Anything style thread with Zach
A Spark-focused Shenzhen video tour
4-hour Spark Build challenge - you ask, we build for 4 hours
Stump the Experts - you throw questions and try to flummox us
Something we didn’t think of - vote and post your idea
We’re coming off of a fun but very busy period, and it would be great to launch into something new to get us recharged and you something new and cool. Depending on how the votes go, we reserve the right to do more than one of these over time
How about end to end debugging setup from for Windows, Linux and MacOs users? And make it live and post what is going to be debugged beforehand so questions can be asked and proper tools ordered in advance?
I agree with this. If you want to increase code quality and available libraries, helping people to set up the right tools is the first step. For serious development, you will need code assistance and hardware debugging.
This guide would include:
Setting up Netbeans (up to date with the latest versions)
Connecting the spark to the ST-LINK via JTAG or SWD (support for both). SWD only needs 2 wires + VDD + GND so it is very well possible to do without the programmer shield.
Running make USE_SWD_JTAG=y, uploading the new firmare to the core via DFU
Running st-util
Programming via the ST-Link (without step debugging), which is much faster than having to boot into DFU mode each time.
Attaching the debugger
Setting breakpoints, stepping through code, reading variables, etc.
Upsides/downsides of using JTAG vs SWD (number of pins used, speed, etc)
I got a long way with Netbeans and debugging (see my recent thread), but still have some unsolved issues. An official guide and testing by the spark devs would be very welcome. The firmware does not have SWD debugging support yet if I am not mistaken.
@Elco you read my mind! This is exactly what I - and by no doubt others - would love to see. Once you start something serious, print statements no longer do the job, web interface is a nice toy but why not use some already proved IDE? Having real, easy to setup debugging on any platform would be another huge win over Adruino.
SWD would be preferable. From what I understood from your post - please correct me if I’m wrong - having full programming shield makes it hard/impossible to use several pins. In my current setup Im using a lot of pins and it is the communication with all the peripherals I need to be able to debug.
I’m keeping a close eye on your work. I’m just getting into embedded development, but I do know quite a bit software development, so I might be able to help!
@elco - Seems like you and @msenesi are of one mind! That does seem interesting. I’m in the process of building a “technical asks from the community” thread - I’d much rather these suggestions go there, as they will be grouped in with other requests requiring longterm engineering work. Would that be acceptable? It seems like a better fit than adding it as an option to this poll.
I tackled SWD debugging today and posted instructions on the forum. I have satisfied my own needs. The request here is something more general, like a beginners guide to hardware debugging.
I understand your approach here was more aimed at marketing and community building instead of technical questions, but I think the biggest thing missing from Spark and Arduino is proper debugging tools and guides.
They will help beginners pinpoint problems and will help advanced developers create libraries for beginners to use. It’s a double edged sword that will help Spark grow.
Thanks @Elco! Agreed that we should be working to both “lower the floor” (make tools for beginners) and “raise the ceiling” (improve capabilities for experts), and I think debugging tools is a big part of that. I saw your pull request for SWD debugging, thanks for that!
Thanks everyone for all the discussion and votes! We’re taking them back to the mothership for analysis and figure out a few technical deep-dive videos we can do, as well as get some more input from you all on what you’d most like to see.