Difference between revisions of "ECE497 Notes on gpio"
m (→ARM MMU: Added) |
m (→Copying memory: Added) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[Category: | + | [[Category:ECE497Notes |g ]] |
{{YoderHead}} | {{YoderHead}} | ||
These are notes on how to do gpio faster than the /sys/class/gpio. | These are notes on how to do gpio faster than the /sys/class/gpio. | ||
+ | |||
+ | == Copying memory == | ||
+ | |||
+ | Here's a [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13544.html nice article] on 7 ways to make the ARM copy memory every fast. | ||
+ | |||
+ | == i2c == | ||
+ | |||
+ | [https://github.com/korevec/node-i2c Node.js i2c interface] | ||
== DSP == | == DSP == |
Latest revision as of 08:35, 19 March 2014
Embedded Linux Class by Mark A. Yoder
These are notes on how to do gpio faster than the /sys/class/gpio.
Copying memory
Here's a nice article on 7 ways to make the ARM copy memory every fast.
i2c
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.
- Building a High Performance BeagleBone GPIO library in C is a lead from LinkedIn.
PRU
- This points to a nice walk through.
- PRU Wiki
- Nixie tube via PRU
- Spreadsheet for PRU pins
Timers
- how to change timer from 100 to 1000.
SPI
- Introduction to Serial Peripheral Interface looks like a nice overview.
ARM MMU
Embedded Linux Class by Mark A. Yoder