Example serial test

From wiki.emacinc.com
Revision as of 10:19, 25 September 2020 by Btisler (talk | contribs) (Added OE5 instructions)
Jump to: navigation, search
TODO: {{#todo:SEOKWREV (12.31.13-14:56->JG+);(1.2.14-11:20->MD+);(1.2.14-15:35->MG+);(04.07.14-10:00->BS+);(04.10.14-11:20->BS+)|Jgreene|oe 4,oe 5,jg,md,SEOKWREV,mg,bs}}

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

This application sets up and tests asynchronous IO on a serial port using poll() and fasync().

The serial project builds one executable: serial_test.

Opening, Building and Uploading the Project Files

For information on opening the project from within Eclipse, please see Importing the EMAC OE SDK Projects with Eclipse. Then, follow Using the EMAC OE SDK Projects with Eclipse for information on how to build, upload and execute the example.

Alternatively, the Makefile can be used with the make command from the commandline to build and upload the example. For information on this method, please see Using EMAC OE SDK Example Projects.

EMAC SDK 5.X

For information on opening the project from within QtCreator, please see QtCreator: Adding Source Files. Then, follow Getting Started With Qt Creator for information on how to build, upload and execute the example.

Alternatively, the CMakefile.txt can be used with the cmake command from the commandline to build and upload the example. For information on this method, please see Getting Started with the EMAC OE SDK.

Usage and Behavior

serial_test performs an asynchronous IO test on the specified serial device using either poll or FASYNC mode. It performs the test, reports, tests, report, etc. It will keep running until it is stopped manually via CTRL-C.

Hardware Requirements

It should run just fine on any device with a serial port.

Using serial_test

./serial_test DEVICE -[p] [-f] 
DEVICE
The serial device to use
-p
Use poll mode for asynchronous IO
-f
Use FASYNC mode for asynchronous IO

Usage Example: Test asynchronous IO using the poll mode

Perform the test on device /dev/ttyS1

root@som9g20:/tmp# ./serial_test /dev/ttyS1 -p
Testing on /dev/ttyS1 using poll() 
Received: : 21
Received: : 11
Received: : 6
Received: : 2
Received: : 1
Received: : 1
.
.
.
Received: : 1
Received: : 1
Received: : 1
^C

Hit CTRL-C to stop testing. In this example, no errors were reported.

Usage Example. Test asynchronous IO using the FASYNC mode

Perform the test on device /dev/ttyS1

root@som9g20:/tmp# ./serial_test /dev/ttyS1 -f
Testing on /dev/ttyS1 using FASYNC 
Received SIGIO signal.
: : 21
Received SIGIO signal.
: : 11
Received SIGIO signal.
: : 6
Received SIGIO signal.
: : 2
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
.
.
.
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
^C

Hit CTRL-C to stop testing. In this example, no errors were reported.

Summary

The serial C example project application performs an asynchronous IO test on the specified serial device using either poll or FASYNC mode.