UARTC not transmit under Wince

Hello,
we have your SOM iMX7 4GB with:

  • Bootloader v1.3 (Fixed version in date 2023-02-28 from Mr.Germano)
  • your iMX7 WinCE7 Image 1.3 (official image)

We are using the UARTA and UARTB without any problem them transmit and receive correctly.

I have problem on UARTC that not transmit nothing.
I have try the setting on wince registry following the post below but without success:

I have delete the key “colibripin_21” saving the registry, but after the reboot the key is
already present on the registry.

In addiction, I have follow the post below:

adding the [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\USB_OTG1] with all keys from the post
and deleting completly the [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\USBOTG]
but after the reboot the [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\USBOTG] is again present.

Do you have a working fix for have the UARTC working completly?
Inform me asap

Best Regards

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

Thank you for reaching out with your issue regarding the UARTC port on your iMX7 SOM running WinCE7. Let’s work through some steps to help resolve this problem.

  1. Hardware Verification: First, ensure that all hardware connections for UARTC are secure and correctly configured. Check the TX and RX lines for any loose connections or potential damage.

  2. Registry Settings: It seems you’ve already attempted registry modifications. In WinCE, registry changes can sometimes revert after a reboot if not saved properly. After making changes, ensure you save the registry by using the appropriate tool or command to persist these changes across reboots.

  3. Driver and Configuration: Verify that the UARTC driver is correctly installed and configured. Ensure that your application is using the correct COM port and that there are no conflicts with other devices. Double-check the driver settings in the registry to ensure they match your hardware setup.

  4. Testing with a Simple Application: Use a basic terminal application to test UARTC functionality. This can help determine if the issue lies with the hardware, driver, or your specific application.

  5. Debugging and Logs: Utilize any available debugging tools or logs to identify error messages or warnings related to UARTC. This can provide further insight into the issue.

If these steps do not resolve the problem, consider any recent changes to your system that might have affected UARTC functionality. Additional details or specific error messages could also assist in diagnosing the issue further.

I hope these suggestions help you get UARTC working as expected. Please feel free to reach out if you have more questions or need further assistance.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

UARTC not working.

Hello,
there is a human technical support that can reply about my question?

The consideration for AI Toradex in the various points from 1 to 4 are obviously done.

Regards

Hello,
there is someone of the technical support that can reply about my question?

The consideration for AI Toradex in the various points from 1 to 4 are obviously done.

Regards

Hi @GiovanniAccinniSrl ,

Sorry for the late answer i was on a long leave and nobody else could answer this question.

The issue is most for sure that Pin21 is configured as Overcurrent Detect instead of UART.
This is a wrong default in the USB OTG port setting that will use this pin as Overcurrent detect by default.

You need to set “colibripin_21” to 0, not delete the entry to make it work. I did some tests and for me it will stay at 0 (UART). We will fix this not to default to this pin in a future release of the iMX7 BSP

Hello Mr.Germano,
like your suggestion, I have set the registry
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\USBOTG\Hcd\Pinout_Default]
colibripin_21=0

The result is that the registry field remain identical after the reboot, but the UART C continue
to not trasmit nothing on pin 21.
I have check it directly with oscilloscope on the hardware, but nothing happen.
To be sure I have check the other pin 19 but the same result.

Do you have other suggestion/fix?

Best Regards

Hi @GiovanniAccinniSrl ,

Can you check the UART pins alternate function assignment in GPIO Tool? to make sure they are configured as uart3_RX_DATA (pin 21) and uart_TX_DATA (pin 19)

Hello Mr.Germano,
sorry for the delay.

These are the current settings that show the GPIO Tool.

Inform me what I can do for have this UART3 working.

Regards

Hello Mr.Germano,
any news about the UART3 Problem?

Regards

Hello all the staff,
there is someone that reply me to the question on this UART3 problem or not?
We are waiting you for do add new hardware on our board that use your iMX7.

waiting an your reply
Regards

Hello,

it’s more then one month that I wait a reply about this UARTC,
There is someone of the technical staff that can reply me?

Regards

Hi @GiovanniAccinniSrl ,

Sorry for the long wait. I’m the only one on the WinCE support and i was busy with some other urgent issues until now.

I’m not sure why the UARTC does not work for you… i did some tests and it works for me with the instructions i gave you before.

NOTE: it seems that the GPIO Tool is showing Pin 21 as RX and Pin 19 as TX. This is a bit confusing as we normally label the function from the Module perspective, but on iMX7 it seems to be labeled from the perspective of the device connecting to it.
In other words. Pin 21 is the transmit pin of the Module and Pin 19 is the receive pin of the module.

Also maybe there is something wrong with the way you use the open and use the com port?
It should be COM3: if you did not change anything in the default registry settings.
Also note that this port has no control signals, so you should not use any handshaking protocol that relies on RTS/CTS or DSR/DTS.

Another possibility: Module is defective? Did you try another one?

Did you try to set the PIN as GPIO and check if you can drive it HIGH / LOW or read an external input?

Hope this helps

"I ran some quick tests:

  • Took a Colibri iMX7 v1.1D module and a Colibri Evaluation Board
  • Flashed the WinCE 7 v1.3 image from the Toradex server—no additional setup or registry modifications were done
  • Connected an oscilloscope to SODIMM pin 21
  • Executed echo string > COM3: from the command prompt

Result: I was able to observe a valid UART signal on the oscilloscope.

So either you have a defective module or carrier board, or you’re using an incorrect method to send data to UARTC (COM3).