53
VxWorks Real-Time Kernel Connectivity: Cumulative Report CEN 4935 Joanne Sirois FGCU May 4, 2009

VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

Embed Size (px)

Citation preview

Page 1: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

VxWorks Real-Time Kernel Connectivity:

Cumulative Report

CEN 4935

Joanne Sirois

FGCU

May 4, 2009

Page 2: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

2

Table of Contents

1. Introduction ................................................................................................................................. 5

2. Software Requirement Specification .......................................................................................... 6

2.1. Introduction .............................................................................................................................. 6

2.1.1 Purpose ............................................................................................................................... 6

2.1.2 Scope of Document ............................................................................................................ 6

2.1.3 Definitions, Acronyms, and Abbreviations ........................................................................ 6

2.1.4 References .......................................................................................................................... 7

2.1.5 Overview of document ....................................................................................................... 7

2.2. Description of Project .............................................................................................................. 7

2.2.1 Project Overview ................................................................................................................ 7

2.2.2 Project Functions ................................................................................................................ 8

2.2.3 User Characteristics............................................................................................................ 9

2.2.4 Assumptions and Dependencies ......................................................................................... 9

2.3. Specific Requirements ........................................................................................................... 10

2.3.1 External Interfaces............................................................................................................ 10

2.3.2 Functional Requirements.................................................................................................. 10

2.3.3 Non-Functional Requirements ......................................................................................... 10

3.3.1 Reliability ..................................................................................................................... 10

3.3.2 Availability ................................................................................................................... 10

3.3.3 Security ......................................................................................................................... 10

3.3.4 Maintainability.............................................................................................................. 10

3.3.5 Portability ..................................................................................................................... 10

2.3.4 Organizing the Specific Requirements ............................................................................. 11

Page 3: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

3

2.3.4.1 System Modes............................................................................................................ 11

2.3.4.2 User Class .................................................................................................................. 11

2.3.4.3 Objects ....................................................................................................................... 11

2.3.4.4 Feature ....................................................................................................................... 11

2.3.4.5 Response .................................................................................................................... 11

2.3.4.7 Functional hierarchy .................................................................................................. 11

3. Software Design Description .................................................................................................... 12

3.1. Introduction ............................................................................................................................ 12

3.1.1 Purpose ............................................................................................................................. 12

3.1.2 Scope of Document .......................................................................................................... 12

3.1.3 Definitions, Acronyms, and Abbreviations ...................................................................... 12

3.2. References .............................................................................................................................. 12

3.3. Decomposition and Dependency Description ........................................................................ 13

3.3.1 Module Decomposition .................................................................................................... 13

3.1.1 Simple WEB Server ...................................................................................................... 14

3.3.1.2 Interprocess Communication Service Module .......................................................... 15

3.3.1.3 Event and exception logging package ....................................................................... 16

3.1.4 Message-oriented IPC utility functions. ....................................................................... 16

3.3.1.5 Server's infinite loop .................................................................................................. 17

3.3.2 Dependency ...................................................................................................................... 17

3.3.2.1 Simple WEB Server................................................................................................... 17

3.3.1.2 Interprocess Communication Service Module .......................................................... 17

3.3.1.3 Event and exception logging package ....................................................................... 18

3.3.1.4 Message-oriented IPC utility functions. .................................................................... 18

3.3.1.5 Server's infinite loop .................................................................................................. 18

Page 4: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

4

4. Implementation ......................................................................................................................... 19

4.1. User Instructions ................................................................................................................ 19

4.2 Program Development......................................................................................................... 27

4.2.1 Structure........................................................................................................................ 27

4.2.2 Example ........................................................................................................................ 29

4.2.3 Remote Access ............................................................................................................. 30

5. Testing Documents ................................................................................................................... 35

6. Conclusion ................................................................................................................................ 41

7. References ................................................................................................................................. 41

Appendix ....................................................................................................................................... 42

Compilation 1 ............................................................................................................................ 42

Compilation 2 ............................................................................................................................ 44

Compilation 3 ............................................................................................................................ 49

Page 5: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

5

1. Introduction

When using automated data acquisitions systems, they need to be monitored frequently

for continuation of operation. This is important because data acquisitions whole purpose is to

take reliable readings using specific instruments. If this function is off even slightly, the results

could be considered completely worthless. That is why issues have to be resolved as quickly as

possible. One solution proposed by E. Desavouret and J. Nogiec is to create a type of toolkit

which gives technicians the ability to see the status of DAQ devices quickly through any

computer with an internet connection [1].

Page 6: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

6

2. Software Requirement Specification

2.1. Introduction

2.1.1 Purpose

The software requirement specification document is particularly designed

to define the boundaries of the VxWorks Real-Time Kernel Connectivity project’s

design and functionality. This documentation is intended but not be limited to the

system owners, the system users, and the project manager.

2.1.2 Scope of Document

This document identifies the software product that will be developed using

the VxWorks engine and single board computer.

2.1.3 Definitions, Acronyms, and Abbreviations

SBC. Single Board Computer, seen in Figure 1.

user. The person, or persons, who operate or interact directly with the product.

DAQ. Data Acquisition.

Figure 1 Wind River SBC

Page 7: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

7

2.1.4 References

[1] Desavouret, E., and J. Nogiec. "Web Tools To Monitor And Debug DAQ

Hardware." Fermilab 131 (2003).

[2] Fink, J. "What is a kernel?" What is a kernel? 25 Sept. 2008

<http://systhread.net/texts/200606kern_def.php>.

[3] Rogers, D. "Software on board mars pathfinder has Berkeley lab ties."

Berkeley Lab Currents. 8 Aug. 1997. 23 Sept. 2008

<http://www.lbl.gov/publications/currents/archive/aug-8-1997.html#rtftoc2>.

[4] "Wind River VxWorks." Wind River. Jan. 2008. Wind River. 21 Sept. 2008

<http://www.windriver.com/products/vxworks>.

[5] "Wind River Workbench awarded best commercial Eclipse-based developer

tool by the Eclipse Foundation." Wind River at EclipseCon 2008. 19 Mar. 2008.

Wind River. <http://www.windriver.com/announces/eclipsecon2008/>.

[6] "Introduction of an Embedded system." MIZI Linux SDK for S3C2410. MIZI

Research, Inc. 6 Oct. 2008

<http://www.mizi.com/developer/s3c2410x/index.html>.

2.1.5 Overview of document

The Software Requirement Specification defines and illustrates the overall

project and its requirements. In addition the SRS defines the users and their

respective characteristics as well as any constraints to development that have been

identified.

This requirements section addresses how this shall software interfaces

with data acquisition and control equipment connected to it. It delineates

specifications for every facet of the components design.

2.2. Description of Project

2.2.1 Project Overview

When using automated data acquisitions systems, they need to be

monitored frequently for continuation of operation. This is important because data

acquisitions whole purpose is to take reliable readings using specific instruments.

If this function is off even slightly, the results could be considered completely

Page 8: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

8

worthless. That is why issues have to be resolved as quickly as possible. One

solution proposed by E. Desavouret and J. Nogiec [1] to create a type of toolkit

which gives technicians the ability to see the status of DAQ devices quickly

through any computer with an Internet connection [1].

In their solution, they have a host web server which collects information

from a set of data acquisition devices that have their own specialized web servers

installed on them. The host server takes the information from the devices and

publishes it to a viewable webpage, so that it can be accessed from computer with

an internet connection. This is what will be emulated, with the SBC box being the

DAQ device, and the HP desktop being the host server.

Figure 2- Initial system, target, and test selection for Toolkit

2.2.2 Project Functions

The web toolkit should consist of a set of HTML pages displayed in a web

browser, specialized web servers, test handlers, and support utilities.

The system shall be comprised of a central web server used for selecting a test

target, and specialized target web servers running on tested or monitored

computers.

The user should be able to select a system, then a computer to test, and finally a

device or monitoring program.

Page 9: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

9

The tested computer should be selected either by its name or its function.

The user-specified requests should be sent to an appropriate specialized web

server on the chosen target computer.

The web server should execute a proper test handler and send a reply page back.

The toolkit should conform to an architecture that is parallel and independent to

application architecture.

The software should be able to interface and link all components of system refer

to figure 3.

Figure 3-Context Diagram

2.2.3 User Characteristics

Users should be developers of the DAQ devices.

User should be supplementary to the standard single-user rlogin mechanism [1].

2.2.4 Assumptions and Dependencies

The System relies on a relationship with DAQ devices.

The System relies on the connection to the internet.

The System requires communication with the Linux server Satnet.

Serial Connection

Page 10: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

10

2.3. Specific Requirements

2.3.1 External Interfaces

Application shall receive updated information from DAQ devices after a request.

2.3.2 Functional Requirements

3.2.1 Input Requirements

The software shall verify that all data received from DAQ devices is valid.

The software shall verify inputs from the user are valid.

3.2.2 Output Requirements (Fig. 3)

The software shall output the requested DAQ devices data.

The software shall replace the existing DAQ devices data with new data as

received.

The system shall provide an error message if invalid data is requested.

The system shall provide an error message if the system is unable to find a

DAQ device.

2.3.3 Non-Functional Requirements

3.3.1 Reliability

The application shall perform its task while the SBC and Host machine are

running.

3.3.2 Availability

The application shall only be available to a user with an internet

connection.

The application shall only be available to a user with a login.

3.3.3 Security

The application shall have a user rlogin mechanism. [1]

3.3.4 Maintainability

The application shall not have any maintainability requirements.

3.3.5 Portability

The application shall be accessible from any computer with internet.

Page 11: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

11

2.3.4 Organizing the Specific Requirements

2.3.4.1 System Modes

The initial system state upon execution will be in standby.

The software will request the status of the DAQ device when prompted by

the user.

2.3.4.2 User Class

There are no administrative functions associated with the system;

therefore it is not necessary to implement user classes.

2.3.4.3 Objects

The external objects associated with this program are the DAQ devices,

and the user who operates the system.

2.3.4.4 Feature

The initial version of the application will be completely independent of

any external systems or processes.

2.3.4.5 Response

The system shall respond only when prompted by a user.

2.3.4.7 Functional hierarchy

The application requests which devices to contact from user.

The application validates request received from user.

If the DAQ device is valid, the system will request data from the DAQ

device.

The system will display the data from the DAQ device.

Page 12: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

12

3. Software Design Description

3.1. Introduction

3.1.1 Purpose

The software design description document specifies the design, layout,

and composition of the VxWorks Real-Time Kernel Connectivity project’s design

and functionality.

3.1.2 Scope of Document

This document encompasses the Architectural Layout, Data Design,

Architecture Design Interface Design and Procedural Design.

3.1.3 Definitions, Acronyms, and Abbreviations

SBC. Single Board Computer, seen in Figure 1.

user. The person, or persons, who operate or interact directly with the product.

DAQ. Data Acquisition.

Figure 4 Wind River SBC

3.2. References

[1] Desavouret, E., and J. Nogiec. "Web Tools To Monitor And Debug DAQ

Hardware." Fermilab 131 (2003).

[2] Fink, J. "What is a kernel?" What is a kernel? 25 Sept. 2008

<http://systhread.net/texts/200606kern_def.php>.

Page 13: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

13

[3] Rogers, D. "Software on board mars pathfinder has Berkeley lab ties."

Berkeley Lab Currents. 8 Aug. 1997. 23 Sept. 2008

<http://www.lbl.gov/publications/currents/archive/aug-8-1997.html#rtftoc2>.

[4] "Wind River VxWorks." Wind River. Jan. 2008. Wind River. 21 Sept. 2008

<http://www.windriver.com/products/vxworks>.

[5] "Wind River Workbench awarded best commercial Eclipse-based developer

tool by the Eclipse Foundation." Wind River at EclipseCon 2008. 19 Mar. 2008.

Wind River. <http://www.windriver.com/announces/eclipsecon2008/>.

[6] "Introduction of an Embedded system." MIZI Linux SDK for S3C2410. MIZI

Research, Inc. 6 Oct. 2008

<http://www.mizi.com/developer/s3c2410x/index.html>.

[7] IEEE P1016/D7 Draft Standard for Information Technology – System Design

– Software Design Descriptions

3.3. Decomposition and Dependency Description

3.3.1 Module Decomposition

The modules will be based off of the context diagram shown below in

Figure 2.

Page 14: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

14

Figure 5-Context Diagram

The system will have to request and receive data from the clients and publish

the data to the web server when prompted by the user. The host computer will

only be used to update/maintain the system. The webserver program itself

consist of five modules.

3.1.1 Simple WEB Server

Identification: WEBSERVER

Type:

Purpose:

The webserver program is a portable WEB server intended to be used for

local application. Webserver supports CGI with both POST and GET

methods. The Unix implementation is intended to be used mostly for CGI

testing purposes, while the VxWorks is intended to be a deployment

platform.

Function:

The webserver program running under VxWorks can be used to enable

querying RTDB (Real-Time Data Base) from Web browsers.

Serial Connection

Page 15: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

15

The Web browser can be used also as a front end for various CGI

programs.

The set of environment variables defined by the webserver program is

limited to the following values: REQUEST_METHOD,

CONTENT_LENGTH, QUERY_STRING, and DOCUMENT_ROOT.

Webserver program doesn't implement any security policy.

The server is currently implemented as a single-threaded program.

The input to CGI programs is limited to 16kB.

3.3.1.2 Interprocess Communication Service Module

UTILITY: General purpose software

CONTENTS: This module contains the following functions that can be used

to implement a connection-oriented communication using stream sockets:

ipc_makeService - create a socket and bind it to the port

corresponding to the given

service

ipc_makeServer - create a socket a bind it to a given port

ipc_attachClient - accept incoming connection from client and get

client name

ipc_connectService - connect client to a server process using a name of

service as address

ipc_connectServer - connect client to a server using a port as address

ipc_rpc - send request to the server and receive reply

ipc_rpcTmout - send request to server and receive reply with

timeout protection

ipc_rpcTmoutC - send request to server and receive reply with

timeout protection using already established

connection

ipc_read - read a given number of bytes from a stream socket

ipc_write - write a given number of bytes to a stream socket

ipc_close - close connection (call shutdown() and close())

Page 16: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

16

ipc_readOrTimeout -read requested number of bytes or time-out

ipc_setReadTimeout - set read time-out value

3.3.1.3 Event and exception logging package

UTILITY: VMTF

FUNCTION: Functions provide standard error reporting method as well as

event reporting method. Currently they print exception/event information on

stderr but in the future will be sending data to a central error and event logger.

CONTENTS: The module contains:

public routines:

log_error() - log error information

log_warning() - log warning information

log_event() - log event information

private routine:

log_doit() - print error/event information

log_construct() - assemble message

3.1.4 Message-oriented IPC utility functions.

Message format:

Figure 6 - Message Format for Web Server

msg_send() - write message to a given fd

msg_receive() - read message from a given fd

msg_receiveOrTimeout - read message from a given fd or time-out

Page 17: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

17

3.3.1.5 Server's infinite loop

This module contains an universal server main loop and a set of functions to

manipulate the structure containg information about all the clients.

CONTENTS:

srv_init() - init Server Control Block

srv_loop() - receive and serve requests

srv_closeAllConnections() - close all active connections

srv_closeConnection() - close single connection

srv_clientNextFd() - iterator function to go thru all the

connections

srv_clientAdd() - add a new connection (client)

srv_clientDel() - remove a given connection (client)

srv_clientGetName() - get client's name

srv_getClientInfo() - get the information associated with

a client

srv_setClientInfo() - set the information associated with

a client

srv_clientAlloc() - allocate memory for Server control

Block

srv_setSpecialFd() - set special file descriptor

srv_getSpecialFd() - get special file descriptor

srv_catchSignals() - ignore some Unix signals

srv_srv_keepUnknownClients() - do not disconnect unidentified

clients

3.3.2 Dependency

3.3.2.1 Simple WEB Server

Function relies on service port number.

Function relies on root web directory.

3.3.1.2 Interprocess Communication Service Module

Function relies on service name, name of the service.

Page 18: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

18

3.3.1.3 Event and exception logging package

Function relies on occurrence of an event.

3.3.1.4 Message-oriented IPC utility functions.

Function relies on request.

3.3.1.5 Server's infinite loop

Function relies on internet connectivity.

Page 19: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

19

4. Implementation

The webserver program is a portable web server running on the VxWorks target

intended to be used for accessing local applications running on measurement devices (see

Figure 5). Webserver supports CGI with both POST and GET methods and is intended to

be a platform for an Internet based control of remote devices.

The webserver program can be also used to enable querying RTDB (Real-Time

Data Base) from web browsers. The web browser can be used also as a front end for

various CGI programs allowing for development of various diagnostic systems,

calibration applications, hardware tests, and resources monitoring applications.

4.1. User Instructions To fully understand the operation of the server and be able to program and modify it, one

has to have full command of VxWorks programming. This is explained in Victor Elci’s paper [9].

The following steps have to be followed to run the webserver:

1. Open the FTP server (Start->Programs->Wind River-> VxWorks 6.6 and General

Purpose Technologies->FTP Server). A window shown in Fig. 7 should appear.

Figure 7 - FTP Server

Page 20: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

20

2. Open up Workbench Open the FTP server (Start->Programs->Wind River->

Workbench 3.0-> Workbench 3.0) A window shown in Figure 8 should appear.

Figure 8 - Workbench 3.0

Page 21: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

21

3. Make sure the Build Properties are on gnu. You can see them by right clicking on

the Webserver project in the Project Explorer, assuming that the source is already

there, section in the top left of Figure 8. Then choose properties from the list and

then click on Build Properties on the left window that appears. You should see the

screen as shown in Figure 9.

Figure 9 - Build Properties

Page 22: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

22

4. Right Click the Webserver folder and Build Project (Figure 10), to create an

executable webserver.out. As a result a compilation will occur and respective

messages will be shown in a Build Console window.

Figure 10 - Build Project

5. Connect to the Target by right clicking on the VxWorks in Remote Systems

window, and select connect VxWorks. As a result the VxWorks line in Remote

Systems window will expand and the conection status is shown in the bottom line

of the Workbench window.

Note: If the Connection is lost at any point, this step and all preceding it have to

be repeated after resetting the target hardware (by pressing the Power Button

twice)

Page 23: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

23

6. Download the Webserver.out to the target (Figure 11). You can do this by

expanding the Webserver project and then expanding the Build Targets, then right

click on Webserver.out and choose download. A couple of diagnostic windows

may appear to which you should click OK. The Webserver.out file will appear in

the Remote Systems window under your box.

Figure 11 – Download Webserver.out file

Page 24: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

24

7. Run the host shell by right clicking on the VxWorks line in Remote Systems

window as show in Figure 12. This can be accomplished in multiple ways, for

example by choosing the Target button from the Main menu of the Workbench.

Figure 12 – Run Host Shell

Page 25: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

25

8. Select OK in the window which shows up and the host shell should appear as

shown in Figure 13.

Figure 13 - Host Shell

9. To run the web server execute the command:

taskSpawn "tWeb", 100, 8, 160000, webserver, 80, 50,

"/webserver/"

"/webserver" is the location of the directory in the above case. The directory is

located in the main drive of the device “JZ-HP-WINXP” or host computer. You can

change the contents in the directory without the need to reset the server.

Page 26: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

26

The taskSpawn() function is show in figure 14. The values of three arguments are as

follows: Port = 80, maxClients = 50, rootDirectory = “/webserver/”

Figure 14 - Prototype of taskSpawn

The entry point for webserver is detailed below: int webserver(int servicePort, int maxClients, char *directory)

If no port is given the server uses its default port (80). The directory option is

given to define a root web directory. Only files located in this directory and its

subdirectories can be accessed by the user.

10. In order to get the web server running you need to request the website address

three times in the browser. After that, any other user should be able to connect

without being sent into an infinite waiting time. In my case I would request the IP

address, 69.88.163.22, in a web browser twice. (This bug will be fixed.)

Page 27: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

27

4.2 Program Development

4.2.1 Structure

The structure of the entry point in the webserver is shown in a compact way in Figure 15 and 16.

Figure 15 - Flow chart of entry point Part A

Page 28: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

28

Figure 16 - Flow Chart of Entry Point Part B

Page 29: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

29

4.2.2 Example

Below is example code for a simple CGI program written for the vxWorks server.

Inorder for the CGI program to work the webserver should be in the svr_loop(),

successfully implement. In svr_loop is called by: srv_loop(&scb, listenFd, maxClients, &timeoutStruct, -1,

&web_message, &web_timeout);

Web_message is a function that calls the CGI handler so that a CGI program like the on

below could be implemented.

Example Code #1: Simple CGI Program

/* Simple CGI program that returns the parameters sent to it.*/ #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef vxworks int simplecgi(void) #else extern char **environ; int main(int argc, char **argv) #endif { int content_length = 0; char *p_request_method = NULL; char *p_user_input = NULL; char *p_content_length = NULL; printf("<html>\n" "<head>\n" "<title>CGI</title>\n" "</head>\n" "<body>\n" "<pre>\n"); if((p_request_method=getenv("REQUEST_METHOD")) != NULL) { printf("REQUEST_METHOD = %s\n", p_request_method); printf("DOCUMENT_ROOT = '%s'\n", getenv("DOCUMENT_ROOT")); if(strncmp(p_request_method, "GET", 3) == 0) { printf("CONTENT_LENGTH = %s\n", getenv("CONTENT_LENGTH")); printf("USER_INPUT = '%s'\n", getenv("QUERY_STRING")); } else if(strncmp(p_request_method, "POST", 4) == 0) { if((p_content_length=getenv("CONTENT_LENGTH")) != NULL) { if(sscanf(p_content_length, "%d", &content_length) == 1){ printf("CONTENT_LENGTH = %d\n", content_length); if((p_user_input=malloc(content_length+1)) != NULL){ if(fread(p_user_input, 1, content_length, stdin) > 0) { p_user_input[content_length] = '\0'; printf("USER_INPUT = '%s'\n", p_user_input); } free(p_user_input); } } } } } printf("</pre>\n</body>\n<html>\n"); return 0; }

Page 30: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

30

4.2.3 Remote Access Sometimes working on the host computer is not always possible. In order to work

on the webserver without working on the host computer physically the computer has been set up for remote access. Below is some instructions on how to remote into the host computer.

In order for you to connect remotely to the host computer your computer must be running on Windows 95 or later. You also need to know the IP address of the host computer.

To set up the Remote Desktop, start with the host computer (this set has already be initiate of the schools host).

1. Click Start, click Control Panel, and then click Performance and Maintenance.

Figure 17 - Control Panel

2. Click System.

Page 31: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

31

Figure 18 - Performance and Maintenance

3. Click the Remote tab, select the Allow users to connect remotely to this computer check box, and then click OK.

Next, make sure you have Windows Firewall set up to allow exceptions.

1. In the Control Panel, click Security Center. 2. Under Manage security settings for, click Windows Firewall.

Figure 19 - Security Center

3. Make sure the Don't allow exceptions check box is not selected

Page 32: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

32

Figure 20 - Windows Firewall

4. Click the Exceptions tab, and verify that the Remote Desktop check box is selected.

Page 33: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

33

Figure 21 - Windows Firewall Exceptions

5. Click OK, and then close the Windows Security Center window. Your host computer is now set up to allow remote access.

To connect the client (or remote) computer to the host computer, follow these steps:

1. On your home computer, click Start, run, type mstsc (Microsoft Control Center)

Figure 22 – Run mstsc

2. In the Remote Desktop Connection box, type the IP Address of your host computer.

Page 34: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

34

Figure 23 - Remote Desktop Connection

3. Click Connect. 4. When the Log On to Windows dialog box appears, type your user name, password,

and domain (if required), and then click OK.

Figure 24 - Log On to Windows

5. The Remote Desktop window opens, and you see the desktop settings, files, and programs that are on your host computer, which in this example is your work computer. Your host computer remains locked, and nobody can access it without a password. In addition, no one will be able to see the work you are doing remotely.

To end your Remote Desktop session: 1. Click Start and then click Log Off. 2. When Prompted, click Log Off

Figure 25 - Log of WIndows

Page 35: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

35

5. Testing Documents

At the time of this writing the implementation of the webserver is still under

development. Below is the description of current problems and their suggested resolution.

After getting the code to compile I ran the program and got the following output

which can be seen in the Appendix under Compilation 1. If I ran the program in the Host

Shell by using the function taskSpawn, shown below, the task would pend and have the

error number 0x2b0001. taskSpawn "tWeb", 100, 8, 160000, webserver, 80, 50, " /webserver/"

Error number 0x2b0001 is: S_inetLib_ILLEGAL_INTERNET_ADDRESS (2818049 or 0x2b0001) May be set by the following routines:

arpAdd( ), arpDelete( ), arpResolve( ), dhcpcBind( ), dhcpcBootInformGet( ), dhcpcInformGet( ), dhcpsInit( ), dhcpsLeaseEntryAdd( ), ftpHookup( ), ftpLs( ), ftpXfer( ), hostAdd( ), hostDelete( ), ifAddrAdd( ), ifAddrDelete( ), ifAddrGet( ), ifAddrSet( ), ifBroadcastGet( ), ifBroadcastSet( ), ifDstAddrGet( ), ifDstAddrSet( ), ifFlagChange( ), ifFlagGet( ), ifFlagSet( ), ifMaskGet( ), ifMaskSet( ), ifMetricGet( ), ifMetricSet( ), ifUnnumberedSet( ), inet_addr( ), inet_aton( ), inet_netof_string( ), ipDetach( ), m2RipIfConfEntryGet( ), m2RipIfConfEntrySet( ), mRouteAdd( ), mRouteDelete( ), ping( ), proxyNetCreate( ), proxyNetDelete( ), proxyReg( ), proxyUnreg( ), rcmd( ), resolvInit( ), resolvParamsSet( ), ripAuthHookAdd( ), ripAuthHookDelete( ), ripLeakHookAdd( ), ripLeakHookDelete( ), ripSendHookAdd( ), ripSendHookDelete( ), rlogin( ), routeAdd( ), routeDelete( ), routeNetAdd( ), slipInit( ), sntpcTimeGet( ), sntpsConfigSet( ), sockUploadPathCreate( ), tftpCopy( ), tftpPeerSet( ), tftpXfer( ), wdbEndPktDevInit( ), wvNetAddressFilterSet( )

The issue is none of these routines are called through in the program or headers.

Therefore I figured the error was because the web server was made to compliment many

operating systems.

In order to see if that was true I commented out any code calling for another OS

function.

The first program I touched was ipclib.c and I commented out some header files

along with inside. Below is the commented out includes:

Page 36: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

36

/*#ifndef vxworks *//* Unix */ /*#include <netdb.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <sys/sem.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/types.h> #include <sys/time.h> #include <signal.h> #include <sys/wait.h> #include <netinet/tcp.h> #else */ /* vxworks */ #include <ioLib.h> #include <hostLib.h> #include <inetLib.h> #include <sys/socket.h> #include <sockLib.h> #include <in.h> #include <sysLib.h> #include <selectLib.h> #include <netinet/tcp.h> #include "netdblib.h" /*#endif *//* Unix */

If a compile then I get this list of errors:

Page 37: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

37

Build Started in Project 'Webserver': 2009-04-29 04:52:00 Generation of makefiles started. Generation of makefiles finished (Elapsed Time: 00:00). Platform: Wind River VxWorks 6.6 Command: make --no-print-directory BUILD_SPEC=PPC860sfdiab DEBUG_MODE=0 TRACE=1 Working Directory: C:/WindRiver/workspace/Webserver/PPC860sfdiab if [ ! -d "`dirname "Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o"`" ]; then mkdir -p "`dirname "Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o"`"; fi;echo "building Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o"; dcc -XO -Xsize-opt -tPPC860FS:vxworks66 -W:c:,-Xclib-optim-off -Xansi -Xlocal-data-area-static-only -Xforce-declarations -Xmake-dependency=0xd -IC:/WindRiver/vxworks-6.6/target/h -IC:/WindRiver/vxworks-6.6/target/h/wrn/coreip -DCPU=PPC860 -DTOOL_FAMILY=diab -DTOOL=sfdiab -D_WRS_KERNEL -o "Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o" -c "C:/WindRiver/workspace/Webserver/webserver/ipclib/ipclib.c" building Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\wrapper/wrapperHostLib.h", line 36: error (dcc:1633): parse error near 'socklen_t' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\wrapper/wrapperHostLib.h", line 37: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\wrapper/wrapperHostLib.h", line 37: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netinet/in.h", line 471: error (dcc:1100): member is incomplete "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netinet/in.h", line 480: error (dcc:1100): member is incomplete "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netinet/in.h", line 481: error (dcc:1100): member is incomplete "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netdb.h", line 226: error (dcc:1633): parse error near 'socklen_t' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netdb.h", line 227: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netdb.h", line 227: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\hostLib.h", line 158: error (dcc:1633): parse error near 'socklen_t' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\hostLib.h", line 158: warning (dcc:1503): missing semi-colon "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\hostLib.h", line 158: warning (dcc:1503): missing semi-colon "C:/WindRiver/workspace/Webserver/webserver/ipclib/ipclib.c", line 66: error (dcc:1722): junk after `#include <filename>' "C:/WindRiver/workspace/Webserver/webserver/ipclib/ipclib.c", line 68: error (dcc:1722): junk after `#include <filename>' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\inetLib.h", line 79: error (dcc:1086): redeclaration of inet_lnaof "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\inetLib.h", line 80: error (dcc:1086): redeclaration of inet_netof "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\inetLib.h", line 81: error (dcc:1086): redeclaration of inet_network "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\sockLib.h", line 83: error (dcc:1086): redeclaration of setsockopt "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\sockLib.h", line 91: error (dcc:1086): redeclaration of sendmsg "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\sockLib.h", line 93: error (dcc:1086): redeclaration of sendto "C:/WindRiver/workspace/Webserver/webserver/ipclib/ipclib.c", line 73: error (dcc:1621): can't find include file netdblib.h C:\WindRiver\workbench-3.0\x86-win32\bin\make.exe: *** [Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o] Error 1 Build Failed in Project 'Webserver' (Process Exit Value was 2): 2009-04-29 04:52:00 (Elapsed Time: 00:01)

Page 38: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

38

I decide to check out hostlib.h hostlib.h calls: #include <wrapper/wrapperHostLib.h> #include <netinet/in.h> #include <sys/socket.h> #include <netdb.h> #include <lstLib.h> #include <vwModNum.h> #include <net/if.h>

So I commented out socket.h, inetLib.h, sockLib.h since the compiler claim to have

redeclarations of functions. The segment now looks like: /*#ifndef vxworks *//* Unix */ /*#include <netdb.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <sys/sem.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/types.h> #include <sys/time.h> #include <signal.h> #include <sys/wait.h> #include <netinet/tcp.h> #else */ /* vxworks */ #include <ioLib.h> #include <hostLib.h> /*#include <inetLib.h>*/ /*Already declared functions?*/ #include <sys/socket.h> /*#include <sockLib.h>*/ /*Already declared functions?*/ /*#include <in.h>*/ #include <sysLib.h> #include <selectLib.h> #include <netinet/tcp.h> /*#include "../netdblib/netdblib.h" */ /*#endif *//* Unix */

And now the compiler shows:

Page 39: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

39

Build Started in Project 'Webserver': 2009-04-29 04:58:53 Generation of makefiles started. Generation of makefiles finished (Elapsed Time: 00:00). Platform: Wind River VxWorks 6.6 Command: make --no-print-directory BUILD_SPEC=PPC860sfdiab DEBUG_MODE=0 TRACE=1 Working Directory: C:/WindRiver/workspace/Webserver/PPC860sfdiab if [ ! -d "`dirname "Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o"`" ]; then mkdir -p "`dirname "Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o"`"; fi;echo "building Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o"; dcc -XO -Xsize-opt -tPPC860FS:vxworks66 -W:c:,-Xclib-optim-off -Xansi -Xlocal-data-area-static-only -Xforce-declarations -Xmake-dependency=0xd -IC:/WindRiver/vxworks-6.6/target/h -IC:/WindRiver/vxworks-6.6/target/h/wrn/coreip -DCPU=PPC860 -DTOOL_FAMILY=diab -DTOOL=sfdiab -D_WRS_KERNEL -o "Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o" -c "C:/WindRiver/workspace/Webserver/webserver/ipclib/ipclib.c" building Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\wrapper/wrapperHostLib.h", line 36: error (dcc:1633): parse error near 'socklen_t' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\wrapper/wrapperHostLib.h", line 37: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\wrapper/wrapperHostLib.h", line 37: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netinet/in.h", line 471: error (dcc:1100): member is incomplete "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netinet/in.h", line 480: error (dcc:1100): member is incomplete "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netinet/in.h", line 481: error (dcc:1100): member is incomplete "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netdb.h", line 226: error (dcc:1633): parse error near 'socklen_t' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netdb.h", line 227: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\netdb.h", line 227: error (dcc:1086): redeclaration of size_t "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\hostLib.h", line 158: error (dcc:1633): parse error near 'socklen_t' "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\hostLib.h", line 158: warning (dcc:1503): missing semi-colon "C:/WindRiver/vxworks-6.6/target/h/wrn/coreip\hostLib.h", line 158: warning (dcc:1503): missing semi-colon C:\WindRiver\workbench-3.0\x86-win32\bin\make.exe: *** [Webserver_partialImage/NonDebug/Objects/Webserver/webserver/ipclib/ipclib.o] Error 1 Build Failed in Project 'Webserver' (Process Exit Value was 2): 2009-04-29 04:58:54 (Elapsed Time: 00:01)

I am uncertain of why these errors occur since no modification of the headers has

happened since October 2007.

I have changed the build specs to gnu and edited some code. The web server now

runs after some minor editing.

Page 40: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

40

Functions that where edited:

struct tm localTime in void log_construct()

This function had an error when it referenced to localTime.tm_year since the logging

feature itself is not crucial to the web server I removed the time and dating feature.

vsprintf(&(buf[strlen(buf)]), format, ap) in void log_construct()

vsprintf() had an error when calling the function, it was commented out.

if (clientFd > maxFd){ /*JS 05/04/09 */

maxFd = clientFd-1; /*JZ 05/05/09 entered -1*/ }

clientFd – 1 was added to prevent exception.

int length = 0; /*struct stat fileStat;*/ if ((fin = fopen(file, "r")) != NULL) {

while ((no = fread(buffer, 1, WEB_OUTPUT_BUFFER, fin)) > 0) length+=no;

fclose(fin); } /*if(stat(file, &fileStat) != ERROR) {

length = fileStat.st_size; }*/

Removed stat() function since VxWorks system was not recognizing the call, and

replaced with fread().

Page 41: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

41

6. Conclusion

At the moment the web server program is not working but it has made a

significant step in progress, considering it has not been compiled in 10 years. I am also

looking into other solutions to open source, free web servers exist for vxWorks, one is

known as GoAhead Web Server and the other is Klone 2 webserver, WindRiver also has

their own web server program. Since the web servers are supported by professionals it

may be a better solution to the problem.

7. References

[1] Desavouret, E., and J. Nogiec. "Web Tools To Monitor And Debug DAQ Hardware."

Fermilab 131 (2003).

[2] Fink, J. "What is a kernel?" What is a kernel? 25 Sept. 2008

<http://systhread.net/texts/200606kern_def.php>.

[3] Rogers, D. "Software on board mars pathfinder has Berkeley lab ties." Berkeley Lab

Currents. 8 Aug. 1997. 23 Sept. 2008

<http://www.lbl.gov/publications/currents/archive/aug-8-1997.html#rtftoc2>.

[4] "Wind River VxWorks." Wind River. Jan. 2008. Wind River. 21 Sept. 2008

<http://www.windriver.com/products/vxworks>.

[5] "Wind River Workbench awarded best commercial Eclipse-based developer tool by

the Eclipse Foundation." Wind River at EclipseCon 2008. 19 Mar. 2008. Wind River.

<http://www.windriver.com/announces/eclipsecon2008/>.

[6] "Introduction of an Embedded system." MIZI Linux SDK for S3C2410. MIZI

Research, Inc. 6 Oct. 2008 <http://www.mizi.com/developer/s3c2410x/index.html>.

[7] “Webserver - Portable Web server.” Jerzy M. Nogiec. July 30, 1999.

[8] Alphabetical List of Error Codes <

http://www.slac.stanford.edu/exp/glast/flight/sw/vxdocs/vxworks/errno/errnoAlphaList.ht

ml >

Page 42: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

42

Appendix

Compilation 1 Checking License... OK Connecting host shell to target connection 'VxWorks6x_69.88.163.22@JZ-HP-WINXP'...OK Detected target plugin 'unifiedtargetplugin'. Establishing direct WTX connection with target server 'VxWorks6x_69.88.163.22@JZ-HP-W INXP'. Loading the 'c','cmd','gdb' shell interpreters... OK. ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ////// ////// ////// ////// ////// | ////// ////// ////// ////// ////// | W I N D R I V E R ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | Development System //// //// //// //// //// | //// //// //// //// //// | //// //// //// //// //// | Host Based Shell //// //// //// //// //// | //// //// //// //// //// | /// /// /// /// /// | Version 2.2 /// /// /// /// /// | // // // // // | // // // // // | // // // // // | // // // // // | Copyright 1995-2007 Wind River Systems, Inc. C++ Constructors/Destructors Strategy is AUTOMATIC -> taskSpawn "tWeb", 100, 8, 160000, webserver, 80, 50, "/webserver/" value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver, 80, 50, "/webserver/" value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- -----

Page 43: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

43

tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend+T 0xb1e6c 0x2b0001 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend+T 0xb1e6c 0x2b0001 0 value = 0 = 0x0 -> -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> td tWeb cannot kill task 0x16d4470 which is currently safe from deletion. value = -1 = 0xffffffff -> Rebooting... Waiting for target to reboot. (Press Ctrl+D to exit)| Checking License... OK

Page 44: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

44

Compilation 2 Connecting host shell to target connection 'VxWorks6x_69.88.163.22@JZ-HP-WINXP'...OK Detected target plugin 'unifiedtargetplugin'. Establishing direct WTX connection with target server 'VxWorks6x_69.88.163.22@JZ-HP-W INXP'. Loading the 'c','cmd','gdb' shell interpreters... OK. ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ////// ////// ////// ////// ////// | ////// ////// ////// ////// ////// | W I N D R I V E R ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | Development System //// //// //// //// //// | //// //// //// //// //// | //// //// //// //// //// | Host Based Shell //// //// //// //// //// | //// //// //// //// //// | /// /// /// /// /// | Version 2.2 /// /// /// /// /// | // // // // // | // // // // // | // // // // // | // // // // // | Copyright 1995-2007 Wind River Systems, Inc. C++ Constructors/Destructors Strategy is AUTOMATIC -> -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0

Page 45: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

45

value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver, 80, 50, "/webserver/" value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> Break at 0x21810: vxTaskEntry Task: 0x16D3438 (tWeb) i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> Break at 0x21810: vxTaskEntry Task: 0x16D3438 (tWeb) -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> Break at 0x21810: vxTaskEntry Task: 0x16D3438 (tWeb) i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> -> Break at 0x21810: vxTaskEntry Task: 0x16D3438 (tWeb) -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0

Page 46: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

46

tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver value = 23938160 = 0x16d4470 -> o C interp: unknown symbol name 'o'. -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY

Page 47: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

47

---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver, 50 value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver value = 23938160 = 0x16d4470 -> Break at 0x21810: vxTaskEntry Task: 0x16D3438 (tWeb) -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d3438 100 Pend+T 0xb1e6c 0x2b0001 0

Page 48: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

48

value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d3438 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d3438 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d3438 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> Rebooting... Waiting for target to reboot. (Press Ctrl+D to exit)\ Checking License... OK

Page 49: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

49

Compilation 3 Connecting host shell to target connection 'VxWorks6x_69.88.163.22@JZ-HP-WINXP'...OK Detected target plugin 'unifiedtargetplugin'. Establishing direct WTX connection with target server 'VxWorks6x_69.88.163.22@JZ-HP-W INXP'. Loading the 'c','cmd','gdb' shell interpreters... OK. ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ////// ////// ////// ////// ////// | ////// ////// ////// ////// ////// | W I N D R I V E R ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | ///// ///// ///// ///// ///// | Development System //// //// //// //// //// | //// //// //// //// //// | //// //// //// //// //// | Host Based Shell //// //// //// //// //// | //// //// //// //// //// | /// /// /// /// /// | Version 2.2 /// /// /// /// /// | // // // // // | // // // // // | // // // // // | // // // // // | Copyright 1995-2007 Wind River Systems, Inc. C++ Constructors/Destructors Strategy is AUTOMATIC -> taskSpawn "tWeb", 100, 8, 160000, webserver value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0

Page 50: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

50

tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> taskSpawn "tWeb", 100, 8, 160000, webserver value = 23938160 = 0x16d4470 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend+T 0xb1e6c 0x2b0001 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0

Page 51: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

51

tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Ready 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Ready 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0

Page 52: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

52

tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0

Page 53: VxWorks Real-Time Kernel Connectivityitech.fgcu.edu/faculty/zalewski/projects/files/VxWorks_Joanne... · VxWorks Real-Time Kernel Connectivity: Cumulative Report . CEN 4935 . Joanne

53

tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 tWeb webserver 0x16d4470 100 Pend 0xb1e6c 0x37 0 value = 0 = 0x0 -> td tWeb cannot kill task 0x16d4470 which is currently safe from deletion. value = -1 = 0xffffffff -> td tWeb value = 0 = 0x0 -> i NAME ENTRY TID PRI STATUS PC ERRNO DELAY ---------- ------------ ---------- --- ---------- ---------- ---------- ----- tExcTask excTask 0xd7568 0 Pend 0xb1e6c 0 0 tJobTask jobTask 0x113d700 0 Pend 0xb1e6c 0 0 tLogTask logTask 0x1140878 0 Pend 0xafed0 0 0 tNbioLog nbioLogServe 0x1144120 0 Pend 0xb1e6c 0 0 tWdbTask wdbTask 0x16aae98 3 Ready 0xb1e6c 0 0 tNetTask netTask 0x1149140 50 Ready 0xb1cb8 0 0 value = 0 = 0x0 -> Break at 0x21810: vxTaskEntry Task: 0x16D3438 (tWeb) Break at 0x21810: vxTaskEntry Task: 0x16FA7D8 (tWeb) Break at 0x21810: vxTaskEntry Task: 0x1721B78 (tWeb)