Software Development Platforms – Why we need them?

Product Development Platforms help product developers ensure that their hardware and software development runs in parallel, thereby accelerating their embedded product development process. 

What are Software Development Platforms?

Every time a silicon or semiconductor company launches a new processor or System on Chip (SoC), they simultaneously release the Software Development Platforms (SDP) or Software Development Kit (SDK). Software Development Platforms are physical boards or PCBs consisting of a processor/SoC, peripheral interfaces, expansion connectors, and support for debug interface. A Product Development Platform comes equipped with Board Support Package based on popular operating systems and development frameworks, providing an ideal platform that enables engineers, students, product developers, and others to explore and have them familiarize with the new processor/SoC interfaces and features. By using software development platforms, developers can ensure that their hardware and software development process runs in parallel, thereby accelerating their product development.

Accelerating Embedded Product Development 

As mentioned earlier, the key purpose of product development platform is to allow users to explore and familiarize themselves with a new/existing processor/SoC interfaces and features. Besides, they work as ideal Software Development Platforms for the customers to jump-start their product development. Developers can quickly move from concept to design, debug code and prototype products with ease using these ready-to-use development platforms. The usual flow of a product development process is as depicted below.

Development Platforms, Product Development Platforms, Software Development Platforms

Stages in the Product Development Process

Product Development Platforms or Software Development Platforms help the user benchmark their software, prototype applications and debug the software. In the case of using product development platforms, the development process will look as shown in the figure below. Development platforms are called with different names like Software Development Platforms, Evaluation Modules, Software Development Kits, Industrial Development Kits, etc. depending on the application they are intended for or on the silicon vendor releasing them. Software Development Platform  also comes in different variants and with different interfaces like with/without Display, large all-in-one boards that run proprietary operating systems and a host of development tools; or combination of a baseboard with multiple add-on boards catering to different applications.

Development Platforms, Product Development Platforms

Product Development stages using Software Development Platforms

Designing using Software Development Platforms

Let’s look at an example. Mistral has worked with several silicon manufacturers bringing out development platforms and SoM Modules based on their latest silicon. One of these development platforms, the 820 Development Platform based on Snapdragon 820 from Qualcomm. These software development platforms have a modular design, comprising of two boards. One is a light-weight, small footprint SOM module consisting of the SoC, Memory and the 9-axis MEMS sensor and a carrier module with all the other interfaces such as Audio, Display, Camera, USB, GigE, and a Debug UART. The two-layer design of the software development platform ensured that the customers could use the SoM module as a product from Mistral which gets integrated into their final product design.

Wherein the Final product will have a custom design carrier card having all the necessary interfaces to be brought out from the SoM module. We were approached by a customer who had an existing Android-based Braille Notetaker – a single board solution, to realize a new version with a modular two-board solution using the 820 Nano SOM while maintaining the existing mechanical design. We were able to modify their existing product hardware to accommodate the 820 Nano SOM and its capabilities, by  removing components on the existing hardware and adding connectors needed for plugging in the 820 Nano SOM. The software was developed in parallel on the SD820 based Development platforms and ported to the custom-designed hardware. The customer worked independently on the user application. We were able to deliver the proto solution in record time and the customer was able to integrate the entire products, test it and take it to market on schedule.

Conclusion

Development Platforms allow embedded software to be developed and tested on a prototype hardware before the end product is ready. Development Platform thus allow product developers and OEMs to quickly and effectively develop software and applications, prototype their custom hardware and quickly integrate the two to create quality products with a quick time-to-market. Using a Development Platform can get product developers a head start on the competition, by creating products and solutions optimized by leveraging the capabilities of the latest processors and SoCs. Mistral offers a wide range of easy-to-use, scalable and award winning Software Development Platforms, Product Reference Designs and Evaluation Kits based on leading SoCs. Software development platforms and Reference Design help product developers prototype and test their software and applications well before their custom product hardware is ready. Our powerful and accessible software development platforms offer the ideal tool to create, collaborate, and deliver your end product or solutions.