We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi All,
I am using ARM v8-A Foundation Platform to debug my code. According to user guide, the base address of UART0 in system is 0x1c090000, so I use the following code to try to print a char via UART0:
*(volatile unsigned char *)(0x1c09000 + offset_of_tx_fifo) = ''a'; /* this code works in a real hardware */
But I see nothing in the command shell, in which I can see the result of printf(...) function
So my question is: can my code work in Foundation Platform?
Thanks.
-Jerry
Hello,
Are you running on Linux or Windows?
If running on Linux, then as mentioned here on the ARM Infocenter, please make sure you have installed both 'xterm' and 'telnet', and that they are on your path.
If running on Windows, make sure you have enabled the 'Telnet Client' Windows feature; on Windows 7 you can enable this feature by navigating to Control Panel > Programs and Features > Turn Windows features on or off > Tick 'Telnet Client' in the list > Click 'OK'.
Also, you mentioned that your line of code works on real hardware; I'm assuming you have initialised the PL011 UART? And disabled the FIFOs? Disabling the FIFOs makes them 1-character deep. If you have not disabled the FIFOs, you will need to "fill" the TX FIFO before it will start printing.
I hope this helps,
Ash.
Hi moonlight,
isn't there UART setting to specify the FIFO threshold? You should better set the threshold.
Best regards,
Yasuhiko Koumoto.