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.
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.
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:
Increasingly complex firmware frameworks put more and more emphasis on coding quality:
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.
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.
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.
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.