I'm in the process of porting a couple of projects from the Kinetis K22FN1M0 to the LPC55S69. That includes my own custom debug output module and USB CDC interface functions.
I've found the Serial_Manager component in the MCUX SDK but, like most of the SDK, it has essentially no explanatory text anywhere. It looks like it ought to handle some of what I need to do but this is all that's provided about its capabilities and scope:
The serial manager component provides a series of APIs to operate different serial port types. The port types it supports are UART, USB CDC and SWO.
First, is this module even expected to be used by the developer, or is it intended only for internal use by other components like the Debug Console?
Is it only capable of blocking writes? The WriteBlocking function says it waits for the sending queue to be empty. If that's all that's available I think I'll have to go ahead with porting my own version - it's too much of a performance hit to have it block with every write, even when there's plenty of room in the output buffer to add data.
What about the USB support? It says USB CDC is supported but has exactly zero explanation. Is CDC actually supported? How does one go about configuring it for a composite device?
Thanks,
Scott
Hi scottm
The serial manager component provides a series of APIs to operate different serial port types. The port
types it supports are UART, USB CDC and SWO.
There is SDK API Reference Manual_LPC55S69.pdf under SDK install folder SDK_2_12_0_LPCXpresso55S69\docs, you will see "Serial Manager" documented in Chapter 46.
It seems there is no demo code under SDK folder about this component usage. As far as I know AN12327 uses this component file. This AN SW is IAR version.
Hope this helps,
Jun Zhang
Hi Jun,
There's no mention of "serial manager" in chapter 16. It does have the usual doxygen scrapings in chapter 46 but it doesn't explain what it's for or why you'd want to use it, or what its capabilities are. The only post I can find about it on this forum is from two years ago and it was said then that SWO and USB support were only stubs, with no schedule for implementation. Are they fully implemented now?
What is the purpose of the serial manager? Is it just a wrapper to provide a consistent interface to three types of port?
There's not even an overview provided for the USB support, which is by far the most complicated port type. USB on my device is configured for composite mode operation, with both MSD and CDC. I don't see any clear way to support that using Serial Manager. It seems to bring in its own device descriptor and assumes that it's the only thing using USB. I'm sure I could adapt it to work with the composite driver, but I'm trying to avoid modifying SDK code.
Thanks,
Scott