On Tue, Jan 25, 2011 at 12:51 AM, Gilles Chanteperdrix < [email protected]> wrote:
> at91_enthus wrote: > > On Tue, Jan 25, 2011 at 12:20 AM, Gilles Chanteperdrix < > > [email protected]> wrote: > > > >> at91_enthus wrote: > >>>>> Oh. I assumed without mlockall (it wasn't part of my original code). > >>>>> Now, I placed mlockall in my original code (right before > >>>> open_controller()) > >>>>> and the pin gets toggled according to my scope. > >>>> Ok. Show me the Makefile then. > >>> And the code which works. > >>> > >>> > >>> see attachment > >>> > >>> > >>>> Including the > >>>> value of the defines please (not all of them, only those the program > >>>> uses for open_controller). > >>>> > >>>> > >>>> > >>> #define AT91C_BASE_AIC 0xFFFFF000 // (AIC) Base Address > >>> #define AT91C_BASE_PIOB 0xFFFFF600 // (PIOB) Base Address > >>> #define PIO_PER 0x00000000 // (PIO_PER) PIO Enable Register > >>> #define PIO_PDR 0x00000004 // (PIO_PDR) PIO Disable > Register > >>> #define PIO_PSR 0x00000008 // (PIO_PSR) PIO Status Register > >>> #define PIO_OER 0x00000010 // (PIO_OER) Output Enable > >> Register > >>> #define PIO_SODR 0x00000030 // (PIO_SODR) Set Output Data > >> Register > >>> #define PIO_CODR 0x00000034 // (PIO_CODR) Clear Output Data > >>> Register > >>> #define PIO_PPUDR 0x00000060 // (PIO_PPUDR) Pull-up Disable > >> Register > >>> #define PIO_MDDR 0x00000054 // (PIO_MDDR) Multi-driver > Disable > >>> Register > >>> > >>> > >> I am unable to reproduce your issue. That said, I am using standard > >> Makefiles, that is: > >> > >> XENO_CONFIG = DESTDIR="$(staging)" $(staging)/bin/xeno-config > >> > >> XENO_NATIVE_CPPFLAGS = $(shell $(XENO_CONFIG) --skin=native --cflags) > >> XENO_NATIVE_LIBS = $(shell $(XENO_CONFIG) --skin=native --ldflags) > >> > >> Where staging would be "/" in your case. > >> > >> If I want static libraries, I prepend -static to XENO_NATIVE_LIBS, I do > >> not try to link both with static and dynamic libraries. I suspect this > >> is the cause of your problem, either that or the fact that you have some > >> ulimit. > >> > >> Note that my toolchain does not even allow mixing static and dynamic > >> libraries. I get this warning when linking: > >> > >> > /usr/local/arm-2010q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: > >> > >> > /usr/local/arm-2010q1/bin/../arm-none-linux-gnueabi/libc/armv4t/usr/lib/libc.a(dl-tsd.o)(.text+0x18): > >> R_ARM_TLS_LE32 relocation not permitted in shared object > >> > >> And a segmentation fault when running (though I do not even access the > >> mmapped area). > >> > >> -- > >> Gilles. > >> > > > > > > I'll try to fix this issue later today. Thanks a lot for taking the time > to > > help me. > > Yes, note that I wasted a lot of time: I knew from the beginning that > the Makefile was broken, and this should have been the first thing I > verified. > > Anyway, the "first-hand" examples we provide are those documented here: > http://www.xenomai.org/index.php/Examples > > They come with working Makefiles, which you are encouraged to re-use. > > Also, xeno-config lacks support for getting the RTDM skin flags, but I > am going to add it to 2.5.6. > > -- > Gilles. > An out of the box Makefile (from Examples) with minor modifications did the trick. Regards, R.
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
