From 01321cff92842ff2d98cdf68fa1bc4e1f36ac562 Mon Sep 17 00:00:00 2001 From: Brian Schmalz Date: Sat, 1 Sep 2012 23:12:00 -0500 Subject: [PATCH] Merged in recent changes from MPIDE master. --- hardware/arduino/platforms.txt | 4 ++-- .../cores/pic32/chipKIT-application-32MX120F032.ld | 2 +- .../cores/pic32/chipKIT-application-32MX250F128.ld | 2 +- .../cores/pic32/chipKIT-application-32MX320F128.ld | 2 +- .../cores/pic32/chipKIT-application-32MX340F512.ld | 2 +- .../cores/pic32/chipKIT-application-32MX360F512.ld | 2 +- .../cores/pic32/chipKIT-application-32MX440F128.ld | 2 +- .../cores/pic32/chipKIT-application-32MX440F256.ld | 2 +- .../cores/pic32/chipKIT-application-32MX440F512.ld | 2 +- .../cores/pic32/chipKIT-application-32MX460F512.ld | 2 +- .../cores/pic32/chipKIT-application-32MX795F512.ld | 2 +- .../pic32/cores/pic32/chipKIT-application-COMMON.ld | 4 ++-- hardware/pic32/libraries/SD/utility/Sd2Card.cpp | 13 +++++++++++-- hardware/pic32/platforms.txt | 9 +++++---- 14 files changed, 30 insertions(+), 20 deletions(-) diff --git a/hardware/arduino/platforms.txt b/hardware/arduino/platforms.txt index c951a4f8a..45f1de38b 100755 --- a/hardware/arduino/platforms.txt +++ b/hardware/arduino/platforms.txt @@ -58,8 +58,8 @@ avr.compiler.ldflags= avr.compiler.cpudef=-mmcu= avr.compiler.upload.cmd= avr.compiler.upload.flags= -avr.library.path=./hardware/arduino/cores/arduino -avr.library.core.path=./libraries +avr.library.core.path=./hardware/arduino/cores/arduino +avr.library.path=./libraries avr.compiler.define=:: avr.board.define=:: diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX120F032.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX120F032.ld index 2664001f8..453e6f1fd 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX120F032.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX120F032.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX250F128.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX250F128.ld index cb9508abe..ed612964e 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX250F128.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX250F128.ld @@ -132,4 +132,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX320F128.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX320F128.ld index 77c5af4a3..4fb510480 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX320F128.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX320F128.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX340F512.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX340F512.ld index fc3645c67..5132b127f 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX340F512.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX340F512.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX360F512.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX360F512.ld index fc3645c67..5132b127f 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX360F512.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX360F512.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX440F128.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX440F128.ld index 8bf9cb3b4..7e5ce5725 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX440F128.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX440F128.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX440F256.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX440F256.ld index 758ff2e77..4684ec6d8 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX440F256.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX440F256.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX440F512.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX440F512.ld index fc3645c67..5132b127f 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX440F512.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX440F512.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX460F512.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX460F512.ld index fc3645c67..5132b127f 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX460F512.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX460F512.ld @@ -131,4 +131,4 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-32MX795F512.ld b/hardware/pic32/cores/pic32/chipKIT-application-32MX795F512.ld index 3e7045adb..892ed643a 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-32MX795F512.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-32MX795F512.ld @@ -131,5 +131,5 @@ SECTIONS } /* From here out every linker script is the same, so just include it */ -INCLUDE "./hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld" +/*INCLUDE "chipKIT-application-COMMON.ld"*/ diff --git a/hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld b/hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld index 9b4e41685..29e8add23 100755 --- a/hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld +++ b/hardware/pic32/cores/pic32/chipKIT-application-COMMON.ld @@ -538,14 +538,14 @@ SECTIONS . += (DEFINED (_DEBUGGER) ? 0x200 : 0x0); } >kseg1_data_mem - .ram_exchange_data : + .ram_exchange_data (NOLOAD) : { _ram_header_addr = . ; . += 8 ; } >kseg1_data_mem /* Persistent data */ - .persist ALIGN(4) : + .persist ALIGN(4) (NOLOAD) : { _persist_begin = .; *(.persist .persist.*) diff --git a/hardware/pic32/libraries/SD/utility/Sd2Card.cpp b/hardware/pic32/libraries/SD/utility/Sd2Card.cpp index c2f01518b..d76065b0e 100755 --- a/hardware/pic32/libraries/SD/utility/Sd2Card.cpp +++ b/hardware/pic32/libraries/SD/utility/Sd2Card.cpp @@ -42,6 +42,8 @@ #define bnSPI2RXIE 7 #define bnSPI2TXIE 6 +uint32_t spi_state; + /** Soft SPI receive */ uint8_t spiRec(void) { uint8_t data = 0; @@ -155,9 +157,16 @@ uint32_t Sd2Card::cardSize(void) { //------------------------------------------------------------------------------ void Sd2Card::chipSelectHigh(void) { digitalWrite(chipSelectPin_, HIGH); +#if defined(_BOARD_MEGA_) || defined(_BOARD_UNO_) || defined(_BOARD_UC32_) + SPI2CON = spi_state; +#endif } //------------------------------------------------------------------------------ void Sd2Card::chipSelectLow(void) { +#if defined(_BOARD_MEGA_) || defined(_BOARD_UNO_) || defined(_BOARD_UC32_) + spi_state = SPI2CON; + SPI2CONbits.ON = 0; +#endif digitalWrite(chipSelectPin_, LOW); } //------------------------------------------------------------------------------ @@ -377,7 +386,7 @@ uint8_t Sd2Card::readData(uint32_t block, spiRec(); } - n = count; + n = count; // transfer data for (uint16_t i = 0; i < n; i++) { @@ -400,7 +409,7 @@ uint8_t Sd2Card::readData(uint32_t block, /** Skip remaining data in a block when in partial block read mode. */ void Sd2Card::readEnd(void) { if (inBlock_) { - while (offset_++ < 512) spiRec(); + while (offset_++ < 512) spiRec(); chipSelectHigh(); inBlock_ = 0; } diff --git a/hardware/pic32/platforms.txt b/hardware/pic32/platforms.txt index 4e048547e..bc845b51d 100644 --- a/hardware/pic32/platforms.txt +++ b/hardware/pic32/platforms.txt @@ -2,7 +2,7 @@ pic32.recipe.c.o.pattern={0}{1}::{2}::{3}{4}::-DF_CPU={5}::-D{6}::-D{7}::{8}::{9}::{10}::-o::{11} pic32.recipe.cpp.o.pattern={0}{1}::{2}::{3}{4}::-DF_CPU={5}::-D{6}::-D{7}::{8}::{9}::{10}::-o::{11} pic32.recipe.ar.pattern={0}{1}::{2}::{3}{4}::{5} -pic32.recipe.c.combine.pattern={0}{1}::{2}::{3}{4}::-o::{5}{6}.elf::{7}::{8}::-L{9}::-lm::-T::{10}/{11} +pic32.recipe.c.combine.pattern={0}{1}::{2}::{3}{4}::-o::{5}{6}.elf::{7}::{8}::-L{9}::-lm::-T::{10}/{11}::-T{12}/{13} pic32.recipe.objcopy.eep.pattern={0}{1}::{2}::{3}.elf::{4}.eep pic32.recipe.objcopy.hex.pattern={0}{1}::{2}::{3}.elf @@ -37,8 +37,9 @@ pic32.compiler.upload.cmd= pic32.compiler.includepath={0}/hardware/pic32/compiler/pic32-tools/pic32mx/include pic32.compiler.upload.flags= #pic32.library.path=./hardware/pic32/cores/pic32 -pic32.library.path=./hardware/pic32/cores/pic32 +pic32.library.core.path=./hardware/pic32/cores/pic32 +pic32.library.path=./hardware/pic32/libraries pic32.ldscript=chipKIT-BL-mega.ld -pic32.library.core.path=./hardware/pic32/libraries -pic32.compiler.define=::-DMPIDEVER=0x01000301::-DMPIDE=23:: +pic32.ldcommon=chipKIT-application-COMMON.ld +pic32.compiler.define=::-DMPIDEVER=0x01000303::-DMPIDE=23:: pic32.build.variant=Default_100