Configuring The Software Environment Introduction - Linux Embedded systems

Getting ready for an embedded Linux project is a straightforward process. You need to collect the tools and install the necessary software components, which aren’t usually found on a run-of-the-mill Linux or Windows distribution. Some of the preparation involves getting the right sort of cabling and understanding how to get everything wired up and ready to go.

Time spent configuring this aspect of the development environment correctly is an excellent investment. Even if your team consists of a single person, taking the time to document how the system is configured is important. If the team grows or the machine used for development dives into the bitbucket, re-creating the environment using the documentation is much easier than trying to do so from memory alone.

The development environment is used for the following tasks:

  • Booting the board: An embedded development board needs some special services in order to get started. When it’s up and running, if the board contains an Ethernet port (most do), you can telnet or ssh to the board. During the development cycle, it’s recommended that the serial console be active as a backup communication method in case the board can’t be reached over the network.
  • Configuring and building the Linux kernel: Most boards, although powerful, can’t be used to compile the kernel. The memory and/or processing power isn’t adequate. The development host is used to configure and compile the kernel and get it ready for use by the board.
  • Configuring and building the root file system: The root file system contains the user programs that the kernel needs to work as well the application for the device.
  • Without a root file system, the kernel would panic and stop running. In some cases, the root file system resides on the development host and is accessed over the network by the target board, which means the development host must be properly configured this to work.
  • Compiling and debugging your application: Because most boards can’t be used to compile the kernel and applications, the development host is used to compile the programs. That requires additional configuration steps.

Because the code is cross-compiled, the object code is executable only on the target device. This gives you more degrees of freedom when you’re selecting a host environment. Many embedded Linux engineers use a Linux host for development, but this isn’t a requirement. You can use an Apple machine (running OSX or Linux) or even a host running Windows.


All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

Linux Embedded systems Topics