Update the PIC24 MPLAB demo for use with the latest 3.25 version of the compiler.

pull/1/head
Richard Barry 14 years ago
parent 27effd446c
commit 381785b968

Binary file not shown.

@ -1,6 +1,7 @@
[HEADER]
magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
file_version=1.0
device=PIC24FJ128GA010
[PATH_INFO]
BuildDirPolicy=BuildDirIsSourceDir
dir_src=
@ -17,7 +18,7 @@ filter_obj=*.o
filter_lib=*.a
filter_lkr=*.gld
[CAT_SUBFOLDERS]
subfolder_src=
subfolder_src=FreeRTOS Source;Standard Demo Source
subfolder_inc=
subfolder_obj=
subfolder_lib=
@ -29,17 +30,17 @@ file_002=.
file_003=.
file_004=.
file_005=.
file_006=.
file_007=.
file_008=.
file_009=.
file_010=.
file_011=.
file_012=.
file_013=.
file_014=.
file_015=.
file_016=.
file_006=Standard Demo Source
file_007=Standard Demo Source
file_008=Standard Demo Source
file_009=Standard Demo Source
file_010=FreeRTOS Source
file_011=FreeRTOS Source
file_012=Standard Demo Source
file_013=FreeRTOS Source
file_014=FreeRTOS Source
file_015=FreeRTOS Source
file_016=Standard Demo Source
file_017=.
file_018=.
file_019=.
@ -98,20 +99,20 @@ file_022=no
file_000=main.c
file_001=..\..\source\list.c
file_002=..\..\source\queue.c
file_003=..\..\source\tasks.c
file_004=..\..\source\portable\MPLAB\PIC24_dsPIC\port.c
file_005=..\..\source\portable\MemMang\heap_1.c
file_003=ParTest\ParTest.c
file_004=serial\serial.c
file_005=lcd.c
file_006=..\Common\Minimal\BlockQ.c
file_007=..\..\source\croutine.c
file_008=..\Common\Minimal\crflash.c
file_009=ParTest\ParTest.c
file_010=..\Common\Minimal\blocktim.c
file_011=..\Common\Minimal\integer.c
file_012=..\Common\Minimal\comtest.c
file_013=serial\serial.c
file_014=timertest.c
file_015=lcd.c
file_016=..\..\Source\portable\MPLAB\PIC24_dsPIC\portasm_PIC24.S
file_007=..\Common\Minimal\blocktim.c
file_008=..\Common\Minimal\comtest.c
file_009=..\Common\Minimal\crflash.c
file_010=..\..\source\croutine.c
file_011=..\..\source\portable\MemMang\heap_1.c
file_012=..\Common\Minimal\integer.c
file_013=..\..\source\portable\MPLAB\PIC24_dsPIC\port.c
file_014=..\..\Source\portable\MPLAB\PIC24_dsPIC\portasm_PIC24.S
file_015=..\..\source\tasks.c
file_016=timertest.c
file_017=..\..\source\include\semphr.h
file_018=..\..\source\include\task.h
file_019=..\..\source\include\croutine.h
@ -125,7 +126,7 @@ suite_state=
TS{7D9C6ECE-785D-44CB-BA22-17BF2E119622}=-g
TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}=-fno-omit-frame-pointer -g -Wall -DMPLAB_PIC24_PORT -mlarge-code -O1 -fno-schedule-insns -fno-schedule-insns2
TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}_alt=yes
TS{7DAC9A1D-4C45-45D6-B25A-D117C74E8F5A}=--defsym=__ICD2RAM=1 -Map="$(TARGETBASE).map" -o"$(TARGETBASE).$(TARGETSUFFIX)"
TS{7DAC9A1D-4C45-45D6-B25A-D117C74E8F5A}=--heap=0 --defsym=__ICD2RAM=1 -o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)"
TS{509E5861-1E2A-483B-8B6B-CA8DB7F2DD78}=
[INSTRUMENTED_TRACE]
enable=0

@ -2,6 +2,6 @@
MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
Version=1.0
[TOOL_LOC_STAMPS]
tool_loc{DE18EB1A-B46B-486B-B96F-A811A635DFAC}=C:\Devtools\Microchip\MPLAB C30\bin\pic30-as.exe
tool_loc{069BD372-6CA0-40D4-BF2F-5DC806D05083}=C:\Devtools\Microchip\MPLAB C30\bin\pic30-gcc.exe
tool_loc{433C3D55-811D-409D-A6BF-159CF9355B42}=C:\Devtools\Microchip\MPLAB C30\bin\pic30-ld.exe
tool_loc{DE18EB1A-B46B-486B-B96F-A811A635DFAC}=C:\devtools\Microchip\mplabc30\v3.25\bin\pic30-as.exe
tool_loc{069BD372-6CA0-40D4-BF2F-5DC806D05083}=C:\devtools\Microchip\mplabc30\v3.25\bin\pic30-gcc.exe
tool_loc{433C3D55-811D-409D-A6BF-159CF9355B42}=C:\devtools\Microchip\mplabc30\v3.25\bin\pic30-ld.exe

@ -3,9 +3,10 @@
*/
OUTPUT_ARCH("24FJ128GA010")
EXTERN(__resetPRI)
EXTERN(__resetALT)
CRT0_STARTUP(crt0_standard.o)
CRT1_STARTUP(crt1_standard.o)
OPTIONAL(-lpPIC24Fxxx)
/*
** Memory Regions
@ -20,6 +21,10 @@ MEMORY
config2 : ORIGIN = 0x157FC, LENGTH = 0x2
config1 : ORIGIN = 0x157FE, LENGTH = 0x2
}
__CONFIG2 = 0x157FC;
__CONFIG1 = 0x157FE;
__IVT_BASE = 0x4;
__AIVT_BASE = 0x104;
__DATA_BASE = 0x800;
@ -59,16 +64,65 @@ SECTIONS
/*
** User Code and Library Code
**
** This section must not be assigned to __CODE_BASE,
** because CodeGuard(tm) sections may be located there.
**
** Note that input sections *(.text) are not mapped here.
** The best-fit allocator locates them, so that .text
** may flow around PSV sections as needed.
*/
.text __CODE_BASE :
.text :
{
*(.init);
*(.user_init);
*(.handle);
*(.libc) *(.libm) *(.libdsp); /* keep together in this order */
*(.lib*);
*(.text);
} >program
/*
** User-Defined Section in Program Memory
**
** note: can specify an address using
** the following syntax:
**
** usercode 0x1234 :
** {
** *(usercode);
** } >program
*/
usercode :
{
*(usercode);
} >program
/*
** User-Defined Constants in Program Memory
**
** For PSV type sections, the Load Memory Address (LMA)
** should be specified as follows:
**
** userconst : AT(0x1234)
** {
** *(userconst);
** } >program
**
** Note that mapping PSV sections in linker scripts
** is not generally recommended.
**
** Because of page alignment restrictions, memory is
** often used more efficiently when PSV sections
** do not appear in the linker script.
**
** For more information on memory allocation,
** please refer to chapter 10, 'Linker Processing'
** in the Assembler, Linker manual (DS51317).
*/
/*
** Configuration Words
*/
@ -184,7 +238,7 @@ SECTIONS
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SPI1ErrInterrupt) ? ABSOLUTE(__SPI1ErrInterrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__SPI1TInterrupt) ? ABSOLUTE(__SPI1TInterrupt) :
LONG( DEFINED(__SPI1Interrupt) ? ABSOLUTE(__SPI1Interrupt) :
ABSOLUTE(__DefaultInterrupt));
LONG( DEFINED(__U1RXInterrupt) ? ABSOLUTE(__U1RXInterrupt) :
ABSOLUTE(__DefaultInterrupt));
@ -463,8 +517,8 @@ SECTIONS
LONG( DEFINED(__AltSPI1ErrInterrupt) ? ABSOLUTE(__AltSPI1ErrInterrupt) :
(DEFINED(__SPI1ErrInterrupt) ? ABSOLUTE(__SPI1ErrInterrupt) :
ABSOLUTE(__DefaultInterrupt)));
LONG( DEFINED(__AltSPI1TInterrupt) ? ABSOLUTE(__AltSPI1TInterrupt) :
(DEFINED(__SPI1TInterrupt) ? ABSOLUTE(__SPI1TInterrupt) :
LONG( DEFINED(__AltSPI1Interrupt) ? ABSOLUTE(__AltSPI1Interrupt) :
(DEFINED(__SPI1Interrupt) ? ABSOLUTE(__SPI1Interrupt) :
ABSOLUTE(__DefaultInterrupt)));
LONG( DEFINED(__AltU1RXInterrupt) ? ABSOLUTE(__AltU1RXInterrupt) :
(DEFINED(__U1RXInterrupt) ? ABSOLUTE(__U1RXInterrupt) :
@ -1247,15 +1301,16 @@ _PMADDR = 0x604;
_PMADDRbits = 0x604;
PMDOUT1 = 0x604;
_PMDOUT1 = 0x604;
_PMDOUT1bits = 0x604;
PMDOUT2 = 0x606;
_PMDOUT2 = 0x606;
PMDIN1 = 0x608;
_PMDIN1 = 0x608;
PMDIN2 = 0x60A;
_PMDIN2 = 0x60A;
PMPEN = 0x60C;
_PMPEN = 0x60C;
_PMPENbits = 0x60C;
PMAEN = 0x60C;
_PMAEN = 0x60C;
_PMAENbits = 0x60C;
PMSTAT = 0x60E;
_PMSTAT = 0x60E;
_PMSTATbits = 0x60E;
@ -1280,6 +1335,7 @@ _CRCCON = 0x640;
_CRCCONbits = 0x640;
CRCXOR = 0x642;
_CRCXOR = 0x642;
_CRCXORbits = 0x642;
CRCDAT = 0x644;
_CRCDAT = 0x644;
CRCWDAT = 0x646;
@ -1311,6 +1367,10 @@ _RCONbits = 0x740;
OSCCON = 0x742;
_OSCCON = 0x742;
_OSCCONbits = 0x742;
OSCCONL = 0x742;
_OSCCONL = 0x742;
OSCCONH = 0x743;
_OSCCONH = 0x743;
CLKDIV = 0x744;
_CLKDIV = 0x744;
_CLKDIVbits = 0x744;
@ -1331,3 +1391,35 @@ _PMD2bits = 0x772;
PMD3 = 0x774;
_PMD3 = 0x774;
_PMD3bits = 0x774;
/*
** ======= Base Addresses for Various Peripherals ======
*/
IC1 = 0x140;
_IC1 = 0x140;
IC2 = 0x144;
_IC2 = 0x144;
IC3 = 0x148;
_IC3 = 0x148;
IC4 = 0x14C;
_IC4 = 0x14C;
IC5 = 0x150;
_IC5 = 0x150;
OC1 = 0x180;
_OC1 = 0x180;
OC2 = 0x186;
_OC2 = 0x186;
OC3 = 0x18C;
_OC3 = 0x18C;
OC4 = 0x192;
_OC4 = 0x192;
OC5 = 0x198;
_OC5 = 0x198;
SPI1 = 0x240;
_SPI1 = 0x240;
SPI2 = 0x260;
_SPI2 = 0x260;
UART1 = 0x220;
_UART1 = 0x220;
UART2 = 0x230;
_UART2 = 0x230;

Loading…
Cancel
Save