(Sorry for my limited English and technical skills.)
Based on my experience, I think USB device controllers in LPC2148, LPC2368, and LPC1768 are very similar, or even the same.
However, the USB device controller in LPC1343 is a little different from LPC2148. It does not have Endpoint interrupt registers and Endpoint realization registers.
More surprising to me, LPC1347 and LPC11Uxx have the same USB device controller, but this USB controller is very different from LPC1343 one.
Some of the LPC13xx, LPC11Uxx have internal USB ROM driver, but some NXP USB Source Code tell me that, some of the USB ROM drivers have bug.
And more surprising to me, NXP decided to use LUFA (Lightweight USB Framework for AVRs, formerly known as MyUSB) as their USB Stack. Some Internet web-pages tell me that, some of the NXP USB example code does NOT work properly.
NXP now provides: Sample Code Bundle, CMSIS driver library, nxpUSBlib software package, LPCOpen Software Development Platform; + LPCXpresso, and ARM's mbed. So many choices confuse me badly.
I have some USBCDC experience based on bertrik's LPCUSB Stack, so I guess I would be able to port USBCDC example of LPCUSB from LPC2368/LPC1768 to LPC1343.
However, I am not so sure about the better/best approach for NXP LPC Series' USB solution; assumed that, what I need is only USBCDC functionality, and my target MCU are LPC1788, LPC1768, LPC1343, and LPC11U14.
1. Is it very difficult to port USBCDC example of LPCUSB from LPC2368/LPC1768 to LPC1343? 2. Is NXP's internal USB ROM driver with their USB Stack ready for production? 3. If I want to design a low cost, low pin count, Cortex-Mx based device, with USBCDC functionality, is there any best approach available? NXP MCU or ST MCU or others? It seems TI's Tiva is always under Preview.
Tsuneo,
Many thanks for your help. Your suggestions save me a lot of time. Many thanks.
LUFA (and LPCOpen) is premature. I can't understand what NXP is doing. However, NXP is not the only company that I can't understand. It is amazing that, solutions are getting more and more sophisticated, so that experts don't use them, whereas common developers don't know how to use them.
In this thread, 'something' disappeared.
I noticed this because I discovered 'something' might be very important, so that I went back trying to recheck 'something'. And it is gone.
Ahaha, my post was caught by admin's censorship and deleted by them ;-) They may feel I would claim LUFA too bad.
Your 'something' should be this one,
In this post, a bug on HW->init() of the ROM stack on LPC11Uxx was confirmed. www.lpcware.com/.../hw-init-and-hw-getmemsize-return-seemingly-incorrect-values HW->init() returns wrong mem_base and mem_size, which affect to allocation of following class (HID/CDC/MSC) instances.
Tsuneo
Many thanks for your help. The porting to LPC1343 has been done, and seems work.
Saving a copy into my hard-disk should be able to avoid this kind of "It's gone" problem, however it is not easy to find an article in hard-disk with Windows Explorer, when Windows XP is replaced by Windows 7, it gets worse.