So how do you debug/develop for the Crunchtrack? Hardware-wise, the setup is very simple: I designed 2 boards, one is a breadboard adapter that breaks out all the pins from the expansion connector, and the other is the debug adapter that connects the debug connector to ST’s STlink debugger, sawed off from a Nucleo board.
bugs me, is that I can design a complex board like Crunchtrack’s
without a single error, and then make stupid mistakes on an extremely
dumb board like that adapter. In this case, I made the most classic of
mistakes: I swapped TX and RX.
As an afterthought, I also added a Reset button.
Boards are available in the GIT!
The basic test code is very simple, and I published an example on the mbed’s repository here: https://developer.mbed.org/users/gipmad/code/Crunchtrack_GPS_GSM/
With this code it’s easy to test the GPS and the GSM functionality of the board, as it just forwards the serial port of either the GPS or the GSM to the PC’s serial port. There’s also a basic implementation of the GPS parser library that handles the raw GPS data and prints out coordinates and other data.
I was pleasantly surprised when, without ever studying antennas and radio stuff but with just common sense and datasheet reading, I managed to get a very good signal from the GPS and the GSM radios:
5 satellites locked, and in a very sub-optimal place too! The antenna was just outside my window, on the ground floor, surrounded by houses:
I tried hard to get the GNU toolchain working, but had no success yet. As a backup plan, I’m now working with IAR EWARM tool suite that “just works” and allows me to debug code with no extra configuration at all; I just have to press “run”. Moving back to the GNU toolchain is going to take no effort, as the code is the same. it takes just too much effort to set it up and right now I want to focus just on coding. The IAR suite is also available in two free versions, a code size limited one and a time limited one, so it should be good to get started.