Hi,
On Thu Nov 20, 2014 at 14:53:23 +0100, Mahdi Aichouch wrote:
However, I tried to debug via JTAG, and I checked that the fiasco kernel and l4re were wroking correctly but I was unable to see anything on the minicom serial console.
I did some investigation in the UART driver code example from the i.MX 6 Platfrom SDK provided by Freescale, where in this case I was able to see the debug message on a serial console and to debug the code step by step via JTAG.
I figured out that the difference between this case and the case of running a l4 fiasco kernel is that there is a set of configurations that are done in the case of the UART driver and not in the l4 fiasco kernel bootstrap.
As we can see in attached files the code of the uart driver rely on a source code that is automatically generated by the IOMUX tool to configure the board. According to the documentation: "this tool frees the device driver design developers from design details of each pin and pad. The source code generated by the tool is used as-is by the SDK."
In the other hand, when the L4-fiasco kernel is started using uboot these peripherals configuration are done. But if the L4-fiasco kernel is started alone these configuration are not.
The problem is that if these configurations are integrated to the fiasco bootstrap, they will be done twice when the kernel is started via uboot: first in uboot and second in the L4-fiasco bootstrap.
Is there any elegant way to deal with this problematic situation?
Hmm, maybe there's a way to detect whether the setup has already been done? Such a setup also seems quite specific for a particular board. But yes, something to consider. Practically I just let u-boot run to its prompt and then stop and load things via JTAG. That typically works.
My second question is related to the test of the hello world example via tftp, as I was able to run l4-fiasco via uboot and tftp and to get the debug message on the serial terminal.
The problem is that after the bootstrap_hello.uimage file is loaded, the kernel starts. Then it is supposed to run the Hello World test example, however, in the trace there is no Hello World scrolling...
Is there something that I am missing?
Fiasco also needs to be configured for UART-1. Go to Fiasco's build directory and change it via 'make config' and rebuild with 'make' in there, then do 'make elfimage ...' again.
Adam