Software Development

Circuit Design & PCB Layout

Software Development

Most of M4EMS's product designs include one or more microcontrollers. The reasons for this are obvious in some cases, but in others it might seem like an unnecessary complication and cost. In fact it is very often easier and more cost effective to implement even simple functions in a small microcontroller than it is to use discrete circuitry, with the added bonus of providing greater design flexibility.

The software which runs in such a microcontroller is often referred to as embedded software. It runs all the time the device is switched on, unlike normal computer programs which are loaded and run only when the user chooses. Embedded software normally performs a few specific functions and has minimal user interface. For this reason it must be reliable and fault-tolerant because there is often no-one around to notice an error.

Real-time software must respond to events with hard deadlines. For example an inkjet printer must release ink droplets at precisely the right moment as the print head travels across the page. If it misses its deadline, the image becomes corrupted.

Design and implementation of real-time embedded software is a particular speciality at M4EMS, and we take pride in producing software which is robust and reliable, but also simple and efficient. Making best use of limited hardware resources is one way of keeping product costs down. Producing high quality, maintainable code is the best way of keeping support and maintenance costs down.


See More

click below to see more
ARM9
68K/Coldfire
AVR & AVR32
PIC
H8
ST6 & ST7
80x51 family
Z80/64180
Delphi/C++ Builder
Visual C++
GNU/Linux C++
iOS and Android Applications