您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页Nios II Flash Programmer

Nios II Flash Programmer

来源:爱go旅游网
Nios II Flash Programmer

User Guide

Preliminary Information101 Innovation DriveSan Jose, CA 95134(408) 4-7000

http://www.altera.com

Copyright © 2007 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device des-ignations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks andservice marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective holders. Al-tera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrantsperformance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to makechanges to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the ap-plication or use of any information, product, or service described herein except as expressly agreed to in writing by AlteraCorporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published in-formation and before placing orders for products or services.

UG-NIOSIIFLSHPROG-1.4

ii

Altera Corporation

Contents

About This User Guide ............................................................................ vChapter 1. Overview of the NiosII Flash Programmer

Introduction............................................................................................................................................Prerequisites......................................................................................................................................How the Flash Programmer Works....................................................................................................IDE and Command-Line Modes.........................................................................................................Flash Programmer Target Design.......................................................................................................Minimum Component Set...............................................................................................................

1–11–21–21–31–31–4

Chapter 2. Using the Flash Programmer in IDE Mode

The Flash Programmer Dialog Box.....................................................................................................2–1

Chapter 3. Using the Flash Programmer in Command-Line Mode

nios2-flash-programmer.......................................................................................................................3–2nios2-flash-programmer Command-Line Examples..................................................................3–5sof2flash..................................................................................................................................................3–6sof2flash Command-Line Examples..............................................................................................3–6elf2flash...................................................................................................................................................3–6Programming Both Hardware and Software into an EPCS Device..........................................3–8elf2flash Command-Line Examples...............................................................................................3–9bin2flash..................................................................................................................................................3–9bin2flash Command-Line Example.............................................................................................3–10

Appendix A. Non-Standard Flash Memories

Built-in Recognition and Override.....................................................................................................A–1Flash Override Files..............................................................................................................................A–1Flash Override File Format............................................................................................................A–2How to Use the Flash Override File.............................................................................................A–2Width Mode Override Parameter......................................................................................................A–2

Appendix B. Supported Flash Memory DevicesAppendix C. Stand-Alone Mode

Installing the NiosII Stand-Alone Flash Programmer....................................................................C–1Running the NiosII Stand-Alone Flash Programmer.....................................................................C–2

Appendix D. Troubleshooting

Overview................................................................................................................................................D–1Program Flash Button Grayed Out in the IDE.................................................................................D–1

Altera Corporation

iii

Contents

Probable Cause................................................................................................................................D–1Suggested Actions...........................................................................................................................D–1\"No NiosII processors available\" Error.............................................................................................D–1Probable Cause................................................................................................................................D–1Suggested Actions...........................................................................................................................D–1\"No CFI table found\" Error..................................................................................................................D–2Probable Cause................................................................................................................................D–2Suggested Actions...........................................................................................................................D–2\"No EPCS registers found\" Error........................................................................................................D–2Probable Cause................................................................................................................................D–2Suggested Actions...........................................................................................................................D–2\"System does not have any flash memory\" Error............................................................................D–3Probable Cause................................................................................................................................D–3Suggested Actions...........................................................................................................................D–3\"Reading System ID at address 0x

: FAIL\" Error..............................................................D–3Probable Cause................................................................................................................................D–3Suggested Actions...........................................................................................................................D–4Base address not aligned on size of device.......................................................................................D–4Probable Cause................................................................................................................................D–4Suggested Actions...........................................................................................................................D–4

iv

Nios II Flash Programmer User Guide

Altera Corporation

About This User Guide

Revision History

The table below displays the revision history for chapters in this User Guide..

NiosII Flash Programmer User Guide Revision HistoryChapter

Chapter 1

Date

May 2007

Version

7.1

●●●

Changes Made

Remove mention of board description files (no longer implemented)

Correct and update discussion of --instance and --device command line parametersUpdate SOPC Builder screen shot

Chapter 3Appendix CAppendix D

AllAllAllAll

May 2007May 2007May 2007November 2006October 2005December 2004May 2004

7.17.17.16.15.11.11.0

Add descriptions of nios2-flash-programmer options --sidp, --id, --timestamp, --accept-bad-sysidCorrect missing installation step

Remove mention of board description files (no longer implemented)

Updates for the NiosII version 6.1 release. Includes improvements to the flash programmer user interface.

Updates for the NiosII version 5.1 release. Includes major changes to the flash programmer target design.Updates for the NiosII version 1.1 release.

First release of the flash programmer user guide for the NiosII development boards.

Altera Corporation v How to Contact AlteraNios II Flash Programmer User Guide

How to Contact Altera

For the most up-to-date information about Altera products, refer to the following table.

Information Type

Technical supportTechnical trainingProduct literatureAltera literature servicesFTP siteNote to table:(1)

You can also contact your local Altera sales office or sales representative.

Contact (1)

www.altera.com/mysupport/ www.altera.com/training/custrain@altera.comwww.altera.com/literature/literature@altera.comftp.altera.com

Typographic Conventions

Visual Cue

Bold Type with Initial Capital Letters bold type

This document uses the following typographic conventions:

Meaning

Command names, dialog box titles, check box options, and dialog box options are shown in bold, initial capital letters. Example: Save As dialog box.

External timing parameters, directory names, project names, disk drive names, filenames, filename extensions, and software utility names are shown in bold type. Examples: fMAX, \\qdesigns directory, d: drive, chiptrip.gdf file.

Italic Type with Initial Capital Document titles are shown in italic type with initial capital letters. Example: AN 75: Letters High-Speed Board Design.Italic type

Internal timing parameters and variables are shown in italic type.

Examples: tPIA, n + 1.

Variable names are enclosed in angle brackets (< >) and shown in italic type. Example: , .pof file.

Initial Capital Letters“Subheading Title”

Keyboard keys and menu names are shown with initial capital letters. Examples: Delete key, the Options menu.

References to sections within a document and titles of on-line help topics are shown in quotation marks. Example: “Typographic Conventions.”

Signal and port names are shown in lowercase Courier type. Examples: data1, tdi, input. Active-low signals are denoted by suffix n, e.g., resetn.Anything that must be typed exactly as it appears is shown in Courier type. For example: c:\\qdesigns\utorial\\chiptrip.gdf. Also, sections of an actual file, such as a Report File, references to parts of files (e.g., the AHDL keyword SUBDESIGN), as well as logic function names (e.g., TRI) are shown in Courier.

Courier type

vi Altera Corporation

About This User GuideTypographic Conventions

Visual Cue

1., 2., 3., anda., b., c., etc.■v 1

Meaning

Numbered steps are used in a list of items when the sequence of the items is important, such as the steps listed in a procedure.

Bullets are used in a list of items when the sequence of the items is not important. The check mark indicates a procedure that consists of one step only.The hand points to information that requires special attention.

A caution calls attention to a condition or possible situation that can damage or destroy the product or the user’s work.

A warning calls attention to a condition or possible situation that can cause injury to the user.

The angled arrow indicates you should press the Enter key.The feet direct you to more information on a particular topic.

cw

r f

Altera Corporation vii Typographic Conventionsviii Nios II Flash Programmer User Guide

Corporation

Altera Introduction

f

Altera Corporation May 2007

1.Overview of the NiosII

Flash Programmer

The purpose of the Nios®II flash programmer is to program data into a flash memory device connected to an Altera® FPGA. The flash

programmer sends file contents over an Altera download cable, such as the USB Blaster®, to a NiosII system running on the FPGA. Many hardware designs that include the Nios®II processor also incorporate flash memory on the board to store FPGA configuration data or NiosII program data. The NiosII flash programmer is part of the NiosII development tools, and is a convenient method of programming this memory.

The NiosII flash programmer can program three types of content into flash memory:

NiosII software executable files - Many systems use flash memory to store nonvolatile program code, or firmware. NiosII systems can boot out of flash memory.

FPGA configuration data - At system power-up, the FPGA

configuration controller on the board can read FPGA configuration data from the flash memory. Depending on the design of the

configuration controller, it might be able to choose between multiple FPGA configuration files stored in flash memory.

Other arbitrary data files - The NiosII flash programmer can

program a binary file to an arbitrary offset in a flash memory for any purpose. For example, a NiosII program might use this data as a coefficient table or a sine lookup table.

You can use the flash programmer to program the following types of memory:

Common flash interface (CFI)-compliant flash memory - CFI is an industry standard that provides a common, vendor-independent interface to flash memory devices.

Altera erasable programmable configurable serial (EPCS) device - Altera EPCS serial configuration devices can store FPGA configuration data and NiosII executable software.

For further information on the CFI specification, see www.intel.com/design/flash/swb/cfi.htm. For further information on EPCS devices, see the Serial Configuration Devices (EPCS1, EPCS4, EPCS16 & EPCS) Data Sheet and the EPCS Device Controller Core with Avalon Interface chapter of the QuartusII Handbook, Volume 5: Embedded Peripherals.

1–1

How the Flash Programmer Works

In this document, the term \"flash memory\" refers to both CFI and EPCS memory devices, unless otherwise noted.

Prerequisites

This user guide assumes that you are familiar with the NiosII hardware and software development flow. You need to be familiar with the contents of the following tutorials:

■■

NiosII Hardware Development Tutorial

NiosII Software Development Tutorial, which is available in the NiosII integrated development environment (IDE) help system

If you use the NiosII flash programmer to program FPGA configuration data to flash memory, you also must understand the configuration method used on the board.

f

Refer to AN346: Using the Nios Development Board Configuration Controller Reference Design, or to the reference manual for a specific IIdevelopment board.

The flash programmer has two parts, the host and the target, as shown in Figure1–1. The host portion runs on your computer. It sends flash

programming files over a download cable to the target. The target portion is your hardware design, running in the FPGA. It accepts the

programming data sent by the host, and writes data to the flash memory device. In order to work with the NiosII flash programmer, your FPGA design must meet certain requirements. See “Flash Programmer Target Design” on page1–3.

How the Flash Programmer Works

Figure1–1.How the NiosII Flash Programmer Works

Host ComputerFlashContentTarget BoardAltera FPGA Download Cable(e.g. USB Blaster) Target DesignFlashContent FlashMemory Device1–2

Nios II Flash Programmer User Guide Altera Corporation

May 2007

IDE and

Command-Line Modes

Flash

Programmer Target Design

Altera Corporation May 2007

Overview of the NiosII Flash Programmer

You can run the NiosII flash programmer in either of two modes:

IDE Mode – The NiosII IDE provides an easy-to-use interface to the flash programmer features. The IDE mode is suitable for most flash programming needs.

Command-Line Mode - For advanced users, command-line mode provides complete control over the flash programmer features. You can run the command-line flash programmer utilities from a

command shell such as the NiosII Command Shell. You might have to calculate some parameters manually.

In this document, the terms \"NiosII flash programmer\" and \"flash

programmer\" refer to both IDE mode and command-line mode, unless explicitly noted.

To use the NiosII flash programmer, you must have a valid flash

programmer target design. The target design contains an SOPC Builder system with at least the SOPC Builder components shown in Table1–1. The target design must be running on the FPGA before you can run the NiosII flash programmer on the host.

1–3

Nios II Flash Programmer User Guide

Flash Programmer Target Design

Minimum Component Set

The minimum component set provides facilities for the target design to communicate with the host, and to write to flash memory. The minimum component set depends on the type of flash memory you intend to program. Table1–1 lists the minimum component set.

Table1–1.Minimum Component Set for the Flash Programmer Target Design

Component

NiosII Processor, with Joint Text Action Group (JTAG) debug module level 1 or greaterSystem ID PeripheralAvalon-MM Tristate Bridge

Flash Memory (Common Flash Interface)EPCS Serial Flash ControllerNotes to Table1–1:

Flash memory to program

CFI Only

Required

EPCS Only

Required

CFI and EPCS

Required

Recommended (1)

RequiredRequired (2)

Recommended (1)Recommended (1)

RequiredRequired (2)

RequiredRequired

(1)If present, a System ID Peripheral component allows the flash programmer to validate the

target design before programming the flash memory.

(2)The system can contain more than one CFI flash memory. The system must contain one Flash

Memory (Common Flash Interface) component for each flash memory on the board.

Figure1–2 shows an example of an SOPC Builder system containing the minimum component set for a system with one CFI flash memory and an EPCS serial configuration device. The system also includes other components which relate to the purpose of the system, not the flash programmer.

1–4

Nios II Flash Programmer User Guide Altera Corporation

May 2007

Overview of the NiosII Flash Programmer

Figure1–2.Example Target Design Containing the Minimum Component Set

1

The full_featured or standard hardware example designs included with Nios development tools are ready-made target designs that work with Altera development boards. If you are developing for a custom board, consider using one of these example designs as a starting point in creating your first target design.

Altera Corporation May 2007

1–5

Nios II Flash Programmer User Guide

Flash Programmer Target Design

1–6

Nios II Flash Programmer User GuideCorporation

May 2007

Altera f

The Flash Programmer Dialog Box

Altera Corporation May 2007

2.Using the Flash

Programmer in IDE Mode

The NiosII integrated development environment (IDE) automates the process of programming flash memory, and allows you to control the programming parameters with an easy-to-use graphical interface. The IDE lets you program any combination of software, hardware, and binary data into flash memory in one operation. The IDE mode is the recommended method to use the NiosII flash programmer.

For details on using the flash programmer in command-line mode, see Chapter3, Using the Flash Programmer in Command-Line Mode.To open the NiosII flash programmer in the NiosII IDE, first highlight the software project for which you wish to program flash, then from the Tools menu, click Flash Programmer. The Flash Programmer dialog box appears. If you are programming flash the first time, the dialog box appears as in Figure2–1. If you have any pre-existing flash configurations, it appears as in Figure2–2 on page2–2.Figure2–1.Flash Programmer Dialog Box when First Opened

2–1

The Flash Programmer Dialog Box

Figure2–2.Flash Programmer Dialog Box with Pre-Existing Configuration

Before burning flash, you must open a flash configuration. Decide

whether you can use a pre-existing flash programmer configuration, or you need to create a new flash programmer configuration. If you have previously programmed the project to flash, and you selected special options, you might wish to reuse the flash configuration.

2–2

Nios II Flash Programmer User Guide Altera Corporation

May 2007

Altera Corporation May 2007

Using the Flash Programmer in IDE Mode

If you are creating a new flash programmer configuration, carry out the following steps:1.Select Flash Programmer at the left side of the dialog box.

2.

Click the New launch configuration button in the upper left corner of the flash programmer window, as shown in Figure2–3 on page2–3. The NiosII IDE creates a new flash programming configuration.

If you are reusing an existing flash configuration, and the Quartus®II project has been recompiled since the flash configuration’s creation, carry out the following step:

vClick Load JDI File. Loading the JDI file ensures that the Additional

nios2-flash-programmer Arguments box contains the correct instance ID. For additional information about the instance ID, see Table3–2 on page3–2.To burn flash using a flash configuration, carry out the following steps:1.

If you wish to program flash with software from your NiosII IDE project, or a read-only zip file system associated with your NiosII IDE project, check the box titled Program software project into flash memory.

Figure2–3.Creating a New Flash Programmer Configuration

2.

If you wish to pass any additional arguments to the flash

programmer, enter them in the field titled Additional nios2-flash-programmer arguments.

2–3

Nios II Flash Programmer User Guide

The Flash Programmer Dialog Box

3.

If you wish to program flash with FPGA configuration data, check the box titled Program FPGA configuration data into hardware-image region of flash memory.a.

In the FPGA Configuration (SOF) field, type or browse to the SRAM object file (.sof) you wish to program.

In the Hardware Image field, select the preset location at which you wish to program the SRAM object file, or select Custom. If you select Custom, you must also specify a memory name, and an offset (in bytes) within that memory.

b.

4.

If you wish to program flash with an arbitrary binary file, check the box titled Program a file into flash memory.

1

You must specify a file to program, a flash memory name, and an offset.

The NiosII EDS also provides the Altera Zip Read-Only File System software component, which is an easy-to-use tool for storing and accessing data in flash memory. Depending on your application, you might find it more convenient to use the Zip Read-Only File System, rather than storing raw binary data in flash memory.

f

For details, see the Zip Read-Only File System topic in the NiosII IDE help system.5.

Click Program Flash. The IDE performs the sequence of operations required to program all the specified files into flash memory.

f

Refer to the NiosII IDE help system for an explanation of controls in the Flash Programmer dialog box. Click Help in the upper right hand corner of the Flash Programmer dialog box to open the help system.

If your target design has a System ID component, the IDE verifies that a system with the expected system ID value is running on the FPGA before attempting to program flash memory. If the expected system is not running, the flash programmer does not continue to program the flash memory. The IDE skips this check if there is no System ID component in the target system.1

Regardless of the system ID, you cannot program flash memory if the hardware design configured in the FPGA is not a valid flash programmer target design. Therefore, the NiosII hardware system for your C/C++ application project must be a valid flash programmer target system, containing at least the minimum component set specified in Table1–1 on page1–4.

2–4

Nios II Flash Programmer User Guide Altera Corporation

May 2007

3.Using the Flash

Programmer in

Command-Line Mode

The NiosII development tools provide four command-line utilities which give you complete control of the NiosII flash programmer features. You can create a custom script file to automate a flash programming task. Using the flash programmer in command-line mode gives you more control than IDE mode, but it is also more complex. When possible, Altera recommends using IDE mode to program flash. Table3–1 lists the command-line utilities.

Table3–1.Flash Programmer Command-Line Utilitiesnios2-flash-programmersof2flashelf2flashbin2flash

1

Programs an S-record file into flash memory. Can also read back data, verify data, provide debug information about the flash chip, and more.Converts an SRAM object file to an S-record file.

Converts a NiosII executable and linking format file (.elf) to an S-record file.

Converts an arbitrary data file to an S-record file.

The NiosII IDE programs flash by creating a script based on the command-line utilities. The script is well-formed, customized to your project, and human-readable. You can use it as a reference for flash programmer command-line syntax.

The IDE-created script is particularly helpful if you need to use the --instance parameter (listed in Table3–2 on page3–2).After you successfully program flash memory using the IDE, you can find the flash programmer script in the C/C++ Projects view in your project's Debug or Release folder. The flash programmer script is a file with extension .sh named _programmer.sh. The flash programmer dialog box displays the full path and file name of the script, as shown in Figure2–2 on page2–2.

The main utility for programming flash memory from the command line is nios2-flash-programmer. It requires industry-standard S-record input files. The file conversion utilities sof2flash, elf2flash and bin2flash create the S-record files for nios2-flash-programmer. These utilities ensure that the input is compatible with the flash programmer. Input file names for all utilities must include an explicit extension, such as .elf or .flash.

Altera Corporation May 2007

3–1

nios2-flash-programmer

On Windows computers, when you launch the NiosII Command Shell, the flash programmer utilities are available in your default search path.

f

For more detail about the NiosII Command Shell, see the Altera-Provided Development Tools chapter of the NiosII Software Developer's Handbook.The following sections list the utilities and their functions.

nios2-flash-programmer

The nios2-flash-programmer utility programs a preformatted file into a specified flash memory. The input is an industry-standard S-record file, normally created by one of the conversion utilities, sof2flash, elf2flash, or bin2flash. nios2-flash-programmer can use any S-record file as an input, provided that the addresses specified in the S-record file represent offsets from the beginning of flash memory. The NiosII IDE creates flash programmer files with a .flash extension.

The nios2-flash-programmer utility is capable of programming, erasing, or reading from any CFI-compatible flash memory or EPCS serial configuration device in the hardware target design.

The nios2-flash-programmer command-line syntax is as follows:

nios2-flash-programmer [--help] [--cable=] [--device=]\\

[--instance=] [--sidp=

] [--id=] [--timestamp=

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务