Run and debug Fiasco.OC kernel and L4Re using a DSTREAM JTAG device and the ARM DS-5 IDE
adam at os.inf.tu-dresden.de
Thu Nov 20 23:32:24 CET 2014
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
> 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 adam at os.inf.tu-dresden.de
More information about the l4-hackers