Skip to main content

[LEGO nxt] nxtOSEK develop environment on Windows

The original website is here: http://lejos-osek.sourceforge.net/installation_windows.htm
However there are a lot of alternative or bugs/issues are not mentioned in the website.
Most of the tools and software are rapidly upgrading.
As the one who uses the legacy of nxtOSEK, I will provide the solutions I used in the following contents.

NxTTool.exe need to be executed in command line mode.
Install the driver of Nxt USB by the official software is the best idea I guess.
If your brick is stuck, please refer to here
  1. First of all, Cygwin setup version I use is ver. 2.873(64 bit). If we follow the official tutorial, we face the problem that some of legacy are not available any more.
    In my case, I install:
    1. make 4.1-1
    2. crypt 1.1-1
    3. libgettextpo0, libgettextpo-devel 0.19.5.1-2
    4. libattr1 2.4.46-1
    5. no libdb4.5
    6. libexpat1 2.1.0-3
    7. libgcc1 4.9.3-1
    8. libgdbm4 1.11-1
    9. libgmp10, libgmp-devel, libgmpxx4, 6.10-2p1
    10. libiconv2 1.14-3
    11. libint8, libintl-devel 0.19.5.1-2
    12. liblzma5, liblzma-devel 5.2.2-1
    13. libncurses10, libncurses-devel 6.0-1.20151017
  2. Then, we have to install GNU ARM toolchains for Cygwin, as the processor of NXT is ARM.
    The recommended version is GCC-4.0.2 that bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4.exe.
    The note on website is not true. GCC 4.1.1, or even GCC 4.2.2 is applicable to compile the files. In contrast, GCC-4.0.2 is not suitable at all, as the shared object file is not able to open, in which the file is a question mark instead of specific file...
    You will need to install the cygwin dll in fact.
    DON'T FORGET TO DISABLE YOUR VIRUS PROTECTION!
  3. In addition, all the links are website are invalid. I find some alternative places:
    http://doc.ironwoodlabs.com/gnuarm/gnuarm-distribution/web/www.gnuarm.org/files.html
    From here you can download GCC-4.1 and GCC-4.2 toolchain for Cygwin.
    GCC 4.1.1
    GCC 4.2.2
    With those two versions of GCC, the compilation issues are much easier to solve.
  4. Under ecrobot directory, tool_gcc.mak file needs to be revised accordingly. Besides  specifying GNU-ARM root directory, ASFLAGS needs to add -mfpu=softfpa for enforcing arm-elf-as to Assemble without hardware support floating point feature; line 130, 140, 144, and 148, all the COMPILE.S should be COMPILE.s. (All the capital S should be letter case.)
  5. The source code under ecrobot/c and bios need to be compiled once for library ecrobot. (for the case that cannot find -lecrobot while compiling the example codes)
  6. The source code under root/c++ also needs to be compiled once for library lejososek. (for the case that cannot find -lejososek while compiling the example codes)
    If you have header file invisible issues, please directly copy all the header in to src folder.
  7. Error = junk at end of line... blablabla in those .s file. The error is introduced by those comments with "//". The easiest way is replacing them with "@"
     
  8. DON'T TRY TO INSTALL THE TOOLCHAIN BY THE SCRIPT FILE IN CYGWIN. IT IS NOT FEASIBLE!!
LEGO Battery Information : http://www.philohome.com/batteries/bat.htm

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

[LEGOEV3] About Ev3dev kernel upgrading, real-time operating system, and bugs in 4.10 linux kernel.

By following the tutorial in Ev3 , one who is interested to run Linux on Ev3 should be able to have Debian with 3.16.7 linux kernel with the internet feature. For the research/lecture usage, I start to patch 4.10 Linux kernel and litmus-RT on it. I will list and update the possible delights for some of students who are just starting to develop Linux kernel stuffs. If in Ev3dev wget fails, please add on --no-check-certificate in the option before the download link. Ref: http://www.tecmint.com/install-kernel-3-16-in-debian/ As far as we can find, https://www.youtube.com/watch?v=PGy5XrI6lLs provides the video about how to patching Linux kernel for LitmusRT. The tutorial in installation page ( https://wiki.litmus-rt.org/litmus/InstallationInstructions ) is missing the command for the newbie who is lacking experience of linux tools: sudo apt-get install build-essential kernel-package \ libncurse5-dev bzip2 fakeroot \ And use the following command for wrapping the kernel as deb pac...