Any standard 8051 compiler should work.The EZ-USB families have enhancements over the standard 8051 (such as dual data pointers, DPTR0 and DPTR1) but they are code compatible with a standard 8051 (you can use the standard DPTR only or you can use DPTR with "inc DPTR" to switch between the two data pointers). So there are methods to use some of the enhanced features with a standard 8051 development environment. The Keil tools do offer specific support for our microcontrollers to directly take advantage of some of the added features. For our development purposes we generally use the Keil tools since that is what we ship with the development kits and that is what almost all of our customers use. We don't have a great deal of familiarity with any other development environments and so can't give specific recommendations as to the applicability or problems of other environments. Also, when problems arise, it may be more difficult for us to help out if it ends up being an issue related to development environment setup.