Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] IAR Embedded Workbench for ARM - EWARM

2005-11-30 by Joel Winarske

I use IAR EWAVR and IAR EWARM.

In my experience IAR offers a clean interface, clean debugger, and excellent
support (West Coast office).  The C-Spy plug-ins are a nice feature.  I've
found the IAR compiler to be more strict (perhaps more compliant?) than
Keil.  I've heard the MISRA feature touted as a built-in Lint.


Example - Keil code IAR does not like:

#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)

const void (* USB_P_EP[16]) (DWORD event) = {
  P_EP(0),
  P_EP(1),
  P_EP(2)
};


Reworked for IAR:

typedef void (*PUSB_P_EP)( DWORD event );

const PUSB_P_EP USB_P_EP[] = {

  USB_EndPoint0,
  USB_EndPoint1,
  USB_EndPoint2
};

I heard rumor at one point Keil did not completely implement floating point
numbers to spec, which lead to rounding errors; but offered faster floating
point performance.  Keep this in mind when comparing floating point
performance between the two.


Joel

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.