Linker from Voloviq (FreeRTOSV7.1.0 on PIC18F25k80 Queue – Uart) listed below: // File: 18f25k80_g.lkr // Generic linker script for the PIC18F25K80 processor
DEFINE _CODEEND _DEBUGCODESTART – 1
DEFINE _CEND _CODEEND + _DEBUGCODELEN
DEFINE _DATAEND _DEBUGDATASTART – 1
DEFINE _DEND _DATAEND + _DEBUGDATALEN
LIBPATH .IFDEF _CRUNTIME
IFDEF _EXTENDEDMODE
FILES c018ie.o FILES clibe.lib FILES p18F25K80_e.libELSE
FILES c018i.o FILES clib.lib FILES p18F25K80.libFI
FI
IFDEF _DEBUGCODESTART
CODEPAGE NAME=page START=0x0 END=CODEEND CODEPAGE NAME=debug START=DEBUGCODESTART END=_CEND PROTECTEDELSE
CODEPAGE NAME=page START=0x0 END=0x7FFFFI
CODEPAGE NAME=userid START=0x200000 END=0x200007 PROTECTED CODEPAGE NAME=cfgmem START=0x300000 END=0x30000D PROTECTED CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTEDIFDEF _EXTENDEDMODE
DATABANK NAME=gpre START=0x0 END=0x5FELSE
ACCESSBANK NAME=accessram START=0x0 END=0x5FFI
//DATABANK NAME=gpr0 START=0x60 END=0xFF //DATABANK NAME=gpr1 START=0x100 END=0x1FF //DATABANK NAME=gpr2 START=0x200 END=0x2FF //DATABANK NAME=gpr3 START=0x300 END=0x3FF //DATABANK NAME=gpr4 START=0x400 END=0x4FF //DATABANK NAME=gpr5 START=0x500 END=0x5FF //DATABANK NAME=gpr6 START=0x600 END=0x6FF //DATABANK NAME=gpr7 START=0x700 END=0x7FF //DATABANK NAME=gpr8 START=0x800 END=0x8FF //DATABANK NAME=gpr9 START=0x900 END=0x9FF //DATABANK NAME=gpr10 START=0xA00 END=0xAFF //DATABANK NAME=gpr11 START=0xB00 END=0xBFF //DATABANK NAME=gpr12 START=0xC00 END=0xCFF DATABANK NAME=BIG_BLOCK START=0x60 END=0xAFF DATABANK NAME=gpr12 START=0xB00 END=0xCFF PROTECTEDIFDEF _DEBUGDATASTART
DATABANK NAME=gpr13 START=0xD00 END=DATAEND DATABANK NAME=dbgspr START=DEBUGDATASTART END=_DEND PROTECTEDELSE //no debug
DATABANK NAME=gpr13 START=0xD00 END=0xDFFFI
DATABANK NAME=gpr14 START=0xE00 END=0xE40 DATABANK NAME=sfr14 START=0xE41 END=0xEFF PROTECTED DATABANK NAME=sfr15 START=0xF00 END=0xF5F PROTECTED ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTEDIFDEF _CRUNTIME
SECTION NAME=CONFIG ROM=cfgmemIFDEF _DEBUGDATASTART
STACK SIZE=0x1FF RAM=gpr12ELSE
STACK SIZE=0x1FF RAM=gpr12FI
FI
//////////////////////////////////////////////////////////////// In port.c , I needed to make the following changes: ……………………….. Include defines to config:pragma config WDTEN = OFF
pragma config FOSC = INTIO2
pragma config XINST = OFF
……………………….. Because there are slight difference in register: Line 561 if( PIR1bits.CCP1IF ) to if( PIR3bits.CCP1IF ) Line 602 PIR1bits.CCP1IF = 0; to PIR3bits.CCP1IF = 0; Line 643 PIE1bits.CCP1IE = portBITSET; to PIE3bits.CCP1IE = portBITSET; Line 651 OpenTimer1( T116BITRW & T1SOURCEINT & T1PS11 & T1CCP1T3CCP2 ); to OpenTimer1(T1_SOURCE_FOSC_4 & T1_PS_1_1 & T1_OSC1EN_ON & T1_SYNC_EXT_OFF & T1_16BIT_RW , TIMER_GATE_OFF & TIMER_GATE_POL_HI & TIMER_GATE_TOGGLE_OFF & TIMER_GATE_1SHOT_OFF & TIMER_GATE_INT_OFF);
///////////////////////////////////////////////////////////////////
In ParTest.c:
Modified PortD to PortB
PortE to PortC
////////////////////////////////////////////////////////////////////
Renamed : timers.h in C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSSourceinclude to timers.h because
there are a conflict with timers.h in C:Program FilesMicrochipMPLABC18v3.46h
during compilation.
////////////////////////////////////////////////////////////////////
Before compilation it is necessary to set the “Build Options” of MPLAB:
Hex format : INHX32
Memory Model:
Code Model -> Small Code Model
Data Model -> Large Data Model
Stack Model-> Multi Bank Model
Generate Command Line -> uncheck -> Extended Mode
//////////////////////////////////////////////////////////////////////
Messages I got:
rtosdemo1
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “tasks.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJtasks.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSSourcetasks.c:556:Warning [2066] type qualifier mismatch in assignment
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “queue.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJqueue.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “list.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJlist.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “port.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJport.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “PollQ.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJPollQ.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “main1.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJmain1.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “ParTest.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJParTest.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “serial.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJserial.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location PRODH specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location PRODL specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location TABLAT specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location .tmpdata specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location PRODH specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location PRODL specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location TABLAT specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location .tmpdata specified in the interrupt save list is redundant
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “integer.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJinteger.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “heap1.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJheap1.o” -w3 -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmplink.exe” /p18F25K80 /l”C:Arquivos de programasMicrochipMPLABC18v3.46.lib” /k”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLAB” “..18f25k80.lkr” “..OBJtasks.o” “..OBJqueue.o” “..OBJlist.o” “..OBJport.o” “..OBJPollQ.o” “..OBJmain1.o” “..OBJParTest.o” “..OBJserial.o” “..OBJinteger.o” “..OBJheap1.o” /u_CRUNTIME /z__MPLAB_BUILD=1 /m”rtosdemo1.map” /w /o”rtosdemo1.cof”
MPLINK 4.48, Linker
Device Database Version 1.13
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors : 0
MP2HEX 4.48, COFF to HEX File Converter
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors : 0
////////////////////////////////////////////////////////////////////////////
rtosdemo2
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “main2.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJmain2.o” -DMPLABPIC18FPORT -Ls -Opa-
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABmain2.c:144:Warning [2058] call of function without prototype
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “serial.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJserial.o” -DMPLABPIC18FPORT -Ls -Opa-
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location PRODH specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location PRODL specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location TABLAT specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:219:Warning [2074] location .tmpdata specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location PRODH specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location PRODL specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location TABLAT specified in the interrupt save list is redundant
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABserialserial.c:246:Warning [2074] location .tmpdata specified in the interrupt save list is redundant
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “ParTest.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJParTest.o” -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “tasks.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJtasks.o” -DMPLABPIC18FPORT -Ls -Opa-
C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSSourcetasks.c:556:Warning [2066] type qualifier mismatch in assignment
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “queue.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJqueue.o” -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “list.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJlist.o” -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “heap1.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJheap1.o” -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “flash.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJflash.o” -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmcc18.exe” -p=18F25K80 /i”C:Arquivos de programasMicrochipMPLABC18v3.46h” -I”.” -I”.include” -I”..include” -I”....include” -I”......include” -I”....Sourceinclude” -I”......Sourceinclude” -I”..DemoPIC18MPLAB” -I”......DemoPIC18MPLAB” -I”........DemoPIC18MPLAB” -I”..Commoninclude” -I”....Commoninclude” “port.c” -fo=”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLABOBJport.o” -DMPLABPIC18FPORT -Ls -Opa-
Executing: “C:Arquivos de programasMicrochipMPLABC18v3.46binmplink.exe” /p18F25K80 /l”C:Arquivos de programasMicrochipMPLABC18v3.46lib” /k”C:FreeRTOSV7.6.0PIC18F25K80FreeRTOSDemoPIC18MPLAB” “..18f25k80.lkr” “..OBJmain2.o” “..OBJserial.o” “..OBJParTest.o” “..OBJtasks.o” “..OBJqueue.o” “..OBJlist.o” “..OBJheap1.o” “..OBJflash.o” “..OBJport.o” /uCRUNTIME /z__MPLAB_BUILD=1 /m”rtosdemo2.map” /o”rtosdemo2.cof”
MPLINK 4.48, Linker
Device Database Version 1.13
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors : 0
MP2HEX 4.48, COFF to HEX File Converter
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors : 0
//////////////////////////////////////////////////////////////////////////////////////
rtosdemo3
Compiled OK without messages.
//////////////////////////////////////////////////////////////////////////////////////
Finally I ask anyone: How to correct port.c to avoid the “Warning Messages”?
Regards