Advanced Systems Integration

Embedded system software

Embedded system software. How is it defined? It is any program, typically burned into some type of programmable memory device, that is separated from any user accessible operating system and runs a specific control application on a machine with a dedicated CPU. This rather broad definition takes in a great deal of equipment, most of which people take for granted. Things like alarm clocks, video games, material blenders, and any of the hundreds of other devices that we use every day.

This type of software also requires a completely different paradigm from typical Windows programming. It may be done in "C", but many times must be done in assembly code. Sometimes even little things that large system programmers take for granted must be carefully developed and tested. Things like instruction execution times, interrupt service routines, program reentrancy and multiple byte math.

ASI employees have written a great deal of embedded code. From simple user interface programs for traffic controllers, to complicated PID algorithms and mass flow calculations for metering applications. We have debugged software using equipment as basic as diagnostic printouts and a serial cable, and as fancy as logic analyzers. Unless you have done it (and we have) you can't imagine how difficult it is to get an embedded operating system up on a very sophisticated CPU board which has never been tested. We have even tracked down problems that were caused by different instruction times resulting from a conditional branch interfering with the turn-on time of a transistor.

Not to sound 'nerdy', but we really enjoy poking around inside a good challenging embedded system. If you are looking for an extremely smart group of people to help you get that specific controller up and running quickly, give us a call, and we will show you just what we can do.



4080 McGinnis Ferry Road
Suite 801
Alpharetta, GA 30005
678-990-0945
678-990-0951 Fax
www.advance-it.com
info@advance-it.com

Site hosted by
randombytes