Difference between revisions of "Example serial test"

From wiki.emacinc.com
Jump to: navigation, search
m (Added example building instructions.)
m (Added redirect to intended page)
(Tag: New redirect)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{todo|Complete (12.31.13-14:56->JG+);(1.2.14-11:20->MD+);(1.2.14-15:35->MG+)|Jgreene|project=oe 4,oe 5,jg,md,Complete,mg}}
+
#REDIRECT [[Example_serial]]
 +
{{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|project=oe 4,oe 5,jg,md,SEOKWREV,mg,bs}}
 +
 
 +
{{#seo:
 +
|title=serial test
 +
|titlemode=append
 +
|keywords=Serial Test,Serial Port,Asynchronous
 +
|description=This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK.
 +
}}
 
This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK.
 
This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK.
  
Line 10: Line 18:
 
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.
 
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 <code>Makefile</code> can be used with the <code>make</code> command from the commandline to build and upload the example.  For more information on this method, please see [[Using EMAC OE SDK Example Projects]].
+
Alternatively, the <code>Makefile</code> can be used with the <code>make</code> 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 [[Getting_Started_With_Qt_Creator#Adding_Source_Files | QtCreator: Adding Source Files]].  Then, follow [[Getting Started With Qt Creator]] for information on how to build, upload and execute the example.
 +
 
 +
Alternatively, the <code>CMakefile.txt</code> can be used with the <code>cmake</code> command from the commandline to build and upload the example.  For information on this method, please see [[Getting_Started_with_the_EMAC_OE_SDK#Target_Machine_Compiling | Getting Started with the EMAC OE SDK]].
  
 
==Usage and Behavior==
 
==Usage and Behavior==

Latest revision as of 11:28, 25 September 2020

Redirect to:

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.