Using software IP: best practices for embedded systems design

When developing embedded software, a key decision that needs to be addressed is "Make or buy?" It is common practice to utilize proven software IP, such as real time operating systems, in modern designs. The scope for licensing software components is expanding as time-to-market pressures make their use more attractive.

The main concern of developers is the usability and quality of such IP. This article looks at the precautions that may be taken, the best practices for selecting IP, the role of standard validation suites, and where open source fits in.

For many engineers, the attraction of programming embedded systems is the opportunity to start from scratch – to write every last byte of software for a device and create something from nothing. I know that this was an incentive for me. However attractive this concept may be to an engineer, it does not really make business sense, partly because this will inevitably result in “reinventing the wheel” – developing something which has already been created – but also because time to market is always limited, so reducing development time is necessarily a priority.

Almost all embedded applications nowadays include some licensed software components. This may be as simple as a runtime library provided with a compiler, but can be as complex as an operating system, including networking stacks, a file system, and user interface. In any case, software intellectual property (IP) needs to be selected with care.

  • IP Selection
  • The selection process for software IP is subject to a long list of criteria including:
  • Functionality
  • Quality
  • Price
  • Commercial factors
  • Licensing

Click here to read more ...

×
Semiconductor IP