A C Compiler for ARM with Differences - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

A C Compiler for ARM with Differences

Description:

ICCV7 for ARM Product Summary. Simple-to-use IDE with powerful features. Optimizing compiler ... Nohau EMUL-ARM emulator and Seehau debugger. GNU ELF/Insight ... – PowerPoint PPT presentation

Number of Views:122
Avg rating:3.0/5.0
Slides: 14
Provided by: dragon82
Category:

less

Transcript and Presenter's Notes

Title: A C Compiler for ARM with Differences


1
A C Compiler for ARM with Differences
  • by
  • ImageCraft
  • Richard Man, Technical Director
  • Richard_at_imagecraft.com

2
Why?
  • Perfect timing
  • ARM7 price competition with 8/16-bit
    microcontrollers
  • Flash based easy to use
  • Atmel AT91 SAM7
  • Philips LPC2K
  • Own the hobbyist market and you will become a
    market leader (e.g. Microchip)
  • No low-cost professional tools until now!

3
Competitive Landscape
  • Stratospherically priced tools
  • (with a performance to match?)
  • ARM, Green Hills, IAR
  • free GNU GCC
  • Commercial IDEs on top of GNU
  • Keil (now have their own compiler too)
  • Hitech
  • Rowley Associates
  • etc.

4
ICCV7 for ARM Product Summary
  • Simple-to-use IDE with powerful features
  • Optimizing compiler
  • Ability to work with industrial standard debug
    tools
  • Price performance leader

5
The Differences (1)
  • IDE with Application Builder
  • Point and click to initialize IO registers

6
The Differences (2, IDE AppBuilder)
7
Optimizing Compiler
  • (Surprise?) Non-GNU
  • More user friendly
  • Control our own destiny - features, bug fixes
    etc.
  • Global Register Allocator
  • ARM is a RISC machine, use registers as much as
    possible
  • ARM features
  • p etc. gt pre / post indexed modes
  • Conditional execution
  • Thumb mode (1Q05)
  • Uses APCS (ARM Procedure Calling Convention)

8
Unmatched Price Performance
  • 3 Versions
  • STD (Nov. 04)
  • IDE, ARM code generation
  • 199
  • ADV (Jan. 05)
  • 349
  • Thumb code generation
  • PRO (Jan. 05)
  • 749
  • Global Optimizer

9
Debugger Support
  • Nohau EMUL-ARM emulator and Seehau debugger
  • GNU ELF/Insight
  • (TBA) ImageCraft branded low cost (200)
    debugger (1Q05)

10
Support
  • 10,000 licenses sold since 1994
  • Its not easy ?
  • but it can be handled effectively
  • Easy to upgrade download and install the latest
    demo
  • Web resources, FAQ, mailing list
  • Email
  • We are a US company in the Silicon Valley!
    Telephone if you really must.

11
Global Optimizer (1)
  • Priorities
  • Safety fast wrong code is wrong code. BE
    CONSERVATIVE!
  • Effective goal - 10 to 20 better code
  • Speed slow optimizer does not get used until
    late in development cycles. Make it fast so that
    it is used from the beginning
  • New Virtual Pass
  • Low impact on rest of the compiler infrastructure
  • Function at a time optimizations
  • Machine Independent Optimizations optimizer
    will be introduced to platforms (ICCV7 for AVR)

12
Global Optimizer (2)
  • Technology (we know the buzzwords!)
  • SSA, Static Single Assignment
  • State of the arts technique, for example, it is
    the same infrastructure chosen by the GNU team
    for GCC4.0
  • Dominator Graphs
  • Control flow information
  • Global Value Numbering
  • Common subexpression
  • Constant Propagation
  • Code Motion
  • Move code out of loop
  • Code Hoisting
  • Merge common code
  • (others...)

13
Future
  • Short / medium term ADV, PRO, debugger
  • More ARM7 devices supported
  • Builtin Flash ISP?
  • ARM9?
  • EC sometimes in 2H05
Write a Comment
User Comments (0)
About PowerShow.com