Introduction

This is the chapter web page to support the content in Chapter 7 of the book: Exploring Raspberry Pi – Interfacing to the Real World with Embedded Linux. The summary introduction to the chapter is as follows:

To this point in the book, all the code is built and executed directly on the RPi. However, for larger projects this can be impractical, because you may need to manage many source fi les within a single project. In addition, compilation times can be slow on the RPi for building large projects. This chapter first describes how you can use your desktop computer to develop applications that can be deployed directly to the RPi. The Eclipse integrated development environment (IDE) is then introduced, which allows for advanced development capabilities, such as remote debugging. The chapter finishes by outlining how you can build and deploy a custom Linux kernel for the RPi platform.

Learning Outcomes

After completing this chapter, you should be able to:

  • Install a cross-compilation toolchain on desktop Linux that can be used to build applications for the RPi using your desktop PC.
  • Use a package manager to install multi-architecture third-party libraries that may be required for cross-compilation.
  • Emulate the ARM architecture on the desktop PC using QEMU.
  • Install and configure the Eclipse integrated development environment (IDE) for cross-compilation to build RPi applications.
  • Configure Eclipse for remote deployment of applications, remote debugging, GitHub integration, and automated documentation.
  • Build a custom Linux kernel and deploy it to the RPi.

The screen capture below is a full resolution capture of the final steps in the installation of the Eclipse IDE remote debug environment for cross-compilation to the Raspberry Pi.

Digital Media Resources

While the video below was created for the BeagleBone platform, the content in the video is almost the same for the Raspberry Pi platform, as the same Eclipse IDE is used. Please watch this video along with reading the content in Chapter 7 of the book.

C/C++ Cross-compilation


This video introduces C/C++ cross-compilation on the BeagleBone platform under Debian (Jessie), and is applicable to any embedded Linux development. I show the steps that are necessary to set up a toolchain, the Eclipse CDT (Luna) environment and use the Target Management RSE (Remote System Environment) plugin to communicate with the BeagleBone. Finally, I demonstrate how you can set up a cross-platform debugging environment within Eclipse, where you can use gdbserver on the ARM device and gdb-multiarch on the client device to establish a full debugging environment. The steps in this video can be easily adapted to the Raspberry Pi using the steps in the book along with this video.

Recommended Books on the Content in this Chapter

       

Errata

None for the moment