I've downloaded SDK 2.4.1. for Keil MDK tool chain.
I am using the example "as is" it with no modifications whatsoever.
proceed as follow:
a) download SDK 2.4.1. package from SDK builder for KEIL MDK.
NOTE: Do not download the standalone example; you must use the full SDK 2.4.1. package.
b) connect to the target to the host Keil IDE via either cms-is port (J8) or the external debug port P1.
c) setup the board to use USB 0 for host and USB 1 for device.
d)I connect a USB keyboard to USB 0 and connect USB 1 to a PC and provide power to J1.
e) open / compile and link the application keyboard2mouse from "boards\lpcxpresso54608\usb_examples\usb_keyboard2mouse\bm".
f)launch the program in debug mode with a break point set at line #360 in file app.c ("while (1)" line).
g) press F5 when the debugger breaks at a line #360 to resume execution
->the firmware always goes into hard fault in usb_host_ohci.c::USB_HostOhciAddToPeriodicList()::line #769
when I launch the program in debug mode WITHOUT any breakpoints then the application runs fine. no hard fault.
Note : you must use the example from the full blown SDK 2.4.1. package.
If you download and use the standalone example "keyboard2mouse" from the SDK builder then the hard fault never occurs. This problem is specific to SDK 2.4.1. full blown package.
Why is is keyboard2mouse from full blown SDK 2.4.1 always going into hard fault in debug mode when the standalone example always works in debug mode ? Does this mean that SDK 2.4.1. can not be trusted ?