Offshore Outsourcing Security programming / Software Outsourcing Glossary / offshore embedded development and programming

offshore embedded development and programming

Embedded Development Services

 

Solovat has a department specializing in software system design for ARM, MIPS, PowerPC, x86 based processors and System-on-Chips (SoC), as well as in developing software/firmware for microprocessors, digital signal processors (DSP) and micro controllers. Our experience in embedded solutions enables us to provide high quality services of developing software and hardware for embedded systems.

 

·         On-demand software development, including system components development (drivers, protocols and stacks, utilities) and OS installation, porting your applications on target platform, software localization;

·         Software and hardware integration that implies delivering turnkey projects with development of missing components, software for testing, verification and benchmarking;

·         Installation of system software, operating systems at the customer's option, development and debugging tools, build environments;

 

Embedded software development services:

 

·         device drivers and system software development;

·         Linux porting on a target platform and Linux BSP development;

·         custom Linux distributions for a target platform;

·         real-time software development;

·         protocols implementation;

·         target board bring-up and bootloaders;

 

 

 

Knowledge&Skills

 

Programming languages: C/C++, VHDL, Java, Python, Perl, Ruby, ASM x86/c51/AVR/ARM,XScale,ADSP,TI;

 

Development Systems and Tools: P-CAD 200x, Keil uVision 2.14, VisualDSP++ 3.5 for ADSP, TI Code Composer, ISE 6.2, Synplify Pro 7.2, ModelSim 5.8, ALDEC Active-HDL v6.1, Matlab; Eclipse, CBuilderX, MS Visual Studio, Embedded Visual C++, Kdevelop, CVS, Subversion, GNU toolchains for x86/ARM/AVR, MinGW, Cygwin, Autotools; BLUEmagic 3.0 SDK, Axis Bluetooth stack for Linux

 

Interfaces and busses: USB Host/Client/OTG, SSP/SPI/uWire UART, Flash Cards (CFII/MMC/SD), RS232, RS485, PCI, PCI-Express, VME, PCMCIA, CAN, ISA, Ethernet, IRDA, GPS, GSM/GPRS, IEEE 802.11, Bluetooth

 

Operating Systems:

  • Linux, NetBSD, FreeBSD, MacOS, UNIX;
  • Windows CE.net, Windows XP Embedded;
  • RTOS: QNX, eCos, RTLinux, RTAI;
  • Embedded Linux: uCLinux, LFS, DSPLinux, i-Linux;

 

Cross-platform libraries: Qt/QtEmbedded, wxWidgets, Boost, SDL, ACE, JFace, SWT;

 

 

 

Case Studies

 

 

Project 1

 

Replacing wired communication channel for device with wireless (Bluetooth based)

 

The goal of this project was to replace standard communication interface of experimental PDA-like device based on RS232 with wireless interface based on Bluetooth technology. The replacement was performed at GAP level that is controlled by FW on the existing CPU by means of a serial "RS232" interface through the existing UART. The project was executed jointly by client and by our company, because it involved also hardware engineering (adding of Bluetooth device to circuit board). The following points were completed during the project:

ð        Adaptations and integration of BT stack FW, to the processor

ð        Application FW for managing the BT functionality and configuration

ð        Modify current FW application on the processor to use BT/GAP instead of the previous cable bound external RS232 connection.

Technologies and tools used: BLUEmagic 3.0 SDK Bluetooth, BLUEmagic Bluetooth stack

 

 

Project 2

Product name: Bluetooth serial driver

Our client had a custom made device with Bluetooth stack deployed. However the general performance of data transfer via BT was very poor. The objective of the project was to develop a new serial device driver to overcome this limitation. We had to design a stream interface device driver for PXA250 XScale processor (BTUART port). The driver was also required to have an interface that is similar to the HCI UART interface of Bluetooth. As a result, two-layered architecture having MDD and PDD layers was developed. DMA was used to transfer data from/to UART FIFO. The DMA buffer chaining mechanism was used for this purpose. The driver supported RTS/CTS flow control.

Technologies used: Bluetooth serial driver

 

 

 

Project 3

 

Product name: JTAG Controller

 

Target Market: Testing tools for electronic circuits

 

Product description: JTAG controller is a software and hardware package consisting of the hardware controller connected to a tested board and software installed on a PC. The controller uses JTAG Boundary Scan technology, which is an industrial standard, IEEE 1149.1 – 1990 “Standard Test Access Port and Boundary Scan Architecture” (JTAG). JTAG controller is used for:

·         Printed circuit board diagnostics to detect technological defects (no-link, short circuit, etc);

·         Configuration of programmable chips (MCU , FPGA);

·         memory programming and configuration (FLASH, EEPROM, FRAM);

·         Chip self-diagnostics interfacing;

·         In-circuit debugging and monitoring, OCD (On Chip Debug);

·         Functional verification ( ASIC or FPGA );

 

Technologies used: JTAG Boundary Scan, USB.

 

Customer: Hardware engineers.