Hardware Reference
In-Depth Information
Understanding the complications of embedded
development
The history of Emacs is about as long as the history of modern computing. As an editor,
Emacs is often overlooked because of its reputation of being outdated and difficult to learn.
Emacs can be overwhelming since the interface is different from most modern interfaces.
Also, the keybindings were created prior to the invention of modern
Graphical User In-
terfaces
(
GUIs
), so the keybindings don't correspond to the shortcuts that you are typically
accustomed to. However, there is active development on various Emacs
starter packs
,
which provide a smoother Emacs experience. If you keep in mind that Emacs predates your
operating system, you may find it easier to accept the Emacs way.
Note
Many early notable programmers have worked on Emacs, including Guy Steele, Richard
Stallman, James Gosling, and Jamie Zawinski. The design of Emacs was presented by
Richard Stallman in 1981 to the ACM Conference on Text Processing; the full text is avail-
Embedded development is slightly more complicated than web or desktop development be-
cause there are typically two machines involved: the host (your main computer) and the tar-
get (your embedded platform). Embedded systems range in capabilities and some run
without an operating system, which certainly can't support running a compiler. In this case,
the user cross-compiles the code on the host for the target. This can be performed for the
BBB, but compiling small programs natively on the BBB does not take too long.
A common recommendation for development on the BBB is to connect to the device over
Secure Shell
(
SSH
) and to use command-line tools. This can be an effective technique, but
this limits you to the command line and your terminal emulator. These tools are very
powerful and in this context, limited does not mean limited in functionality but limited in
the interface.
The one helpful feature of Emacs for embedded development is
Transparent Remote Ac-
cess Multiple Protocol
or the
TRAMP
mode. In short, the TRAMP mode lets you run
Emacs on your host machine, which is most likely more powerful than the BBB, but access
files and run commands on the BBB as if they were local. This is transparent in TRAMP;
working in this environment feels like you are working on a host, not on an embedded plat-
form. The following screenshot shows the TRAMP feature of Emacs: