ECE497 Notes on gpio

From eLinux.org
Revision as of 15:27, 11 September 2012 by Yoder (Talk | contribs)

Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


These are notes on how to do gpio faster than the /sys/class/gpio.

DSP

Here are some notes on how to access the gpio pins from the DSP. So far it doesn't read the push button.

Here is the starting point for this. It appears to be a working example that reads the pushbutton (gpio 4) on the Beagle xM from the DSP.

Everything is in a git repository. Here are notes to how to set it up.

beagle$ cd exercises/DSPgpio
beagle$ ls -F
Makefile  readPushbuttonViaDSP*  readPushbuttonViaDSP.c
beagle$ make
/opt/toolchains/c6run_binary/bin/c6runapp-cc   readPushbuttonViaDSP.c -o readPushbuttonViaDSP
"readPushbuttonViaDSP.c", line 35: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 46: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 47: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 50: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 52: warning #225-D: function declared implicitly 

 undefined        first referenced             
  symbol              in file                  
 ---------        ----------------             
 _HWI_enableWugen ./readPushbuttonViaDSP.temp.o

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking;
   "readPushbuttonViaDSP.dsp_image.out" not built
make: *** [readPushbuttonViaDSP] Error 1

It appears HWI_enableWugen isn't defined. Let's comment it out and see what happens.

beagle$ make
/opt/toolchains/c6run_binary/bin/c6runapp-cc   readPushbuttonViaDSP.c -o readPushbuttonViaDSP
"readPushbuttonViaDSP.c", line 35: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 46: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 50: warning #225-D: function declared implicitly
"readPushbuttonViaDSP.c", line 52: warning #225-D: function declared implicitly 

readPushbuttonViaDSP successfully created

Success, but if you run it, it doesn't respond to the push button.

mmap

  • Here's a good discussion with many leads.
  • Here's a python lead.

PRU

Timers

  • how to change timer from 100 to 1000.

SPI




thumb‎ Embedded Linux Class by Mark A. Yoder