Embedded Artists LPC4357 USB High Speed Issues

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by GTA on Thu Aug 01 15:49:46 MST 2013
Hello All,

I am using the Embedded Artists LPC4357 dev kit (this: http://embeddedartists.com/products/kits/lpc4357_kit.php) and LPCOpen v1.03 to create a USB High Speed device based on LPCUSBLib. Unfortunately the EA LPC4357 dev kit is not supported by LPCOpen, so I have taken the LPCOpen KEIL LPC4357 dev kit board code (keil_mcb_18574357) and adapted that to contain the minimal necessary setup code to be able to run a USB device (I did follow the LPCOpen board porting guide: http://docs.lpcware.com/lpcopen/v1.03/_l_p_c_o_p_e_n__b_o_a_r_d__p_o_r_t_i_n_g__g_u_i_d_e.html).

When trying to run e.g. the lpcusblib_GenericHIDDevice example code with the default USB High Speed enabled (USB_FORCED_FULLSPEED 0), device enumeration is very unstable and usually does not succeed. I also lose the debug connection (target poll failure). If I however force the device to Full Speed, everything works fine.

I have started to look at the USB clocking config in SystemSetupClocking() (in sysinit....c, where I have cut code from the KEIL template) and HAL_USBInit() (in HAL_LPC18xx.c), but I cannot really see what configuration(s) could cause the USB0 device controller to work fine in Full Speed but not in High Speed.

Any ideas?