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
E-mail This Article | Printer-Friendly Page |
|
Related Articles
- Optimizing embedded software for real-time multimedia processing
- Will Generative AI Help or Harm Embedded Software Developers?
- Software Infrastructure of an embedded Video Processor Core for Multimedia Solutions
- Embedded Software Unit Testing with Ceedling
- Processor-In-Loop Simulation: Embedded Software Verification & Validation In Model Based Development