Skip to main content

[LEGO nxt] Set up OSEK build tree on Ubuntu 64bits 14.04 in 2015

As we have the ARM cross compiler in the previous quest, now we can set up the environment of OSEK build tree.

I take a reference from Set up nxtOSEK, and update some out-date information.
All the concepts are repeatable in VirtualBox with same environment.

First, install the wine:
sudo apt-get install wine

Then, download nxtOSEK from here http://sourceforge.net/projects/lejos-osek/files/nxtOSEK/
nxtOSEK_v218.zip is the latest version currently.
And a patch from TOPPERS:
wget http://www.toppers.jp/download.cgi/osek_os-1.1.lzh
Merge them accordingly.

Under ecrobot directory, update tool_gcc.mak file to specify with the variable GNUARM_ROOT the path to the installed GNU ARM directory.
# specify GNU-ARM root directory
 ifndef GNUARM_ROOT
 GNUARM_ROOT = /[absolute path to parent directory of gnuarm]/gnuarm
 endif
Then we can change directory to nxtOSEK/samples_c/helloworld directory and build binary executables of helloworld sample with the following commands:
~$ cd ./nxtOSEK/samples_c/helloworld 
~$ make all 

If everything goes well, you can find out the executable and some upload programs there.

HOTFIX:
ecrobot.mak and ecrobot++.mak in 218 have some new codes related to detecting the operating system. However it doesn't work for Linux (so far). Please get the nxtOSEK files from some previous version, e.g., 214.

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...

[Gem5] Full system Simulation with Official Kernel

I follow the youtube provided by Gem5 to get the inspiration. (http://gem5.org/Running_gem5#Full_System_.28FS.29_Mode) I download the file here: http://www.gem5.org/dist/current/arm/ with http://www.gem5.org/dist/current/arm/aarch-system-20170616.tar.xz Then Set up M5_PATH as the place I extract the files: "/home/khchen/full_system_images/" If the setting is correct, assigning the disk-image will finish the rest of setting for dtb and kernel specifications. So far I can only use this img (aarch32-ubuntu-natty-headless.img) as my disk-image to run up to the login interface of the ubuntu: build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/khchen/full_system_images/disks/aarch32-ubuntu-natty-headless.img With the other imgs, for example like "aarch64-ubuntu-trusty-headless.img", I think the kernel and the dtb should be given manually, because it will automatically load something with aarch32 prefix which doesn't make sense: info: kernel ...

[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