Thanks for Heshame Almatary.
Now I am able to run RTEMS on QEMU-arm.
To prevent from any wrong setup, he recommended me to adopt RTEMS Source Builder(RSB) to build up the qemu and run with following commands:
"qemu-system-arm -no-reboot -net none -nographic -smp 2 -icount
auto -M realview-pbx-a9 -m 256M -kernel ticker.exe" without debugger
"qemu-system-arm -S -s -no-reboot -net none -nographic -smp 2 -icount
auto -M realview-pbx-a9 -m 256M -kernel ticker.exe" with GDB
I mimicked this tutorial and build up my target.
[0] http://heshamelmatary.blogspot.de/2015/02/howto-5-run-rtems-on-qemu.html
[1] http://heshamelmatary.blogspot.co.uk/2015/02/howto-4-run-rtems-on-or1ksim.html
I remove some options, i.e., smp, from his recommendation and I get the result:
---dump---
Now I am able to run RTEMS on QEMU-arm.
To prevent from any wrong setup, he recommended me to adopt RTEMS Source Builder(RSB) to build up the qemu and run with following commands:
"qemu-system-arm -no-reboot -net none -nographic -smp 2 -icount
auto -M realview-pbx-a9 -m 256M -kernel ticker.exe" without debugger
"qemu-system-arm -S -s -no-reboot -net none -nographic -smp 2 -icount
auto -M realview-pbx-a9 -m 256M -kernel ticker.exe" with GDB
I mimicked this tutorial and build up my target.
[0] http://heshamelmatary.blogspot.de/2015/02/howto-5-run-rtems-on-qemu.html
[1] http://heshamelmatary.blogspot.co.uk/2015/02/howto-4-run-rtems-on-or1ksim.html
I remove some options, i.e., smp, from his recommendation and I get the result:
---dump---
./qemu-system-arm -no-reboot -nographic -M realview-pbx-a9 -m 256M -kernel
/home/khchen/development/build-rtems/arm-rtems4.11/
c/realview_pbx_a9_qemu/testsuites/samples/ticker/ticker.exe
*** BEGIN OF TEST CLOCK TICK ***
TA1 - rtems_clock_get_tod - 09:00:00 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:00 12/31/1988
TA3 - rtems_clock_get_tod - 09:00:00 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:05 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:10 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:10 12/31/1988
TA3 - rtems_clock_get_tod - 09:00:15 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:15 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:20 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:20 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:25 12/31/1988
TA3 - rtems_clock_get_tod - 09:00:30 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:30 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:30 12/31/1988
*** END OF TEST CLOCK TICK ***
TA1 - rtems_clock_get_tod - 09:00:00 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:00 12/31/1988
TA3 - rtems_clock_get_tod - 09:00:00 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:05 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:10 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:10 12/31/1988
TA3 - rtems_clock_get_tod - 09:00:15 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:15 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:20 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:20 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:25 12/31/1988
TA3 - rtems_clock_get_tod - 09:00:30 12/31/1988
TA1 - rtems_clock_get_tod - 09:00:30 12/31/1988
TA2 - rtems_clock_get_tod - 09:00:30 12/31/1988
*** END OF TEST CLOCK TICK ***
Hint: the building process of qemu with RSB will be longer since it build up all the supported target qemu for you.
khchen@khchen-All-Series:~/development/rtems/4.11/bin$ ./qemu-system-arm -no-reboot -net none -nographic -icount auto -M realview-pbx-a9 -m 256M -kernel /home/khchen/development/build-rtems/arm-rtems4.11/c/realview_pbx_a9_qemu/testsuites/samples/ticker/ticker.exe
./qemu-system-arm -no-reboot -nographic -M realview-pbx-a9 -m 256M -kernel /home/khchen/development/build-rtems/arm-rtems4.11/c/realview_pbx_a9_qemu/testsuites/samples/fileio/fileio.exe
The option icount auto will let QEMU become stuck.
arm-rtems4.11-gdb is able to debug the qemu with the default port 1234.
target remote :1234 and so on.
khchen@khchen-All-Series:~/development/rtems/4.11/bin$ ./qemu-system-arm -no-reboot -net none -nographic -icount auto -M realview-pbx-a9 -m 256M -kernel /home/khchen/development/build-rtems/arm-rtems4.11/c/realview_pbx_a9_qemu/testsuites/samples/ticker/ticker.exe
./qemu-system-arm -no-reboot -nographic -M realview-pbx-a9 -m 256M -kernel /home/khchen/development/build-rtems/arm-rtems4.11/c/realview_pbx_a9_qemu/testsuites/samples/fileio/fileio.exe
The option icount auto will let QEMU become stuck.
arm-rtems4.11-gdb is able to debug the qemu with the default port 1234.
target remote :1234 and so on.
PATH=$HOME/development/rtems/4.11/bin:$PATH
RTEMS_MAKEFILE_PATH=$HOME/development/rtems/4.11/arm-rtems4.11/raspberrypi
Comments
Post a Comment