Custom Flickernoise build instructions
From Milkymist Wiki
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:
- make sure the toolchain binary directory (e.g.
/opt/rtems-4.11/bin) is in yourPATH, so that thelm32-rtems4.11-*family of commands is found:
export PATH=/opt/rtems-4.11/bin:$PATH
- set the
RTEMS_MAKEFILE_PATHenvironment 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.fbithat you can use with the auto-upgrade feature of Flickernoise (0.2+). - generate a MCS flash image with
make flickernoise.mcsthat you can download into the board's flash memory so that Flickernoise automatically starts at every boot.

