Hi,
I am trying to run hello world program by following the tutorial.
I have made changes of pin as per instructions and applied overlay. M4 starts fine but no/garbage output.
I have changed SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY to 266MHz from 400MHz clock in drivers fsl_clock.h.
Already validated the hardware pin config for uart.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Based on the context provided, here are some steps you can take to troubleshoot the issue of no or garbage serial output from your ‘hello world’ program on the Colibri iMX8X evaluation board:
UART Configuration: Double-check the UART settings in your software to ensure they match the hardware configuration. This includes verifying the baud rate, data bits, stop bits, and parity settings. Mismatches in these settings can lead to garbage output or no output at all.
Pin Configuration: Re-validate the pin configuration to ensure that the correct pins are being used for TX and RX. Any misconfiguration in the pin assignments can lead to communication failures.
Overlay Application: Ensure that the overlay you applied is correctly configured. The overlay should set up the UART pins as intended. Review the overlay settings to make sure they align with the expected configurations for UART on the Colibri iMX8X.
Clock Frequency Changes: Consider reverting the SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY back to 400MHz from 266MHz. The change in clock frequency might be affecting the timing of the UART communication, leading to issues with the serial output.
Software Configuration: If the hardware configuration is correct but the output is still garbage or absent, further investigate the software settings and UART initialization code. Ensure that the hello world program is correctly compiled and loaded onto the M4 core.
By following these recommendations, you should be able to identify and resolve the issue with the serial output. If the problem persists, further review of the software configuration and initialization code may be necessary.
Please, also check if these links can help you solve your problem:
I ran the Hello World app, and everything works as expected. Could you please provide detailed steps so I can reproduce your case? Have you tried running the 4-core app without booting Linux/Torizon (from U-Boot only)?
Hi, here are the steps I followed.
Changed the source code (in pin_mux .c/.h)as per instructions.
Compiled firmware using build_release.bat script.
Placed the firmware in /var directory
Followed instruction to load binaries m4_0_image=/ostree/deploy/torizon/var/firmware/hello_world.bin
loadm4image_0=ext4load mmc 0:1 0x95c00000 /ostree/deploy/torizon/var/firmware/hello_world.bin
Applied the .dtbo to disable M40 uart from linux.
use command, run m4boot_0 to start cortex m4.
Colibri iMX8X # run m4boot_0
8856 bytes read in 6 ms (1.4 MiB/s)
Power on aux core 0
Copy image from 0x95c00000 to 0x34fe0000
Start M4
bootaux complete
But I do not see any print out statement neither anything I entered in serial terminal.
USB to serial TX is connected to SODIMM146 and RX is connected to SODIMM144. Ground signal is also connected.
Please try setting up MCU Expresso from scratch and carefully repeat all the steps described in the article. When I followed them, everything worked as expected.