Re: Run and debug Fiasco.OC kernel and L4Re using a DSTREAM JTAG device and the ARM DS-5 IDE
Adam Lackorzynski <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
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 -- Adam [email protected] Lackorzynski http://os.inf.tu-dresden.de/~adam/