<div dir="ltr">Hello Stefan, <div><br></div><div>I added the print debug call inside extern "C" void kernel() function as you'd suggested. Still no response from the processor.</div><div><br></div><div>I checked the address specifications in both Imx31_uart_base.h and also base/include/platform/imx6/board_base.h in Nikolay's branch. They are correct, to the dot. Even AIPS mapping in board.h in base-hw's core. The definitions seem to be fine. </div>

<div><br></div><div>Ideally, what is expected to happen, i.e, the expected course of action? we can't load the kernel by running 'bootm' since you say it uses a different config. So what do we do with the uImage? </div>

<div><br></div><div>1. I loaded the uImage to 0x10800000 with TFTP as 'tftp 10800000'. It succesfully loaded the kernel to that address. At this point, I had changed the load address to 10002000 to check if the image was read properly. It did.</div>
<div>2. As a different approach, ran 'go 10002000'. This was what I got "<span style="line-height:19.1875px;text-align:justify;font-size:11px;background-color:rgb(240,240,240)">##Application started at 0x10002000, Application terminated, rc = 0x100A4004"</span></div>
<div><br></div><div>What is the sequence of events, the programs that are sequentially executed to say that the kernel is 'running'?</div><div><br></div><div>Thanks in advance</div><div>Aditya Kousik</div>


<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jan 2, 2014 at 4:33 PM, Stefan Kalkowski <span dir="ltr"><<a href="mailto:stefan.kalkowski@...1..." target="_blank">stefan.kalkowski@...1...</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br>
<div><br>
On 01/02/2014 08:52 AM, Aditya Kousik wrote:<br>
> Hello all,<br>
><br>
> We've tried to run a basic test-printf script on a Freescale i.MX6<br>
> sabrelite board. Based on<br>
</div>> this<<a href="http://sourceforge.net/p/genode/mailman/message/31760885/" target="_blank">http://sourceforge.net/p/genode/mailman/message/31760885/</a>>,<br>
<div>> we implemented the necessary files. We had also come across an i.MX6 branch<br>
> by Nikolay Golikov stating that he had a preliminary port of i.MX6 here:<br>
> <a href="https://github.com/decaprox/genode/tree/i.mx6" target="_blank">https://github.com/decaprox/genode/tree/i.mx6</a><br>
><br>
> We ran RUN_OPT="--target=uboot" make run/printf to see if it does print "-1<br>
> = -1 = -1" to the serial console (tested with gtkterm).<br>
><br>
> We ran the boot image uImage through TFTP at load address 0x10800000. It<br>
> loads the kernel (267.9 kB) but stops at "Loading kernel".<br>
<br>
</div>Assuming, your resulting kernel image is linked to 0x10001000, and ends<br>
at about 0x102cbc55, like the result I got when compiling Nikolay's<br>
branch, your load address for the u-boot uImage sounds reasonable.<br>
Unfortunately, I can't reproduce your experiments, because I don't have<br>
such a board available. The first thing that comes to my mind is, that<br>
Nikolay used another board containing the i.MX6 SoC than you with<br>
another memory layout of the related peripherals.<br>
<div><br>
><br>
> How do we know if the kernel is indeed running, or are we checking the<br>
> right UART ports? (we checked UART1)<br>
<br>
</div>First at all, you should add a printf command like:<br>
<br>
  PDBG("kernel started!")"<br>
<br>
at the very beginning of the kernel's execution. In Nikolay's branch I<br>
would add it here:<br>
<br>
<br>
<a href="https://github.com/decaprox/genode/blob/i.mx6/base-hw/src/core/kernel.cc#L1366" target="_blank">https://github.com/decaprox/genode/blob/i.mx6/base-hw/src/core/kernel.cc#L1366</a><br>
<br>
If that message isn't printed, very likely your UART definitions aren't<br>
correct.<br>
<div><br>
><br>
> I gave "console=ttymxc0, 115200" as bootargs in u-boot. Any suggestions on<br>
> how to proceed? Because we are literally stuck.<br>
<br>
</div>Forget about "bootargs" in u-boot. They are specific to booting the<br>
Linux kernel. U-boot puts them into the Linux/ARM specific ATAG<br>
structure. In Genode that structure isn't used. It's hard coded in the<br>
kernel, which UART is used for kernel/core debug messages. In Nikolay's<br>
branch, he uses the UART with memory mapped I/O located at 0x02020000,<br>
and with the following UART definition:<br>
<br>
<br>
<a href="https://github.com/decaprox/genode/blob/i.mx6/base/include/drivers/uart/imx31_uart_base.h" target="_blank">https://github.com/decaprox/genode/blob/i.mx6/base/include/drivers/uart/imx31_uart_base.h</a><br>
<br>
Please check whether this corresponds with your board's definitions.<br>
<div><br>
><br>
> Also, is there a good debugging tool for testing the genode environment on<br>
> direct hardware?<br>
<br>
</div>Well, there is JTAG of course, which isn't related to Genode<br>
specifically. There are other debugging utils available on Genode, like<br>
GDB, but that wouldn't help on that low level you're currently working at.<br>
<br>
Regards<br>
Stefan<br>
<div><br>
><br>
> Thanks in advance<br>
> Aditya Kousik<br>
><br>
><br>
><br>
</div>> ------------------------------------------------------------------------------<br>
> Rapidly troubleshoot problems before they affect your business. Most IT<br>
> organizations don't have a clear picture of how application performance<br>
> affects their revenue. With AppDynamics, you get 100% visibility into your<br>
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!<br>
> <a href="http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Genode-main mailing list<br>
> <a href="mailto:Genode-main@lists.sourceforge.net" target="_blank">Genode-main@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/genode-main" target="_blank">https://lists.sourceforge.net/lists/listinfo/genode-main</a><br>
><br>
<br>
--<br>
Stefan Kalkowski<br>
Genode Labs<br>
<br>
<a href="http://www.genode-labs.com/" target="_blank">http://www.genode-labs.com/</a> · <a href="http://genode.org/" target="_blank">http://genode.org/</a><br>
<br>
------------------------------------------------------------------------------<br>
Rapidly troubleshoot problems before they affect your business. Most IT<br>
organizations don't have a clear picture of how application performance<br>
affects their revenue. With AppDynamics, you get 100% visibility into your<br>
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!<br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk</a><br>
_______________________________________________<br>
Genode-main mailing list<br>
<a href="mailto:Genode-main@lists.sourceforge.net" target="_blank">Genode-main@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/genode-main" target="_blank">https://lists.sourceforge.net/lists/listinfo/genode-main</a><br>
</blockquote></div><br></div></div>