Software projects are often delayed, over budget and under deliver. Software has been mostly developed in a sequential fashion and that too after the hardware platform has been developed. This worked fine in previous eras when delivery cycles were understood to be long and end user expectations were not high. However, the paradigm has shifted to one where the consumer drives the market, handhelds are within everyone's reach and expectations are rising higher and higher in terms of device usability and feature availability.
What is the take away for embedded systems developers? Just as the monolithic RTOSes of the last decade have given way to more modular RTOSes, expect applications to continue down the same path as the line between embedded systems and desktop systems blurs even more. The more modular the software, the easier it is to develop a piece at a time and test it so that fewer bugs are likely to be found in the field. This is the brick laying part. However don't forget the palace. The different bricks have all got to fit together, that is the modules must all work together and the end goal is to build a palace. The application you build will not exist in a vacuum. Think of the project from a system level perspective as you go through the development process. Set up system level test benches and module level test harnesses. If the target hardware already exists then you are ahead in the game. Real or virtual, you only have one shot at success.
文章评论(0条评论)
登录后参与讨论