Develop Center
Develop Technology - Develop Services - Develop Support & Training - Develop Partner Ecosystem
How Is Device Software Development Different?
While intelligent, connected devices constitute today’s fastest growing technology market, the software development practices that create them lag behind the desktop world. Desktop application development takes place largely on one chip, using one operating system, primarily in one programming language. There are relatively few constraints on system resources.
The device world, by contrast, is heterogeneous, employing multiple processors, multiple hardware architectures, multiple operating systems, and multiple programming languages. Many target systems are severely resource-constrained. Most are hard to see into and difficult to debug. The device development process has numerous discrete stages with different challenges and requirements, often with different personnel using different tools. For all these reasons, the benefits of standardization have come slowly to the device software development space.
The Roots of Commercial Grade Workbench
Wind River has been the leading provider of real-time operating systems (RTOSes) for more than 20 years. Wind River entered the development tool business as a way of providing support to engineers building devices with VxWorks, over time acquiring a large portfolio of best-in-class tools for all phases of the device software development process. After taking up citizenship in the open-source community, Wind River assumed leadership of the drive for a Device Software Development Platform (DSDP) to bring the flexibility and power of open standards and Eclipse technologies to the DSO industry.
Over the last five years, Wind River engineering has invested hundreds of person-years integrating these and other capabilities into an exceptionally broad, deep device software development suite. Wind River Workbench answers the challenge of diversity by embracing open standards. It counters complexity by integrating a host of key open-source, proprietary, and partner technologies into a product that works out of the box. It offers flexibility through product configuration options, unprecedented extensibility, and a choice of business models.
Workbench 2.4 sees the maturing of these constituent technologies into a seamlessly integrated and efficient workflow for developers at every stage of the development life cycle.
Built on the twin pillars of Wind River’s DSO strategy – standardization and choice – Workbench enhances the productivity of the individual developer and the efficiency of development teams across the enterprise.
The Challenges of Device Software Development
Hardware bring-up, BSPs, and firmware
No device software development project can get underway before a stable hardware and software foundation is in place. But the hardware in devices is not exempt from Moore’s law: It increases in complexity at a predictably exponential rate. So do the challenges of bringing up a new design, outfitting it with drivers and board support. Until these necessary and highly complex tasks are done, and done well, device development is stalled out.
Integration of toolsets
Within one company and even within one project, development teams need access to a range of powerful capabilities tailored to a number of key development tasks. Ideally, these toolsets work together to facilitate efficient workflow and an optimized development process. Today, however, teams must too often invest precious resources trying to create a functional development environment from a collection of separate, incompatible tools. This negatively impacts project schedules and product quality.
Reuse of intellectual property
In many cases, analyzing and integrating code generated by other teams is so time-consuming that companies continue to reinvent the wheel for each new project.
Support for multiple device technologies
In too many cases, proprietary tools solutions limit developers' freedom to choose the best processor, the best hardware architecture, and the appropriate operating system for the device they want to build.
Support for open standards
Proprietary development environments severely limit the range of tools available, forcing teams to make do or patch together provisional toolsets and ad hoc processes.
System visibility
Ability to "see" the target system well enough to assess and debug not only source code, but system behavior and performance, is a persistent challenge of device development. Slow edit-compile-debug cycles impact time-to-market. Poorly executed ones impact product quality.
Quality assurance
The increased complexity of device development, the pressure of tight deadlines, and the inefficiencies that abound in many device development teams often mean insufficient time is left to perform the rigorous testing that assures a product meets basic performance requirements.
Project management
Setting up, sharing, importing, and managing multiple concurrent device software development projects challenges even the most sophisticated technology companies.






