Custom Flickernoise build instructions

From Milkymist Wiki

Jump to: navigation, search

This is not the official Flickernoise Version as NOT INCLUDE MTK and it libd ependences, the focus will work around MM1 Board less in the VGA

Contents

[edit] RTEMS and toolchain

First you need to follow the RTEMS build instructions. We will assume you have installed both RTEMS and the toolchain in /opt/rtems (or /opt/rtens-VERSION). Not installing RTEMS and the toolchain in the same directory tends to cause problems w.r.t. finding include files.

We recommend using the GCC 4.5.2 based toolchain, which works reasonably well.

Once you have the toolchain and RTEMS installed:

  1. make sure the toolchain binary directory (e.g. /opt/rtems-4.11/bin) is in your PATH, so that the lm32-rtems4.11-* family of commands is found:
export PATH=/opt/rtems-4.11/bin:$PATH 
  1. set the RTEMS_MAKEFILE_PATH environment variable, e.g. to /opt/rtems-4.11/lm32-rtems4.11/milkymist
export RTEMS_MAKEFILE_PATH=/opt/rtems-4.11/lm32-rtems4.11/milkymist

[edit] libFPVM

Flickernoise uses the FPVM compilation library to generate microcode for the PFPU. It is part of the SoC distribution.

You will need Lemon and RE2C to compile libFPVM.

Make sure the RTEMS_MAKEFILE_PATH environment variable is set (see above).

dont forget PATH too, ie PATH=/opt/rtems-4.11/bin:$PATH

Run these commands from the top directory of the SoC distribution:

 $ cd software/libfpvm/lm32-rtems
 $ make
 # make install

[edit] Yaffs

rtems-yaffs2 YAFFS (Yet Another Flash File System) is now in its second generation and provides a fast robust file system for NAND and NOR Flash.

After you have cloned the git repository, compilation is very simple:

cd direct/rtems
make
make install

(Again, this command requires the RTEMS_MAKEFILE_PATH environment variable)

[edit] Flickernoise Fork

https://github.com/kristianpaul/flickernoise.git Mainly flicernoise code with out MTK dependences

Compile it with:

 cd src
 make

Do not forget to set the RTEMS_MAKEFILE_PATH environment variable to the right directory where your RTEMS is installed.

This produces an ELF binary. From that, you can either:

  • try the ELF binary in the QEMU emulator with qemu-system-lm32 -M milkymist -kernel flickernoise
  • generate a raw binary file with make flickernoise.ralf, suitable for TFTP netbooting (recommended), booting from the memory card or downloading over the serial line with flterm. Using flterm is not recommended as this method is slow because of the large size of the binary.
  • generate a FBI image with make flickernoise.fbi that you can use with the auto-upgrade feature of Flickernoise (0.2+).
  • generate a MCS flash image with make flickernoise.mcs that you can download into the board's flash memory so that Flickernoise automatically starts at every boot.

[edit] Further Customizations

[edit] Shell

Personal tools