Embedded devices are now pervasive in our daily lives, exemplified by medical pacemakers, cell phones, automobiles, and home appliances. The range and requirements are broad, yet open source has matured in breadth and depth to meet the scalability, reliability and real-time demands at competitive cost/performance metrics.
The azad client while defining a new product decided to use open source, instead of proprietary operating systems, compilers and runtime libraries. The new product, a fixed function electronic measurement device, required a new custom ASIC and a new low cost highly integrated CPU with video acceleration. Given the product’s longevity and customer support demands the underlying source code to the entire product, including build tools was a key goal.
azad Approach & Solution:
The azad client’s hardware, firmware, and software teams created models to verify the new platform would meet the product requirements. The existing or legacy product stack, based on C/C++, was ported to prototype boards employing similar processors. Additionally the operating system was based on C and the UI library on C++. The azad consultant researched existing prototype platforms to test the OS and tools.
- Select the appropriate version of open source compilers and libraries.
- Build and test compilers and libraries and setup internal support procedure.
- Select and evaluate boot loaders from CPU vendors and third parties.
- Test DMA throughput on external buses, test SPI throughput with DMA.
- Test LCD controllers, bit depth, pixel clock rates.
- Track changes in the CPU vendor’s OS with changes in the mainline kernel for bugs and “undocumented” features.
- Change core system clocks to match hardware team’s requirements for LCD controller timings.
The client reduced the new platform’s bill of materials. The open source software model allowed the software team to adapt the OS and tools to successfully match the hardware and legacy software stack requirements. This was possible because the team had the source to make the appropriate changes. The open source model also removed the costs and dependencies on external third parties for software support. This platform is now a basis for transitioning existing products with legacy hardware to the new more efficient product line.