Read template.book text version

N URIT

Version 4.01 NURIT IDE User's Guide

© Copyright 2008. VeriFone, Inc. All rights reserved. Verifone Part Number 27221 Revision A

NURIT IDE User's Guide © 2008 VeriFone, Inc.

All rights reserved. No part of the contents of this document may be reproduced or transmitted in any form without the written permission of VeriFone, Inc. The information contained in this document is subject to change without notice. Although VeriFone has attempted to ensure the accuracy of the contents of this document, this document may include errors or omissions. The examples and sample programs are for illustration only and may not be suited for your purpose. You should verify the applicability of any example or sample program before placing the software into productive use. This document, including without limitation the examples and software programs, is supplied "As-Is." VeriFone, the VeriFone logo, NURIT, Omni, VeriCentre, Verix, and ZonTalk are registered trademarks of VeriFone. Other brand names or trademarks associated with VeriFone's products and services are trademarks of VeriFone, Inc. All other brand names and trademarks appearing in this manual are the property of their respective holders. Comments? Please e-mail all comments on this document to your local VeriFone Support Team.

VeriFone, Inc. 2099 Gateway Place, Suite 600 San Jose, CA, 95110 USA Verifone Part Number 27221 Revision A www.verifone.com

NURIT IDE, Version 4.01 User's Guide Updated 7/23/08

CONTENTS

CHAPTER 1 Creating Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Applications and Single Application Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Multi-Application Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Projects

Dynamically Linked Modules (DLMs). . . . . . . . . . . . . . . . . . . . . . . . . . . . IDE Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing the NURIT IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Applications and Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coding, Debugging and Compiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Communication Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 12 12 13 13 19 22

CHAPTER 1 IDE Supplemental Integrated Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Toolset Application Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Set Hardware Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DLM Project - Application Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . Converting Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Initiating File Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plug-in Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 28 29 29 30

APPENDIX 1 Working With JTAG/ Scope

Debug Tools

NURIT Terminal Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enable Scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Comm Port & Baud Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NOS Mode Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Downloading to NURIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Build (Debug) Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a New File Record Definition (FRD) File . . . . . . . . . . . . . . . . . . . . To Add RAMdisk Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release Build. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33 36 37 38 39 40 40 42 43 46

APPENDIX 1 NURIT IDE Project Converter

To convert existing Batch-File projects . . . . . . . . . . . . . . . . . . . . . . . . . . 50

NURIT IDE USER'S GUIDE

3

C ONTENTS

4

NURIT IDE USER'S GUIDE

NURIT IDE, Version 4.01 User's Guide Updated 7/23/08

LIST OF FIGURES

Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 Figure 20 Figure 21 Figure 22 Figure 23 Figure 24 Figure 25 Figure 26 Figure 27 Figure 28 Figure 29 Figure 30 Figure 31 Figure 32 Traditional Application Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Sample Event-Driven Application . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 3 NURIT Integrated Development Environment . . . . . . 11 New Project > Select a wizard . . . . . . . . . . . . . . . . . . . . . . . . . . 15 New Project > Managed Make C Project . . . . . . . . . . . . . . . . . . 16 New Project > Select a type of project . . . . . . . . . . . . . . . . . . . . 16 New Project > Additional Project Settings . . . . . . . . . . . . . . . . . 17 New Project > Application Plug-in . . . . . . . . . . . . . . . . . . . . . . . 18 Project Opened . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Active Build Configuration Setting . . . . . . . . . . . . . . . . . . . . . . . 20 Debugger Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Project Tool Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 NURIT API Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Scope Communication Definition . . . . . . . . . . . . . . . . . . . . . . . . 23 Specific Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Application Integrator; DLM, Specific Tab . . . . . . . . . . . . . . . . . 28 Application Integrator; DLM, Language Tab . . . . . . . . . . . . . . . 29 Plug-in Builder; Select Plug-in File . . . . . . . . . . . . . . . . . . . . . . . 31 IDE Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Predefined Modes; NURIT: 2085, 2085, 2090, 3000, 3010, 3020, 2055 2056 and 8320 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Predefined Modes; NURIT 8000, 8010 . . . . . . . . . . . . . . . . . . . 35 Enabling Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Setting Data Transfer Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Setting NURIT Terminal's Operational Mode . . . . . . . . . . . . . . . 39 NURIT Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Scope Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 FRD Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 RAM Field Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 RAM Field List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Debug Command Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Source Display, Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Source Display, Function code . . . . . . . . . . . . . . . . . . . . . . . . . 46

NURIT IDE USER'S GUIDE

5

L IST OF F IGURES

6

NURIT IDE USER'S GUIDE

NURIT IDE, Version 4.01 User's Guide Updated 7/23/08

CHAPTER 1

Creating Applications and Projects

The NURIT Integrated Development Environment (IDE) is an advanced and powerful multi-pane visual software project management toolset for the development, compilation, and downloading of NURIT application software. It features the ability to download and test and run NURIT applications directly to any NURIT development terminal and to copy applications to RAM for debugging. Built on the popular and powerful open source Eclipse SDK® C/C++ Programmer's Editing System, it allows Eclipse developers to simultaneously work on both IDE and non-IDE projects The basic workflow progression is as follows:

· · ·

Create the application project (Single / Event Driven / Multi Mode). Write the Application's source code with iterative building (and compiling)--for debug Build for release and to open Application Integrator for file conversion and terminal-initiated download through Smart Loader.

This guide provides an overview of the IDE and is not a primer on programming or even a comprehensive introduction to the Application Programming Interface (API) modules and functions ­ available for application developers of the NURIT terminals, using the NURIT Operating System (NOS). For API guidance and usage, please refer to the NURIT Help NOS API Programmer's Guide.

NOTE

NURIT IDE allows for robust programming and development functionality without the JTAG adapter add-on and Scope software, as described in Section 1. Addition of these components allows for greater control and additional services, as documented in the appendices. The NURIT IDE (Integrated Development Environment) provides a single, integrated environment containing tools for developing application software for NURIT terminals. IDE applications are created in C in an industry-standard Eclispse SDK environment, Metaware-compiled and then downloaded to the terminal. The environment includes tools for writing code, compiling, linking, debugging, and downloading programs to terminals for testing. VeriFone application modularity enables code blocks to be independently written and combined to form complete applications. Each application (Single or Event

Introduction

C REATING A PPLICATIONS AND P ROJECTS Introduction

Driven) and each DLM (Dynamically Linked Module) can be written, tested, QA'ed, certified, signed and downloaded independently of all others. This significantly increases reliability and reduces time to market.

Software Structure

The NURIT Software is comprised of 3 basic logical 'layers' (corresponding to the physical components stored in the Flash memory of the NURIT terminal): Loader, NOS and Application. The autonomy and modularity of each layer allows for upgrading of the NOS and Loader without requiring application changes. The same connection methods are used when the NOS (or even the Loader) is replaced. The Loader facilitates the download of a new NOS to the terminal and is responsible for operating the NOS. The NOS layer is the main software operating the NURIT terminal. It supports both - the downloading and the running of any number of independent NURIT terminal applications and blocks. Single Application Mode In traditional mode, a single application is downloaded by the NOS, The NOS calls the application via one entry point and the application, running in an endless loop is given a full control of the terminal CPU foreground thread. Periodically, the application calls the NOS using the API services to perform application routines. The application will poll the NOS for new 'events' (e.g. Credit Card swipe), and if such an 'event' occurs, the application will process the event in its code, using the API. After each NOS function call from the Application, the NOS will return the CPU control of the system to the Application.

TIP

Traditional single application mode is most suitable when developing NOS version 6 applications or when programming for terminals which will support only one application. Each application may invoke Dynamic Linked Modules (DLMs) that are similar to Windows platform DLLs or they may invoke Plug In Blocks, illustrated as follows:

8

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Introduction

Figure 1

Traditional Application Mode

Multi-Application Mode In the Multi-Application (Event Driven (EvD)) mode, up to nine event-driven applications can be downloaded by the NOS and simultaneously run by it on the terminal, with only one in focus at any given instant. After application initialization, terminal resource control is returned to the NOS. The NOS manages control of the terminal resources in two states: in response to events from the NOS (Idle State), such as inserting a smart card, swiping a card or the passage of a time of day and in accordance with an end-user selection from a Menu (Menu State). In the following illustration, a credit card swipe in a card reader, notifies the NOS which unsuccessfully polls two EvD applications before a successful third iteration takes control, as follows:

NURIT IDE USER'S GUIDE

9

C REATING A PPLICATIONS AND P ROJECTS Introduction

Figure 2

Sample Event-Driven Application

Dynamically Linked Modules (DLMs) NURIT IDE can also be used to create dynamically linked modules (DLMs), which are independent, pre-compiled and linked executable modules (independent blocks that may contain any number of functions). They are loaded only when called by a Single and Event Driven application or other DLM. DLMs are created together with an API file as part of the DLM project. This API file contains all DLM public function declarations, type definitions and two macros. The DLMs are then compiled and downloaded in the same manner as are Single and Evd applications. For API guidance and usage, please refer to the NURIT Help NOS API Programmer's Guide. IDE Features The NURIT IDE integrates the following features listed below (see Integrated Environment, below) as well as a number of special NURIT application development tools into a single, integrated, multi-paned environment.

NOTE

For a full description of the Eclipse environment consult the online help Help > Help Contents > C/C++ Developers Guide.

10

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Introduction

Figure 3 Figure 3 NURIT Integrated Development Environment

·

Project Management The NURIT IDE enables you to create new projects and to choose the application type (Single, Multi-App or DLM) with a single click. A project space with all required files is created automatically. Source files are added to projects visually, not by editing a batch file.

NOTE

Projects created in the old-style batch file can be developed and managed by NURIT IDE. See Appendix 1, NURIT IDE Project Converter All source files are located and manipulated using a Windows like browser, bringing them into focus with a simple click on the listed project file. Insert Files or Add New Files as needed.

·

Editing Edit your C project files normally, using an internal industry standard, Eclipse SDKTM® editor (with which you can also simultaneously edit non-IDE projects). The NURIT IDE provides one-click access to all NOS API functions, libraries and internal Help.

·

Compiling / Linking With each file save, the MetawareTM® compiler builds your project for debug (or release), automatically. There is no need to create the make-file manually. The IDE creates and checks all dependencies automatically.

·

Debugging

NURIT IDE USER'S GUIDE

11

C REATING A PPLICATIONS AND P ROJECTS Introduction

The internal debugger is a fully integrated, internal, MetawareTM C Debugger component. The debugger enables setting multiple breakpoints throughout the code, including placing a breakpoint at every step.

·

View files in RAMdisk The IDE's Scope tool enables viewing and editing data files in the terminal RAMdisk during run time. No exit to or from a NOS shell is required. Data can be changed in run time on the fly.

Installing the NURIT Requirements IDE Hardware ·

NURIT terminal with either RS 232 Communications Port or USB outlet (Optional for debugging) PC to JTAG Adapter (Optional for debugging) DB-25 Parallel port cable

Software

· · ·

Microsoft Windows® NT / 2000 / XP Installed NURIT Software Development Tools Installed ARM-compatible Compiler

· · 1

MetaWare® Toolset Version 4.5a or later or ARM compiler 2.1 or later (GNU open source or ARM proprietary)

To install the MetaWare® High C/C++TM Development Toolset for ARM (Version 4.5 or later)

Place the MetaWare® Installation disk into your CD drive. The installation procedure will start automatically -- Or -- Start the installation manually by clicking: Start > Run [path to CD Drive] Setup. Follow the instructions that appear on screen.

2 3 4

Do not select any of the options on the following window. Proceed to the end of the installation procedure, and choose Yes or OK for all remaining options. The default installation directory of C:\hcarm can be altered as required. You must register online at [email protected] The license file will be sent to you via email. Use it to complete registration and activation.

To install the NURIT IDE

12

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

1

Complete the Metaware installation as per the above instructions, including obtaining the ARM license (http://www.arc.com/software/development/ metawarecompiler.html).

NOTE

The NURIT IDE installation wizard will abort if a valid METAWARETM compiler installation is not detected

2 3 4

Obtain and run the Setup_NuritIDE_XXXX_Eclipse.exe file. Click Next. The wizard will automatically install the entire NURIT Integrated Development Environment including all tools. The default IDE install directory is C:\Program Files\VeriFone\IDE. The NURIT Integrated Development Environment is ready for use.

Creating Applications and Projects

This section describes using the NURIT IDE to create applications for NURIT terminals. Applications can be run in Single Application Mode or Multi-Application Mode or as Dynamically Linked Modules (DLMs) Multi-Application Mode (EvD) enables multiple (i.e., event-driven) applications to operate on a single NURIT terminal running NOS 7.xx. Multiple EvD applications can function independently or cooperatively with each other within a single, shared terminal. EvD applications are applications triggered by Events from the NOS MultiApplMngr module. These events are actually commands from the NOS to the applications, announcing which tasks the applications are to perform. In Multi Application Mode, the NOS downloads several EvD applications. The NOS MultiApplMngr module is then given control of the terminal CPU foreground thread. When an event (see Events, below) is detected, NOS polls all EvD applications. Control is temporarily passed to the EvD application that handles the specific event (automatically selected in response to the event or user-initiated menu selection). When the response to the event is complete, control is returned to the NOS's MultiApplMngr module. NOS remains in an idle state until another Event is detected by the MultiApplMngr or until a hot key is pressed. Like single mode applications, all EvD applications may invoke DLMs. Events An event is an action initiated either manually or automatically. An example of a user event is inserting a smart card. An example of an internally generated event is a notification based on the time of day.

NURIT IDE USER'S GUIDE

13

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

EvD Event Entry Points ·Application restart ·Scan Event ·Menus (an application may be ·Check Reader Event ·Inter-App Event ·Bar Code Event ·Comm event ·Timer event ·Call Function Event

listed in up to 10 menus.)

·Magnetic Card Event ·Smart Card Event ·Hot Key Event ·Redraw Event ·Hot-Key Event

Each of the above events is a call from the NOS (MultiApplMngr module) to the EvD application's Event Handler functions to activate the event (e.g., magnetic card, smart card, check, barcode reading, a call received by the terminal, etc.).

Example

When a card is swiped, a Card Reader event is detected by the NOS. NOS then reports the event to all EvD applications. The application that has this event registered in its Header will take control of it, i.e. the application's Event Handler code will process the event. When the response to the event is complete, control is returned to the NOS (MultiApplMngr module)(See Figure 2, page 10).

To create a NURIT application

1 2 3 4

Create the application project (Single or EvD Mode or DLM). Write the application source code, while building (and compiling for debug. Build (and Compile)--for release and to open Application Integrator Terminal-initiated download through Smart Loader

To create a single mode application

Single mode applications are traditional, stand alone, applications.

1 2

Open the NURIT IDE (

).

Click File > New > Project. The New Project wizard dialog opens to Select a wizard. Select Managed Make C Project and click Next

14

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

Figure 4

New Project > Select a wizard

3

In Managed Make C Project, enter a Project name and specify a nondefault location, if desired:

NOTE

The project's root directory is the directory where the project was created using the New Project command. Its top-most directory contains most, but not necessarily all, project files. Project spaces are used to store sets of projects. They hold and display multiple projects, enabling easy access to the projects and the files they contain. Before a project can be made, a project space has to be set up. If an existing project is opened without an existing project space, a project space is created automatically, to house the project.

NURIT IDE USER'S GUIDE

15

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

Figure 5

New Project > Managed Make C Project

1

In Select a type of project, accept the default NURIT Application (Single Model) and click Next (The process is identical for Event Driven applications and DLMs):

Figure 6

New Project > Select a type of project

16

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

2

In Additional Project Settings, click Next , unless you wish to define here any inter-project dependencies:

Figure 7

New Project > Additional Project Settings

3

In NURIT Single Application, enter the following information:

Application Name Description Version Minimum NOS Version Maximum multiple Merchants Limited to 8 alpha-numeric characters. If unfilled, the default designation is the first eight chracters of the Project Name. Limited to 16 characters (Our example: 8320_CA_Retail) A site-specific designated parameter stored only as header information . NOS includes application functionality, generally, expanding per version. This setting (default: 7.00) is verified for sufficiency by NURIT Control Center and the time of application loading. This designation is most commonly used to indicate the number of different merchants using the project terminal. Additionally, the number designated here is also a reference for terminals in which application array blocks (whose Calculated Size checkbox in the Application Integrator definition is selected) allow for multiple field entries. The associated application must also support multiple merchant definitions.

The Application Plug-in selection offers the following options:

·

None--Applications not created as plug-ins cannot be customized or downloaded to terminals through NuritCC. They support only the native Paradox database and requiring downloading to terminals through Smart Loader and a modem or RS232 communication channel. Use this option when iterative debugging of program code is required.

NURIT IDE USER'S GUIDE

17

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

·

Create New--Applications created as plug-ins can be customized by changing and downloading only parameters to terminals through the NuritCC and any communication channel. Select Existing--Copy an existing project's parameters (selected by use of the browse button) into the project being created.

·

Figure 8 New Project > Application Plug-in

18

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

7

Click Finish to complete creation of the new EDA project. The IDE project environment and a working demo application ("Great_Western_Bancorp") are displayed. You may erase the automatically generated functions at any time. Refer to the subsection DLM Project - Application Integrator. Use the automatically generated project structure template as the basis for the NURIT application you are now developing. Note that created project space already contains API coding specific to the included functional events.:

Figure 9 Project Opened Coding, Debugging and Compiling The created EDA *can* be compiled and downloaded. At this point, however, you can also add your own code to the project.

· · ·

Write your application's C code as required. Building and compiling for debug occurs, by default, with each save. Build (and Compile) for Release. The Eclipse SDK active build configuration is toggled between debug and release as follows:

a Right-click on the C project file in the left pane tree-listing node b Click the Active Build Configuration option c Select Debug or Release

NURIT IDE USER'S GUIDE

19

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

Figure 10 Active Build Configuration Setting

To access the NURIT Debugger Options

1 2

CAUTION

Right-click the C project folder icon in the left-pane tree listing. Click Properties in the pop-up menu

Debugger settings should be altered only under the direction of NURIT development personnel.

Figure 11 Debugger Options

20

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

To Configure the NURIT Compiler, Linker and Integrator

The NURIT-Eclipse IDE editor allows easy configuration of the compiler, linker and integrator. Access the C/C++ Build tree-node tool settings menu from either (with the project node in cursor focus):

· ·

(Right click on the properties folder (as in Figure 11 above)) > Properties or Project > Properties

to display the Properties for ... dialog in which we configure the tools as follows:

Figure 12

Project Tool Settings

· ·

Compiler > Miscellaneous, Linker > Parameters and Integrator to define command line parameters and switches at run-time. Symbols, Include Paths and Libraries can be added, deleted, edited and changed order, as per the displayed icons.

To add API functions

The NURIT API tab in the bottom-right (Output Build) pane displays available NOS API functions, grouped by functionality. To add the API to the program code, a single click on the function displays its description and explanation, while a double click inserts the API into the code, as in the following figure, where a printer utility carriage return API (PrntUtil_Cr(int n))has been added:

NURIT IDE USER'S GUIDE

21

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

Figure 13

NURIT API Access

For API guidance and usage, please refer to the NURIT Help NOS API Programmer's Guide., available both independently and as part of the Help > Help Contents menu. Communication Settings The NURIT IDE enables direct data transfer connection between your development computer and the NURIT development terminal when configured as follows: In the NURIT IDE GUI, upon initial program activation, click NURIT Actions > Scope to display the Select Country dialog (if your country has not yet been specified). Select the appropriate country and confirm your choice by clicking Select. The NURIT Scope dialog opens.

1

In the displayed dialog, click Settings to display the PC Ports Definition dialog.

22

NURIT IDE USER'S GUIDE

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

Figure 14 Scope Communication Definition

2 3

Click the Add or the Edit icon to open the COM Definition dialog. Set the speed of the COM port (which is to service the Scope communication channel) to 115200 bps and verify that the other options are not checked.

NOTE

The COM port Direct Speed setting must be identical to that of the terminal, as specified in Setting Comm Port & Baud Rate, page 37

4

Exit the Scope.

NURIT IDE USER'S GUIDE

23

C REATING A PPLICATIONS AND P ROJECTS Creating Applications and Projects

24

NURIT IDE USER'S GUIDE

NURIT IDE, Version 4.01 User's Guide Updated 7/23/08

CHAPTER 1

IDE Supplemental Toolset

Integrated Development Tools

The VeriFoneTM Integrated Development Tools are IDE assistants performing required functionality, as follows: Table 1 NURIT Tool

Application Integrator

NURIT Integrated Development Tools Description

·Converts the linker's output files in format (*.HEX or *.ABS) into the

block format and the file types used by the NURIT terminal (*.APP, *.EDA or *.DLM).

·Creates two required headers (Administrative and General) from the

linker output files (the Specific header is defined by the application writer according to the specific header template supplied with the IDE).

·Adds the application's hardware and software requirements information

(memory, display, cards, etc.) to the administrative header.

·Specifies the language and which plug-in file (and version) is used with

the application and the industries with which the application is compliant. See NURIT Application Integrator User Guide Scope (requires JTAG adapter) A NURIT Development Tool for debugging and viewing file contents and parameters in runtime.

·OS info ·List of Executables (APP, EDA, DLM) ·List of Parameter blocks per Application and contents (with field names)

of these blocks.

·List of files in RamDisk per application and contents (with field names) of

these files

·Edit parameters in block and download block to NURIT. ·Replace Applications in NURIT.

All these functions available while application is running. See Working With JTAG/Scope

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

Table 1 NURIT Tool

String Builder

NURIT Integrated Development Tools Description

·The String Builder is used to prepare messages for output to printer or

display. These messages are placed into a non-executable, external file (the String Block) that can be edited and downloaded without changing the executable application file in any way. The messages can be written in any language supported by the NURIT.

·Because this is an external, non-executable file all testing, QA,

certification and signing of the executable is separate. This enables us to save considerable time to market. See NURIT String Builder User Guide Plug-in Builders

·The Plug-in Builders create parameter Plug-in files. These are files that

define the structure of application parameters (i.e., names, sequence, organization and data type).

·The files are used as templates to edit, enter and send parameter values

to the NURIT.

·Note: Plug-in files do not contain parameters; they define them and

point to them; the actual values are entered via the Scope.

·Parameters are used to customize application functionality (displays,

languages, surcharges, receipts, rain checks, hot keys, etc.). See NURIT Application Plug-in Builder User Guide

Application The NURIT IDE opens the Application Integrator automatically upon successful Integrator Build for release.

The Application Integrator adds the Administrative and the General Headers to the linker output files; it also adds the application's Hardware Requirements file (required memory, display, PIN pads, battery, card type, tracks required, etc.) to the Administrative Header and places the resulting file into the format used by NURIT terminals (APP, EDA or DLM). The Application Integrator opens to the Specific tab (read-only) in order to verify that the inherited application file details are correct. The key parameters are the Application Name, Version, Minimum NOS Version, Description and the CPU type.

26

NURIT IDE USER'S GUIDE

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

Figure 15

Specific Tab

Set Hardware Parameters The Application Integrator tabs describe terminal hardware and software. This data is used by the NURITCC to check terminal- application compatibility, enabling downloading to proceed. Review the tabs (Memory, Communication Ports, Display, Cards and General) to set or edit hardware parameter values as needed.

·

Click the Memory tab. Set the sizes of the memories required to run the application (RAM, Flash disk, Fiscal Memory, Application code & data sizes).

Table 2 Memory Tab Settings

Memory (default KB)

Min Total RAM Size (256) Min Protected RAM Disk Size (128) Min Flash Disk Size (0) Min Fiscal Memory (0) Required Appl Code Size (256)

Explanation

Minimum size of the sum of all RAM. (Must be at least as large as the Required Appl. Code Size) Minimum size of the protected RAM disk. RAM disk is a write-protected area of the RAM. Minimum size of the Flash disk. This is where applications, DLMs, NOS and Loader are stored. Minimum size of the fiscal memory. Maximum allowed size of the application code. If the application code size is larger than this, the NURIT Loader will not download the application to the terminal or- the terminal will report "Out of Memory". Maximum allowed size of the application data. If the data size is larger than the available memory in the NURIT terminal, the NURIT Loader will not download the application to the terminal.

Required App Data Size (0)

·

Use the Communication Ports tab to select the terminal/modem ports (on the NURIT terminal) required by the application.

NURIT IDE USER'S GUIDE

27

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

· · · · · ·

Use the Displays tab to select the Main Display terminal display type and the Customer Display (if used). Use the Cards tab to specify assorted card number values. Use the General tab to specify the application's requirements for the Battery, PIN Pad and the Cash Drawer. Use the Software tab to set plug-in and user parameters. Open the Used DLMs tab to browse the read-only file names and related information of DLMs associated with the application. Use the Language tab to select all additional required Language and/or Font Blocks.

DLM Project - Application Integrator When your project is a Dynamic Link Module (DLM) which provides distributed applications with a means to synchronize their accesses to shared resources, the Application Integrator GUI is slightly different than when the project is a single mode application or an EvD (event-driven) application. For example, no software or hardware requirements need to be set for DLM projects. When creating a DLM, the Application Integrator is used to:

· ·

Declare the DLM owner (i.e., "NOS", "Any Application" or a specific Application / Group). Set the DLM's Language and Font Block information.

Figure 16 Application Integrator; DLM, Specific Tab

28

NURIT IDE USER'S GUIDE

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

Figure 17 Application Integrator; DLM, Language Tab Converting Files This procedure is performed after having entered all the hardware requirements above and after having specified the plug-in file, if used. Click the Convert icon ( ) or select File > Convert. This will convert the application HEX file to the proper block format (*.APP, *.EDA or *.DLM) and save it in the same folder as the original.

NOTE

The Application Integrator opens only when you do a build for release. It does not open nor is it required when you perform a build for debug purposes.

Initiating File Download To download your application to your development terminal, from within Application Integrator, initiate communication (File > Initiate Communication or ( ))

On the terminal, initiate a download by means of a Hardware Identifier

NOTE

Before initiating a download, ensure that the Scope functionality is disabled, as per the illustrated terminal menu. See page 37 The Hardware Identifier is used to select application blocks based on the terminal Hardware Model.

1 2 3 4

Open the terminal's NOS menu. Select Download. Press Enter ("Swipe Merchant Card" will appear). Enter any number except "0".

NURIT IDE USER'S GUIDE

29

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

5 6 7 8 9

Press Enter (the "Download" menu will appear). Select the Connect parameters (Comm Prm). Press ESC (back to Download menu). Select Autoload or Manual (there is no difference in this context). Press Enter. Hardware Model) will now be downloaded to the terminal.

10 The Software Model that you associated with your terminal (i.e., for your

Plug-in Builder The Application Plug-in Builder tool is used by the developer to · · ·

define parameter blocks to create the application header files (App.H) and as an interface to the parameter database.

On a functional level, the Plug-in file enables the use of application parameters to customize application functionality and make configuration changes without rewriting code; parameters are changed instead of code. A Plug-in file is a file containing the names, sequence, organization and structure of parameters used by NURIT applications. They are used by TMS operators to enter parameters into the NURIT database, to edit the parameters and to transmit them to the terminals. If you plan to never use the TMS, you do not require (but can use) Plug-in files.

NOTE

Plug-in files do not contain parameters, they define parameter structures. The parameter data are held in the database.

To Create Plug-in Parameter Blocks

1 2 3

Open the project. If your application uses parameters, click NURIT Project > Application Plug-in Builder to open the Plug-in Builder. Select and open the Plug-in file. This file was automatically generated by the IDE when creating the project (single mode, multi mode or DLM). The IDE automatically places it in the project's plug-in subdirectory.

30

NURIT IDE USER'S GUIDE

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

Figure 18 Plug-in Builder; Select Plug-in File

4

NOTE

Create all the parameter blocks.

Refer to the Plug-in Builder User Guide for a full explanation and instructions on using the Plug-in Builder.

5

Next, use the IDE's Application Plug-in Builder to generate the header files for the parameters / fields, etc.

NURIT IDE USER'S GUIDE

31

IDE S UPPLEMENTAL TOOLSET Integrated Development Tools

32

NURIT IDE USER'S GUIDE

NURIT IDE, Version 4.01 User's Guide Updated 7/23/08

APPENDIX 1

Working With JTAG/Scope

The NURIT PC To JTAG Monitor/Programmer Adapter facilitates enhanced functionality by enabling the downloading of applications and parameters directly into terminal memory.

1 2

Connect the NURIT terminal to its power supply and the supply to the mains. Connect the RS 232 cable (the NURIT 8000 uses P/N FCL09503; other terminals use P/N FCL07903) to the Comm port of the NURIT terminal and to the PC's RS 232 port. You may use the optional D-Type, 9 pin adapter on the PC. Connect the parallel port cable to the PC and the JTAG adapter. Connect the JTAG adapter to the NURIT's JTAG port. Connect the JTAG adapter to its power supply and the supply to the mains. Press the NURIT terminal's Menu key to turn it on. The main Menu will appear. If the Menu does not appear, press the Menu key several times and hold it down.

3 4 5 6

Figure 19

IDE Connections

NURIT Terminal Settings The NURIT development terminal (i.e., equipped with an internal JTAG socket) must be properly configured in order to work with the IDE Scope.

WORKING W ITH JTAG/S COPE

NOTE

In order to work with the IDE, the terminal's Enable Scope function must be set to ON (see Figure 22, page 37).

Key Combinations

NURIT keyboards are provided with pre-set key combinations used to activate predefined operation modes. The predefined modes are activated when specific key combinations are pressed simultaneously; the combinations are model dependant. Predefined Modes

Reset Mode Shell to NOS Jump to Loader Resets the terminal and jumps back to the application. Jumps directly to the NOS menu. Brings out the Loader Menu. In other than NURIT 8000 terminals: press the combination when the terminal is shutdown (Power Off). The combination takes effect when the terminal is reconnected to AC, while pressing the combination. Advances the printer's paper. The Paper Feed combination is Model dependant, though the illustrated combinations are the most commonly used.

Paper Feed

NOTE

To activate a mode, turn power off, press the desired combination and turn power on (press the MENU button).

34

NURIT IDE USER'S GUIDE

WORKING W ITH JTAG/S COPE

Figure 20

Predefined Modes; NURIT: 2085, 2085, 2090, 3000, 3010, 3020, 2055 2056 and 8320

Figure 21

NOTE

Predefined Modes; NURIT 8000, 8010

See the LipHelp Programmer's Guide (I/O Modules; Key Combinations) for other models.

NURIT IDE USER'S GUIDE

35

WORKING W ITH JTAG/S COPE

Enable Scope

1 2 3 4 5 6

NOTE

Turn the NURIT off by pulling out the power cable. Use the key combination appropriate to your terminal model to open the Loader menu (see Key Combinations, above). Release the keys. Select the Start NOS option. The message prompt: Enter Password appears. Enter: 1947; press <Enter>. The NURIT will restart and the NOS menu will appear. Enable the Scope function, as shown in the diagram below.

This menu illustrated below is an example of one Model. The exact sequence for the Model you are using may vary. See NuritHelp > NOS Drill Down Menu for exact information on your specific Model.

NOS 1. Back to Appl 2. Download > 3. PROG Info 4. Restart Appl 5. Set Time+Date > >

6. Service Menu >

7. NOS Info > 8. Load New NOS 9. Terminal ID SERVICE MENU 1. Hardware Test > 2. Error Logger 3. Rom Type >

4. Special Menu >

5. Statistics > 6. ModemLastCall

36

NURIT IDE USER'S GUIDE

WORKING W ITH JTAG/S COPE

SPECIAL MENU 1. Software Test > 2. Reset NOS 3. Comm Handler > 4. Set Click Time > 5. Key Repeat 6. Set Backlight 7. Set OFF Time > >

8. Scope >

SCOPEMNGR MENU

1. Scope On

2. Scope Off

Figure 22

Enabling Scope

Setting Comm Port & Baud Rate Set the terminal Comm port and the transfer baud rate as shown below.

NOTE

Must be identical to rate set for the Scope Communication Definition program, see page 23.

NOS 1. Run Appl

2. Download >

3. PROG Info 4. Restart Appl 5. Set Time+Date > 6. Service Menu > 7. NOS Info > 8. Load New NOS 9. Terminal ID >

NURIT IDE USER'S GUIDE

37

WORKING W ITH JTAG/S COPE

DOWNLOAD MENU 1. Auto Load

2. Comm Prm

3. Echo Mod 4. Copy In 5. Copy Out 6. Manual Load > 7. Mode > 8. Replace NOS CONNECT 1. Phone> 2. Prefix

3. Via>Com1 4. Baud>115200

5. Dial>Tone 6. Gateway> 7. Suffix 8. TCP/IP > NO

Figure 23

Setting Data Transfer Rate

Note:This menu illustrated here is an example of one Model. The exact sequence for the Model you are using may vary. See NuritHelp > NOS Drill Down Menu for exact information on your specific Model. NOS Mode Setup NOS 7x (and the applications it supports) can work in either Single Mode or in EDA (event driven [multi] application) Mode. Select the operational mode here, as shown below.

NOTE

The application and the NOS modes must be the same (Single -or- EDA).

38

NURIT IDE USER'S GUIDE

WORKING W ITH JTAG/S COPE

NOS 1. Run Appl

2. Download >

3. PROG Info 4. Restart Appl 5. Set Time+Date > 6. Service Menu > 7. NOS Info > 8. Load New NOS 9. Terminal ID DOWNLOAD MENU 1. Auto Load 2. Comm Prm 3. Echo Mod 4. Copy In 5. Copy Out 6. Manual Load > >

7. Mode >

8. Replace NOS This Action will destroy all data Do the Change? <Enter-Y, ESC-N> SERVICE MENU 1. Single Mode 2. Multi Mode

Figure 24

NOTE

Setting NURIT Terminal's Operational Mode

This menu illustrated here is an example of one Model. The exact sequence for the Model you are using may vary. See NuritHelp > NOS Drill Down Menu for exact information on your specific Model. Downloading to NURIT Downloading from the IDE computer to the NURIT terminal and testing the application requires a cable connection between the computer and the terminal.

1 2 3

Turn on the NURIT terminal and verify that it is functioning properly. Connect all required cables and power supplies and verify that they are properly connected (see Requirements, page 12). Open the IDE.

NURIT IDE USER'S GUIDE

39

D EBUG TOOLS

4 5 6 7

Set the IDE's Scope settings. Open the project. If it has not been built, build it now (see Release Build, page 46) and set the hardware requirements. Click NURIT Project > Run Application. The IDE will automatically download the application to the terminal and run it. You may open the NURIT Scope (click NURIT Project > Scope) to download, view and edit parameter values.

Debug Tools

The IDE Debug Tools enable you to set multiple breakpoints, view applicationgenerated data and view / edit application parameters during runtime. The internal MetaWare® Debugger has powerful debug features integrated with the IDE. This includes view and edit of parameters in NURIT's RAM - during runtime.

Hardware Setup (see

Figure 19, page 33)

1 2

Verify that the JTAG plug is properly inserted and that the power supply is connected. Verify that the RS 232 cable between the NURIT terminal and the PC's RS 232 port is connected. NURIT 8000s use P/N FCL09503; other terminals use P/N FCL07903.

Build (Debug) Workflow

1 2 3

Ensure that the terminal NOS operating mode is set to the same mode as your application (see Figure 22, page 37). Click the Debug Build icon.... Click the Run icon... to download the application to the NURIT and run it for debug purposes....

Using Scope The Scope together with the Scope Monitor is used in real time to download the

application, then to view and edit application parameter data sent to the application.

Figure 25

NURIT Scope

40

NURIT IDE USER'S GUIDE

D EBUG TOOLS

Figure 26

Scope Monitor

1 2

Open the Scope (NURIT Project > Scope) to display the plug-in parameters on its separate Scope Monitor window. You can edit any parameter by selecting it and entering the desired values. (The red letter "X" will then become a green check mark).

Table 3

File New Open Project Save

Scope Monitor

Explanation

Selects project from IDE's PC; opens and downloads to NURIT. Locates and opens projects located on the IDE PC. Saves the open NURIT application project. Saves the open NURIT application project with a new name. Closes the currently open NURIT application project. Downloads highlighted application (File Pane) to the NURIT. Locate and add an application to the NURIT. Removes current application (use before Add) from NURIT. Selects application from list. Downloads application parameters to NURIT terminal. Downloads all of the Plug-in's parameter blocks to the NURIT. Opens an existing Plug-in file to edit the parameters. Uses Plug-in Builder to view parameters via Plug-in file.

Scope Monitor

Save Project As Close Project Application Download Add Remove Select Parameters Download Download all Blocks Select Plug-in Open Plug-in RAM Disk

NURIT IDE USER'S GUIDE

41

D EBUG TOOLS

Table 3

Scope Monitor

Explanation

Uploads all RAM disk files from the NURIT to the IDE. Creates a new FRD (File Record Definition) file. Opens FRD located on IDE computer. Use to edit FRD. Select the FRD to use to view application-generated data. Reconnects the scope to the Scope. Use to locate the Operating System Package file (*.OSP) to obtain a list of components and version information; the OSP can be downloaded using the OSP Loader tool. NA

Scope Monitor

Upload all Files New FRD File Open FRD File Select FRD File NOS Reconnect Select OSP

Select OS Version

Viewing Application-Generated Files in RAMDISK

In order to view an application generated data file that is generated by the application and that is stored in the terminal's RAMDISK, you must first define a data structure that corresponds to the data file. This enables you to use the Scope to view the file and to edit it.

Creating a New File You can create a File Record Definition (FRD) from the IDE toolbar as well as Record Definition from the Scope toolbar. Use the FRD to more effectively manage the RAM disk (FRD) File contents and processes.

From the IDE

When you create an FRD file here - you must download it to the terminal in order to use it to view application-generated data in terminal RAM.

1 2 3 4 5

Click NURIT Actions > Create File Record Definition to display the RAM Disk Builder dialog. Create and save the FRD file (see To Add RAMdisk Fields, below). To use the FRD to view application-generated data: open the Scope. Click NURIT Actions > Edit File Record Definition. A browser will open. Locate the FRD file using the Browser. Use the FRD file to view the application-generated data.

From the Scope

When you create an FRD file here - you may use it directly "as is" to view application-generated data in terminal RAM.

1

Go to the Scope's directory pane (on the far left). Place the cursor on the RAM Disk icon. Go to the Scope toolbar and click RAMDisk > New FRD file. The RAM Disk Builder will open.

42

NURIT IDE USER'S GUIDE

D EBUG TOOLS

Figure 27 FRD Builder

2 3 4

Create and save the FRD file (see To Add RAMdisk Fields, page 68). Click RAM Disk > Select FRD file. A browser will open. Locate the FRD file using the Browser. Use the FRD file to view the application-generated data.

To Add RAMdisk Fields

1 2

Click the Add icon (

) to open the Create RAM Field dialog.

Enter all the required information and click Save. You can edit the fields at any time.

NOTE

You can repeat the process to add additional fields to the record.

Figure 28 RAM Field Definitions

3

Fields created above will appear in the RAM Disk Builder's Field list.

NURIT IDE USER'S GUIDE

43

D EBUG TOOLS

Figure 29 RAM Field List

Editing a New Field Record Definition File

1 2

Click NURIT Project > Open FRD File to open a browser dialog. Locate and select the appropriate FRD. The RAM Field dialog opens the record. Select the required field and click the Edit icon ( field. You can edit the fields again at any time. ) to open and edit the

3

Setting Break Points

1

Open the Smart Debugger (click NURIT Actions > Smart Debugger). The IDE compiles the application. If it compiles successfully, the Scope (see page 41) and the Debug Command Window open to the Command Window.

44

NURIT IDE USER'S GUIDE

D EBUG TOOLS

Figure 30 Debug Command Window

2

Go to the Command Window; click View > Source. The Source Display dialog opens.

Figure 31 Source Display, Empty

3

Go to the Source Display dialog; enter the name of the function whose source code you want to debug (e.g, Main, etc). The dialog will display the source code.

NURIT IDE USER'S GUIDE

45

D EBUG TOOLS

Figure 32 Source Display, Function code

4

To place a breakpoint, place the cursor on any step, click F12 or right click.

NOTE

You may place as many breakpoints as you need.

Release Build Release builds are made following debugging.

1

Toggle the [Right-click pop-up menu on the project tree node] Active Build Configuration > Release. Upon successful compilation the Application Integrator will open automatically (see the Application Integrator User Guide).

NOTE

The Application Integrator opens only when you do a build for release. It does not open nor is it required when you perform a build for debug purposes.

2

46

NURIT IDE USER'S GUIDE

Set the application hardware requirements (see Set Hardware Parameters, page 27).

D EBUG TOOLS

3

When the requirements have been set, click the Application Integrator's Convert icon ( ). This will open the Application Integrator.

NURIT IDE USER'S GUIDE

47

D EBUG TOOLS

48

NURIT IDE USER'S GUIDE

NURIT IDE, Version 4.01 User's Guide Updated 7/23/08

APPENDIX 1

NURIT IDE Project Converter

The CONVERTER offers a rapid (not recommended) solution to enable NURIT IDE development and management of projects created in the old-style method of BATCH files, without the need to alter existing project files in any way. To enable full project conversion, VeriFone recommends creation of a new project and to copy into its path the library of SOURCE files. All SOURCE contents archived within the project path will be automatically compiled. CONVERTER embeds compile and link commands into the existing BATCH files. In the event that the MAKE file is used, make sure you get from it the BATCH file. In addition, the following assumptions apply:

· · · · ·

The projects.def file is located in the BATCH or one of the SOURCE directories. The paths to the files for compilation, as specified in the BATCH file, contain no spaces. Compilation commands begin with the string hcarm Link commands begin with the string ldarm The DLM project contains perl commands and there are no spaces both in its path and in the path of the API files referenced there

NURIT IDE P ROJECT C ONVERTER

To convert existing Batch-File projects

1

Modify the existing Eclipse startup to include the command-line switch "/convert":

2 3 4

In the New > Select a wizard dialog, select the Managed Make C project option. After giving the project a name, in the Select a type of project dialog dropdown Project type listing, select "External Nurit Project". Progress through the wizard by clicking Next to reach the NURIT Single Application (CONVERT) dialog in which you use the Convert from BatchFile Browse button to navigate to your project batch file. Click Finish to complete the conversion process.

5

50

NURIT IDE USER'S GUIDE

Information

template.book

50 pages

Report File (DMCA)

Our content is added by our users. We aim to remove reported files within 1 working day. Please use this link to notify us:

Report this file as copyright or inappropriate

812851