This is the mail archive of the ecos-devel@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

problem with REG32() in IXP425


Hi,

             I am sumanth, i am porting ecos to ixp 425 evaluation board of
mine, but i am getting problem in the hal_interrupt_configure, where we 
have address calculation routine 
 *IXP425_GPIT1R = (*IXP425_GPIT1R & ~(7 << shift)) | (ival << shift);
 *IXP425_GPISR |= (1 << vector);

where *IXP425_GPIT1R calls REG32 and it calculates the base address and the
actual bytes from base address which should happen actually,  and call the
routine
#define REG32(a,b) ((volatile unsigned int *)((a)+(b)))
but in our case it is calling the routine
#define REG32(a,b) (b) 
so we are only getting the no of bytes move from base, is there any problem
with definition of _ASSEMBLER_
I am giving the snap shot of the code

xscale/cores/current/include/hal_xscale.h

#ifdef __ASSEMBLER__

#define REG8(a,b)  (b)
#define REG16(a,b) (b)
#define REG32(a,b) (b)

#else /* __ASSEMBLER__ */

#define REG8(a,b)  ((volatile unsigned char *)((a)+(b)))
#define REG16(a,b) ((volatile unsigned short *)((a)+(b)))
#define REG32(a,b) ((volatile unsigned int *)((a)+(b)))

extern void hal_xscale_core_init(void);
#endif /* __ASSEMBLER__ */

any pointers in this case are very helpful, and any one who worked on the
ixp425 processor can help me by sharing their problem situations and how
could they resolve them

Thanks & regards,
Sumanth.
--
View this message in context: http://www.nabble.com/problem-with-REG32%28%29-in-IXP425-t1392469.html#a3742562
Sent from the Sourceware - ecos-devel forum at Nabble.com.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]