Forums

Quadtimer and TOD combined usage giving linker error.

Started by Nitin Madhukar Yewale October 13, 2002
Hi,
I am using codewarrior for firmware development of 56F827. I
want to use Quad timers and TOD so for that I have modifed appconfig.h
file.

#define INCLUDE_QUAD_TIMER /* Quadrature timer support */
#define INCLUDE_TIME_OF_DAY

After including both I am getting linker error

"Warning : Illegal immediate operand format.
Immediate operands must be prepended with #.
vector.c line 634 30u

Link Error : Multiply-defined: "FqtExtAMode" in const.c
Previously defined in config.c

Link Error : Multiply-defined: "FqtExtAMask" in const.c
Previously defined in config.c

Link Error : Multiply-defined: "FqtDeviceMap" in const.c
Previously defined in config.c

Link Error : Multiply-defined: "FqtNumberOfDevices" in const.c
Previously defined in config.c
"

I have gone through const.c and config.c and came to conclusion that I
will have to comment QUAD_TIMER declaration.

Could anybody tell me what is the reason I am getting Linker errors?

My analysis for the above problem:

I found following declaration in config.c

#ifdef INCLUDE_TIME_OF_DAY
#include "timerdrv.h"

posix_tTod POSIXTodStaticContext[1];
posix_tTod * POSIXTodContext;

#ifndef INCLUDE_TIMER
posix_tDevice * POSIXTimerContext;
const char * POSIXDeviceList[1];
const int qtNumberOfDevices;
const qt_tQTConfig qtDeviceMap[1];
const UWord16 qtExtAMode[1];
const UWord16 qtExtAMask[1];
#endif

#endif

Doea it means that I will have undef QUAD_TIMER declaration.

Thanks and Regards,
Nitin


**************************Disclaimer********************************************\
******

Information contained in this E-MAIL being proprietary to Wipro Limited is
'privileged'
and 'confidential' and intended for use only by the individual or entity to
which it is
addressed. You are notified that any use, copying or dissemination of the
information
contained in the E-MAIL in any manner whatsoever is strictly prohibited.

********************************************************************************\
********



Since the TOD sdk software seems to depend on timer support in addition to the TOD hardware, you may have to put the following line in your appconfig.h file:
 
#define INCLUDE_TIMER
 
Apparently both const.c and config.c are declaring the same variables.
 
Jerry.
-----Original Message-----
From: Nitin Madhukar Yewale [mailto:n...@wipro.com]
Sent: Sunday, October 13, 2002 6:28 AM
To: Motoroladsp
Subject: [motoroladsp] Quadtimer and TOD combined usage giving linker error.

Hi,
      I am using codewarrior for firmware development of 56F827. I
want to use Quad timers and TOD so for that I have modifed appconfig.h
file.

#define  INCLUDE_QUAD_TIMER    /* Quadrature timer support */
#define  INCLUDE_TIME_OF_DAY

      After including both I am getting linker error      

"Warning : Illegal immediate operand format.
Immediate operands must be prepended with #.
vector.c line 634   30u

Link Error   : Multiply-defined: "FqtExtAMode" in const.c
Previously defined in config.c

Link Error   : Multiply-defined: "FqtExtAMask" in const.c
Previously defined in config.c

Link Error   : Multiply-defined: "FqtDeviceMap" in const.c
Previously defined in config.c

Link Error   : Multiply-defined: "FqtNumberOfDevices" in const.c
Previously defined in config.c
"

I have gone through const.c and config.c and came to conclusion that I
will have to comment QUAD_TIMER declaration.

Could anybody tell me what is the reason I am getting Linker errors?

My analysis for the above problem:

I found following declaration in config.c

#ifdef INCLUDE_TIME_OF_DAY
      #include "timerdrv.h"
     
      posix_tTod POSIXTodStaticContext[1];
      posix_tTod * POSIXTodContext;

      #ifndef INCLUDE_TIMER
            posix_tDevice * POSIXTimerContext;
            const char * POSIXDeviceList[1];
            const int    qtNumberOfDevices;
            const qt_tQTConfig qtDeviceMap[1];
            const UWord16      qtExtAMode[1];
            const UWord16      qtExtAMask[1];
      #endif

#endif

Doea it means that I will have undef QUAD_TIMER declaration.

Thanks and Regards,
Nitin


_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer.  You need to do a "reply all" if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:  m...@yahoogroups.com

To Post:  m...@yahoogroups.com

To Leave: m...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/motoroladsp

More Groups: http://www.dsprelated.com/groups.php3


">Yahoo! Terms of Service.