Hi, I have the W1.5 version installed on an MX8M Plus board. We see the uart settings, but there is no uart number in the port category of native uart. We want to know how to generate the serial number? Because we want to use putty or tera term to test the uart function.
Thanks
Hi @hankwang,
SerCx2 framework is used for serial interface of i.MX as it is demanded by contract with Microsoft under which BSP development is done. As such no COM interfaces are created for the UARTs.
It is possible to use these ports when instruction described at MSFT pages is followed - Device Interface publication for a SerCx or SerCx2 managed Serial Port.
This is statement to this issue from Microsoft:
"Accessing serial ports from application is different on SerCx/SerCx2 devices compared to Serial.sys devices. Namely, the SerCx2 device needs to publish device interfaces. Using COM interfaces with SerCx2 is not supported. Please follow this guide on how to expose a SerCx2 serial port to applications: Device Interface publication for a SerCx or SerCx2 managed Serial Port - Windows drivers | Microsoft... Once the application gets a handle to the SerCx2 serial port and configures it, it can interact with it as it would've in the past with COM ports."
There is an UART example in BSP sources also available in location:
<BSP sources folder>\examples\UART\UART-read-write\UART-read-write-source
There is theoretical possibility to create another driver with Serial.sys and leave it to the customer which one he wants to use. But this needs to be decided by Microsoft based on customers demands for "old" COM interface. If this might be the case for you, I can only support you if you decide to contact Microsoft with such a request.
Best Regards, Jakub
Hi @jakub_zigacek ,
We have the similar questions in i.MX8M Quad EVK.
If W21H2-1-5-0-imx-windows-bsp.zip doesn't include COM Ports in the Windows 10 21H2, how do we configure WinDbg to debug Windows Driver?
So far we read i.MX Windows 10 IoT Quick Start Guide (IMXWSG_1.5.0.pdf - Page 4/30) and try to follow introunction to configure COM Port for debug.
Or we have wrong understanding about this description.
Can you give us some advice how to enable/configure Serial Port on iMX8M Quad EVK when it boots up into Windows 10 IOT 21H2?
Thansk for you and NXP Teams support.
Hi @Alex_Chang_633,
to configure WinDbg two commands :
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:921600
bcdedit /debug on
(make-winpe-enterprise.cmd can be used for inspiration)
need to be run on a target board to configure kernel debug over serial port. The same port, as U-boot uses as console output, is configured in the BSP by default.
This port is needed to be set up for WinDBG on the host computer. For example:
Start WinDBG
Open cmd as Administrator
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -k com:port=COM3,baud=921600
aslc and dcs files need to be touch only in case when you want to change the UART used for the debug by the target Windows system.
Please be aware that there is a caveat. When baudrate over 115200 is used, Windbg do not want to get connected to the target machine. It was found, that when any VM is running on the host machine, than the Windbg is able to connect over the serial port to the target. So please run for example Ubuntu in the VM virtualBox. It is unexpected, but working solution for this connection issue.
In short, on EVK with unmodified NXP BSP, you only need to run the commands on target's admin command line:
bcdedit.exe /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:921600
bcdedit /debug on
Then on host computer start WinDbg with same COM, as on which you are able to see uboot output with serial terminal like Putty. (while Ubuntu is running in VM).
Then please restart your board and you should be able see something like this after a while target boots up:
It is possible to change UART baudrate to 115200 with CONFIG_BAUDRATE in file uboot-imx/configs/imx8mq_evk_nt_uuu_defconfig and debug without VM machine running. But it will be considerably slower to work with and for example creating full memory dump will take cca at least 4 days for transferring 5GB dump with 11kB/s. I just tried it to run and after half an hour still have only this:
Even with 921600 it will be cca 12 hour. There could be some data compression involved and it could be somehow faster.
Best regards, Jakub
Hi @jakub_zigacek ,
Thanks for your solutions.
We will try your way to configure debug environment.
Again, thank you and NXP Teams help.
Have a nice day,
Alex
@jakub_zigacek please, can you help here?