A plethora of tools on the Pi Nov 2015

The ARMinARM code is available on GitHub, and is a major convenience for this particular approach. Just get a reasonably fresh install of Raspbian running and you should be all set to install lots of tools, by following that README on GitHub.

The “setup” tool does all the hard work, and not only does it install all sorts of software, it also contains the logic to update to newer versions over time:

#######################################################################
#                              ARMinARM                               #
#######################################################################

Essentials:
  0) Update Self
  1) Update/Install ARMinARM GCC Toolchain
  2) Add /opt/arminarm* to PATH env (needs reboot)
  3) Disable serial port (required for ARMinARM board, needs reboot)
  4) Enable serial port (for booting RPI over serial port, default)
  5) Update/Install node.js

Fast start:
  10) Upload espruino.bin to ARMinARM board
  11) Upload elua.bin to ARMinARM board

Source code:
  a) Update/Install CMSIS_StdPeriph Examples
  b) Update/Install Espruino source code
  c) Update/Install esp-cli
  d) Update/Install eLua source code
  e) Update/Install libmaple
  f) Update/Install libopencm3-prj
  g) Update/Install OpenOCD
  h) Update/Install ST-Link
  i) Update/Install dfu-util
  j) Update/Install stm32flash

  q) Quit

Enter your choice:

Note that the assumption here is that you’re comfortable with using the command line!

There are quite a few different tools in the above list. We’ll go through them in the upcoming articles, but to summarise quickly:

Warning: if you install all the tools listed above, you’ll fill up 500..600 MB of disk space on your µSD card (Espruino and OpenOCD take up most) - better make sure it’s available …

So the big picture here is that you set up this Raspberry Pi, install the above tools, and then you can explore the various different approaches made possible by this configuration. That’s a complete embedded development setup - hardware, software, and toolchains, for under €100. Ready for use at any time, easy to keep up to date, and reachable from anywhere on your network using whichever operating system makes you get work done.

And if you really need to re-use that Raspberry Pi for another project: simply remove the ARMinARM board + µSD card, and store them in a safe place for an easy re-boot later on.

With such an approach (which is not strictly limited to the ARMinARM or the Pi), it pays to invest time and effort to learn all the possibilities, configure things so they are the most convenient for your work flow, and tweak it all to become most productive with it.

One idea is to make either the Pi into a file server (using Samba) or to let it auto-connect to an existing server you have access to. This way, you can share a project directory, and edit the source code on your machine, using your favourite editor or IDE. Then you can keep an ssh or PuTTY session open on the side, and type “make” to compile and upload changes.

One of the utilities installed with this setup, is the “arminarm” command. It lets you reset the STM µC (arminarm -r) and upload a file to it (arminarm -f myfile.bin), as well as handling some other common tasks, all nicely wrapped up as a single tool.

One last thing to point out here: this is about comfy development - it does not mean that every project you build will need to run on a Raspberry + ARMinARM board! This is only meant as experimentation playground with lots of conveniences. Once the code is working, you could upload the resulting .bin file to a “production” build of your project hardware, possibly re-configured for a smaller variant of the STM32F103 µC or even a different type.

Weblog © Jean-Claude Wippler. Generated by Hugo.