We're trying to implement a USB mass storage device on the LPC1778. We're having some issues with getting this to work correctly.
We are using the pre-assembled usbd lib under the lpc_chip_177x_8x folder/libs with the latset version of LPCOpenlibrary. When looking at the API for the MSC functionality in Chapter 34: LPC11U6x USB ROM API in the UM10732, there is not much to go on regarding how to set up a mass storage device properly (no documentation, examples or source code).
Is there any documentation, example or source code regarding this?
pls download lpcopen v1.03 from this link.
https://www.nxp.com/downloads/en/libraries/lpcopen_v1.03.zip
under the folder there is mass storage host demo:
lpcopen_v1.03\lpcopen\applications\lpc17xx_40xx\examples\LPCUSBlib
Have a great day,
Jun Zhang
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi, thanks for the quick reply!
I'm a bit confused, to my understanding v1.xx uses the old deprecated USB libraries compared to v2.xx
https://www.nxp.com/docs/en/release-note/LPCOPEN-RELEASE-HISTORY-RN.pdf
LPCOpen Software for LPC17XX | NXP
And since I'm using the latest version the suggested example/libraries doesn't help me much unfortunately.
1). Should i assume that there is no documentation/example for USB Mass Storage Device using the latest version of LPCOpen with the latest version of the USBD libraries?
2). I have an additional point that confuses me regarding the the documentation for USBD libraries, specifically USB MSC. When reading the API for the USBD lib in Chapter 34: LPC11U6x USB ROM API in the UM10732 there seems to be missing information between the usbd_msc.h and usbd_mscuser.h files and the documented API.
There are additional input parameters (uint32_t high_offset) for the MSC_Write, MSC_Read and MSC_Verify functions that are not mentioned in either documentation or function headers.
Regards
You can use v2.10 IAR EWARM 6.70.1 Keil MDK-Arm® v4.73a from this url. it includes the USB MSD demo also
LPCOpen Software for LPC17XX | NXP |
the document link is also listed. Besides, we don't have other doc for this package
Have a great day,
Jun Zhang
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
I have looked through all examples concerning Mass Storage, and all of them use the old depracted usb library instead of the new USBD library.
Is the Mass Storage part of the USBD library not working as intended?
Hi,
the LPC1700 family of microcontrollers do not have USB drivers in its ROM, so USBD won't work.
LPCUSBlib and USBD are similar, the main differences between these are:
- USBD is the library equivalent to the USB ROM driver for most current MCUs.
Since USBD is essentially the USB ROM driver, the source code is not publicly available.
- The LPCUSBlib device stack is an older USB stack that we no longer support in LPCOpen but has the source code available.
Have a great day,
Jun Zhang
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi
I know that the lpc17xx controllers do not have USB drivers in ROM, that is why I am using the pre-assembled usbd library under the lpc_chip_177x_8x folder/libs as i mentioned in the original post.
I know that you no longer are supporting the LBCUSBlib, this is the reason I am using the pre-assembled usbd library in the first place.
And I am writing here because i am looking for support regarding the pre-assembled usbd library, specifically regarding the Mass Storage Class.
Is the Mass Storage Class working as intended?
I am wondering this since the example regarding Mass Storage Class in LPCOPEN 2.xx uses the old unsupported LPCUSBlib instead of the pre-assmbled usbd library that the other usb examples use.
Have a great day
LPCOpen doesn't include usbd MSC project for LPC1778. We don't have any AN on it either.
My colleague created a new MSC project. For your reference as attachment.
The project path is
applications\lpc17xx_40xx\keil_uvision_projects\ea_devkit_1788\usbd_lib\usbd_lib_hid_msc
Have a great day,
Jun Zhang
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Can I ask for the same but for LPC1769 and LPCXpresso IDE?
I understand. I will check with development ream if we have usbd massstorage demo code for LPC1778. If any news, I will let you know.
Jun Zhang