Stupid Beagle Tricks, Part II It takes a different mindset to develop with a tiny Linux system instead of a traditional microcontroller.



I've been working more with the BeagleBone, and I've found that it takes a little different mindset to develop with a tiny Linux system instead of a traditional microcontroller. I wrote about this back in June but I wanted to share a few other tips on Beagle development. Many of these tips will probably also apply to other small Linux boards like the Raspberry Pi or the Olimex OLinuXino (Micro and Maxi; sorry Tsevan, that's a terrible name).

My favorite trick of all is near the end of my entry from June: Use sshfs to mount the BeagleBone's file system as a local disk. Then you can use any of your normal tools on your desktop machine. I don't use Windows much, but if you do, you might try the Windows version, which seems to work, although with some quirks. I suppose you could also install Samba (just run opkg install samba from a prompt running on the BeagleBone).

One reason I really like that trick is that I can use my beloved emacs easily to edit files. However, you can install emacs on the board itself. For some reason, it doesn't show up on the Angstrom's opkg package manager, but there is a way to get a working version from an older Angstrom distribution (I found the information about this here).

You can look up the details, but the short instructions are:

wget http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv7a/base/emacs_22.3-r1.6_armv7a.ipk wget http://www.angstrom-distribution.org/feeds/2011.03/ipk/glibc/armv7a/base/liblockfile_1.06-r1.6_armv7a.ipk opkg install liblockfile_1.06-r1.6_armv7a.ipk emacs_22.3-r1.6_armv7a.ipk

That same website suggests installing xinetd and swat if you want to use Samba, by the way.

It is certainly pleasant doing simple tasks with Linux tools. You can only wonder how much lower Linux modules can go in price and at what point that will start to erode some of the market for traditional microcontrollers. If I had to create a high-volume or hard real-time system, I'm still going to lean towards a microcontroller, but for a lot of non-demanding control applications there is going to be a price where the Linux environment will win my vote over a dedicated microcontroller.