Embedded Software Development Services

With over 30+ years of experience in system-level development, Auriga provides world-class embedded software engineering services for semiconductors manufacturers, medical devices, ISVs, OEMs, telecom and consumer electronics.
Contact us

Services

Porting and Migration

Porting and Migration

We analyze, consult and upgrade the product from outdated end-of-life platforms and languages to trending technologies, reducing the cost of maintaining legacy systems and optimizing performance.

Board Bring-up

Board Bring-up

We initiate the launch and configuration of software running on the new platform or architecture by porting existing software components to the new platform and developing missing components. This software is everything from a very bottom layer such as UEFI/BIOS and bootloaders to OS/kernel and applications. The process involves following steps: running/porting a bootloader, a BSP/drivers specific development and porting OS/kernel, port application level software, optimization and performance tuning needed for a specific device. Thus set of all required software components is up and running on the new hardware platform.

Models Development

Models Development

We develop software models of hardware and software components for simulating the behavior of electronic parts and communication protocols Interfaces and behavior of these models mimics one of real components at a required preciseness degree. Datasheets and specifications analysis predicts components behavior and composing external interfaces. The digital copy of the component is being used in a simulation environment. The new product can be developed and tested even if a real hardware component is not produced yet (shift-left), no need to supply real hardware to each developer/tester.

Embedded Testing

Embedded Testing

We provide full-cycle quality assurance and testing services for embedded systems: hardware and software testing, prototyping, simulation, emulation, test automation, system-level network interfaces,. Auriga testing labs are set up for automated testing of complex embedded components and systems like medical devices and are equipped in compliance with industry standards. Testing embedded solution may be not so easy as testing of a regular software, such as desktop application. We help our customer to perform any kind of embedded testing using our well-equipped labs, trained and skilled and certified personnel.

Legacy Code Refactoring

Legacy Code Refactoring

We improve software’s effectiveness by refactoring the unoptimized legacy code and modifying the architecture for outdated systems to improve maintainability for easier bug finding and fixing, adding new functionality.

Troubleshooting

Troubleshooting

We review and debug software to resolve errors from the code, maintain legacy software support. The problem reproducing includes using the replicated software sources and building environment, finding the problem root cause, implementing the necessary changes to the software, testing to make sure the problem is fixed and there are no breakages introduced by these changes. The new build can be released no matter how long ago the software was developed.

Auriga has accumulated experience in embedded solutions solving fundamental software development challenges:

Security

Ensuring cybersecurity is essential in our fast-changing environment. We mitigate cybersecurity risks by:

  • enabling hardware-based protection features such as SecureBoot or protected access to resources
  • using proven software architecture and design patterns to isolate and protect vulnerable parts of the system
  • performing vulnerability scans to detect and fix security issues
Safety

Auriga has delivered embedded software development and testing services in mission-critical domains, such as healthcare, for almost 20 years. We are well aware of the importance of software safety and are compliant to key industry standards and recommendations, such as MISRA C, DO–178C, IEC 62304, and others. Ready to analyze and stem the risk of harm and hazards, we conduct risk management activities and design solutions that maximize the safety of the software operation.

Stability

Stable system operation is indeed what Auriga strives for in embedded software development. To enhance the stability of the product, we offer load/stress testing, static and dynamic code analysis to detect weaknesses, implement unit and automated tests to try the developed software under extreme conditions.

Industrial Focus

Semiconductors Manufacturers

Semiconductors Manufacturers

  • Development of firmware / BIOS-UEFI / BSP / drivers /kernel components, remote management (IPMI) solutions
  • Applications performance optimization for a particular platform/architecture
  • Software porting from third party platforms and/or architectures
  • Open-source community liaison (e.g., Linux kernel and distro’s) to implement code changes/patches needed to support customer hardware and get it up-streamed into a mainstream
  • Development of digital twins to run processes earlier and optimize the budget

OEM Vendors

OEM Vendors

  • Architecture design, hardware selection, ensuring compatibility of the components
  • Performance and power consumption optimization
  • Legacy software maintenance and migration to newer platforms/technologies
  • Embedded testing and validation

Medical Devices Manufacturers

Medical Devices Manufacturers

  • Implementation of software/firmware as a part of medical devices in conformance with IEC 62304
  • Maintenance of the legacy software solutions and adapting them to new requirements
  • Migration of the existing software projects to new hardware platforms or adjusting them to an updated schematic. New features implementation to the current products
  • Test planning and execution for various test methodologies, including embedded and automated tests
  • Custom automated tests solutions development from scratch and getting them approved/cleared to be used for V&V of medical devices

IIOT Providers

IIOT Providers

  • Implementation of the connectivity features for legacy devices to enable cloud migration and interoperability
  • Sensors’ data collection and analysis. Data processing deployment in the cloud, including machine learning solutions, to enable predictive maintenance, usage statistics and management, etc

Industrial equipment manufactures

Industrial equipment manufactures

  • Software/Firmware development for industrial-grade devices, in compliance with appropriate industry best practices, regulations and standards, including design patterns, specific data exchange and interoperability interfaces and protocols
  • Test and validation of developed SW in a specialized environment in our well-equipped labs: e.g. high-voltage appliance testing, embedded test automation, Hardware-In-the-Loop setup
  • Complete firmware development for a device: from requirements discussions and definitions to successful release to production

Independent Software Vendors

Independent Software Vendors

  • Source code refactoring and optimization. Adopting code to new design patterns, code style. Source code static analyzers implementation to perform automatic check and code modification. Source code analyzers modifications for specific project needs
  • Hardware components models or entire devices simulation deployment to be used during software development for a particular piece of hardware/device
  • Porting software to a different OS/architecture. Adding hardware-specific features to current software solutions
  • Performance and security optimization of software projects
  • All kinds of software solutions testing

Why Auriga?

Impressive expertise

Auriga has gained 30+ years of expertise in system-level and embedded systems development. With 600+ engineers in seven development centers around the globe 13 testing and verification labs deployed for various devices, including medical and safety devices, we deliver best-in-class embedded software solutions to any part of the world.

Team of professionals

Our engineering centers have excellent access to a pool of talented developers skilled in embedded software programming. With the help of Auriga’s Training Center, we encourage our employees to deepen their knowledge and experience, providing advanced courses on system-level development. Thus, even the smallest of our teams efficiently deal with complex challenges and deliver high-quality software. Besides, our engineers are certified to operate devices under high voltage (up to 1000v).

Reliability & quality

To provide high-quality embedded software testing services, we develop a testing strategy for each project phase and debug early. We know how to automate embedded systems testing, including HIL testing, building robotic platforms and digital twins (failure-free reference model/system, a primary debugging tool). Our customers audit our R&D testing labs.

Custom testing solutions

We deliver custom quality assurance testing solutions to ensure that your embedded software is beyond reproach:

  • extended automation
  • HIL/SIL simulation
  • performance and functional testing
  • code analysis tools integration
  • connectivity and interoperability
Impressive expertise
Team of professionals
Reliability & quality
Custom testing solutions

Auriga has gained 30+ years of expertise in system-level and embedded systems development. With 600+ engineers in seven development centers around the globe 13 testing and verification labs deployed for various devices, including medical and safety devices, we deliver best-in-class embedded software solutions to any part of the world.

Our engineering centers have excellent access to a pool of talented developers skilled in embedded software programming. With the help of Auriga’s Training Center, we encourage our employees to deepen their knowledge and experience, providing advanced courses on system-level development. Thus, even the smallest of our teams efficiently deal with complex challenges and deliver high-quality software. Besides, our engineers are certified to operate devices under high voltage (up to 1000v).

To provide high-quality embedded software testing services, we develop a testing strategy for each project phase and debug early. We know how to automate embedded systems testing, including HIL testing, building robotic platforms and digital twins (failure-free reference model/system, a primary debugging tool). Our customers audit our R&D testing labs.

We deliver custom quality assurance testing solutions to ensure that your embedded software is beyond reproach:

  • extended automation
  • HIL/SIL simulation
  • performance and functional testing
  • code analysis tools integration
  • connectivity and interoperability

Recent Projects

Our customers

Technologies

Operating Systems

UNIX

RTOS

Linux, Embedded Linux

VxWorks

LynxOS

Windows, Win Embedded

iOS

Android

Tizen

Windows Phone

Processor Support

PowerPC

Intel x86

ARM and XScale

MIPS

SPARC, Ultrasparc III

SuperH

FPGA: Virtex, Spartan

Intel VT-x technology

HW platforms, interfaces, protocols

PCI, VME, PCI Express

CompactPCI, AdvancedTCA,

MicroTCA, AdvancedMC

CAN, EtherCAT

IPMI, I2C, SPI,

MIL-STD-1553

UART, RS-232

HW platforms, interfaces, protocols

USB, WiFi, Bluetooth

GSM, GPRS

EDGE, UMTS, CDMA

GPS, GLONASS

IDE

SCSI, iSCSI

FibreChannel, MTD devices

HW platforms, interfaces, protocols

Ethernet, ATM, T1/E1

IP, TCP, UDP, SCTP, SCCP

TCAP, SIGTRAN, SS7,

MGCP, H.323

RTP/RTCP, RTSP

SIP

CTI and VoIP

Insights

Race for Success Embedded solutions currently require both complex hardware and feature-rich software. A classic waterfall approach of product development supposes that hardware design and…
The global coronavirus outbreak forced people to stay at home and companies to switch their employees into remote working mode. The proportion of the workforce…
One of the consequences of today’s fast-paced digitally oriented lifestyle is that our inboxes are overloaded with buzzwords. Terms that seem to be synonyms are…
Recently Auriga launched a new R&D lab for medical devices software testing. This is our thirteenth engineering laboratory – and the eighth medical one. In addition to medical labs we…