Skip to main content

[RTEMS] Qemu SMP testing and building configuration

Suddenly, I move my interest to multi-core systems scheduling.
(The setting for latest version RTEMS is here)

This article only contents the configuration you can use to build up the RTEMS with BSP realview_pbx_a9_qemu_smp, which delivered the kernel with SMP support and the official SMP example in RTEMS ver 4.11.
(Suppose you have rtems cross compiler in your host with ver 4.11)

To have a full test-suites for the smptest or sptest/mptest, the option of --enable-tests should be "yes". The BSP for SMP should be realview_pbx_a9_qemu_smp bsp rather than real-view_pbx_a9_qemu.


I suppose you can follow the tutorial or instructions in Quick Start of RTEMS's documents and build up the toolchain of arm-rtems4.11.

After you extract the source code and create a build folder:
In the source code folder, you type:
./bootstrap

In the build folder, you configure the installation:
../rtems/configure --target=arm-rtems4.11 --enable-rtemsbsp=realview_pbx_a9_qemu_smp --enable-smp --enable-tests=yes --enable-networking --enable-posix --prefix=$HOME/RTEMS-work/compiler/4.11

Suppose that you have installed QEMU for ARM, The way to deploy QEMU for SMP (the number of processors should be larger than 1, for example here is 10):
qemu-system-arm -no-reboot -nographic -M realview-pbx-a9 -m 256M -kernel smp01.exe -smp 10

You can do more detailed configuration by referring to the manual of QEMU.

Ref:
http://rohiniwithrpi2.blogspot.de/2015/08/debugging.html

Comments

Popular posts from this blog

RSB+RTEMS 5/6 with QEMU-SMP (ARM realview_pbx_a9_qemu as example)

Since I got a request regarding this blog  written in 2016, summarizing again the complete flow with the latest version of RTEMS could be a good idea. Prepare a suitable workspace according to the adopted operating system on your host ( https://docs.rtems.org/branches/master/user/hosts/index.html ):  sudo apt-get build-dep build-essential gcc-defaults g++ gdb git unzip pax bison flex texinfo unzip python3-dev libpython-dev libncurses5-dev zlib1g-dev Checkout RSB and build: git clone git://git.rtems.org/rtems-source-builder.git rsb change directory to rsb/rtems/ and type ../source-builder/sb-set-builder --prefix=<the path you like to store the built toolchains> <the name of bsp> For example, to use QEMU, I need toolchains for ARM, so: ../source-builder/sb-set-builder --prefix=/home/kh.chen/respository/build/. 6/rtems-arm This will take a while. Please ensure your connection is reliable. Add the built folder into your PATH. For example, you can add one line in ~/.bas...

[ubuntu] Removing the instance/package which is not fully installed from apt-get

When I'm installing g77-3.4 for pgplot, I trivially use dkpg to install it. However, g77-3.4-doc is not able to fully installed. And I stuck for this kind of error due to the broken packages (refer to here ): dpkg: error processing realplayer (--configure/--purge/--remove): (Whatever messages) Errors were encountered while processing: g77-3.4-doc cd /var/lib/dpkg/info sudo rm g77-3.4-doc* sudo dpkg --remove --force-remove-reinstreq g77-3.4-doc Hmm, now apt-get works well again. https://www.youtube.com/watch?v=S9HJ-iAzf3k

[RASP] VirtualBox Raspberry Pi debuging

This article is for the perspective that planning to debug Raspberry Pi connected to (Guest) Ubuntu Virtualbox with USBtoUART and Screen/terminal. There are two important issues that you may face: You cannot detect USB devices: You probably have a permission issue on your Virtual box. Add your user ID to group vboxusers with this command: sudo usermod -a -G vboxusers $USER , log off, log on and try again. http://askubuntu.com/questions/481693/virtualbox-usb-add-device-filter-does-not-work-under-14-04 You cannot listen the ttyUSB0: Your permission of (guest) account should be feasible to the ttyUSB0: sudo gedit /etc/group goto line... dialout:x:20: add your "username" dialout:x:20:username http://askubuntu.com/questions/40959/how-do-i-connect-to-tty-com-dev-ttyusb0 After that, then you can detect the plug-in usb on-the-fly or before open the virtual machine. Then, screen /dev/ttyUSB0 115200 (DON"T FORGET TO INSTALL VIRTUALBOX GUEST ADDITION PAC...