Difference between revisions of "ECE497 Notes on gpio"

From eLinux.org
Jump to: navigation, search
m (Added Notes tag)
(Added mmap and PRU)
Line 2: Line 2:
 
{{YoderHead}}
 
{{YoderHead}}
  
 +
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 are some notes on how to access the gpio pins from the DSP.  So far it doesn't read the push button.
  
Line 41: Line 44:
  
 
Success, but if you run it, it doesn't respond to the push button.
 
Success, but if you run it, it doesn't respond to the push button.
 +
 +
== mmap ==
 +
 +
[https://groups.google.com/forum/?fromgroups#!topic/beagleboard/wkv24jV1zw8 Here's] a good discussion with many leads.
 +
 +
== PRU ==
  
 
{{YoderFoot}}
 
{{YoderFoot}}

Revision as of 15:14, 4 August 2012

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.

PRU



thumb‎ Embedded Linux Class by Mark A. Yoder