This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
problem with REG32() in IXP425
- From: sumanth <sumanth dot kondlada at wipro dot com>
- To: ecos-devel at ecos dot sourceware dot org
- Date: Tue, 4 Apr 2006 04:19:07 -0700 (PDT)
- Subject: 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.