I'm trying to create a PIC18F25K20 Port do FreeRTOS and although rtosdemo1, rtosdemo2 and rtosdemo3 compiled OK I got many warning messages.
I'm using: MPLAB C18 V3.46
FreeRTOSV7.6.0
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.lib
ELSE
FILES c018i.o
FILES clib.lib
FILES p18F25K80.lib
FI
FI
IFDEF _DEBUGCODESTART
CODEPAGE NAME=page START=0x0 END=CODEEND
CODEPAGE NAME=debug START=DEBUGCODESTART END=_CEND PROTECTED
ELSE
CODEPAGE NAME=page START=0x0 END=0x7FFF
FI
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 PROTECTED
IFDEF _EXTENDEDMODE
DATABANK NAME=gpre START=0x0 END=0x5F
ELSE
ACCESSBANK NAME=accessram START=0x0 END=0x5F
FI
//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 PROTECTED
IFDEF _DEBUGDATASTART
DATABANK NAME=gpr13 START=0xD00 END=DATAEND
DATABANK NAME=dbgspr START=DEBUGDATASTART END=_DEND PROTECTED
ELSE //no debug
DATABANK NAME=gpr13 START=0xD00 END=0xDFF
FI
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 PROTECTED
IFDEF _CRUNTIME
SECTION NAME=CONFIG ROM=cfgmem
IFDEF _DEBUGDATASTART
STACK SIZE=0x1FF RAM=gpr12
ELSE
STACK SIZE=0x1FF RAM=gpr12
FI
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" /uCRUNTIME /z__MPLABBUILD=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_MPLABBUILD=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
I'm afraid we don't encourage the use of FreeRTOS on PIC18 devices, the architecture and non re-entrant compiler do not make it a suitable target. I'm also not sure what Voloviq is, but if you got the code from Voloviq I suggest you ask whoever created or maintained Voloviq for support.
Regards.