Getting Started with EMAC Embedded Linux Development
Application programming for EMAC Embedded Linux can be made relatively simple by using the following guide.
Contents
Getting Started
Following the list of articles presented here, in order, will provide you with a good foundation for building your custom embedded application.
Background Information About EMAC Products
Getting To Know Linux
Getting Your Linux Development System Up And Running
There are two paths you may take for this step
The LDC - Linux Development Computer
A popular option for this is to use the EMAC LDC - the EMAC Linux Development Computer. There are two variants on this option, as follows:
- The Hardware LDC: This is a desktop computer with EMAC's customized Linux distribution preinstalled with the full EMAC SDK installed and ready to run. This is the most painless method of getting started, especially for those new to Linux and/or developing software under Linux. This is the most preferable system to use for development.
- The LDC Virtual Machine: This is a virtual machine image which can be used in all popular virtual machine manager applications, such as VMWare[1] and VirtualBox. This, like the Hardware LDC, has EMAC's customized Linux distribution preinstalled with the full EMAC SDK installed and ready to run. This option works well, but is not as painless as the Hardware LDC option because not all virtual machine software has well developed support for serial ports. Serial ports are used in embedded development work to provide a method to connect to the hardware which is always available, no matter the state of the firmware currently present on the embedded machine.
If this is the method you (or your company) has chosen, your system should be already configured for development. Please skip to the Getting Familiar with Eclipse section.
Customer Installed EMAC SDK Packages On Customer's Existing Linux Computer
EMAC provides SDK packages which can be installed by customers on their own Linux machines. This is the most difficult method of getting started, but is often preferred by customers who are already highly skilled with Linux.
Should this be the method you (or your company) has chosen, please use the Getting Started With Software Development For EMAC Machines track below.
Getting Started With Software Development For EMAC Machines
- EMAC Software Development Kit
- Install EMAC OE 5 SDK (Legacy: Installing EMAC OE 4.0 SDK)
- Configuring EMAC OE 5 SDK (Legacy: Configuring EMAC OE 4.0 SDK)
NOTE: ----- The OE 5 links need to be hidden for the first release, since we're not publicizing 5.0 when we release this. There's a page linked to from the Internal Page (remember I put the link to that on the Main Page?) which lists pages that will need to be changed for OE 5. You need to add a link there to this page, and hide the OE 5 parts for now. Thanks. --MD
Getting Familiar with Eclipse
These articles will help you get started with Eclipse. If you've elected to use some other editor or IDE for your development work, you may wish to skip this step. However, if you do skip this step, getting the build system working with your IDE will be beyond the scope of the EMAC documentation and will be unsupported. Using the shell based build system will, however, still work as documented.
- First Time Starting EMAC Eclipse
- Using the Eclipse Terminal View
- Remote System Explorer
- Execute Remote Applications
Compiling and Running Some Software
- Import Example Projects
- New Project
- Debugging With gdbserver
- Building Existing Software
- Using the EMAC OE SDK Examples Projects
- Create New EMAC OE SDK Projects
- Debug Remote Applications
Working With Bootloaders and OS images
Bootloaders provide the magic glue between the hardware (or the BIOS, on PC compatible systems) and the operating system. The bootloader is the piece of software which points the processor at the operating system image and kicks off the booting process. The bootloader can also be used to load new firmware onto machines, and perform some other tasks.
For systems which run their firmware from Compact Flash (or similar media), this section also provides instruction on how to load firmware images onto suck media.
If you need to load your own firmware images (or reload EMAC provided ones), customize the boot process or customize your firmware, you will need to read this section.
- U-Boot Bootloader
- Archiving JFFS2 Images from Flash
- Mounting JFFS2 Images on a Linux PC
- Creating JFFS2 Images
- Booting over NFS
- Loading Images with U-Boot
- Boot Process Customization
- Loading the Rootfilesystem and Kernel Onto a CF Card
Old Bootloader
If you have a machine which uses the older RedBoot bootloader, these articles will give you the information you need to work with them:
Customizing Linux Kernels and Filesystem Images
This section provides documentation on advanced tasks with embedded Linux; namely, custom Linux OS kernel image building and firmware image customization.
- Building the Linux Kernel
- Custom Linux Kernel Development
- Building and Customizing EMAC OE
- Linux Boot Process Customization
Programming EMAC OE Machines
Here are some articles you may need for doing embedded development work with EMAC embedded machines.
Getting Support
Quick Reference
EMAC provides a quick reference guide as a "cheatsheet" to assist with the initial learning curve. Once full familiarity with the development environment is established, this quick reference will likely no longer be needed.
- ↑ VMWare is a trademark of VMWare, incorporated