> > I've changed to following: > added packrecord c > flipped speed_hz and delay_usec fields > > same problem. > I don't know whats really wrong. > Is there any debug possibility? >
Are you sure about the conversion (*SPI_IOC_MESSAGE(1)*) 1075866368? That is 40206B00 hex. 6B is the letter 'k' SPI_IOC_MAGIC but the 20 seems to indicate a size of 32 bytes while the record has only a size of 24 bytes on ARM (32 bit pointers). Also the 40 seems to be wrong as it corresponds to IOC_IN. #define SPI_MSGSIZE(N) \ ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << _IOC_SIZEBITS)) \ ? ((N)*(sizeof (struct spi_ioc_transfer))) : 0) #define SPI_IOC_MESSAGE(N) _IOW(SPI_IOC_MAGIC, 0, char[SPI_MSGSIZE(N)]) #define _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t)) #define _IOC(inout,group,num,len) \ ((unsigned long)(inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))) #define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t)) #define IOC_OUT 0x40000000 /* copy out parameters */ #define IOC_IN 0x80000000 Ludo _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel