<div dir="ltr">Hi Christian,<div><br></div><div>Thank you for your response, it is much appreciated. The ticker.exe program works in qemu now: I had to change to a different version of qemu and switch the order of the '-serial mon:stdio -serial /dev/null' arguments (as well as use the -S option correctly!).</div><div><br></div><div>The details:</div><div>The qemu version suggested by $RTEMS_DIR/rtems-src/c/src/lib/libbsp/arm/xilinx-zynq/README is 1.4.50. When run with 'qemu-system-arm -s -no-reboot -serial null -serial mon:stdio -net none -nographic -M xilinx-zynq-a9 -m 256M -kernel ticker.exe' the output is:</div><div><div>*** BEGIN OF TEST CLOCK TICK ***</div><div>TA1  - rtems_clock_get_tod - 09:00:00   12/31/1988</div><div>TA2  - rtems_clock_get_tod - 09:00:00   12/31/1988</div><div>TA3  - rtems_clock_get_tod - 09:00:00   12/31/1988</div></div><div><br></div><div>At this point qemu freezes. A gdb backtrace shows:</div><div><div>(gdb) target remote <a href="http://127.0.0.1:1234">127.0.0.1:1234</a></div><div>Remote debugging using <a href="http://127.0.0.1:1234">127.0.0.1:1234</a></div><div>0x0001b386 in _CPU_Thread_Idle_body (ignored=0)</div><div>    at ../../../../../../../../rtems-src/c/src/../../cpukit/score/cpu/arm/armv7-thread-idle.c:32</div><div>32<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>    __asm__ volatile ("wfi");</div><div>(gdb) bt</div><div>#0  0x0001b386 in _CPU_Thread_Idle_body (ignored=0)</div><div>    at ../../../../../../../../rtems-src/c/src/../../cpukit/score/cpu/arm/armv7-thread-idle.c:32</div><div>#1  0x00015dae in _Thread_Entry_adaptor_idle (executing=0x103558)</div><div>    at ../../../../../../rtems-src/c/src/../../cpukit/score/src/threadentryadaptoridle.c:25</div><div>#2  0x0001c654 in _Thread_Handler ()</div><div>    at ../../../../../../rtems-src/c/src/../../cpukit/score/src/threadhandler.c:90</div><div>#3  0x0001c606 in _User_extensions_Thread_exitted (</div><div>    executing=0x1c607 <_Thread_Handler>)</div><div>    at ../../cpukit/../../../xilinx_zynq_a9_qemu/lib/include/rtems/score/userextimpl.h:288</div><div>#4  0x00001008 in Init (argument=3852464152)</div><div>    at ../../../../../../../rtems-src/c/src/../../testsuites/samples/ticker/init.c:66</div><div>Backtrace stopped: previous frame inner to this frame (corrupt stack?)</div></div><div><br></div><div>Updating to version 2.0.0 of qemu appears to fix the issue, with ticker.exe completing successfully.</div><div><br></div><div>So maybe the xilinx/README file should be updated? I don't know why it specified that version of qemu or that ordering for the serial arguments.</div><div><br></div><div>Thanks for the help,</div><div>James</div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 20, 2016 at 1:07 AM, Christian Mauderer <span dir="ltr"><<a href="mailto:christian.mauderer@embedded-brains.de" target="_blank">christian.mauderer@embedded-brains.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Am 19.10.2016 um 16:54 schrieb James Marshall:<br>
> Good morning,<br>
><br>
> I'm trying to build the xilinx_zynq_a9_qemu bsp for 4.12. I can't seem<br>
> to get ticker.exe to run, but I don't know if the problem is with the<br>
> build process or my qemu install.<br>
><br>
> The 'make' command ran in about 4 minutes, and returned a lot of<br>
> messages like "make[5]: Nothing to be done for `all'." This makes me<br>
> suspect my configuration. Also, the *.exe files generated by 'make'<br>
> where not copied over by 'make install' (but I don't know if they should<br>
> have been). When I try to run ticker.exe with qemu I don't get any<br>
> output and have to kill the qemu process. So maybe I need to run qemu<br>
> with different arguments.<br>
><br>
> Any help would be much appreciated. Thanks in advance,<br>
> James<br>
><br>
> To build I did the following:<br>
> RSB:<br>
>   $ cd $RTEMS_DIR<br>
>   $ mkdir rsb; cd rsb<br>
>   $ git clone git://<a href="http://git.rtems.org/rtems-source-builder.git" rel="noreferrer" target="_blank">git.rtems.org/rtems-<wbr>source-builder.git</a><br>
</span>> <<a href="http://git.rtems.org/rtems-source-builder.git" rel="noreferrer" target="_blank">http://git.rtems.org/rtems-<wbr>source-builder.git</a>><br>
<span class="">>   $ cd rtems-source-builder/rtems/<br>
>   $ ../source-builder/sb-set-<wbr>builder --prefix=${RTEMS_DIR}/4.12<br>
> 4.12/rtems-arm<br>
>   $ export PATH=${RTEMS_DIR}/4.12/bin:$<wbr>PATH<br>
>   $ which autoconf<br>
><br>
> RTEMS source:<br>
>   $ cd $RTEMS_DIR<br>
</span>>   $ git clone git://<a href="http://git.rtems.org/rtems" rel="noreferrer" target="_blank">git.rtems.org/rtems</a> <<a href="http://git.rtems.org/rtems" rel="noreferrer" target="_blank">http://git.rtems.org/rtems</a>><br>
<span class="">> rtems-src<br>
>   $ cd rtems-src<br>
>   $ ./bootstrap<br>
>   $ cd ..; mkdir xilinx-zynq-qemu; mkdir install-xilinx-zynq; cd<br>
> xilinx-zynq-qemu<br>
>   $ ../rtems-src/configure --target=arm-rtems4.12<br>
> --enable-rtemsbsp=xilinx_zynq_<wbr>a9_qemu --enable-tests=samples<br>
> --prefix=${RTEMS_DIR}/install-<wbr>xilinx-zynq<br>
>   $ make<br>
>   $ make install<br>
><br>
> To install qemu (as<br>
> per $RTEMS_DIR/rtems-src/c/src/<wbr>lib/libbsp/arm/xilinx-zynq/<wbr>README):<br>
>   $ cd $RTEMS_DIR<br>
>   $ mkdir install-qemu<br>
</span>>   $ git clone git://<a href="http://git.qemu.org/qemu.git" rel="noreferrer" target="_blank">git.qemu.org/qemu.git</a> <<a href="http://git.qemu.org/qemu.git" rel="noreferrer" target="_blank">http://git.qemu.org/qemu.git</a>><br>
<div><div class="h5">> qemu<br>
>   $ cd qemu<br>
>   $ git checkout a1bff7<br>
>   $ mkdir build; cd build<br>
>   $ ../configure --prefix=${RTEMS_DIR}/install-<wbr>qemu<br>
> --interp-prefix=${RTEMS_DIR}/<wbr>install-qemu --disable-werror<br>
> (--disable-werror is needed to avoid failing on the use of a deprecated<br>
> libusb function (see end of email))<br>
>   $ make<br>
>   $ make install<br>
>   $ export PATH="$PATH:${RTEMS_DIR}/<wbr>install-qemu/bin"<br>
>   $ which qemu-system-arm<br>
><br>
> Test with ticker.exe:<br>
>   $ cd<br>
> $RTEMS_DIR/xilinx-zynq-qemu/<wbr>arm-rtems4.12/c/xilinx_zynq_<wbr>a9_qemu/testsuites/samples/<wbr>ticker/<br>
>   $ qemu-system-arm -S -s -no-reboot -serial mon:stdio -serial /dev/null<br>
> -net none -nographic -M xilinx-zynq-a9 -m 256M -kernel ticker.exe<br>
><br>
><br>
> The output from configure is available<br>
> here: <a href="https://gist.github.com/jcmarsh/cd04fc93417c57d7bb1c6614601957d5" rel="noreferrer" target="_blank">https://gist.github.com/<wbr>jcmarsh/<wbr>cd04fc93417c57d7bb1c6614601957<wbr>d5</a><br>
> Output from<br>
> make: <a href="https://gist.github.com/jcmarsh/377487fd83afb1395b452ebda349ef7c" rel="noreferrer" target="_blank">https://gist.github.com/<wbr>jcmarsh/<wbr>377487fd83afb1395b452ebda349ef<wbr>7c</a><br>
> Output from 'make<br>
> install': <a href="https://gist.github.com/jcmarsh/3a05c4560292582bfb37d0e8f6e90d78" rel="noreferrer" target="_blank">https://gist.github.com/<wbr>jcmarsh/<wbr>3a05c4560292582bfb37d0e8f6e90d<wbr>78</a><br>
> Build directory<br>
> tree: <a href="https://gist.github.com/jcmarsh/87a805fca85558b1bc78877fc938582c" rel="noreferrer" target="_blank">https://gist.github.com/<wbr>jcmarsh/<wbr>87a805fca85558b1bc78877fc93858<wbr>2c</a><br>
><br>
> qemu libusb warning: $RTEMS_DIR/rtems/qemu/hw/usb/<wbr>host-libusb.c:243:5:<br>
> warning: ‘libusb_get_port_path’ is deprecated (declared at<br>
> /usr/include/libusb-1.0/<wbr>libusb.h:1358): Use libusb_get_port_numbers<br>
> instead [-Wdeprecated-declarations]<br>
>      rc = libusb_get_port_path(ctx, dev, path, 7);<br>
><br>
><br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
><br>
<br>
Hello James,<br>
<br>
are you aware that the '-S' option on your qemu call freezes the CPU at<br>
startup. This is useful if you want to connect a debugger (gdb) to the<br>
qemu session.<br>
<br>
You can try one of the following:<br>
- connect a gdb to qemu and start the application through it<br>
- start the cpu using 'c' on the monitor (see<br>
<a href="https://en.wikibooks.org/wiki/QEMU/Monitor" rel="noreferrer" target="_blank">https://en.wikibooks.org/wiki/<wbr>QEMU/Monitor</a> for more details)<br>
- remove the '-S' option<br>
<br>
Kind regards<br>
<br>
Christian Mauderer<br>
<br>
--<br>
------------------------------<wbr>--------------<br>
embedded brains GmbH<br>
Christian Mauderer<br>
Dornierstr. 4<br>
D-82178 Puchheim<br>
Germany<br>
email: <a href="mailto:christian.mauderer@embedded-brains.de">christian.mauderer@embedded-<wbr>brains.de</a><br>
Phone: <a href="tel:%2B49-89-18%2094%20741%20-%2018" value="+4989189474118">+49-89-18 94 741 - 18</a><br>
Fax:   <a href="tel:%2B49-89-18%2094%20741%20-%2008" value="+4989189474108">+49-89-18 94 741 - 08</a><br>
PGP: Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
</blockquote></div><br></div>