Difference between revisions of "Example serial test"

From wiki.emacinc.com
Jump to: navigation, search
(Summary)
m (Added redirect to intended page)
(Tag: New redirect)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{todo|InProgress(12.31.13-14:56->JG+)|Jgreene|project=oe 4,oe 5,jg,md,Review}}
+
#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 8: Line 16:
 
== Opening, Building and Uploading the Project Files ==
 
== Opening, Building and Uploading the Project Files ==
  
<big>1. Open the C/C++ editing perspective.</big>
+
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.
 
 
stub
 
 
 
<big>2. Open the project files.</big>
 
 
 
stub
 
  
<big>3. Build the project.</big>
+
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]].
  
stub
+
====EMAC SDK 5.X====
  
<big>4. Upload the executables to the target system.</big>
+
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.
  
stub
+
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==
  
<code>serial_test</code> performs an asynchronous IO test on the specified serial device using either '''poll''' or '''FASYNC''' mode. It performs the test, reports, test, report, etc. It will keep running until it is stopped manually via '''CTRL-C'''.
+
<code>serial_test</code> 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===
 
===Hardware Requirements===
Line 34: Line 36:
 
===Using <code>serial_test</code>===
 
===Using <code>serial_test</code>===
  
  <code>./serial_test DEVICE -p|-a</code>  
+
  <code>./serial_test DEVICE -[p] [-f]</code>  
  
 
;DEVICE: The serial device to use
 
;DEVICE: The serial device to use
Line 40: Line 42:
 
;-f: Use '''FASYNC''' mode for asynchronous IO
 
;-f: Use '''FASYNC''' mode for asynchronous IO
  
===Usage Example. Test asynchronous IO using the '''poll''' mode===
+
===Usage Example: Test asynchronous IO using the '''poll''' mode===
  
 
Perform the test on device <code>/dev/ttyS1</code>
 
Perform the test on device <code>/dev/ttyS1</code>
Line 62: Line 64:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
...we hit CTRL-C to stop testing. No errors were reported.
+
Hit CTRL-C to stop testing. In this example, no errors were reported.
  
 
===Usage Example. Test asynchronous IO using the '''FASYNC''' mode===
 
===Usage Example. Test asynchronous IO using the '''FASYNC''' mode===
Line 97: Line 99:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
...we hit CTRL-C to stop testing. No errors were reported.
+
Hit CTRL-C to stop testing. In this example, no errors were reported.
  
 
==Summary==
 
==Summary==
  
 
The <code>serial</code> C example project application performs an asynchronous IO test on the specified serial device using either '''poll''' or '''FASYNC''' mode.
 
The <code>serial</code> C example project application performs an asynchronous IO test on the specified serial device using either '''poll''' or '''FASYNC''' mode.

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.