2009-05-10 08:14:02     Yet another SPORT question

2009-05-10 08:14:02     Yet another SPORT question

Jeppe Ledet-Pedersen (DENMARK)

Message: 73920   

Hi

I'm trying to figure out how to use the SPORT on my BF537-STAMP v2.1. I'm quiet unexperienced with embedded Linux, but I've managed to compile and install uClinux-dist-2008R1.5-RC3 - you can see my .config file here:   kom.aau.dk/~jledet/config

I've put this test program and Makefile together

aisd.c:   pastebin.com/f45427e53

Makefile:   pastebin.com/f6789947c

The files compile without any warnings, but when I run the program all I get is:

root:~> ./aisd

Using SPORT /dev/sport1

Opening SPORT...done

Configuring SPORT...failed

To start with, I would like just to write some data to the port, and verify it with an oscilloscope. Can you give me a push in the right direction? If you need more info about my configuration, please let me know.

Best regards,

Jeppe

QuoteReplyEditDelete

2009-05-10 08:38:31     Re: Yet another SPORT question

Jeppe Ledet-Pedersen (DENMARK)

Message: 73921   

If I insert a perror("ioctl") after the failed configuration, I get "ioctl: Invalid argument" as output - still can't figure out what I do wrong, though...

QuoteReplyEditDelete

2009-05-10 09:23:01     Re: Yet another SPORT question

Jeppe Ledet-Pedersen (DENMARK)

Message: 73922   

Line 76:

"if ((sportfd = open(sportfile, O_RDWR, 0) < 0)) {"

should of course be

"if ((sportfd = open(sportfile, O_RDWR, 0)) < 0) {"

Now it just hangs after configuring the SPORT. Could it be a clock problem?

QuoteReplyEditDelete

2009-05-11 10:44:22     Re: Yet another SPORT question

Kyle Schlansker (UNITED STATES)

Message: 73953    I'm not sure what happens when you reset permissions on an existing file/device at open time, but I would try replacing your call to open with the shortened calling convention:

"if ((sportfd = open(sportfile, O_RDWR)) < 0) {"

QuoteReplyEditDelete

2009-05-11 14:14:11     Re: Yet another SPORT question

Mike Frysinger (UNITED STATES)

Message: 73958   

please do not use external sites for posting files.  they will die over time and people cant refer to them.  post the files as attachments using the gforge system.

QuoteReplyEditDelete

2009-05-11 14:14:47     Re: Yet another SPORT question

Mike Frysinger (UNITED STATES)

Message: 73959   

the mode argument should be ignored completely if O_CREAT is not used

QuoteReplyEditDelete

2009-05-12 04:42:46     Re: Yet another SPORT question

Jeppe Ledet-Pedersen (DENMARK)

Message: 73987   

Hi,

Thank you for answering! I've removed the mode argument, but it does not seem to make a difference. I also tried to set the SPORT to use the internal clock, with a frequency of 10kHz.

I have attached my

aisd.c

Makefile

QuoteReplyEditDelete

2009-05-12 04:53:20     Re: Yet another SPORT question

Jeppe Ledet-Pedersen (DENMARK)

Message: 73988   

Sorry for the incomplete post. I have tried to monitor the output with a scope. With a wordlength of 32, 8 clock bits with the right frequency is clocked out on TSCLK1 - but no data. If I adjust the word length to 8, the bf just continuously clocks on the TSCLK1 until the watchdog restarts the chip.

I don't know if the attached files work - otherwise I have uploaded the files to   kom.aau.dk/~jledet/aisd.c and   kom.aau.dk/~jledet/Makefile

Thank you for your help

aisd.c

Makefile

QuoteReplyEditDelete

2009-05-18 03:37:35     Re: Yet another SPORT question

Jeppe Ledet-Pedersen (DENMARK)

Message: 74178   

I still haven't been able to transmit data properly using the SPORT. I someone has a functional piece of code using the SPORT, I would really appreciate if you would post it here. Once again, thank you for your help.

QuoteReplyEditDelete

2009-05-19 14:48:49     Re: Yet another SPORT question

Robin Getz (UNITED STATES)

Message: 74281   

There are lots of SPORT examples in the kernel drivers, and userspace examples.

If you are trying to get one working, and it does not - submit a bug report.

-Robin

  • Created
Was this helpful?

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.