31
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 colin_walls@mentor. com Over 20 Years of Embedded Software Development – A Third Way Emerges

Over 20 years of embedded software development a third way emerges

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Over 20 years of embedded software development   a third way emerges

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

[email protected]

Over 20 Years of Embedded Software Development –

A Third Way Emerges

Page 2: 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

Page 3: Over 20 years of embedded software development   a third way emerges

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?

$$$

Page 4: Over 20 years of embedded software development   a third way emerges

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

Page 5: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

Trends: Microprocessor Technology

8 bits 16 bits

16 bitmcu

32 bits RISC

32 bitmcuSoft Cores

8 bit mcu

5

Page 6: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

Trends: Design Composition

HardwareHardware

Hardware

Software

Software

Software

6

Page 7: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

Trends: Software Content

In-house In-houseIn-house

RTOSRTOS +comms

RTOS +comms +other IP

In-house

7

Page 8: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

Trends: Software Team Size

/2

8

Page 9: Over 20 years of embedded software development   a third way emerges

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”

Page 10: Over 20 years of embedded software development   a third way emerges

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

Page 11: Over 20 years of embedded software development   a third way emerges

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

Page 12: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

12

Pre-requisites to Software Success

The right runtime software The right tools Pre-silicon prototyping

– Buys more cycles

Page 13: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

13

Embedded Software Development

Runtime – 3 options: Commercial In-house Open source

Tools – 2 options: Commercial Open source

Page 14: Over 20 years of embedded software development   a third way emerges

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

Page 15: Over 20 years of embedded software development   a third way emerges

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

Page 16: Over 20 years of embedded software development   a third way emerges

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

Page 17: Over 20 years of embedded software development   a third way emerges

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

Page 18: Over 20 years of embedded software development   a third way emerges

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

Page 19: Over 20 years of embedded software development   a third way emerges

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

Page 20: Over 20 years of embedded software development   a third way emerges

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

Page 21: Over 20 years of embedded software development   a third way emerges

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

Page 22: Over 20 years of embedded software development   a third way emerges

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

Page 23: Over 20 years of embedded software development   a third way emerges

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

Page 24: Over 20 years of embedded software development   a third way emerges

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

Page 25: Over 20 years of embedded software development   a third way emerges

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

Page 26: Over 20 years of embedded software development   a third way emerges

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

Page 27: Over 20 years of embedded software development   a third way emerges

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 ...

Page 28: Over 20 years of embedded software development   a third way emerges

Mentor Graphics Confidential Information

28

Embedded Software Development

Runtime – 3 options: Commercial In-house Open source

Tools – 2 options: Commercial Open source

Page 29: Over 20 years of embedded software development   a third way emerges

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 ...

Page 30: Over 20 years of embedded software development   a third way emerges

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

Page 31: Over 20 years of embedded software development   a third way emerges

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