Embedded software development can feel a lot like an episode of "The Twilight Zone." A developer gets a new project; thinks up the design; develops the low-level microcontroller drivers, middleware, and application code; and then spends a fair amount of time certifying and testing the system. At the moment the product goes out the door, a time loop starts on another product and developers begin developing low-level MCU drivers, middleware, etc.
What makes developing embedded software a frustrating experience is that while a new product has cool features and technologies that need to be explored and developed, much of the development cycle is spent learning the low-level MCU hardware and writing drivers. Low-level firmware development is undoubtedly fun, but it is time-consuming to dig through those 2,000-page manuals, and it is a highly error-prone process.
One of the problems with the conventional approach is that engineers all over the world are repeating the exact same driver development, focused on reinventing the wheel. The focus on driver development and the MCU takes the focus and time away from product feature differentiation and design innovation. In a world where first-to-market is critical, wasting months to simply get a processor up and running with drivers is not the recipe for success.
Microcontroller suppliers are beginning to provide a number of potential solutions to help ease the development cycle for firmware engineers. For a number of years now, component factories have become more and more popular. Component factories are tools such as STM32CubeMx by STMicroelectronics and Processor Expert from Freescale Semiconductor. Component factories are great at assisting in the configuration and setup of a microcontroller but usually generate code that is cryptic and not human-readable or is so obfuscated that it takes an inordinate amount of time to understand what it is doing. Component factories can solve the MCU configuration problem, but integration of middleware and third-party components can still be difficult. Renesas recently launched its Synergy platform that will provide not just low-level microcontroller drivers but also take aim at providing an ecosystem around middleware and application components. The Synergy platform is a potentially interesting solution for developers because it offers the ability to build an embedded system with drivers, RTOS, file systems, USB stacks, and more with certified and proven components.
Microcontroller-based products are steadily becoming more and more complex, and the complexity is arising out of the need for more software features. Microcontroller manufacturers are recognizing the firmware development problem and beginning to offer engineers some solutions to help make things easier. As microcontrollers become more capable and complex, the added assistance is inevitable. When developing an application for a general computing device running Windows or Linux, does anyone dig out the datasheet for the CPU and start at the lowest levels of hardware? No. A developer would start with .Net, which is a collection of frameworks and libraries designed to speed up development.
Microcontroller abstractions and production-ready driver and middleware packages are an inevitable necessity. Microcontrollers are very much starting to be as complex as the computer processing units that existed in the early 1990s and preceded the frameworks and computing libraries that many devices are built upon today. Can developers expect any less of a revolution in development than that which occurred within the general industry two decades ago? Renesas may be the first to announce a revolutionary platform to accelerate software design, but it certainly won't be the last.
What do you think? Are you ready to move into higher layers of abstraction, or do you prefer to stay at the bit level? Tell us in the comments section below.
Jacob Beningo is a Certified Software Development Professional (CSDP) whose expertise is in embedded software. He works with companies to decrease costs and time to market while maintaining a quality and robust product. He is an avid tweeter, a tip and trick guru, a homebrew connoisseur, and a fan of pineapple! Feel free to contact him at [email protected], at his website www.beningo.com, and sign up for his monthly Embedded Bytes Newsletter here.
Like reading Design News? Then have our content delivered to your inbox every day by registering with DesignNews.com and signing up for Design News Daily plus our other e-newsletters. Register here!
Design engineers and professionals, the West Coast's most important design, innovation, and manufacturing event, Pacific Design & Manufacturing, is taking place in Anaheim, Feb. 9-11, 2016. A Design News event, Pacific Design & Manufacturing is your chance to meet qualified suppliers, get hands-on access to the latest technologies, be informed from a world-class conference program, and expand your network. (You might even meet a Design News editor.) Learn more about Pacific Design & Manufacturing here.