(This is my cheat sheet. It works for me but yet may stil be incomplete and redundant at the same time.) NOTE: we need to pin both rtems and rtems-yaffs due to recent changes that make file system operations fail with EACCES, combined with (or maybe caused by) API changes. Instructions: http://milkymist.org/wiki/index.php?title=RTEMS_build_instructions Getting rtems: git clone git://git.rtems.org/rtems.git cd rtems git checkout 314d3272df763ef1a152be726e5d5385449fe046 ln -s /home/qi/wernermisc/m1/patches/rtems/ patches quilt push -a Getting rtems-yaffs: git clone git://github.com/milkymist/rtems-yaffs2.git cd rtems-yaffs2 git checkout cbe7492ee0e5a9bced8267d9c7ab2fd997299fda Compiling rtems: cd rtems ./bootstrap -c && ./bootstrap -p && ./bootstrap # 08:37 mkdir -p build cd build ../configure --target=lm32-rtems4.11 --enable-rtemsbsp=milkymist \ --enable-posix --disable-itron --enable-networking \ --disable-multiprocessing --disable-tests --prefix=/opt/rtems-4.11 # 00:14 make # -j5 # 01:21 make install # 00:06 Compiling rtems-yaffs: cd rtems-yaffs2 make -f Makefile.rtems make -f Makefile.rtems install Compiling milkymist.git, libfpvm: cd software/libfpvm make install Compiling milkymist.git, softusb-input: prerequisites: make -C software/libhpdmc make -C software/libnet make -C software/libbase make -C softusb-input make -C software/libhal make -C software/bios ./build_bios.sh Compiling flickernoise.git: cd flickernoise/src make bin/flickernoise.fbi && m1nor bin/flickernoise.fbi (m1nor from wernermisc/m1/tools/) Rebooting the M1: cd wernermisc/m1/jtag-boot make boot Send patches: git send-email --cover-letter --thread --annotate f6c7474ae3b181157d8950e25c4705d53d9ae9c1 ------------------------------ Draft items below: --- Rebuild Flickernoise after updating the Navre firmware: milkymist.git: make -C softusb-input make -C softusb-input install flickernoise.git: cd src make clean && make -j 5 bin/flickernoise.fbi && m1nor bin/flickernoise.fbi --- Synthesize the SoC: cd boards/milkymist-one/flash make -C ../synthesis -f Makefile.xst clean && make clean && time make soc.fpg m1nor soc.fpg # synthesis: boards/milkymist-one/synthesis/build/system.srp # timing: boards/milkymist-one/synthesis/build/system-routed.par --- debug: flterm --gdb-passthrough --port /dev/ttyUSB0 --kernel /dev/null /home/qi/m1/gdb-7.3.1/gdb/gdb /home/qi/m1/flickernoise/src/bin/flickernoise set remote interrupt-on-connect on target remote /dev/pts/155