Example egpc

From wiki.emacinc.com
Revision as of 14:19, 27 December 2013 by Jgreene (talk | contribs) (Usage Example. Writing to Port C)
Jump to: navigation, search
TODO: {{#todo:InProgress(11.13.13-14:31->JG+)|Jgreene|oe 4,oe 5,jg,md,InProgress}}

This is a guide to the egpc C example project included in the EMAC OE SDK.

egpc is an application for reading/writing/configuring gpio character devices. Specifically, we read/write/configure the 3 ports (ports A, B and C) on the GPIO header.

The egpc project builds one executable: egpc.

Opening, Building and Uploading the Project Files

1. Open the C/C++ editing perspective.


2. Open the project files.


3. Build the project.


4. Upload the executables to the target system.


Usage and Behavior

egpc reads/writes/configures the GPIO ports.

Hardware Requirements

The egpc C example project will run on any EMAC carrier board.

Using egpc

./egpc device d/c/i (writearg)

device is /dev/porta, /dev/portb or /dev/portc d/c/i specifies the port command : d(data), c(configure), i(index) writearg is a bitmask in hex format.

If bitmask is specified then we write that value to the specified port using the specified port command. If it isn't then we read the port and print it's value.

Usage Example. Writing to Port C

We write a bitmask to Port C. The values are rendered in our LED strip. (note that only PortC is displayed in the LED strip. Ports A or B would require kind of device to read them; a multimeter or oscilloscope or something like that.)

./egpc /dev/portc d 0x55

LEDs 1-8 are lit: 10101010

MIKE I was thinking that maybe we could have some kind of general purpose "know your board" images (I have created a few) or wiki pages. They would point out things like the GPIO header and the LED strip.

./egpc /dev/portc d 0xaa

LEDs 1-8 are lit: 01010101