nuttx/configs/pjrc-8051
patacongo 68969a1b30 README update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5424 42af7a65-404d-4744-a932-0658087f49c3
2012-12-09 19:07:01 +00:00
..
include Email address change in nuttx/ 2012-09-13 18:32:24 +00:00
src Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile 2012-11-20 15:47:41 +00:00
appconfig Email address change in nuttx/ 2012-09-13 18:32:24 +00:00
defconfig Patch to removed MMCSD NSLOTS warning from Freddie Chopin 2012-11-06 14:57:01 +00:00
Kconfig Kconfig updated + NFS update 2012-04-23 19:55:32 +00:00
Make.defs Some initial changes for 8051 build update 2012-12-09 18:20:49 +00:00
README.txt README update 2012-12-09 19:07:01 +00:00
sdcc-2.6.0.patch Initial Release 2007-03-23 02:24:38 +00:00
setenv.sh Some initial changes for 8051 build update 2012-12-09 18:20:49 +00:00

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.

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.