Difference between revisions of "OE 5 Software Overview"

From wiki.emacinc.com
Jump to: navigation, search
Line 1: Line 1:
{{todo| Review (05.20.2015-12:35->BS+);(05.21.2015-15:35->BS+)|Brian Serrano| project=OE 5.0,BS,KY}}
+
{{todo| FinalDraft (05.20.2015-12:35->BS+);(05.21.2015-15:35->BS+);(05.21.2015-16:48->KY+)|Brian Serrano| project=OE 5.0,BS,KY,MD}}
 
{{#seo:
 
{{#seo:
 
|title=Software Overview
 
|title=Software Overview
Line 20: Line 20:
 
{{:Templateimpl:geninfo | initials=BS | title=Software Overview | desc=EMAC products offer a wide variety of software support from both open source and proprietary sources. | project=OE 5.0 }}
 
{{:Templateimpl:geninfo | initials=BS | title=Software Overview | desc=EMAC products offer a wide variety of software support from both open source and proprietary sources. | project=OE 5.0 }}
 
=== Qt Creator ===
 
=== Qt Creator ===
Qt Creator is a cross-platform IDE (Integrated Development Environment) tailored to the needs of Qt developers but works well for Headless applications as well. EMAC provides sample code for EMAC Products as projects that can be imported into Qt Creator. Qt Creator supports remote deployment and source debugging.  
+
Qt Creator is a cross-platform IDE (Integrated Development Environment) tailored to the needs of Qt developers but works well for headless applications as well. EMAC provides sample code for EMAC Products as projects that can be imported into Qt Creator. Qt Creator supports remote deployment and source debugging.  
  
 
For more information visit https://qt-project.org/wiki/Category:Tools::QtCreator page.
 
For more information visit https://qt-project.org/wiki/Category:Tools::QtCreator page.

Revision as of 16:49, 21 May 2015

TODO: {{#todo: FinalDraft (05.20.2015-12:35->BS+);(05.21.2015-15:35->BS+);(05.21.2015-16:48->KY+)|Brian Serrano|OE 5.0,BS,KY,MD}}

EMAC Products offer a wide variety of software support from both open source and proprietary sources. The hardware core was designed to be software compatible with the given processor reference design, which is supported by Linux.

General Information

Qt Creator

Qt Creator is a cross-platform IDE (Integrated Development Environment) tailored to the needs of Qt developers but works well for headless applications as well. EMAC provides sample code for EMAC Products as projects that can be imported into Qt Creator. Qt Creator supports remote deployment and source debugging.

For more information visit https://qt-project.org/wiki/Category:Tools::QtCreator page.

EMAC provides a custom version of Qt Creator based on the 3.x or later release. This custom version includes examples and documentation relevant to EMAC customers. EMAC also provides a getting started guide for Qt Creator as a separate document.

More information on using Qt Creator with the EMAC SDK is available on the Getting Started With Qt Creator page.

Das U-Boot

EMAC Products are distributed with Das U-Boot installed. U-Boot is an open source/cross-architecture platform independent bootloader. It supports reading and writing to the flash, auto-booting, environmental variables, and TFTP. Das U-boot can be used to upload and run and/or reflash the OS on EMAC Products or to run stand-alone programs without an OS. EMAC Products modules are shipped with a valid MAC address installed in flash in the protected U-boot environmental variable “ethaddr”. At boot time U-Boot automatically stores this address in a register within the MAC, which effectively provides it to any OS loaded after that point.

Embedded Linux

EMAC Open Embedded Linux is an open source Linux distribution for use in embedded systems. EMAC Products build uses a Linux 3.x or later kernel that has been has been patched to support EMAC Products.

The distribution contains everything a user could expect from a standard Linux kernel: powerful networking features, advanced file system support, security, debugging utilities, and countless other features.

EMAC Products will work out of the box with EMAC’s Embedded Linux distribution, and EMAC provides the most up to date distribution via FTP. EMAC Products comes preinstalled with a 3.x or later Linux kernel.

Linux with Xenomai Real Time Extensions

Xenomai provides real time extensions to the kernel and can be used to schedule tasks with hard deadlines and μs latencies. The Xenomai build is an additional module that can be added to the standard Linux kernel and is available for one-time inexpensive support/installation fee.

For more information visit http://www.xenomai.org/ page.

Linux Modules

EMAC provides support for many Linux modules such as: Lighttpd Web Server, PHP, SQLite, Perl, SNMP, DHCP Server, etc. As with the Xenomai module, other modules can be added to the standard Linux file system and are available for a one-time inexpensive support/installation fee.

Linux Patches

In addition to standard Embedded Linux support, EMAC has released a number of patches and device drivers from the open source community and from internal EMAC engineering into its standard distribution. Along with kernel patches, EMAC provides the binaries for the kernel and root file system.

Open Embedded

The Linux build for EMAC Products is based on the Open Embedded (www.openembedded.org) Linux build system. Open Embedded is a superior Linux distribution for embedded systems. Custom Linux builds are also available on request.

The basic root file system includes:

  • Busybox
  • Hotplugging support
  • APM utilities for power management
  • Openssh SSH server
  • lighttpd HTTP server
  • EXT4 file system with utilities

ARM EABI Cross Compiler

The popular open source gcc compiler has a stable build for the ARM family. EMAC uses the 4.9.1 version of the ARM EABI compiler. The Embedded Linux kernel and EMAC Qt Creator projects use this compiler for building ARM stand alone, and OS specific binaries. The EMAC Qt Creator provides source level debugging over Ethernet or serial using gdbserver. The Linux binaries for the ARM EABI cross compiler are available online along with the SDK for EMAC Products at the following location:

ftp://ftp.emacinc.com/Controllers/SoM/