px4-firmware/nuttx/configs/pjrc-8051
patacongo f55cabeb59 Don't build drivers/mtd unless CONFIG_MTD is defined (Denis Carikli)
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5519 42af7a65-404d-4744-a932-0658087f49c3
2013-01-15 00:03:58 +00:00
..
include Resync new repository with old repo r5166 2012-09-17 18:18:44 +00:00
src Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile 2012-11-20 15:47:41 +00:00
Kconfig Resync new repository with old repo r5166 2012-09-17 18:18:44 +00:00
Make.defs Some initial changes for 8051 build update 2012-12-09 18:20:49 +00:00
README.txt Add header files for z180 2012-12-10 17:03:34 +00:00
appconfig Resync new repository with old repo r5166 2012-09-17 18:18:44 +00:00
defconfig Don't build drivers/mtd unless CONFIG_MTD is defined (Denis Carikli) 2013-01-15 00:03:58 +00:00
sdcc-2.6.0.patch Resync new repository with old repo r5166 2012-09-17 18:18:44 +00:00
setenv.sh Some initial changes for 8051 build update 2012-12-09 18:20:49 +00:00

README.txt

pjrc-8051 README
^^^^^^^^^^^^^^^^

This port uses the PJRC 87C52 development system and the SDCC toolchain.

The PJRC 87C52 development system can be obtained from http://www.pjrc.com/.

The SDCC toolchain is available from http://sdcc.sourceforge.net/.  All
testing has been performed using verison 2.6.0 of the SDDC toolchain.

Building the SDCC toolchain
^^^^^^^^^^^^^^^^^^^^^^^^^^^

The SDCC toolchain is built with the standard configure/make/make install
sequence.  However, some special actions are required to generate libraries
compatible with this build.  First start with the usual steps

  download
  unpack
  cd sdcc
  ./configure
  make

But before installing, we need to apply a patch to the SDCC 2.6.0 source.
WARNING:  This patch is specific to the particular combination of CFLAGS
that are used in the compilation.  If you change Make.defs, then you will
likely have to change the patch as well.

  Apply sdcc-2.6.0.patch
  cd sdcc/device/lib
  make model-mcs51-stack-auto

Then

  cd sdcc
  make install

Status
^^^^^^

On December 9, 2012, I made updates so that the 8051 port could use the
newest SDCC toolchain (a pre-3.2.1 at that time).  However, when I attempted
to build the PJRC-8051 configuration, I got type incompatibility errors
from sched/os_bringup.c.  From what I gather by googling, this is a compiler
bug related to the --stack-auto option.

I have not been successful working around those bugs and I believe that
these are 8051-related bugs in the SDCC toolchain.  This needs to be
revisited with a later version of SDCC.

This configuration was last successfully built and tested with a ca.
2.6.0 SDCC release.  Support for that older toolchain was removed in
NuttX revision -r5423.  If you wanted to used those older toolchains,
you would need to revert to a pre-r5423 revision.