Upload
design-and-reuse
View
382
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Colin Walls
Over 20 Years of Embedded Software Development –
A Third Way Emerges
Mentor Graphics Confidential Information
2
“Software is eating the world”
Marc Andreessen, co-founder of Netscape
Mentor Graphics Confidential Information
3
Software is eating the world
Contribution of software to product success is increasing
How will you cope? Is there a path forward that will prevent hungry
software from eating up the entire product budget?
$$$
Mentor Graphics Confidential Information
Embedded Software is Ubiquitous
Embedded software is everywhere
Medical
Home White Goods
TelcomConsumer
Automotive
(Even if most people don’t know what Embedded means …)
4
Mentor Graphics Confidential Information
Trends: Microprocessor Technology
8 bits 16 bits
16 bitmcu
32 bits RISC
32 bitmcuSoft Cores
8 bit mcu
5
Mentor Graphics Confidential Information
Trends: Design Composition
HardwareHardware
Hardware
Software
Software
Software
6
Mentor Graphics Confidential Information
Trends: Software Content
In-house In-houseIn-house
RTOSRTOS +comms
RTOS +comms +other IP
In-house
7
Mentor Graphics Confidential Information
Trends: Software Team Size
/2
8
Mentor Graphics Confidential Information
9
Embedded Software
Dominant value generator for technology enterprises
Low cost of entry Great time for start-ups Danger of “hardware myopia”
Mentor Graphics Confidential Information
10
“Most of the new, innovative companies are focusing on the software. I think there will be lots of innovation in the areas of software, but not in hardware.”
Steve JobsFebruary 1985
Mentor Graphics Confidential Information
11
Embedded Software
Software innovation is strategic 9 month cycle is typical You get fixed number of “spins” Software is not “free” except for headcount Fixing one bug is cheap, but 1000 can kill a project
Mentor Graphics Confidential Information
12
Pre-requisites to Software Success
The right runtime software The right tools Pre-silicon prototyping
– Buys more cycles
Mentor Graphics Confidential Information
13
Embedded Software Development
Runtime – 3 options: Commercial In-house Open source
Tools – 2 options: Commercial Open source
Mentor Graphics Confidential Information
14
Commercial Runtime Software
Pros Established, reliable Long-term commitment Documented OS-aware debug support Middleware Hardware drivers
Cons On-going license costs No internal knowledge Vendor lock-in Excess functionality
Mentor Graphics Confidential Information
15
Commercial Runtime Software
Pros Established, reliable Long-term commitment Documented OS-aware debug support Middleware Hardware drivers
Cons On-going license costs No internal knowledge Vendor lock-in Excess functionality
Mentor Graphics Confidential Information
16
In-house Runtime Software
Pros Control No on-going license costs Exact match to needs
Cons Development costs Long-term support No debug support Multiple implementations No middleware New architecture support Core competencies
Mentor Graphics Confidential Information
17
In-house Runtime Software
Pros Control No on-going license costs Exact match to needs
Cons Development costs Long-term support No debug support Multiple implementations No middleware New architecture support Core competencies
Mentor Graphics Confidential Information
18
Open Source Runtime Software
Pros Readily available Wide user base Support from users “Free”
Cons Nobody responsible Integration takes time and
effort Version issues Fit for purpose
Mentor Graphics Confidential Information
19
Open Source Runtime Software
Pros Readily available Wide user base Support from users “Free”
Cons Nobody responsible Integration takes time and
effort Version issues Fit for purpose
Mentor Graphics Confidential Information
20
Commercial Tools
Pros High functionality Fully integrated Technical support Wide range available
Cons Cost Vendor lock-in Not comparable to
desktop tools
Mentor Graphics Confidential Information
21
Commercial Tools
Pros High functionality Fully integrated Technical support Wide range available
Cons Cost Vendor lock-in Not comparable to
desktop tools
Mentor Graphics Confidential Information
22
Open Source Tools
Pros Readily available Wide user base Support from users “Free”
Cons Nobody responsible Integration takes time and
effort Version issues
Mentor Graphics Confidential Information
23
Open Source Tools
Pros Readily available Wide user base Support from users “Free”
Cons Nobody responsible Integration takes time and
effort Version issues
Mentor Graphics Confidential Information
24
Deployment of open source tools
Open source tools “out of the box” ... Which tools?
– C/C++ Compilers
– Assembler
– Linker
– Runtime Libraries
– Debugger
– Debug Stub(s)
– Integrated Development Environment
Mentor Graphics Confidential Information
25
Deployment of open source tools
Do you have the right tools to build the toolchain? What versions of the various toolchain components
will you use?– What patches should be applied?
How should you configure the various toolchain components?
– The configure scripts have thousands of options
Mentor Graphics Confidential Information
26
Deployment of open source tools
What CPUs will be used on your target systems?– Will both big-endian and little-endian code be required?
– e.g. “bare metal” ARM runtime libraries are optimized for little-endian ARM V5
– this will not work with ARM V4– ARM V6 architecture would not be used efficiently
Mentor Graphics Confidential Information
27
Deployment of open source tools
Toolchain validation– Compiling programs and running those programs in the
target environment
– Compiling programs and inspecting the generated object file or executable image, without running the generated code
– Compiling fragments of a program with multiple compilers and linking the fragments together
– Compiling invalid program fragments and checking for appropriate error messages
– Testsuites ...
Mentor Graphics Confidential Information
28
Embedded Software Development
Runtime – 3 options: Commercial In-house Open source
Tools – 2 options: Commercial Open source
Mentor Graphics Confidential Information
29
Embedded Software Development
Runtime – 3 options: Commercial In-house
Open source
Tools – 2 options: Commercial
Open source
There is another way ...
Mentor Graphics Confidential Information
30
Embedded Software Development
Recognize that open source does not mean “free” Do not underestimate the configuration and
deployment challenges [= costs] Consider using a specialist vendor
– Tools [and OS] packaged and ready to use
– Costs well defined and contained
– Additional support [with open source community there for you as well]
– Additional value-added components
This if The Third Way
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Colin [email protected]
http://blogs.mentor.com/colinwalls
Thank you