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.
JoelMessage
RE: [lpc2000] IAR Embedded Workbench for ARM - EWARM
2005-11-30 by Joel Winarske
Attachments
- No local attachments were found for this message.