From 59b426bff472bf7c9b272eb43571f55a0863595f Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 22 Jun 2012 18:35:25 +0000 Subject: [PATCH] Enable LEDs on Mirtoo board git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4863 42af7a65-404d-4744-a932-0658087f49c3 --- configs/mirtoo/README.txt | 69 +++++++++++++++++++++++++---- configs/mirtoo/ostest/Make.defs | 12 +++-- configs/pcblogic-pic32mx/README.txt | 63 +++++++++++++++++++++++--- configs/pic32-starterkit/README.txt | 63 +++++++++++++++++++++++--- configs/pic32mx7mmb/README.txt | 63 +++++++++++++++++++++++--- configs/sure-pic32mx/README.txt | 63 +++++++++++++++++++++++--- configs/ubw32/README.txt | 64 +++++++++++++++++++++++--- 7 files changed, 349 insertions(+), 48 deletions(-) diff --git a/configs/mirtoo/README.txt b/configs/mirtoo/README.txt index 4e9c7ebeafe..5b1b9dd5bc8 100644 --- a/configs/mirtoo/README.txt +++ b/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 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/configs/mirtoo/ostest/Make.defs b/configs/mirtoo/ostest/Make.defs index 0c9df21380e..7f1ea6ed6ac 100644 --- a/configs/mirtoo/ostest/Make.defs +++ b/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/configs/pcblogic-pic32mx/README.txt b/configs/pcblogic-pic32mx/README.txt index 481be703c8a..fbc8e4704ea 100644 --- a/configs/pcblogic-pic32mx/README.txt +++ b/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 + 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 + + 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/configs/pic32-starterkit/README.txt b/configs/pic32-starterkit/README.txt index d7e999077a8..27c312d56b5 100644 --- a/configs/pic32-starterkit/README.txt +++ b/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 + 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 + + 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/configs/pic32mx7mmb/README.txt b/configs/pic32mx7mmb/README.txt index e4cbd395262..b1297fa2dd0 100644 --- a/configs/pic32mx7mmb/README.txt +++ b/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 + 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 + + 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/configs/sure-pic32mx/README.txt b/configs/sure-pic32mx/README.txt index 72c578bf25e..594dad59b3f 100644 --- a/configs/sure-pic32mx/README.txt +++ b/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 + 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 + + 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/configs/ubw32/README.txt b/configs/ubw32/README.txt index c60f8eccd70..d4d44be0397 100644 --- a/configs/ubw32/README.txt +++ b/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 + 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 + + 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: