Independent Software Contractor

Technologies

Codependable has broad experience writing embedded software in 'c', as well as supporting PC-based software in C++. Here are some of the technologies we have worked with.

Processors

  • Texas Instruments 'C6, 'C5, 'C3
  • Motorola MCU
  • PIC microcontrollers
  • ARM XScale
  • Analog Devices Blackfin
  • PowerPC
  • FPGA-based processing elements
  • Intel x86 and x64
  • Atmel microcontrollers
  • And more...

Operating Systems and Loaders

  • Texas Instruments DSP/BIOS
  • Green Hills Integrity
  • Linux
  • ucLinux
  • u-boot
  • Custom boot software
  • Windows
  • VxWorks

Protocols

  • PCI, PCI-X, PCIe
  • VME, VXS, VPX
  • 10GigE, ethernet, sockets
  • SATA
  • SRIO
  • I2C/SMBus, SPI
  • UART, USB
  • GPIB (IEEE-488)

We are one of the primary designers and developers of the Terbit Connector platform. Terbit Connector enables rapid application development of a PC-based interface to embedded systems.

Find out more at www.terbittech.com

Boot Software

We have designed and implemented the boot software for many platforms. From custom boot code on bare metal, to pre-test, system configuration, and digital signature verification prior to the loading and execution of an off-the-shelf RTOS. The real skill here is absorbing the datasheets for the board components.

Motor Control Software

We implemented BLDC motor control software with space vector modulation. We developed a technique using a table of coefficents to maximize motor efficiency.

VHDL

We implemented triple module redundancy (TMR), reset logic, and various glue logic for a board with rad-hard requirements.

Test and Measurement

We participated in the design and implementation of a semi-automated test fixture for a military radio. The test fixture required the integration of embedded software, PC-based application software, custom radio test equipment, and test and measurement devices over GPIB.

High Speed Data Recording

We participated in the design and implementation of software capable of sustained recording of GBs/second of A/D data for hours. This required 64-bit Windows, multi-threading, an efficient interface to A/D hardware, as well as squeezing all possible performance from the Windows file system