Microcontroller Programming Services
We have a wide range of microcontroller design and programming experience. We have designed software that
communicates through a variety of common protocols including Modbus RTU and ASCII, BacNet, TCP/IP and Various Proprietary
Protocols. We have designed and implemented several motion control systems, some of which used the Bresenhams algorithm to
provide fast acurate stepping on multi axis machines. We have designed and implemented various Data Acquisition and control
systems in both 'C' and Assembly language.
Custom Embedded Programming Services
Embedded software is different from large system programming in many ways. Limited resources like RAM, PROM, speed
and debugging tools make embedded software challenging and very enjoyable. Whenever there are a limited amount of resources it is
more like solving a puzzle than simply writing software. We have been wringing out every last byte of memory and instruction
cycles from processors for many years now. Lots of time a design is simple and ROM, RAM and instruction cycles are plentiful
but there are just as many times when you do have to squeeze every last ounce of performance out of your hardware. Sometimes
this can make the difference between whether a product is affordable or not.Embedded Programming Languages
Most embedded microcontroller software is written using 'C', Assembly language , Basic or a mixture of all three. we have a
great deal of experience with all three. Assembly language is different between different families of processors, for instance
an assembly language program written for an Intel Microcontroller will not work on a Motolora, Zilog or Microchip processor.
We have programmed in many different assembly languages for many varied processors. Assembly language is the lowest level
language that the Central Processing Unit (CPU) understands, it works primarily with a number system called binary and can
only do small instructions. The higher level languages like 'C' and Basic actually take take their instructions and translate
them into Assembly Language before they are loaded into the microcontroller. Higher level languages are faster to develop in but
execute slower on the microcontroller. This is why there are times where you have to mix a higher level language with Assembly
language, just to get more out of your limited resources.
|
||