Skip to main content

[RTEMS/QORIQ] How to deploy RTEMS 5 on NXP T4240RDB / TFTP on Ubuntu 16.04 LTS

If you are looking for RTEMS 4.11 installation on NXP T4240RDB, please refer to here.

You may need to generate t4240rdb.dtb by using the NXP sdk.
(It is an intermediate file...)

BSP is "qoriq_e6500_64"
Toolchain is powerpc-rtems5

I did the following steps:

  1. The command for building up the toolchain:
    ../source-builder/sb-set-builder --log=build-nxp-log.txt --prefix=$HOME/development/rtems/compiler/5 5/rtems-powerpc
  2. I did bootstrap in the source tree folder as stated in here
  3. The command for configuring the build up procedure:
    ../rtems-kuan/configure --target=powerpc-rtems4.12 --enable-rtemsbsp=qoriq_t4240rdb --enable-smp --enable-tests=yes --prefix=$HOME/development/rtems/4.12-powerpc"
  4. You can find out some testsuites executable are generated in "/home/khchen/repository/git/build-nxp-5/powerpc-rtems5/c/qoriq_e6500_64/testsuites/samples"
To wrap the executable as the loadable image, I use the following steps:

# powerpc-rtems5-objcopy -O binary 'hello.exe' 'hello.bin'
# gzip -f -9 'hello.bin'
# mkimage -A ppc -O linux -T kernel -a 0x4000 -e 0x4000 -n 'RTEMS' -d hello.bin.gz 'hello.img'

# cp hello.img /tftpboot

To load the kernel and dtb on the boards, I use the following commands:

tftp 1000000 hello.img
tftp c00000 t4240rdb.dtb
bootm 1000000 - c00000

Please note, if there is PANIC ERROR 0 in the end of execution, it is normal.
All termination paths end up here. 

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

[LEGO nxt] Install the Enhanced NXT firmware and Upload the OSEK excutable file with Ubuntu 64bits 14.04 in 2015

This tutorial is referred from Install the Enhanced NXT firmware on NXT . I think this is the critical part to capture the idea from the tutorial for Windows. I have tried many ways to conquer the problem of libnxt3.0, however, I still have some problems on the compilation of fwflash or something else. Though the tutorial for Windows is doable, my preference is to build up everything with Linux environment. Fortunately, I notice that NxTTool in the tutorial for Windows is really powerful. We can handle the firmware updating by using NxTTool in Linux as well! I also refer to this Japanese Blog , which inspire me a lot. As usual, install the required packages: sudo apt-get install libusb-dev:i386 libusb-0.1-4 subversion fpc Please note, here is the case for 64bits user that I change libusb-dev to libusb-dev:i386 comparing to the original tutorial. Instead of using libnxt to do the uploading, here I follow that JP Blog to get the latest version of bricxcc: (The url in blog i...

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