summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-06-22 18:35:25 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-06-22 18:35:25 +0000
commitbec3f70c3858c97444ebac1a1a26e71658c36935 (patch)
tree0675a23819f8cd3235c3d18fce8c98b7cc0b55b7 /nuttx
parente7d08a9d8a391cc21f78910fbb3fbc06c79ec64b (diff)
downloadpx4-nuttx-bec3f70c3858c97444ebac1a1a26e71658c36935.tar.gz
px4-nuttx-bec3f70c3858c97444ebac1a1a26e71658c36935.tar.bz2
px4-nuttx-bec3f70c3858c97444ebac1a1a26e71658c36935.zip
Enable LEDs on Mirtoo board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4863 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/arch/mips/src/pic32mx/pic32mx-int.h6
-rw-r--r--nuttx/configs/mirtoo/README.txt69
-rw-r--r--nuttx/configs/mirtoo/ostest/Make.defs12
-rw-r--r--nuttx/configs/pcblogic-pic32mx/README.txt63
-rw-r--r--nuttx/configs/pic32-starterkit/README.txt63
-rw-r--r--nuttx/configs/pic32mx7mmb/README.txt63
-rw-r--r--nuttx/configs/sure-pic32mx/README.txt63
-rw-r--r--nuttx/configs/ubw32/README.txt64
8 files changed, 352 insertions, 51 deletions
diff --git a/nuttx/arch/mips/src/pic32mx/pic32mx-int.h b/nuttx/arch/mips/src/pic32mx/pic32mx-int.h
index 7d4d727a2..eef89a28c 100644
--- a/nuttx/arch/mips/src/pic32mx/pic32mx-int.h
+++ b/nuttx/arch/mips/src/pic32mx/pic32mx-int.h
@@ -448,7 +448,7 @@
# define INT_I2C1M (1 << 31) /* Vector: 25, " " Master event */
#else
-# error "Unknown PIC32MX family
+# error "Unknown PIC32MX family"
#endif
/* Interrupt flag status register 1 and Interrupt enable control register 1 */
@@ -567,7 +567,7 @@
# define INT_IC3E (1 << 31) /* Vector: 13, Input capture 1 error */
#else
-# error "Unknown PIC32MX family
+# error "Unknown PIC32MX family"
#endif
/* Interrupt flag status register 2 and Interrupt enable control register 2 */
@@ -1051,7 +1051,7 @@
# define INT_IPC12_U5IP_MASK (7 << INT_IPC9_DMA3IP_SHIFT)
#else
-# error "Unknown PIC32MX family
+# error "Unknown PIC32MX family"
#endif
/****************************************************************************
diff --git a/nuttx/configs/mirtoo/README.txt b/nuttx/configs/mirtoo/README.txt
index 4e9c7ebea..5b1b9dd5b 100644
--- a/nuttx/configs/mirtoo/README.txt
+++ b/nuttx/configs/mirtoo/README.txt
@@ -322,21 +322,70 @@ Additional signals available via Peripheral Pin Selections (PPS)
Toolchains
==========
- I am using the free, LITE version of the PIC32MX toolchain available
+ MPLAB/C32
+ ---------
+
+ I am using the free, "Lite" version of the PIC32MX toolchain available
for download from the microchip.com web site. I am using the Windows
- version. The MicroChip toolchain is the only toolchaing currently
+ version. The MicroChip toolchain is the only toolchain currently
supported in these configurations, but it should be a simple matter to
adapt to other toolchains by modifying the Make.defs file include in
each configuration.
Toolchain Options:
- CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
- CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux
+ CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows (C32)
+ CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux (C32)
+ CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows (C32)
+ CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux (C32)
+
+ NOTE: The "Lite" versions of the toolchain does not support C++. Also
+ certain optimization levels are not supported by the Lite toolchain.
+
+ MicrochipOpen
+ -------------
+
+ An alternative, build-it-yourself toolchain is available here:
+ http://sourceforge.net/projects/microchipopen/ . These tools were
+ last updated circa 2010. However, this is the only way that I know of
+ to get free C++ support.
+
+ Building MicrochipOpen (on Linux)
+
+ 1) Get the build script from this location:
+ http://microchipopen.svn.sourceforge.net/viewvc/microchipopen/ccompiler4pic32/buildscripts/trunk/
+ 2) Build the code using the build script, for example:
+ ./build.sh -b v105_freeze
+
+ This will check out the selected branch and build the tools.
+
+ MPLAB/C32 vs MPLABX/X32
+ -----------------------
+
+ It appears that Microchip is phasing out the MPLAB/C32 toolchain and replacing
+ it with MPLABX and XC32. At present, the XC32 toolchain is *not* compatible
+ with the NuttX build scripts. Here are some of the issues that I see when trying
+ to build with XC32:
+
+ 1) Make.def changes: You have to change the tool prefix:
+
+ CROSSDEV=xc32-
+
+ 2) debug.ld/release.ld: The like expect some things that are not present in
+ the current linker scripts (or are expected with different names). Here
+ are some partial fixes:
+
+ Rename: kseg0_progmem to kseg0_program_mem
+ Rename: kseg1_datamem to kseg1_data_mem
+
+ Even then, there are more warnings from the linker and some undefined symbols
+ for non-NuttX code that resides in the unused Microchip libraries. See this
+ email thread at http://tech.groups.yahoo.com/group/nuttx/message/1458 for more
+ information. You will have to solve at least this undefined symbol problem if
+ you want to used the XC32 toolchain.
Windows Native Toolchains
+ -------------------------
NOTE: There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
@@ -708,7 +757,9 @@ Where <subdir> is one of the following:
CONFIG_PIC32MX_MICROCHIPW_LITE=y : Lite version of widows toolchain
- To switch to the Linux XC32 toolchain you will have to change (1) the
- toolchain selection in .config (after configuratio) and (2) the
- path to the toolchain in setenv.sh.
+ To switch to the Linux C32 toolchain you will have to change (1) the
+ toolchain selection in .config (after configuration) and (2) the
+ path to the toolchain in setenv.sh. See notes above with regard to
+ the XC32 toolchain.
+
diff --git a/nuttx/configs/mirtoo/ostest/Make.defs b/nuttx/configs/mirtoo/ostest/Make.defs
index 0c9df2138..7f1ea6ed6 100644
--- a/nuttx/configs/mirtoo/ostest/Make.defs
+++ b/nuttx/configs/mirtoo/ostest/Make.defs
@@ -40,6 +40,7 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_PIC32MX_MICROCHIPW),y)
# Microchip C32 toolchain under Windows
CROSSDEV = pic32-
+ # CROSSDEV = xc32-
WINTOOL = y
MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mprocessor=elf32pic32mx -mno-float -mlong32 -membedded-data
@@ -49,15 +50,17 @@ endif
ifeq ($(CONFIG_PIC32MX_MICROCHIPW_LITE),y)
# Microchip C32 toolchain under Windows
CROSSDEV = pic32-
+ # CROSSDEV = xc32-
WINTOOL = y
-# MAXOPTIMIZATION = -O2
+ # MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mprocessor=elf32pic32mx -mno-float -mlong32 -membedded-data
ARCHPICFLAGS = -fpic -membedded-pic
LDFLAGS += -nostartfiles -nodefaultlibs
endif
ifeq ($(CONFIG_PIC32MX_MICROCHIPL),y)
# Microchip XC32 toolchain under Linux
- CROSSDEV = xc32-
+ CROSSDEV = pic32-
+ # CROSSDEV = xc32-
MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mprocessor=elf32pic32mx -mno-float -mlong32 -membedded-data
ARCHPICFLAGS = -fpic -membedded-pic
@@ -65,8 +68,9 @@ ifeq ($(CONFIG_PIC32MX_MICROCHIPL),y)
endif
ifeq ($(CONFIG_PIC32MX_MICROCHIPL_LITE),y)
# Microchip XC32 toolchain under Linux
- CROSSDEV = xc32-
-# MAXOPTIMIZATION = -O2
+ CROSSDEV = pic32-
+ # CROSSDEV = xc32-
+ # MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mprocessor=elf32pic32mx -mno-float -mlong32 -membedded-data
ARCHPICFLAGS = -fpic -membedded-pic
LDFLAGS += -nostartfiles -nodefaultlibs
diff --git a/nuttx/configs/pcblogic-pic32mx/README.txt b/nuttx/configs/pcblogic-pic32mx/README.txt
index 481be703c..fbc8e4704 100644
--- a/nuttx/configs/pcblogic-pic32mx/README.txt
+++ b/nuttx/configs/pcblogic-pic32mx/README.txt
@@ -164,21 +164,70 @@ MAX3232 Connection
Toolchains
==========
- I am using the free, LITE version of the PIC32MX toolchain available
+ MPLAB/C32
+ ---------
+
+ I am using the free, "Lite" version of the PIC32MX toolchain available
for download from the microchip.com web site. I am using the Windows
- version. The MicroChip toolchain is the only toolchaing currently
+ version. The MicroChip toolchain is the only toolchain currently
supported in these configurations, but it should be a simple matter to
adapt to other toolchains by modifying the Make.defs file include in
each configuration.
- Toolchain Options:
+ C32 Toolchain Options:
+
+ CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
+ CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip "Lite" toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip "Lite" toolchain for Linux
+
+ NOTE: The "Lite" versions of the toolchain does not support C++. Also
+ certain optimization levels are not supported by the "Lite" toolchain.
+
+ MicrochipOpen
+ -------------
+
+ An alternative, build-it-yourself toolchain is available here:
+ http://sourceforge.net/projects/microchipopen/ . These tools were
+ last updated circa 2010. However, this is the only way that I know of
+ to get free C++ support.
+
+ Building MicrochipOpen (on Linux)
+
+ 1) Get the build script from this location:
+ http://microchipopen.svn.sourceforge.net/viewvc/microchipopen/ccompiler4pic32/buildscripts/trunk/
+ 2) Build the code using the build script, for example:
+ ./build.sh -b v105_freeze
+
+ This will check out the selected branch and build the tools.
+
+ MPLAB/C32 vs MPLABX/X32
+ -----------------------
+
+ It appears that Microchip is phasing out the MPLAB/C32 toolchain and replacing
+ it with MPLABX and XC32. At present, the XC32 toolchain is *not* compatible
+ with the NuttX build scripts. Here are some of the issues that I see when trying
+ to build with XC32:
+
+ 1) Make.def changes: You have to change the tool prefix:
+
+ CROSSDEV=xc32-
+
+ 2) debug.ld/release.ld: The like expect some things that are not present in
+ the current linker scripts (or are expected with different names). Here
+ are some partial fixes:
+
+ Rename: kseg0_progmem to kseg0_program_mem
+ Rename: kseg1_datamem to kseg1_data_mem
- CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
- CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux
+ Even then, there are more warnings from the linker and some undefined symbols
+ for non-NuttX code that resides in the unused Microchip libraries. See this
+ email thread at http://tech.groups.yahoo.com/group/nuttx/message/1458 for more
+ information. You will have to solve at least this undefined symbol problem if
+ you want to used the XC32 toolchain.
Windows Native Toolchains
+ -------------------------
NOTE: There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
diff --git a/nuttx/configs/pic32-starterkit/README.txt b/nuttx/configs/pic32-starterkit/README.txt
index d7e999077..27c312d56 100644
--- a/nuttx/configs/pic32-starterkit/README.txt
+++ b/nuttx/configs/pic32-starterkit/README.txt
@@ -381,21 +381,70 @@ PIN PIN Description
Toolchains
==========
- I am using the free, LITE version of the PIC32MX toolchain available
+ MPLAB/C32
+ ---------
+
+ I am using the free, "Lite" version of the PIC32MX toolchain available
for download from the microchip.com web site. I am using the Windows
- version. The MicroChip toolchain is the only toolchaing currently
+ version. The MicroChip toolchain is the only toolchain currently
supported in these configurations, but it should be a simple matter to
adapt to other toolchains by modifying the Make.defs file include in
each configuration.
- Toolchain Options:
+ C32 Toolchain Options:
+
+ CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
+ CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip "Lite" toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip "Lite" toolchain for Linux
+
+ NOTE: The "Lite" versions of the toolchain does not support C++. Also
+ certain optimization levels are not supported by the "Lite" toolchain.
+
+ MicrochipOpen
+ -------------
+
+ An alternative, build-it-yourself toolchain is available here:
+ http://sourceforge.net/projects/microchipopen/ . These tools were
+ last updated circa 2010. However, this is the only way that I know of
+ to get free C++ support.
+
+ Building MicrochipOpen (on Linux)
+
+ 1) Get the build script from this location:
+ http://microchipopen.svn.sourceforge.net/viewvc/microchipopen/ccompiler4pic32/buildscripts/trunk/
+ 2) Build the code using the build script, for example:
+ ./build.sh -b v105_freeze
+
+ This will check out the selected branch and build the tools.
+
+ MPLAB/C32 vs MPLABX/X32
+ -----------------------
+
+ It appears that Microchip is phasing out the MPLAB/C32 toolchain and replacing
+ it with MPLABX and XC32. At present, the XC32 toolchain is *not* compatible
+ with the NuttX build scripts. Here are some of the issues that I see when trying
+ to build with XC32:
+
+ 1) Make.def changes: You have to change the tool prefix:
+
+ CROSSDEV=xc32-
+
+ 2) debug.ld/release.ld: The like expect some things that are not present in
+ the current linker scripts (or are expected with different names). Here
+ are some partial fixes:
+
+ Rename: kseg0_progmem to kseg0_program_mem
+ Rename: kseg1_datamem to kseg1_data_mem
- CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
- CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux
+ Even then, there are more warnings from the linker and some undefined symbols
+ for non-NuttX code that resides in the unused Microchip libraries. See this
+ email thread at http://tech.groups.yahoo.com/group/nuttx/message/1458 for more
+ information. You will have to solve at least this undefined symbol problem if
+ you want to used the XC32 toolchain.
Windows Native Toolchains
+ -------------------------
NOTE: There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
diff --git a/nuttx/configs/pic32mx7mmb/README.txt b/nuttx/configs/pic32mx7mmb/README.txt
index e4cbd3952..b1297fa2d 100644
--- a/nuttx/configs/pic32mx7mmb/README.txt
+++ b/nuttx/configs/pic32mx7mmb/README.txt
@@ -149,21 +149,70 @@ PIN CONFIGURATIONS SIGNAL NAME ON-BOARD CONNE
Toolchains
==========
- I am using the free, LITE version of the PIC32MX toolchain available
+ MPLAB/C32
+ ---------
+
+ I am using the free, "Lite" version of the PIC32MX toolchain available
for download from the microchip.com web site. I am using the Windows
- version. The MicroChip toolchain is the only toolchaing currently
+ version. The MicroChip toolchain is the only toolchain currently
supported in these configurations, but it should be a simple matter to
adapt to other toolchains by modifying the Make.defs file include in
each configuration.
- Toolchain Options:
+ C32 Toolchain Options:
+
+ CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
+ CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip "Lite" toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip "Lite" toolchain for Linux
+
+ NOTE: The "Lite" versions of the toolchain does not support C++. Also
+ certain optimization levels are not supported by the "Lite" toolchain.
+
+ MicrochipOpen
+ -------------
+
+ An alternative, build-it-yourself toolchain is available here:
+ http://sourceforge.net/projects/microchipopen/ . These tools were
+ last updated circa 2010. However, this is the only way that I know of
+ to get free C++ support.
+
+ Building MicrochipOpen (on Linux)
+
+ 1) Get the build script from this location:
+ http://microchipopen.svn.sourceforge.net/viewvc/microchipopen/ccompiler4pic32/buildscripts/trunk/
+ 2) Build the code using the build script, for example:
+ ./build.sh -b v105_freeze
+
+ This will check out the selected branch and build the tools.
+
+ MPLAB/C32 vs MPLABX/X32
+ -----------------------
+
+ It appears that Microchip is phasing out the MPLAB/C32 toolchain and replacing
+ it with MPLABX and XC32. At present, the XC32 toolchain is *not* compatible
+ with the NuttX build scripts. Here are some of the issues that I see when trying
+ to build with XC32:
+
+ 1) Make.def changes: You have to change the tool prefix:
+
+ CROSSDEV=xc32-
+
+ 2) debug.ld/release.ld: The like expect some things that are not present in
+ the current linker scripts (or are expected with different names). Here
+ are some partial fixes:
+
+ Rename: kseg0_progmem to kseg0_program_mem
+ Rename: kseg1_datamem to kseg1_data_mem
- CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
- CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux
+ Even then, there are more warnings from the linker and some undefined symbols
+ for non-NuttX code that resides in the unused Microchip libraries. See this
+ email thread at http://tech.groups.yahoo.com/group/nuttx/message/1458 for more
+ information. You will have to solve at least this undefined symbol problem if
+ you want to used the XC32 toolchain.
Windows Native Toolchains
+ -------------------------
NOTE: There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
diff --git a/nuttx/configs/sure-pic32mx/README.txt b/nuttx/configs/sure-pic32mx/README.txt
index 72c578bf2..594dad59b 100644
--- a/nuttx/configs/sure-pic32mx/README.txt
+++ b/nuttx/configs/sure-pic32mx/README.txt
@@ -230,21 +230,70 @@ PIC32MX440F512H Pin Out
Toolchains
==========
- I am using the free, LITE version of the PIC32MX toolchain available
+ MPLAB/C32
+ ---------
+
+ I am using the free, "Lite" version of the PIC32MX toolchain available
for download from the microchip.com web site. I am using the Windows
- version. The MicroChip toolchain is the only toolchaing currently
+ version. The MicroChip toolchain is the only toolchain currently
supported in these configurations, but it should be a simple matter to
adapt to other toolchains by modifying the Make.defs file include in
each configuration.
- Toolchain Options:
+ C32 Toolchain Options:
+
+ CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
+ CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip "Lite" toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip "Lite" toolchain for Linux
+
+ NOTE: The "Lite" versions of the toolchain does not support C++. Also
+ certain optimization levels are not supported by the "Lite" toolchain.
+
+ MicrochipOpen
+ -------------
+
+ An alternative, build-it-yourself toolchain is available here:
+ http://sourceforge.net/projects/microchipopen/ . These tools were
+ last updated circa 2010. However, this is the only way that I know of
+ to get free C++ support.
+
+ Building MicrochipOpen (on Linux)
+
+ 1) Get the build script from this location:
+ http://microchipopen.svn.sourceforge.net/viewvc/microchipopen/ccompiler4pic32/buildscripts/trunk/
+ 2) Build the code using the build script, for example:
+ ./build.sh -b v105_freeze
+
+ This will check out the selected branch and build the tools.
+
+ MPLAB/C32 vs MPLABX/X32
+ -----------------------
+
+ It appears that Microchip is phasing out the MPLAB/C32 toolchain and replacing
+ it with MPLABX and XC32. At present, the XC32 toolchain is *not* compatible
+ with the NuttX build scripts. Here are some of the issues that I see when trying
+ to build with XC32:
+
+ 1) Make.def changes: You have to change the tool prefix:
+
+ CROSSDEV=xc32-
+
+ 2) debug.ld/release.ld: The like expect some things that are not present in
+ the current linker scripts (or are expected with different names). Here
+ are some partial fixes:
+
+ Rename: kseg0_progmem to kseg0_program_mem
+ Rename: kseg1_datamem to kseg1_data_mem
- CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
- CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux
+ Even then, there are more warnings from the linker and some undefined symbols
+ for non-NuttX code that resides in the unused Microchip libraries. See this
+ email thread at http://tech.groups.yahoo.com/group/nuttx/message/1458 for more
+ information. You will have to solve at least this undefined symbol problem if
+ you want to used the XC32 toolchain.
Windows Native Toolchains
+ -------------------------
NOTE: There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are:
diff --git a/nuttx/configs/ubw32/README.txt b/nuttx/configs/ubw32/README.txt
index c60f8eccd..d4d44be03 100644
--- a/nuttx/configs/ubw32/README.txt
+++ b/nuttx/configs/ubw32/README.txt
@@ -174,21 +174,71 @@ MAX3232 Connection
Toolchains
==========
- I am using the free, LITE version of the PIC32MX toolchain available
+ MPLAB/C32
+ ---------
+
+ I am using the free, "Lite" version of the PIC32MX toolchain available
for download from the microchip.com web site. I am using the Windows
- version. The MicroChip toolchain is the only toolchaing currently
+ version. The MicroChip toolchain is the only toolchain currently
supported in these configurations, but it should be a simple matter to
adapt to other toolchains by modifying the Make.defs file include in
each configuration.
- Toolchain Options:
+ C32 Toolchain Options:
+
+ CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
+ CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip "Lite" toolchain for Windows
+ CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip "Lite" toolchain for Linux
+
+ NOTE: The "Lite" versions of the toolchain does not support C++. Also
+ certain optimization levels are not supported by the "Lite" toolchain.
+
+ MicrochipOpen
+ -------------
+
+ An alternative, build-it-yourself toolchain is available here:
+ http://sourceforge.net/projects/microchipopen/ . These tools were
+ last updated circa 2010. However, this is the only way that I know of
+ to get free C++ support.
+
+ Building MicrochipOpen (on Linux)
+
+ 1) Get the build script from this location:
+ http://microchipopen.svn.sourceforge.net/viewvc/microchipopen/ccompiler4pic32/buildscripts/trunk/
+ 2) Build the code using the build script, for example:
+ ./build.sh -b v105_freeze
+
+ This will check out the selected branch and build the tools.
+
+ MPLAB/C32 vs MPLABX/X32
+ -----------------------
+
+ It appears that Microchip is phasing out the MPLAB/C32 toolchain and replacing
+ it with MPLABX and XC32. At present, the XC32 toolchain is *not* compatible
+ with the NuttX build scripts. Here are some of the issues that I see when trying
+ to build with XC32:
+
+ 1) Make.def changes: You have to change the tool prefix:
+
+ -CROSSDEV=pic32-
+ +CROSSDEV=xc32-
+
+ 2) debug.ld/release.ld: The like expect some things that are not present in
+ the current linker scripts (or are expected with different names). Here
+ are some partial fixes:
+
+ Rename: kseg0_progmem to kseg0_program_mem
+ Rename: kseg1_datamem to kseg1_data_mem
- CONFIG_PIC32MX_MICROCHIPW - MicroChip full toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL - MicroChip full toolchain for Linux
- CONFIG_PIC32MX_MICROCHIPW_LITE - MicroChip LITE toolchain for Windows
- CONFIG_PIC32MX_MICROCHIPL_LITE - MicroChip LITE toolchain for Linux
+ Even then, there are more warnings from the linker and some undefined symbols
+ for non-NuttX code that resides in the unused Microchip libraries. See this
+ email thread at http://tech.groups.yahoo.com/group/nuttx/message/1458 for more
+ information. You will have to solve at least this undefined symbol problem if
+ you want to used the XC32 toolchain.
Windows Native Toolchains
+ -------------------------
NOTE: There are several limitations to using a Windows based toolchain in a
Cygwin environment. The three biggest are: