Software and Board Support Packages

EMAC offers the following operating systems preinstalled off the shelf, typically without a custom configuration Fee or NRE Fee: (if you need custom configuration outside of standard configurations then we will bill for this time spent modifying the software.)

Windows

EMAC OE Linux 

ROM-DOS 6.22

FreeRTOS

MicroPython

With our primary operating systems being Windows and Embedded Linux Operating Systems preinstalled. These higher-level Operating systems come with Board Support Packages (BSPs) allowing you to quickly start your application development. EMAC’s BSPs can be provided for any Board Purchased from EMAC. Additionally, EMAC offers Free Software Development Tools allowing for easy application development for your BSP, further information is on our Wiki pages https://wiki.emacinc.com/wiki/Product_wiki . The following is a list of Standard I/O Interfaces typically supported on EMAC’s installed Operating Systems on Single Board Computers:

 

Distributed Board’s Standard BSP Features (EMAC OE Linux or Windows):

Video (VGA/DVI/HDMI/DP/LCD*; *LCD only if LCD is included ie. PPCs)
Touchscreen* (only if Touchscreen is included ie. PPCs)
Ethernet(s)
Serial (RS232/RS422/RS485*; RS485 not supported standard on all builds)
USB (Host/Device/OTG*; OTG not supported standard on all builds)
Audio (Out/In*; In not supported standard on all builds)
Hard Drive (IDE*/SATA*; Supported if the interface is available)
Flash (mSATA*/CF*/SDIO*; Supported if the interface is available)
Wifi* (if wifi is supported natively on the board)
Keyboard & Mouse
Real-Time Clock
SDK* (Packaged Software Distribution Kit available for EMAC OE Linux, or from Microsoft upon request)

EMAC OEM Board’s Standard BSP Features (EMAC OE Linux):

Video (VGA/DVI/HDMI/DP/LCD*; LCD only if LCD is included ie. PPCs)
Touchscreen* (only if Touchscreen is included ie. PPCs)
Ethernet(s)
Serial (RS232/RS422/RS485)
USB (Host/Device/OTG*; OTG not supported standard on all builds)
Audio (Out/In)
Hard Drive (SATA*; Supported if the interface is available)
Flash (mSATA*/CF*/SDIO*; Supported if the interface is available)
Wifi* (Supported if wifi is supported natively on the board)
CAN (Supported if CAN is supported natively on the board)
GPIO
I2C
SPI
Keyboard & Mouse
Real-Time Clock
SDK

EMAC Custom Boards Features (EMAC OE Linux, Windows, Linux or Android):

As with the nature of custom board design, the software is customized to meet the needs of the project or customer’s requirements.  This includes any of our RISC or ARM-based processors, through PC compatible x86/x64 processors, then stepping down to Microcontroller systems, and jumping all the way up to the newest AI processors (including the nVidia Jetson)

EMAC Custom Software options include, but are not limited to:

Boots screens and product branding
Drivers
User interface
Database Host or Connectivity
Remote viewing
Network Tools (File Sharing, management, connectivity)
Real-time environments
Lightweight Runtime environments (Java, Mono, Silverlight, .Net, etc.)
Advanced Serial communication (RS422, RS485, SPI, I2C, Microwire, 1-wire, Bitbang, etc.)
Advanced Wireless connectivity (Wifi, Bluetooth BLE, Mesh Networks, 6LoWPAN, Wireless M-Bus, ZigBee, etc.)
Advanced Communication protocols (Realtime Ethernet IEEE 1588, ModBus, EtherCAT, CANOpen, DataHighway and other Grid Connect Industrial protocols)
Reduce footprint size
Container or Docker systems (such as Mono)
Software development and configuration
Test and Calibration software routines
Equipment Monitor And Control

While our microcontrollers and lower-level processor-based systems, we support FreeRTOS and MicroPython operating systems, as well as custom variations of Linux. These custom Linux Variations are ported to a specific processor or system (such as μClinux). While these operating systems are more specific, we work to ensure that they are configured to the operating abilities of the hardware they are installed on.  Offering support for all the IO we can configure out of the box and provide help and sample code for more specific functions.

 

While Board Support Packages (BSP) are typically the essential code and drivers for a given computer hardware device; that will make that device function and load the Operating System (OS). EMAC’s Operating system BSP considers this part of the firmware on the board which performs the following prior to the OS starting-

Initialize the processor.
Initialize the bus.
Initialize the interrupt controller.
Initialize the clock.
Initialize the RAM (random access memory) settings.
Configure the segments (if applicable).
Run the boot loader.
EMAC can work with this firmware as well, to better configure a board to fit a solution.