Flash Memory Programmer for Intel Development Platforms

Release Notes

Version 5.01.003                                                                                                        March 13, 2003

Order Number: 278600-008


Contents

1.    Description. 3

2.    Kit Contents. 4

3.    Requirements. 4

4.    Software Installation. 5

4.1     Installing the JFlashMM Software on Windows* 98. 5

4.2     Installing the GIVEIO.SYS driver on Windows* NT and Windows* 2000. 5

4.3     Installing the GIVEIO.SYS driver on Windows* XP.. 5

5.    Operation. 6

5.1     Example Commands. 6

5.1.1     Using Default Parameters. 6

5.1.2     Programming a Flash at a Different Base Address. 6

5.1.3     Using Debug Mode. 6

6.    Data File Modification Guidelines. 7

6.1     Banner Strings. 7

6.2     JTAG Chain. 7

6.3     Memory Map. 8

6.4     Programming Mode. 8

7.    Changes Since Last Release. 8

8.    Known Problems. 8

9.    Bugs Fixed Since Last Release. 9

10.  Supported Development Platform Hardware Revisions. 9

11.  Software, Hardware, and Documentation Updates. 9

12.  Copyright 9

 


 

1.  Description

JFlashMM is a generic JTAG flash memory programmer that uses configuration data files to describe the target development platform. JFlashMM is a Windows* console application that uses various cables to interface a parallel port to the JTAG TAP on a development system. The supported cable types are as follows:

·         Insight Brand IJC-1, IJC-2

·         Blackstone (Intel High Speed JTAG link) cable

 

Since there is no platform information contained within the JFlashMM executable, you will always need at least 2 data files to use this software with your development platform. One data file describes the development platform and processor, and the other data file contains information about the flash memory device that is being programmed. The data files are ASCII text files that may be edited with any text editor. The data files are heavily commented and may be modified in minor ways for your convenience.  For more information on modifying data files, see Data file modification guidelines.

 

Note:       See the Requirements section for information on obtaining a development platform data file. 

 

This software went through validation testing and is intended for EXAMPLE CODE ONLY. It cannot be used "as is" for production systems. No warranty, expressed or implied is to be associated with this software and the User assumes all risk.


1.  Kit Contents

This kit contains the following files:

·         RelNote_JFlashMM.htm – this file

·         jflashmm.exe – JFlash executable image

·         Sources.zip – Source code for JFlashMM

o        Compile_switches.h - header for setting build instructions for different hardware platforms

o        Global_Variables.h – Global variables used for platform definitions

o        Jflash.cpp – main program file

o        Jflash.h – header file for device and program constants

o        jflashmm.dsp – Microsoft Visual C++ project file

o        jflashmm.dsw – Microsoft Visual C++ project file

o        jflashmm.mak – Microsoft Make file

o        jtag.h – JTAG common and platform specific assignments

o        xjd.cpp – Debug handler

·         giveio.inf - required for device driver installation

·         giveio.INI - required for device driver installation

·         giveio.zip – source code for the giveio.sys device driver

·         GIVEIO.SYS - the giveio device driver

·         testfile.bin – a small binary file to be used with debug mode

·         SWLicense.pdf - end-user license agreement

·         Flash_16_2_32.dat – data file for 28F320J3A

·         Flash_18_2_32.dat – data file for 28F128J3A

·         Flash_8802_1_16.dat – data file for 28F128K3

·         Flash_8802_2_32.dat – data file for 28F128K3

·         Flash_8803_2_32.dat – data file for 28F256K3

·         Flash_8806_2_32.dat – data file for 28F128K18

·         Flash_8807_2_32.dat – data file for 28F256K18

 

2.  Requirements

This installation kit provides you with generic JFlashMM executable and flash data files, but does not include the required data file that describes your development platform and processor. A data file specifically for your Intel manufactured development platform is available from the Intel website.

For development platforms that were not manufactured by Intel, contact your Intel Field Applications Support person for a data file that matches your platform descriptions.   These non-Intel development platforms must have the following connections for JFlashMM:

·         TDI

·         TDO

·         TMS

·         TCK

·         NReset

·         3.3 Volt power with at least 30mA of capacity

 

3.  Software Installation

This section details how to install the JFlashMM software on Windows* 98, Windows* 2000, Windows* NT, and Windows* XP.

Note:       The GIVEIO.SYS device driver is required for JFlashMM to operate. The parallel port on your PC must be set to ECP mode.

3.1   Installing the JFlashMM Software on Windows* 98

1.        Create a new folder and copy the JFlash_MM_V5_01_003.exe self-extracting installation file into it.

2.        Run the JFlash_MM_V5_01_003.exe self-extracting file.

 

Optionally, you can also add the path to your Autoexec.bat file (requires reboot for path to take affect).  No other action is required to run the application on Windows* 98.

3.2   Installing the GIVEIO.SYS driver on Windows* NT and Windows* 2000

1.        Copy the included GIVEIO.SYS file to your C:\WINNT\system32\drivers directory.

2.        Open the Control Panel and click on the Add/Remove Hardware Wizard.

3.        Follow the directions for adding a new device.

4.        Select “Select hardware from list” and then click NEXT.

5.        Select Ports from the hardware list and then click NEXT.

6.        Select “Have Disk” and browse to the giveio.inf file.

7.        Confirm and finish the installation by clicking NEXT and then FINISH.

3.3   Installing the GIVEIO.SYS driver on Windows* XP

1.        Copy the included GIVEIO.SYS file to your C:\WINNT\system32\drivers directory.

2.        Open the Control Panel and click “Printers and Other Hardware”.

3.        Click “Add Hardware” (upper left-hand corner of window).

4.        Click NEXT when the Add Hardware Wizard appears.

5.        Check “Yes, I have already added the hardware” button; then click NEXT.

6.        Select “Communications Port (COMx)” from the Installed hardware list.

7.        Confirm and finish the installation by clicking NEXT and then FINISH.

4.  Operation

JFlashMM is executed from a console window and accepts the following command arguments:

 

>JFLASHMM [*PLAT][*IMAGE][P, V, E][ADDR][INS, PAR][NOD, DEB][A, D]

 

* = required parameter

Optional parameters assume the first item in the list.

 

Where:

 

[PLAT]          =  The name of the platform data file without the .DAT.

[IMAGE]        =  The name of the image to program in flash.

[P, V, E]   =  (P)rogram and verify, (V)erify only, (E)rase device

[ADDR]          =  Hex byte address to start. No leading 0X, assumes 0

[INS, PAR] = Insight IJC or Blackstone cable, or passive parallel

[NOD, DEB] = NODebug (Normal) or DEBug mode

[A, D]              = (A)sk questions or (D)on’t ask questions. Used for batch operation.

 

Note:       JFLASHMM is the executable name in this example.

 

4.1   Example Commands

This section provides descriptions of commonly used commands.  

Note:       Command parameters are NOT case sensitive.

4.1.1   Using Default Parameters

JFlashMM myplatform myfile.bin

Where myplatform is the name of the .dat file that describes the platform. Note that this example assumes that there is a file named myplatform.dat in the same directory as the JFlashMM executable.

4.1.2   Programming a Flash at a Different Base Address

JFlashMM myplatform myfile.bin P 01EC0000

The parameter P is required in this example because all of the parameters are counted and therefore position dependent. The parameter P also specifies that the operation is to program and verify.  The address 01EC0000 is the hex byte address where the flash programming is to begin.

4.1.3   Using Debug Mode

JFlashMM myplatform myfile.bin P 0 INS DEB > debuglog.txt

The debug parameter DEB generates a lot of screen messages.  This example captures the screen messages and routes it to a file named debuglog.txt. 

To restrict the size of the log file, you can debug the program using the small test file testfile.bin . Using this file allows your Intel Field Applications Support person to compare your debug results with the same file on a reference platform. 

 

5.  Data File Modification Guidelines

As described in the Description section, there are a minimum of two data files required for any one platform: a platform data file and at least one flash component data file.

The names of the data files are very important. The flash device data files are constructed using the internal ID of the flash device along with information about the layout of the flash and the width of the data bus used. The flash data files are not specified on the command line because they are constructed “on the fly” by the program. The platform data file can be any name as long as the filename extension is .DAT. The filename itself is the first parameter required by JFlashMM.

 

All strings in the data files are case sensitive. Comment blocks are similar to old-style C coding comments with the exception that there must be white space on both sides of the delimiters. The data files that are supplied by Intel are heavily commented and contain additional information about the content and construction.

 

Normally these data files will not require modification by the user. This section describes some of the possible ways that the files may be modified to suit a particular variation of a development board.

5.1   Banner Strings

When a platform data file is used, JFlashMM uses the following text strings as a banner to display the current selected platform. Intel recommends that if you modify a data file, please change the corresponding text string to aid in the identification of the data file.

 

PXA123      /* Supported Processor Code Name or Number */

BigBoard    /* Supported Development platform name or number */

1.0         /* Version number of this data file */

5.2   JTAG Chain

JFlashMM supports up to five JTAG devices in the scan chain. In order to add devices, the word “Disabled” must be changed to “Enabled” and the number of bits using for the instruction register for the device must be added. The following comments indicate how to describe the position of the devices relative to TDI and TDO.

 

/* TDI --> */  Enabled    5   Controller  Last

               Disabled   0   Other       More

               Disabled   0   Other       More

               Disabled   0   Other       More

               Disabled   0   Other       More    /* TDO --> */

 

 

5.3   Memory Map

If the memory map of your development system requires modification, the values in this section of the data file may be modified. Note that the address columns have Hex numbers preceded by the letter X. The X signals that the numeric value is to be treated as a Hexadecimal constant.

 

/*  Lower Address       Upper Address       Chip Select */

    X00000000           X02000000           0

    X04000000           X06000000           1

    X08000000           X08000100           2

    X0C000000           X0E100000           3

    X10000000           X10400000           4

    X14000000           X18000000           5

 

5.4   Programming Mode

This version of JFlashMM allows for two different programming modes. Each mode has advantages and disadvantages depending on the environment.   

 

BUFFER        /* WORD or BUFFER is the allowed entry */

 

WORD programming is about 30% slower than BUFFER programming, but is more compatible with some flash configurations.

6.  Changes Since Last Release

This version of JFlashMM has the following new features:

·         A parameter was added to assist operation of JFlashMM in a batch file. Some operations of JFlashMM will prompt the user for confirmation on actions. The erase function for example asks for confirmation that the operator really wants to erase the entire flash. Setting the ‘D’ parameter would allow the operation to proceed without asking.

7.  Known Problems

·         Problem:  Software previously programmed into the flash memory or unexpected power cycles may have left the flash memory in a state that JFlashMM cannot control.
Workaround: In most cases, a power cycle of your development platform will reset the flash memory components.

8.  Bugs Fixed Since Last Release

·         None

9.  Supported Development Platform Hardware Revisions

This version of the software supports multiple platforms defined by data files available from your Field Applications Support person, or already included in a software kit shipped with your development platform.

 

Warning:  All applicable ECOs must be implemented on your platform. Failure to implement all of the ECOs required on your platform may cause physical damage to your hardware and may result in software instability.

 

10.              Software, Hardware, and Documentation Updates

For the latest software and hardware updates, contact your Field Applications Support person.

 

11.              Copyright

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, life sustaining applications

Intel may make changes to specifications and product descriptions at any time, without notice.

The development platforms and processors may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

This document and the software described in it are furnished under license and may only be used or copied in accordance with the terms of the license. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation.

Copies of documents which have an ordering number and are referenced in this document, or other Intel literature may be obtained by calling 18005484725 or by visiting Intel's website at http://www.intel.com.

Intel, Intel logo, Intel XScale, and Intel PCA are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.

Copyright © Intel Corporation, 2003