Hello, Thanks for your help Jim.
The structure seem have the good alignement. The structure is declaring at the adress : 0x401D0000 struct eTPU_struct *eTPU = (struct eTPU_struct *)0x401D0000; And in the kernel code : In file "./arch/m68k/include/asm/m523xsim.h" : #define MCF523x_ETPU 0x1D0000 In the driver file "./drivers/misc/mcfetpu_serial.c", there are "MCF_MBAR + MCF523x_ETPU" with MCF_MBAR = MCF_IPSBAR = 0x40000000 So it's the same adress. I made a driver to see the GPACR and the PACR* : uint8_t *gpacr = (uint8_t *) (0x40000030); uint8_t *pacr0 = (uint8_t *) (0x40000024); uint8_t *pacr1 = (uint8_t *) (0x40000025); uint8_t *pacr2 = (uint8_t *) (0x40000026); uint8_t *pacr3 = (uint8_t *) (0x40000027); uint8_t *pacr4 = (uint8_t *) (0x40000028); uint8_t *pacr5 = (uint8_t *) (0x4000002A); uint8_t *pacr6 = (uint8_t *) (0x4000002B); uint8_t *pacr7 = (uint8_t *) (0x4000002C); uint8_t *pacr8 = (uint8_t *) (0x4000002E); printk(KERN_DEBUG "GPACR : %#x", *gpacr); printk(KERN_DEBUG "PACR0 : %#x", *pacr0); printk(KERN_DEBUG "PACR1 : %#x", *pacr1); printk(KERN_DEBUG "PACR2 : %#x", *pacr2); printk(KERN_DEBUG "PACR3 : %#x", *pacr3); printk(KERN_DEBUG "PACR4 : %#x", *pacr4); printk(KERN_DEBUG "PACR5 : %#x", *pacr5); printk(KERN_DEBUG "PACR6 : %#x", *pacr6); printk(KERN_DEBUG "PACR7 : %#x", *pacr7); printk(KERN_DEBUG "PACR8 : %#x", *pacr8); But they are all equal at "0x00". It's very strange, isn't it? Are they an other security to protect the register? MENNETRIER Sébastien FRANCE 2010/12/9 Jim Donelson <ucli...@jimdonelson.com> > Probably has to do with structure alignment. Not sure what the packing > options/pragmas are for that situation. > > On Thu, Dec 9, 2010 at 4:54 AM, Sébastien MENNETRIER > <smennetr...@epsi.fr>wrote: > >> Hello, >> >> I work on a MCF5235 coldfire and with "uClinux-dist-20101026". I try to >> use the eTPU. >> I have install the driver and dowload the application to use eTPU on >> freescale website. >> When I start the programme, there are an error : "Access Error Exception >> 12: Error on data read". >> >> So I modify the file : >> "uClinux-dist/linux-2.6.x/arch/m68knommu/platform/523x/config.c". >> I have modify "*gpacr" and all "*pacrx" to obtain the access to the >> register. >> >> uint8_t *gpacr = (uint8_t *) (MCF_IPSBAR + MCF523x_GPACR); >> uint8_t *pacr1 = (uint8_t *) (MCF_IPSBAR + MCF523x_PACR1); >> uint8_t *pacr4 = (uint8_t *) (MCF_IPSBAR + MCF523x_PACR4); >> uint8_t *pacr7 = (uint8_t *) (MCF_IPSBAR + MCF523x_PACR7); >> uint8_t *pacr8 = (uint8_t *) (MCF_IPSBAR + MCF523x_PACR8); >> >> //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> // *gpacr = 0x04; >> // *pacr1 = 0x40; /* EIM required for Chip Select access */ >> // *pacr4 = 0x40; /* I2C */ >> // *pacr7 = 0x44; /* INTC0 & 1 handy for debug */ >> // *pacr8 = 0x40; /* FEC MAC */ >> //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> *gpacr = 0x0C; >> *pacr1 = 0x44; /* EIM required for Chip Select access */ >> *pacr4 = 0x44; /* I2C */ >> *pacr7 = 0x44; /* INTC0 & 1 handy for debug */ >> *pacr8 = 0x44; /* FEC MAC */ >> >> >> But this change did not solve the problem. >> >> Can you help me please? >> >> >> MENNETRIER Sébastien >> FRANCE >> >> _______________________________________________ >> uClinux-dev mailing list >> uClinux-dev@uclinux.org >> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev >> This message was resent by uclinux-dev@uclinux.org >> To unsubscribe see: >> http://mailman.uclinux.org/mailman/options/uclinux-dev >> > > > _______________________________________________ > uClinux-dev mailing list > uClinux-dev@uclinux.org > http://mailman.uclinux.org/mailman/listinfo/uclinux-dev > This message was resent by uclinux-dev@uclinux.org > To unsubscribe see: > http://mailman.uclinux.org/mailman/options/uclinux-dev >
_______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev