Flash Memory Programmer for Intel Development Platforms
Release Notes
Version 5.01.003 March 13, 2003
Order Number: 278600-008
Contents
4.1 Installing the JFlashMM
Software on Windows* 98
4.2 Installing the
GIVEIO.SYS driver on Windows* NT and Windows* 2000
4.3 Installing the
GIVEIO.SYS driver on Windows* XP
5.1.1 Using Default Parameters
5.1.2 Programming a Flash at a
Different Base Address
6. Data File
Modification Guidelines
9. Bugs Fixed
Since Last Release
10. Supported
Development Platform Hardware Revisions
11. Software,
Hardware, and Documentation Updates
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.
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
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
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.
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.
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.
6. Select “Have Disk” and browse to the giveio.inf file.
7. Confirm and finish the installation by clicking NEXT and then FINISH.
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 “
7. Confirm and finish the installation by clicking NEXT and then FINISH.
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 (
[A, D] = (A)sk questions or (D)on’t ask questions. Used for batch operation.
Note:
JFLASHMM is the executable name in this
example.
This section provides descriptions of commonly used commands.
Note: Command parameters are NOT case sensitive.
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.
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.
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.
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.
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 */
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 --> */
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
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.
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.
·
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.
· None
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.
For the latest software and hardware updates, contact your Field Applications Support person.
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 1‑800‑548‑4725
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
* Other names and
brands may be claimed as the property of others.
Copyright
© Intel Corporation, 2003