ByteSnap Design employ a wide range of devices as part of our microcontroller design and development service. We are proficient in many programme languages and Operating Systems, having produced product programmes in C/C++ and Assembler.
ByteSnap Design use a wide variety of microcontrollers and microprocessors to create products that meet the right balance of cost, power consumption and performance. These microcontrollers may be used in conjunction with a more powerful processor running an operating system such as Linux or Windows CE, or they may be the sole processor in a small system.
The table below gives examples of some of the microcontrollers that ByteSnap Design uses for its clients’ devices:
|PXA series (Marvell)||Powerful 32 bit processors with rich peripheral set.|
|NXP iMX series||From Low cost, low power ARM 9 devices through to quad core ARM cortex A8. Suitable for industrial applications requiring more “horsepower” than offered by the Cortex M devices.|
|ARM Cortex M eg STM32||Low cost, low power 32 bit processor core, Wide resource base, multiple vendors|
|PIC family||Low cost, Wide choice of peripherals|
|AVR family||Low cost, similar to PIC. The basis of the Ardunio modules beloved by hobbyists.|
|8051||Old, but still widely used core, within niche devices e.g. programmable logic or a metering chip|
|Xilinx PicoBlaze and MicroBlaze, Zync||Microcontrollers embedded within an FPGA saving chip count and maximising performance|
Within each family of microcontrollers there are a wide variety of peripheral choices as well as memory size and type variants. With our expertise we can guide you through this daunting and long-winded task to ensure you always choose the best part.
We are fluent in programming microcontrollers in C, C++ and assembler. We choose the language based on a trade-off between performance and code size. As compilers improve, so the use of C and C++ has become more prevalent. However, for some small or fast applications assembler can still be the best choice.
Ultimately, we have the experience to use the language most suited to the task.