Embedded & Desktop Compilers - What's the difference?

Overview

This webinar will take a detailed look at the required facilities and capabilities in compilers designed for embedded applications.

A compiler is a tool that converts a high level programming language, like C or C++, into machine code (or assembly language) for a particular processor. It is always expected that a compiler will do a good job in making that conversion, generating optimal code as a result. Most modern compilers do perform excellent optimization, but they are also focused on the needs of desktop applications.

Embedded systems place special demands on a compiler, because they are so diverse in their design. Primarily, the embedded software developer needs to have very fine control over the behavior or the compiler and the code generation process.

Resource constraints are a fact of life for all embedded designs: CPU power, memory size, or both. It is critical that an embedded compiler provides aggressive, but controlled optimizations to address these issues.

What You Will Learn

  • What facilities are specifically needed in compilers for embedded applications
  • When language extensions make sense
  • How optimization can impact code size, speed or both
  • Why writing assembly language should be outlawed

Presenter Image Colin Walls

A Technical Marketing Manager, Colin has over twenty-five years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, Colin is a member of the marketing team of the Mentor Graphics Embedded Systems Division, and is based in the UK.

Book: Embedded Software: The Works
Blog: The Colin Walls Blog

Who Should View

  • Embedded software engineers - both inexperienced and veterans
  • Technical managers leading embedded software development teams

Products Covered