Hi Aditya

On 29.01.2014 06:36, Aditya Kousik wrote:
Hello all, 

Genode base-hw kernel runs successfully on i.MX6. Stefan: we were looking at the wrong UART port (1 instead of 2) which led us on a wild goose chase. And we set the GPIO pins directly by setting IOMUX to GPIO mode: we lit a LED bulb successfully. The driver, as you mentioned is quite complex. 

We're getting the following message for test-printf ::

Starting kernel ...

int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 1020 MB to init
int main(): --- init created, waiting for exit condition ---
[init] Could not open file "ld.lib.so"
[init -> test-printf] -1 = -1 = -1
[init] virtual void Genode::Child_policy::exit(int): child exited with exit value 0

We ran nested_init to verify again and got the following::

int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 1021 MB to init
int main(): --- init created, waiting for exit condition ---
[init] Could not open file "ld.lib.so"
[init] parent provides
[init]   service "ROM"
[init]   service "RAM"
[init]   service "CAP"
[init]   service "PD"
[init]   service "RM"
[init]   service "CPU"
[init]   service "LOG"
[init]   service "SIGNAL"
[init] child "init"
[init]   RAM quota:  10223616
[init]   ELF binary: init
[init]   priority:   0
[init -> init] Could not open file "ld.lib.so"
[init -> init] parent provides
[init -> init]   service "ROM"
[init -> init]   service "RAM"
[init -> init]   service "CAP"
[init -> init]   service "PD"
[init -> init]   service "RM"
[init -> init]   service "CPU"
[init -> init]   service "LOG"
[init -> init]   service "SIGNAL"
[init -> init] child "init"
[init -> init]   RAM quota:  4980736
[init -> init]   ELF binary: init
[init -> init]   priority:   0
[init -> init -> init] Could not open file "ld.lib.so"
[init -> init -> init] parent provides
[init -> init -> init]   service "ROM"
[init -> init -> init]   service "RAM"
[init -> init -> init]   service "CAP"
[init -> init -> init]   service "PD"
[init -> init -> init]   service "RM"
[init -> init -> init]   service "CPU"
[init -> init -> init]   service "LOG"
[init -> init -> init]   service "SIGNAL"
[init -> init -> init] No children to start

One, Are these satisfactory messages? (Are the test scripts running as they should) Two, Why does test-printf not work when I try to print Genode::printf("Hello World!"); and consequently set run_genode_until "Hello World!" 10 (or {Hello World!} 10). [init -> test-printf] does not get initialized.

Regards
Aditya.

The output of your run/printf and run/nested_init looks fine. I assume you're getting no output with Genode::printf("Hello World!"); because Genode buffers print jobs until a line-break comes in, to save RPCs. Could please try Genode::printf("Hello World!\n"); ?

Best regards,
Martin