Firmware

Functionality

Hardly any device, even the simplest one, can do without a processor. Consequently, there is firmware contained in almost any device. Regardless of whether it's many megabytes or only a few kilobytes — quality expectations are high.

This is where SCHMID mme offers their services of Embedded Systems firmware engineering, having a long and successful track record in this domain.

Hard real-time requirements and guaranteed data throughput — using real-time operating systems or bare metal architecture — can be satisfied.
Also, resource-constrained systems can be addressed by minimum memory footprint.

Invent the product — not the wheel

Firmware development at SCHMID mme builds on a solid foundation of library components and modules which have been engineered, written, and tested over years.

Using such components, proven functionality is available immediately. Customers' application development cycles can be shortened, making best use of tight engineering budgets to implement application-specific high-level features.

Field Upgrades

Firmware upgrades in the field add flexibility to the development cycle, enable products to evolve over time, adding features as required and prolonging product life cycle.

Upgrades are available in many ways:

  • over standard interfaces like USB
  • over the air using Bluetooth, WiFi, or cellular
  • by service staff or end users

Quality

Increasingly complex firmware frameworks put more and more emphasis on coding quality:

  • High-quality code increases product reliability and strengthens market success
  • Defensive coding style increases robustness
  • Well-documented code facilitates maintenance and enhancements
  • Modular code facilitates IP reuse

Tools

High quality development environments, often based on Eclipse, enhance software engineers' productivity and support them in writing high-quality code.

All source code ever written at SCHMID mme is backed up by a versioning and revision control system using Subversion repositories, facilitating the management of different versions, branches, and releases. Any change ever made, down to the single-line code change, can be traced and reported.

Code written at SCHMID mme is subject to strict quality control, supported by MISRA compliance checkers, static and dynamic code analysis using TESSY tool. Code quality reports according to various metrics are available.

While coding and testing takes place, code instrumentation, code coverage an tracing enables assessing run-time behavior.

Code documentation is compatible to Doxygen.

Intellectual Property Protection

Protection of know-how and intellectual property is a major concern at SCHMID mme.

In order to protect from competitors' attempts to reverse-engineer devices and decompile firmware, cryptographic techniques can be employed, making reverse engineering overly costly and unattractive.

Conformance and Compliance

International standards

Many markets are dominated by standards with formal coding requirements, compliance of which needs to be proven at certification time.

Using advanced tools, SCHMID mme is able to prove formal compliance to functional safety regulations, for example.

Company standards

Many customers of SCHMID mme have company standards defining specific coding styles.

Coding styles are managed on a per-customer or per-project basis.

Any code written for a specific project strictly adheres to the style definition and is automatically tested against customer's coding rules, making sure code written by SCHMID mme seamlessly integrates with larger code bases of the customer.