0% found this document useful (0 votes)
509 views220 pages

NetX Studio CDT - NetX 90 Development GS 08 en

Uploaded by

shruti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
509 views220 pages

NetX Studio CDT - NetX 90 Development GS 08 en

Uploaded by

shruti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 220

Getting started

netX Studio CDT


netX 90 development
V1.0600

Hilscher Gesellschaft für Systemautomation mbH


www.hilscher.com
DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Table of contents 2/220

Table of contents
1 Introduction ..............................................................................................................................  4
1.1 About this document ........................................................................................................ 4
1.1.1 Description of the contents ...............................................................................  4
1.1.2 List of revisions .................................................................................................  5
1.1.3 Conventions in this document...........................................................................  7
1.2 Further relevant documentation ....................................................................................... 8
1.3 Legal notes....................................................................................................................... 9
1.4 Licenses ......................................................................................................................... 12
1.5 Trademarks .................................................................................................................... 14
1.6 About netX Studio CDT.................................................................................................. 15
1.7 Using the NXHX 90-JTAG development board.............................................................. 17
2 First steps...............................................................................................................................  19
2.1 Installing the netX Studio CDT software ........................................................................ 19
2.1.1 Overview .........................................................................................................  19
2.1.2 Requirements for installing netX Studio CDT .................................................  19
2.1.3 Step-by-step instructions ................................................................................  20
2.1.4 Installing development tools in a restricted network .......................................  26
2.2 Checking JTAG-to-USB connection in Device Manager................................................ 27
2.3 Welcome screen ............................................................................................................ 31
3 Projects and resources .........................................................................................................  32
3.1 Overview ........................................................................................................................ 32
3.2 Example projects............................................................................................................ 33
3.2.1 Using example projects...................................................................................  33
3.2.2 Example project resources .............................................................................  37
3.3 Template projects........................................................................................................... 49
3.3.1 Creating template projects ..............................................................................  49
3.3.2 Template project resources ............................................................................  51
3.4 Build output folder .......................................................................................................... 55
4 How to... ..................................................................................................................................  56
4.1 Add components ............................................................................................................ 56
4.1.1 Creating new component and using it from target code .................................  56
4.1.2 Using new component from another component ............................................  65
4.1.3 Checking Component ID.................................................................................  69
4.2 Configure the netX 90 hardware .................................................................................... 70
4.2.1 Overview .........................................................................................................  70
4.2.2 New Hardware Configuration wizard ..............................................................  73
4.2.3 Hardware configuration editor.........................................................................  76
4.2.4 Build hardware configuration binaries.............................................................  90
4.3 Use Flash Device Label ................................................................................................. 95
4.3.1 Overview .........................................................................................................  95
4.3.2 Create new Flash Device Label ......................................................................  96
4.3.3 Edit Flash Device Labels ..............................................................................  100
4.4 Use the Tag List Editor................................................................................................. 109
4.5 Use the Flasher tool ..................................................................................................... 113
4.5.1 Overview .......................................................................................................  113

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Table of contents 3/220

4.5.2 Writing files to the flash memory of the netX device .....................................  114
4.5.3 Reading from flash memory of the netX device ............................................  120
4.5.4 Erasing flash memory of the netX device .....................................................  123
4.6 Adjust debug settings................................................................................................... 126
4.7 Set debug startup target............................................................................................... 132
4.8 Use the Peripheral Register View ................................................................................ 133
5 Good to know... ....................................................................................................................  137
5.1 “Auto Flasher” function for debugging in internal flash of APP CPU............................ 137
5.2 Multiple instances support............................................................................................ 138
5.3 Build Targets View ....................................................................................................... 139
5.4 Debug Cores View ....................................................................................................... 142
5.5 PyDev plug-in............................................................................................................... 145
5.6 Hilscher code style formatter........................................................................................ 148
5.7 Create documentation with Doxygen (Eclox plug-in) ................................................... 149
5.7.1 Overview .......................................................................................................  149
5.7.2 Installing Doxygen.........................................................................................  149
5.7.3 Configuring Doxygen (Doxyfile) ....................................................................  150
5.7.4 Build documentation .....................................................................................  156
5.8 Work with Subversion SVN (Subversive plug-in) ......................................................... 159
5.8.1 Overview .......................................................................................................  159
5.8.2 Installing SVN Connector..............................................................................  159
5.8.3 Adding/creating SVN Repositories................................................................  163
5.8.4 Adding/checking out projects ........................................................................  167
5.9 Using external debugger .............................................................................................. 172
5.10 Using NXHX-SDRSPM module for additional SDRAM (optional) ................................ 176
6 Tutorials................................................................................................................................  177
6.1 How to use the netX 90 example project ..................................................................... 177
6.1.1 Overview .......................................................................................................  177
6.1.2 Prerequisites .................................................................................................  177
6.1.3 Step-by-step instructions ..............................................................................  178
6.2 How to change from Firmware Use Case A to Use Case C ........................................ 196
6.2.1 Overview .......................................................................................................  196
6.2.2 Prerequisites .................................................................................................  196
6.2.3 Step-by-step instructions ..............................................................................  197
List of figures .......................................................................................................................  213
List of tables.........................................................................................................................  219
Contacts................................................................................................................................  220

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 4/220

1 Introduction

1.1 About this document

1.1.1 Description of the contents


This Getting Started Guide provides basic information on how to use
netX Studio CDT for developing software for the netX 90 SoC.
It describes the plug-ins and resources that are delivered with netX Studio
CDT and provides instructions on how to perform basic functions like
installing the software on your development PC, connecting to the NXHX
90-JTAG development board and using the netX 90 software example
projects provided by Hilscher.

Users of the “traditional” netX controllers (netX 10, netX 51, netX 52
and netX 100/500), please refer to the Getting Started document
netX Studio CDT – netX 10/51/52/100/500 development,
DOC150303GSxxEN.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 5/220

1.1.2 List of revisions


Index Date Author Revision
4 2018-07-16 MKE Document updated to V1.0400 of netX Studio CDT.
List of limitations in section About netX Studio CDT revised.
Chapter netX 90 example projects revised.
Section Configure the netX hardware revised.
Section Writing files to the flash memory of the netX device
revised.
Section Debug Cores View revised.
Chapter Tutorial: How to use the netX 90 example project
revised.
Section Configuring SDRAM module removed from
document.
Section Build Communication Image wizard removed from
document.
5 2018-12-21 MKE Document updated to V1.0500 of netX Studio CDT
Limitations in section About netX Studio CDT revised.
Section Using the NXHX 90-JTAG development board
updated according to hardware revision 3 of the board.
Chapter netX 90 example projects revised and changed into
chapter New projects, resources and example projects.
Section Add components revised.
Section Configure the netX 90 hardware revised.
Section Use the Flash Device Label Editor revised.
Section Use the Flasher tool revised.
Section Adjust debug settings revised.
Screenshots in section Use the Peripheral Register View
updated.
Section Using external debugger revised.
Section Using NXHX-SDRSPM module for additional
SDRAM (optional) revised.
Chapter Tutorial: How to use the netX 90 example project
revised.
6 2019-01-14 HHE Section About netX Studio CDT revised.
Section Creating new projects updated.
7 2019-02-20 MKE Warning note about risk of data loss in section Writing files
to the flash memory of the netX device added.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 6/220

Index Date Author Revision


8 2019-05-21 MKE Document updated to V1.0600 of netX Studio CDT.
Section Further relevant documentation [} page 8] added.
Limitations in section About netX Studio CDT [} page 15]
updated (configuration of the quadrature decoder channels
are now supported).
Chapter New projects, resources and example projects
revised and changed into Projects and
resources [} page 32] (updated according to new example
projects and templates)
Section Configure the netX 90 hardware [} page 70]
revised.
Section Use Flash Device Label [} page 95] added.
Section Use the Tag List Editor [} page 109] added.
Section Use the Flasher tool [} page 113] updated.
Section Using NXHX-SDRSPM module for additional
SDRAM (optional) [} page 176] revised.
Tutorial How to use the netX 90 example
project [} page 177] revised (updated according to new
example project and structure revised).
Tutorial How to change from Firmware Use Case A to Use
Case C [} page 196] added.
Table 1: List of revisions

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 7/220

1.1.3 Conventions in this document


Notes, instructions and results of operating steps are marked as follows:

Notes

Important:
<important note you must follow to avoid malfunction>

Note:
<general note>

<note on further information>

Instructions
1. Operational step
Ø Instruction
Ø Instruction
2. Operational step
Ø Instruction
Ø Instruction

Results
Intermediate result
Final result

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 8/220

1.2 Further relevant documentation


Besides this getting started guide, the following documents may also be
useful for developers of application software for netX 90-based devices:
Title Contents Document ID
Device description NXHX 90-JTAG – Describes the hardware of the NXHX 90-JTAG DOC170202HWxxEN
Development board board
netX 90 – Technical data reference guide Describes netX 90 chip functions DOC160609TRGxxEN
netX 90 – Production guide Describes how to program necessary software DOC190101PGxxEN
components into your netX 90 device during
end-of-line production.
Describes also the flash layout of the Firmware
Use Cases A, B and C.
netX 90 – Design-In Guide Describes the standard circuitry around the netX DOC180501DGxxEN
interfaces (for OEM hardware developers)
Table 2: Additional documentation

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 9/220

1.3 Legal notes


Copyright
© Hilscher Gesellschaft für Systemautomation mbH
All rights reserved.
The images, photographs and texts in the accompanying materials (in the
form of a user's manual, operator's manual, Statement of Work document
and all other document types, support texts, documentation, etc.) are
protected by German and international copyright and by international trade
and protective provisions. Without the prior written consent, you do not
have permission to duplicate them either in full or in part using technical or
mechanical methods (print, photocopy or any other method), to edit them
using electronic systems or to transfer them. You are not permitted to make
changes to copyright notices, markings, trademarks or ownership
declarations. Illustrations are provided without taking the patent situation
into account. Any company names and product designations provided in
this document may be brands or trademarks by the corresponding owner
and may be protected under trademark, brand or patent law. Any form of
further use shall require the express consent from the relevant owner of the
rights.

Important notes
Utmost care was/is given in the preparation of the documentation at hand
consisting of a user's manual, operating manual and any other document
type and accompanying texts. However, errors cannot be ruled out.
Therefore, we cannot assume any guarantee or legal responsibility for
erroneous information or liability of any kind. You are hereby made aware
that descriptions found in the user's manual, the accompanying texts and
the documentation neither represent a guarantee nor any indication on
proper use as stipulated in the agreement or a promised attribute. It cannot
be ruled out that the user's manual, the accompanying texts and the
documentation do not completely match the described attributes, standards
or any other data for the delivered product. A warranty or guarantee with
respect to the correctness or accuracy of the information is not assumed.
We reserve the right to modify our products and the specifications for such
as well as the corresponding documentation in the form of a user's manual,
operating manual and/or any other document types and accompanying
texts at any time and without notice without being required to notify of said
modification. Changes shall be taken into account in future manuals and do
not represent an obligation of any kind, in particular there shall be no right
to have delivered documents revised. The manual delivered with the
product shall apply.
Under no circumstances shall Hilscher Gesellschaft für Systemautomation
mbH be liable for direct, indirect, ancillary or subsequent damage, or for
any loss of income, which may arise after use of the information contained
herein.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 10/220

NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE
PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
responsible for determining the appropriateness of using and distributing
the Program and assumes all risks associated with its exercise of rights
under this Agreement, including but not limited to the risks and costs of
program errors, compliance with applicable laws, damage to or loss of data,
programs or equipment, and unavailability or interruption of operations.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied.

DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Source code
You can get the source code of the software from Hilscher. This is an offer,
valid for at least three years and valid for as long as you offer spare parts or
customer support for that product model, to give anyone who possesses
the object code either
(1) a copy of the Corresponding Source for all the software in the product
that is covered by this License, on a durable physical medium customarily
used for software interchange, for a price no more than your reasonable
cost of physically performing this conveying of source, or
(2) access to copy the Corresponding Source from a network server at no
charge.
For this - please contact Hilscher:
Hilscher Gesellschaft für Systemautomation
Rheinstraße 15
65795 Hattersheim am Main
Tel.: 06190 99070
E-Mail: [email protected]

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 11/220

Export provisions
The delivered product (including technical data) is subject to the legal
export and/or import laws as well as any associated regulations of various
countries, especially such laws applicable in Germany and in the United
States. The products / hardware / software must not be exported into such
countries for which export is prohibited under US American export control
laws and its supplementary provisions. You hereby agree to strictly follow
the regulations and to yourself be responsible for observing them. You are
hereby made aware that you may be required to obtain governmental
approval to export, reexport or import the product.

For MinGW - Minimalist GNU for Windows


Copyright © 2012 MinGW.org project
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice, this permission notice and the below disclaimer
shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 12/220

1.4 Licenses
Please note also the license in the document
License_netX_Studio.rtf, which can be found in the installation
folder: C:\Program Files (x86)\Hilscher GmbH\netX
Studio CDT\docs.

The software contains components that are licensed as open source


software. You should have received a copy of the licenses of the open
source along with this program. If not, see (in alphabetical order):

ANSI Console
Copyright (c) 2012-2014 Mihai Nita

https://marketplace.eclipse.org/content/ansi-escape-console
License: Apache 2.0 (see below)
http://www.apache.org/licenses/LICENSE-2.0.txt

Apache Commons
Copyright (c) 2016 The Apache Software Foundation
Permission/license:
http://apache.org/licenses/LICENSE-2.0.txt

Doxygen

http://www.stack.nl/~dimitri/doxygen/index.html
Permission/license:
https://github.com/doxygen/doxygen/blob/master/LICENSE

Eclipse CDT

http://projects.eclipse.org/projects/tools.cdt
Permission/license:
https://www.eclipse.org/org/documents/epl-v10.html

Eclipse Hex Editor Plugin (1.1.0)

https://sourceforge.net/projects/ehep/
Permission/license:
https://www.eclipse.org/org/documents/epl-v10.html

Eclipse Platform
Permission/license:
https://www.eclipse.org/org/documents/epl-v10.html
https://eclipse.org/legal/eplfaq.php

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 13/220

Eclox

http://home.gna.org/eclox/
Permission/license:
https://www.eclipse.org/org/documents/epl-v10.html

EmbSysRegView

http://embsysregview.sourceforge.net/
Permission/license: EPL (from EmbSysRegView v0.2.5 on)
https://www.eclipse.org/org/documents/epl-v10.html

Graphviz

http://www.graphviz.org/
Permission/license:
http://www.graphviz.org/License.php

Jython

http://www.jython.org/downloads.html
Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython
Developers - All rights reserved.
Permission/license:
http://www.jython.org/license.html

MinGW

http://www.mingw.org/
Permission/license:
http://www.mingw.org/license

PyDev

http://www.pydev.org/
Permission/license:
http://www.eclipse.org/legal/epl-v10.html

Python

https://www.python.org/downloads/release/python-2711/
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software
Foundation; All Rights Reserved
Permission/license:
https://www.python.org/download/releases/2.7/license/
Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
The Netherlands. All rights reserved.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 14/220

Subversive

https://eclipse.org/subversive/documentation/install_migrate.php
Permission/license:
http://www.eclipse.org/legal/epl-v10.html

Waf

https://waf.io/
Permission/license:
https://github.com/waf-project/waf/tree/waf-1.6.11
Copyright (c) Thomas Nagy, 2005-2016

1.5 Trademarks
Eclipse™ is a trademark of the Eclipse Foundation Inc.
Graphviz® is a registered trademark of AT&T Intellectual Property II, L.P.
MinGW® is a registered trademark of Software in the Public Interest, Inc.
PyDev® is a registered trademark of Appcelerator Inc.
Python® is a registered trademark of the Python Software Foundation.
Sourcery G++™ is a trademark of CodeSourcery Inc.
Subversion™ is a trademark of the Apache Software Foundation.
Subversive™ is a trademark of Polarion Software AG.
Windows® 7, Windows® 8 and Windows® 10 are registered trademarks of
the Microsoft Corporation.
All other mentioned trademarks are property of their respective legal
owners.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 15/220

1.6 About netX Studio CDT


netX Studio CDT (C/C++ Development Tooling) is an Eclipse-based IDE
(Integrated Development Environment) for Hilscher netX SoCs.
With netX Studio CDT, you will be able to configure, build and debug netX
90 applications using the NXHX 90-JTAG development board.

netX Studio CDT includes:


· Eclipse Platform IDE
· Eclipse CDT (C/C++ Development Tooling)
· Example projects featuring source code for building and debugging
ready-to-use applications for various targets and Real-Time Ethernet
protocols
· Waf build automation tool
· GNU toolchains
– Sourcery G++ Lite for ARM EABI (CodeSourcery GNU toolchain)
for compiling and debugging C/C++ code for netX 10/51/52/100/500
– GCC ARM Embedded for compiling and debugging C/C++ code for
netX 90
– MinGW for compiling and debugging C/C++ code for Windows host
applications (for evaluation purposes only)
· OpenOCD for JTAG/USB debugging
· USB drivers for connecting netX hardware to the development PC for
JTAG-to-USB debugging and for flashing software
· Eclipse PyDev with Python 2.7 interpreter
· Eclox plug-in with Doxygen and Graphviz for generating project
documentation
· Eclipse Subversive SVN Team Provider for integrated version control
support for SVN
· Additional third party plug-ins such as EmbSysRegView, Eclipse Hex
Editor Plugin, ANSI Console and others

Note:
Due to licensing and distributional limitations, some of the third
party software used by netX Studio CDT – such as the GNU
toolchains and OpenOCD – are not included in the netX Studio
CDT MSI installation package. However, these software
components can be installed automatically at any time by using the
Install Development Tools wizard after having finished the initial
netX Studio installation. When you start netX Studio CDT for the
first time, this installation wizard will automatically open, asking you
to download the required tools. The wizard can also be invoked any
time later by choosing Help > Install > netX Development Tools…
from the main menu of netX Studio.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 16/220

Limitations
netX Studio CDT features a Hardware configuration editor for easy setup
of the pin-sharing and multiplexing options of the netX 90 SoC. Please note
the following limitations:
· Pin assignment for the network interface is fixed to internal Ethernet
PHYs (supported by the COM firmware)
· Pin assignment for the 3rd standard Ethernet MAC is not yet supported
(will be in future versions)
· Pin assignment tool does not support dual SPM (SPM1 is not supported
by the COM firmware)
· Pin assignment tool does not support the configuration of unused HIF
pins as PIO (can be configured in software instead)

Important:
The current Hardware Configuration Editor is not yet backwards
compatible. If you have been using a previous version of netX
Studio CDT and are now using the current version, you will not be
able to edit any previous XML hardware configuration file and
create a new output file based on your “old” configuration.
However, you can open your old XML hardware configuration file in
“read-only” mode in the editor and use it as a reference for creating
and editing a new hardware configuration.

Note:
The limitations of the Real-Time Ethernet firmware stacks used by
the example projects are stated in the README.txt files included in
the example project folders.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 17/220

1.7 Using the NXHX 90-JTAG development board


Hilscher offers the NXHX 90-JTAG development board as target system for
netX 90 software development and convenient debugging via ‘on-board’
JTAG-to-USB adapter (FTDI).

Part number:
7833.000

Required hardware accessories:


· USB cable with Mini-B plug for connecting the JTAG-to-USB on-board
debugger (FTDI) to your development PC (also needed to flash
software to the device)
· +24 V DC voltage supply (e.g. Hilscher NXAC Power adapter, part no.
7930.000)

Optional hardware accessories:


· NXHX-SDRSPM board (64 Mbit SDRAM memory module with SPM-to-
USB FTDI bridge, part no. 7703.080)
· Various other optional adapter modules are also available from
Hilscher, see documentation cited below for details

Documentation:
Device description NXHX 90-JTAG – Development board,
DOC170202HWxxEN

Connecting the board:

Figure 1: Connecting NXHX 90-JTAG development board

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Introduction 18/220

Note:
netX Studio CDT supports debugging with Olimex
ARM-USB-TINY H, Amontec JTAGkey and Hilscher NXJTAG-
USB. If you intend to use one of these “external” debug devices at
the JTAG interface of the NXHX 90-JTAG instead of the JTAG-to-
USB on-board debugger, please see section Using external
debugger [} page 172] for further information.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 19/220

2 First steps

2.1 Installing the netX Studio CDT software

2.1.1 Overview
This section describes how to install the netX Studio CDT software on your
development PC.

2.1.2 Requirements for installing netX Studio CDT


General requirements
· Operating system: Windows® 7, Windows® 8 / 8.1 or Windows® 10
· Access to the internet is required for downloading “third-party”
development tools like e.g. ARM GNU toolchain and OpenOCD.
If applicable:
· Uninstall previous versions of netX Studio from your development
PC
· Uninstall HiTOP USB drivers from your development PC before
installing the netX Studio CDT software

Hardware requirements of development PC


· Processor: Dual core 2 GHz (or equivalent)
· RAM: 2 GByte min., 4 GByte recommended
· Free hard disk space: approx. 3 GByte
· Graphic resolution: 1024 x 768 pixels

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 20/220

2.1.3 Step-by-step instructions


1. Install netX Studio on your development PC.
Ø Double-click the netX Studio CDT V1.XXXX.X.XXXX xXX Setup.msi
file.
Ê The netX Studio CDT Setup Wizard starts:

Figure 2: Setup Wizard start screen

Ø Click Next button.


Ê The End-User License Agreement window opens:

Figure 3: End-User License Agreement screen

Ø Check the box in front of I accept the terms in the License


Agreement, then click Next button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 21/220

Ê The Destination Folder dialog opens:

Figure 4: Installation path dialog window

Ø Accept the default path or click the Change button to choose a different
target directory for your netX Studio installation, then click Next button.
Ê The Ready to install netX Studio CDT window opens:

Figure 5: Ready to install window

Ø Click Install button.


Ê netX Studio CDT is being installed on your PC.
Ê Depending on your Windows settings, the following Windows security
questions may appear, asking for permission to install the Hilscher USB
drivers:

Figure 6: Windows security question for driver installation

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 22/220

Ø Click Install button.


Ê After successful installation, the Completed the netX Studio CDT
Setup Wizard message appears:

Figure 7: Setup completed window

Ø Click Finish button.


Ê You have installed netX Studio CDT on your PC. You now need to
make the netX Studio IDE installation complete by installing the
required development tools. The wizard for downloading and installing
the development tools will be automatically started on launching netX
Studio CDT for the first time.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 23/220

2. Start netX Studio CDT.


Ø Open Windows Start menu, then click netX Studio CDT entry or
double-click the netX Studio CDT shortcut icon on your desktop.
Ê The Welcome to netX Studio CDT start screen opens along with the
Install Development Tools wizard:

Figure 8: netX Studio CDT start screen with Install Development Tools wizard dialog window

Note:
In case netX Studio detects that the required tools are already
installed on your PC (e.g. because of a previous netX Studio
installation), the wizard won’t appear.
If you want to skip the installation at this point by clicking the
Cancel button, you can invoke the wizard any time later by
choosing Help > Install > netX Development Tools… from the
main menu of netX Studio CDT.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 24/220

3. Download and install OpenOCD and GCC ARM development tools.


Ø Select OpenOCD and GCC ARM Embedded entries.
Ø Click Next button.
Ê The Review Licenses dialog window opens:

Figure 9: License agreement dialog window

Ø Read all license agreements carefully, then select the radio button next
to I accept the terms of the License Agreement and click Install
button.
Ê netX Studio automatically connects to the internet and starts
downloading and installing the development tools.

Note:
If you receive a Download failed (Connection refused) message,
see section Installing development tools in a restricted
network [} page 26] for troubleshooting.

Ê After successful installation, the Installation Complete message


appears:

Figure 10: Development tools installation complete message

Ø In the Installation Complete message window, click OK button.


ð You have installed the mandatory development tools.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 25/220

Additional installation options


You can download additional tools like e.g. Doxygen or the CodeSourcery
toolchain for netX 10/51/52/100/500 development, if needed.
Ø In the main menu of netX Studio CDT, choose Help > Install > netX
Development Tools...
Ê The wizard opens:

Figure 11: Install Development Tools wizard

Ø Select the check box(es) in front of the desired tool(s), then click Next.
Ê The Review Licenses window opens.
Ø Read the license text(s). If you accept the license terms, select I accept
the terms of the license agreements.
Ø Click Install button.
Ê The tools are being downloaded and installed.
Ø After the installation is finished, acknowledge the Installation
Complete message by clicking OK.
ð You have completed the installation of optional development tools on
your development PC.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 26/220

Note:
netX Studio CDT supports debugging with Olimex ARM-USB-TINY
H and Amontec JTAGkey. If you intend to use one of these “third
party” debug devices instead of the NXHX-90 On-Board Debugger
or the Hilscher NXJTAG-USB adapter (for which the necessary
drivers are already included in the netX Studio CDT installation),
you need to install the required drivers separately, because they are
not included in the netX Studio CDT installation. See section Using
external debugger [} page 172] for instructions.

2.1.4 Installing development tools in a restricted network


If downloading the development tools fails because your firewall blocks
your network ports due to IT security restrictions, the following message is
displayed:

Figure 12: Connection refused message

In this case, we recommend you to contact your local IT support and to


download the required tools manually. Instructions for this are provided on
our web page How to install development tools on a restricted network
under https://kb.hilscher.com/x/vER5BQ.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 27/220

2.2 Checking JTAG-to-USB connection in Device Manager


Before debugging or flashing software to the device, you should check in
the Windows Device Manager whether the drivers have been correctly
installed on your development PC, in order to ensure a working connection
between netX Studio CDT and the NXHX 90-JTAG development board via
JTAG-to-USB (FTDI) interface.

Prerequisites
· You have installed netX Studio CDT on your development PC (the
drivers for the NXHX 90-JTAG board are included in the netX Studio
CDT installation package).
· The NXHX 90-JTAG board is powered.
· The USB interface of the NXHX board is connected to your
development PC via USB cable.

Step-by-step instructions for checking driver installation under


Windows 7 and 8
Ø In the Start menu of your Windows desktop, choose Control Panel
entry.
Ê The Control Panel window opens.
Ø In the Control Panel window, choose Hardware and Sound entry.
Ê The Hardware and Sound window opens.
Ø In the Hardware and Sound window, below Devices and Printers,
click Device Manager.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 28/220

Ê The Device Manager window opens:

Figure 13: NXHX 90-JTAG connections in Device Manager under Windows 7

Ø Under Universal Serial Bus devices, look for the NXHX 90-JTAG
USB-JTAG entry. If the entry is there, the JTAG-to-USB connection
(needed for debugging and for flashing) is ready to use.

Note:
The NXHX 90-JTAG USB Serial Port (COM[xx]) entry under
Ports (COM & LPT) indicates a UART-to-USB connection. Please
note that flashing via UART is currently not supported.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 29/220

Step-by-step instructions for checking driver installation under


Windows 10
Ø Right-click on the Windows Start symbol, then choose Device Manager
entry:

Figure 14: Open Device Manager in Windows 10

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 30/220

Ê The Device Manager window opens:

Figure 15: NXHX 90-JTAG connections in Device Manager under Windows 10

Ø Under Universal Serial Bus devices, look for the NXHX 90-JTAG
USB-JTAG entry. If the entry is there, the JTAG-to-USB connection is
ready to use.

Note:
The NXHX 90-JTAG USB Serial Port (COM[xx]) entry under
Ports (COM & LPT) indicates a UART-to-USB connection. Please
note that flashing via UART is currently not supported.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
First steps 31/220

2.3 Welcome screen


The Welcome to netX Studio CDT screen opens when you start netX
Studio for the first time. It is also displayed when you close the current
solution in the netX Studio workbench without exiting netX Studio
completely (i.e. when you choose File > Close Solution from the menu).
The links on the screen provide quick access to a wizard that creates a
New netX CDT Project, access to ready-to use netX CDT Example
Projects and access to the netX Studio CDT Help function. You can also
directly open recently used projects here. The main menu bar of netX
Studio is also accessible on top of the Welcome screen.

Figure 16: Welcome screen

You can leave the Welcome screen and directly open the Development
perspective (i.e. the Development GUI) of netX Studio by clicking the
Workbench icon in the upper right corner of the Welcome screen.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 32/220

3 Projects and resources

3.1 Overview
netX Studio CDT provides all necessary resources for developing ELFs for
the netX 90 SoC.
You can either use one of the ready-to-use example projects that you can
download from Hilscher (see section Example projects [} page 33]), or
you can create a new project based on a template by using the New netX
CDT Project wizard (see section Template projects [} page 49]).
Note that a “template project” created by the New netX CDT Project
wizard currently provides only the absolute minimum resources required for
application development on a netX 90, i.e. for developing and debugging
the most basic routines or low-level drivers for the APP CPU.
We therefore recommend you to use the example projects, which
demonstrate full netX 90 “stand-alone-chip” applications with Real-Time
Ethernet communication. All example projects feature the Hilscher cifX API
and include all necessary code resources for building, debugging and
testing the applications with the NXHX 90-JTAG development board.
Descriptions of the projects and their functional limitations are provided in
the README.txt files included in each project folder.

All netX Studio CDT projects (template and example projects) are
based on the Hilscher Waf Build System, which defines standard
project structures and build scripts. For more information, please
refer to the operating instruction manual Hilscher Waf Build System
– Building libraries, applications and netX firmware,
DOC170404OIxxEN, which can be downloaded from:
https://kb.hilscher.com/x/TdtOBQ.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 33/220

3.2 Example projects

3.2.1 Using example projects


Overview
Hilscher offers ready-to-use example projects featuring all necessary
resources for building and debugging an application for your netX
controller. They also contain source code of simple, but fully functional
application examples, which can be immediately tested and debugged on
the NXHX 90-JTAG target device. You can modify the source code and
create as many new projects based on these example projects as you like.
Currently available are example projects for:
· PROFINET IO Device:
netX 90 – PROFINET IO Device – simpleConfig
netX 90 – PROFINET IO Device – extendedConfig
· EtherCAT Slave:
netX 90 – EtherCAT Slave – simpleConfig
· EtherNet/IP Adapter:
netX 90 – EtherNet/IP Slave – simpleConfig
netX 90 – EtherNet/IP Slave – extendedConfig
Descriptions of the projects and their functional limitations are provided in
the README.txt files included in the project folders.

Note:
The example projects are not included in the netX Studio CDT
installation package and need to be downloaded separately from
Hilscher as described below.

Note:
The *.nxi communication firmware files included in the netX Studio
CDT example projects are limited test versions only. In future, when
you are using fully functional and “officially released”
communication firmware versions from Hilscher, we recommend
you to keep the framework of the example project and just replace
the *.nxi firmware files within the LFW folder.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 34/220

Downloading and opening an example project


This section describes how to download and open the simpleConfig
example project for PROFINET IO Device. The same procedure applies to
the other example projects offered by Hilscher.
1. Download the example project.
Ø For the PROFINET IO Device example, go to the netX 90 – PROFINET
IO Device – Examples page:
https://kb.hilscher.com/x/qlbtBQ
Ø For the EtherCAT Slave example, go to the netX 90 – EtherCAT Slave
– Examples page:
https://kb.hilscher.com/x/NVftBQ
Ø For the EtherNet/IP Adapter example, go to the netX 90 – EtherNet/IP
Slave – Examples page:
https://kb.hilscher.com/x/-ggWBg
Ø Under Current released Version, click on the example’s link under
Title.
Ø On the release page of the example, scroll down to the Resources
section. Under File, click on the
netXStudio_PNSV5_simpleConfig_Vx.x.x.x.zip file to download the
zip file.
2. Unpack the zip file.
Ø Use an archive tool (like e.g. 7-Zip) to unpack the downloaded zip file.
3. Copy the folder to the standard netX Studio CDT projects directory.
Ø Use the Windows Explorer to create the following directory (if it does not
exist already):
C:\Users\[yourname]\netX CDT Projects.
Ø Copy the unpacked netXStudio_PNSV5_simpleConfig folder to the
newly created directory
C:\Users\[yourname]\netX CDT Projects.

Note:
This is the standard default storage location for netX Studio CDT
projects, and thus recommended, but not mandatory. You can store
the project folder somewhere else if you want to.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 35/220

4. Open project in netX Studio CDT.


Ø Start netX Studio CDT.
Ø In the Welcome screen, click Open Project... link or choose File >
Open Project/Solution from the main menu.
Ê The Open dialog windows opens:

Figure 17: Open example project

Ø Navigate to the netX CDT Projects >


netXStudio_PNSV5_simpleConfig folder, open it, select
the .project file and then click Open button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 36/220

Ê The netX Studio CDT Workbench opens and the example project is
displayed in the Project Explorer:

Figure 18: netX 90 example project

Note:
When you open an example project for the first time, the SVN
Support prompt appears, asking you to install an SVN connector
for the Subversion (SVN) software versioning and revision control
system. If you do not want to work with SVN, click No.
The installation prompt then will not be shown again when you open
a project. If you want to install SVN connectors any time later, you
can invoke the Install Connectors dialog window again by
choosing Help > Install > SVN Connectors… from the main menu
of netX Studio CDT.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 37/220

3.2.2 Example project resources


This section provides an overview of the resources of the
netX90_PNSV5_simpleConfig_Vx.x.x.x example project (PROFINET IO
Device). The structure of the other example projects are identical.
Ø Click on the triangle in front of the root folder to view the resources of
the example project in the Project Explorer in a tree structure:

Figure 19: Resources of the PROFINET example project

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 38/220

Components
The Components directory stores the basic resources of the project and a
Waf script (wscript file).

Figure 20: Components folder in Project Explorer

cifXApplicationDemo
This is the “generic” component of the application. These resources are
protocol- and hardware-independent.
cifXApplicationDemoPNS
This is the PROFINET IO Device related component of the application.
These resources are protocol-specific, but hardware-independent.
cifXApplicationDemoPNSDefinitions
C Header files containing definitions and structures of the PROFINET IO
Device API for developing the application program. These resources are
protocol-specific.
cifXToolkit
This component provides the standard Hilscher cifX API to the application.
These resources are protocol- and hardware-independent.
CMSIS
The Cortex Microcontroller Software Interface Standard (CMSIS) specifies
a specific component that describes the device and provides a generic
layer to interact with all Cortex M family controllers. Hilscher as a vendor
provides this device abstraction layer suited for all its Cortex M devices.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 39/220

Note:
Hilscher created the CMSIS-CORE for the netX 90 to develop low-
level drivers for application peripherals as open source software.
The Cortex Microcontroller Software Interface Standard (CMSIS)
defined by ARM enables developers to re-use embedded software
components or to combine it with third party software components.
The low-level drivers provided by Hilscher can be simply combined
with any CMSIS compliant third Party RTOS kernel to create a
Board Support Package (BSP).

HostAbstractionLayer
Implementation of the host abstraction layer functions for the NXHX 90-
JTAG.
libc_support
The toolchain uses the Red Hat newlib c as c standard library. The newlib’s
lowest layer consists of some of subroutine calls (Syscalls) to the
(operating) system, which are implemented rudimentarily in this
component.
netx_drv
Driver library for the application side. Contains API functions enabling the
application to use the peripheral interfaces of the netX.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 40/220

Doc
The docApplication folder in the Doc directory contains diagrams of
the IO data model and of the functional dependencies of the application
resources.
The Doc directory also stores the HTML output of the documentation
created by Doxygen. The HTML documentation (containing detailed
information about the example project) will be automatically created after
selecting the Doxyfile and choosing the Build Documentation
command from the context menu.

Figure 21: Documentation folder

For more information on building documentation with Doxygen, see section


Create documentation with Doxygen (Eclox plug-in) [} page 149].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 41/220

FDL
This folder contains Flash Device Labels (FDL) for the three firmware use
cases (A, B and C) of the netX 90. Each Firmware Use Case involves a
different flash memory layout (which is defined in the “Flash Layout Table”
of the FDL).

Figure 22: Flash Device Label folder

FDL_NXHX90-JTAG_7833000r3_20000_ProductionTemplate_
UseCaseA.fdl
FDL for Firmware Use Case A: COM side does not require external
SDRAM or SQI Flash. This file must be used in combination with the
X090D000.nxi COM firmware file.
FDL_NXHX90-JTAG_7833000r3_20000_ProductionTemplate_
UseCaseB.fdl
FDL for Firmware Use Case B: COM firmware does not require external
SDRAM or SQI Flash. However, communication firmware update area is
located in SQI flash. This file may be used only in combination with the
X090D000.nxi COM firmware file.
FDL_NXHX90-JTAG_7833000r3_20000_ProductionTemplate_
UseCaseC.fdl
FDL for Firmware Use Case C: COM side uses SQI Flash with HCC file
system and external SDRAM (shared with APP side). This file must be
used only in combination with the X090D001.nxi COM firmware file and
with a suitable hardware configuration.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 42/220

Important:
Each NXHX 90-JTAG development board is shipped with an FDL
already installed in its flash memory. This pre-installed FDL
contains pre-defined MAC addresses, device-specific identification
data (e.g. serial number, device class, production date) and a Flash
Layout definition for Firmware Use Case A.
Do not overwrite the pre-installed FDL by flashing a new FDL,
unless you want to change from Firmware Use Case A to
Firmware Use Case C (i.e. in case you want to use external
SDRAM, thus requiring the FDL for Use Case C).
If you are going to flash a new FDL to the device, we strongly
advise you to first save the “old” FDL to your PC by using the Read
function of the Flasher tool (see subsection Save the pre-installed
Flash Device Label from NXHX 90-JTAG board to PC of the Step-
by-step instructions [} page 197] in the Tutorial: How to change
from Firmware Use Case A to Use Case C). Thus, you do not risk
losing the MAC addresses and the device-specific identification
data.

For more information on FDLs, see also section Use Flash Device
Label [} page 95].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 43/220

HWC
This folder contains hardware configuration files for various hardware
setups. Brief descriptions of the individual setups can be found in the
readme.txt file in the folder.

Figure 23: Hardware configuration folder

These XML files are the editable “source” files of different hardware
configurations, which you can adapt according to your needs. If you want to
use one of these configurations on your netX device, you must first turn the
*.xml configuration source file into a *.hwc binary file (by using the Build
Hardware Configuration command), and then flash (download) it to your
netX device.

Note:
The revision0 folder contains configuration files that are compatible
with revision 0 of the netX 90 SoC (i.e. the “pre-mass production”
version of the chip), which was used on Revision 3 of the NXHX
90-JTAG development board. Thus, if you are using NXHX 90-
JTAG Rev. 3, you must use these configuration files in this
revision0 folder.
If you are using NXHX 90-JTAG Revision 4, you must use the
configuration files in the HWC root directory.

For more information about hardware configuration, see also section


Configure the netX 90 hardware [} page 70].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 44/220

LFW
This folder contains “loadable” communication firmware (LFW) for the COM
CPU. The firmware binaries feature a Real-Time Ethernet protocol stack for
evaluation purposes (in case of the netX90_PNSV5_simpleConfig project,
it is the PROFINET IO Device protocol stack).

Figure 24: Loadable Firmware folder

X090D000.nxi
“Small footprint” COM firmware, which does not require external SDRAM or
SQI Flash. This is the binary of Firmware Use Case A and is thus
compatible with the pre-installed Flash Device Label on the NXHX 90-JTAG
board.
X090D001.nxi
COM firmware using external SDRAM and SQI Flash with HCC file system.
This is the binary of Firmware Use Case C; i.e. if you want to use this
firmware, you will also have to flash (download) a Flash Device Label for
Use Case C and an appropriate hardware configuration file (containing
SDRAM settings) to the NXHX 90-JTAG board.

Note:
The *.nxi communication firmware files included in the netX Studio
CDT example projects are limited test versions only. In future, when
you are using fully functional and “officially released”
communication firmware versions from Hilscher, we recommend
you to keep the framework of the example project and just replace
the *.nxi firmware files within the LFW folder.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 45/220

MFW
This folder contains “maintenance firmware” for the communication side
(COM CPU). The maintenance firmware is an optional feature for managing
communication firmware updates on netX devices during runtime “in the
field”.

Figure 25: Maintenance firmware folder

MFW_netX90_filesystem.mxf
Maintenance firmware for Firmware Use Case C. Requires a Flash Device
Label for Use Case C and an *.mwc hardware configuration file (containing
SDRAM settings) on the NXHX 90-JTAG board.
MFW_netX90_flash.mxf
Maintenance firmware for Firmware Use Case A. It is compatible with the
pre-installed Flash Device Label on the NXHX 90-JTAG board, but it
requires an *.mwc hardware configuration file on the NXHX 90-JTAG
board.

Note:
Because the ROM Loader cannot use the “standard” *.hwc
hardware configuration file while executing the maintenance
firmware, the additional *.mwc configuration file is required to
provide necessary hardware information like boot mode and flash
parameters for the maintenance firmware. For more information,
see section Configure the netX 90 hardware [} page 70].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 46/220

Targets
The Targets directory contains the target-specific resources for the NXHX
90-JTAG, e.g. the linker files (in the Linker folder), source code files (in
the Sources folder), header files (in the Include folder) and a Waf script
(wscript file).

Figure 26: Targets folder

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 47/220

Files in root directory

Figure 27: Files in root directory

Disclaimer for Pre-Release Software.pdf


This PDF file contains the disclaimer for pre-release software.
Documentation.html
Double-clicking this file opens the documentation that was created by
Doxygen. Note that you have to build the documentation first (see
Doxyfile below).
Doxyfile
This is the configuration file for the Doxygen documentation of the example
project. Selecting this file and choosing the Build Documentation
command from the context menu will automatically create an HTML
documentation containing detailed information about the example project.
The HTML documentation will be stored in a newly created html folder in
the Doc directory. For more information, see section Create documentation
with Doxygen (Eclox plug-in) [} page 149].
netx90_app_iflash_dummy.nai
This “dummy” file enables debugging of application code in RAM. If your
application is to be executed in INTRAM or SDRAM, you must first flash
(download) this dummy to the internal flash of the APP CPU (INTFLASH2).
README_DISCLAIMER.txt
This text file contains the disclaimer for the example project software.
README.txt
This text file contains a brief description of the example project software
and its limitations.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 48/220

Documentation.html
Contains a depiction of the register definitions.
wscript
This Waf build script in the root directory controls the build process of the
whole project.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 49/220

3.3 Template projects

3.3.1 Creating template projects


You can create a new “template project” with the New netX CDT Project
wizard.
The wizard automatically adds basic resources for developing and
debugging simple routines and low-level drivers for the application CPU
(APP CPU).
1. Open the New netX CDT Project wizard.
Ø In the Welcome to netX Studio CDT screen, click New Project… link
below Projects
or
Ø Choose File > New > netX CDT Project… from the main menu
or
Ø In the main toolbar of the netX Studio workbench, click button. After
the Select a wizard dialog window has opened, select netX CDT
Project entry, then click Next button.
Ê The New netX CDT Project wizard opens.
2. Set project parameters in the New netX CDT Project wizard.
Ø Under Target chip type, select netX 90 entry.

Figure 28: New netX CDT Project wizard

Ø In the Solution name field, enter a name for your netX project.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 50/220

Ø The Location field shows the default storage location for netX Studio
projects. Keep the default storage location (recommended), or click
Browse... button to select a different storage location.
Ø Click Finish button
ð The wizard closes and the Project Explorer in the netX Studio
workbench displays the project resources in a tree structure:

Figure 29: New netX 90 project

Note:
When you open or create a project for the first time, the SVN
Support prompt appears, asking you to install an SVN connector
for the Subversion (SVN) software versioning and revision control
system. If you do not want to work with SVN, click No. The
installation prompt then won’t be shown again when you open a
new project. If you want to install SVN connectors any time later,
you can invoke the Install Connectors dialog window again by
choosing Help > Install > SVN Connectors… from the main menu
of netX Studio CDT.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 51/220

3.3.2 Template project resources


This section provides an overview of the resources of a project created by
the New netX CDT Project wizard. A project created by the wizard in netX
Studio is also called a “template project”. Unlike the example projects, a
template project currently provides only the absolute minimum resources
required for application development on a netX 90, i.e. for developing and
debugging the most basic routines or low-level drivers for the APP CPU.
Ø Click on the triangle in front of the root folder to view the resources of
the template project in the Project Explorer in a tree structure:

Figure 30: Resources of netX 90 project template

Components
The Components directory stores the basic resources of the project and a
Waf script (wscript file). Components can be understood as “target-
independent” elements or resources of a project.

Figure 31: Components folder in Project Explorer

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 52/220

CMSIS
The Cortex Microcontroller Software Interface Standard (CMSIS) specifies
a specific component that describes the device and provides a generic
layer to interact with all Cortex M family controllers. Hilscher as a vendor
provides this device abstraction layer suited for all its Cortex M devices.

Note:
Hilscher created the CMSIS-CORE for the netX 90 to develop low-
level drivers for application peripherals as open source software.
The Cortex Microcontroller Software Interface Standard (CMSIS)
defined by ARM enables developers to re-use embedded software
components or to combine it with third party software components.
The low-level drivers provided by Hilscher can be simply combined
with any CMSIS compliant third Party RTOS kernel to create a
Board Support Package (BSP).

netx_drv
This component contains the Hilscher microcontrollers and peripherals
hardware driver layer (often called device hal). It requires the CMSIS
component.
For further information, please refer to the README.txt file in this folder.

Doc
This folder stores the HTML output of the documentation created by
Doxygen. The folder and the HTML documentation (containing detailed
information about the project) will be automatically created after selecting
the Doxyfile and choosing the Build Documentation command from the
context menu. For more information, see section Build
documentation [} page 156].

Figure 32: Documentation folder

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 53/220

Targets
The Targets directory contains the target-specific resources for the NXHX
90-JTAG, e.g. the linker files (in the Linker folder), source code files (in
the Sources folder), header files (in the Include folder) and a Waf script
(wscript file).

Figure 33: Targets folder

Files in root folder

Figure 34: Files in root folder

Doxyfile
This is the configuration file for the Doxygen documentation of the project.
Selecting this file and choosing the Build Documentation command from
the context menu will automatically create an html documentation
containing detailed information about the project. The html documentation

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 54/220

will be stored in a newly created html folder in the Doc directory. For more
information, see section Create documentation with Doxygen (Eclox plug-
in) [} page 149].
netx90_app_iflash_dummy.nai
This “dummy” file enables debugging of application code in RAM. If your
application is to be executed in INTRAM or SDRAM, you must first flash
(download) this dummy to the internal flash of the APP CPU (INTFLASH2).
netx90_com_iflash_dummy.nxi
This “dummy” file causes the activation of the APP CPU during booting.
You must first flash (download) this dummy to internal flash of the COM
CPU (INTFLASH0) before you can debug any application code (regardless
of whether the code is to be executed in INTFLASH, INTRAM or SDRAM).

Note:
The integrated Flasher tool will automatically flash these files to the
right location (offset) in the flash devices of the netX.

README_DISCLAIMER.txt
This text file contains the disclaimer for the example project software.
README.txt
This text file contains a brief description of the example project software
and its limitations.
wscript
This Waf build script in the root directory controls the build process of the
whole project.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Projects and resources 55/220

3.4 Build output folder


After having built your project (by choosing Build > Build Solution from
the main menu or pressing Ctrl + B on your keyboard), the Project
Explorer features a newly created build folder, containing the output of the
build process:

Figure 35: Build output folder

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 56/220

4 How to...

4.1 Add components

4.1.1 Creating new component and using it from target code


1. Create new component.
Ø Open your project in netX Studio.
Ø In the Project Explorer, select the project folder (in this example the
netX90_Project folder).
Ø In the menu, choose Project > Add Component > Create New
Component…

Figure 36: Opening New Component wizard

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 57/220

Ê The New Component wizard opens:

Figure 37: New Component wizard

Ø In the Component name field, enter the name of the component, e.g.
MyComponent.
Ø Click Advanced button and copy the Component ID to your clipboard
or write it down (the Component ID is the component's identifier
referencing the component in the build):

Figure 38: Copying Component ID

Ø Click Finish button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 58/220

Ê The New Component wizard closes and the new component “skeleton”
is added to the Components folder:

Figure 39: Added component

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 59/220

2. Change the platform parameter in the wscript file.


Ø Double-click the wscript file in the MyComponent folder.
Ê The wscript file is opened in the editor.
Ø In the wscript file, scroll down to the bld.stlib list section and
change the platform parameter from “netx” to “netx90”:

Figure 40: Change platform parameter in wscript

Ø Save the changes to the wscript file by choosing File > Save from the
menu or by pressing Ctrl + S on your keyboard.
3. Define and implement a simple function in the new component.
Ø Open the Includes folder of your new component (in this example the
Components > MyComponent > Includes folder) and double-click the
header file (in this example the MyComponent.h file).
Ê The header file is opened in the editor.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 60/220

Ø Define a simple function, e.g. by inserting


void init_mycomponent();

Figure 41: Edit component header

Ø Save the changes to the header file by choosing File > Save from the
menu or by pressing Ctrl + S on your keyboard.
Ø Open the Sources folder of the new component and double-click the
source code file (in this example the MyComponent.c file).
Ê The source code file is opened in the editor.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 61/220

Ø Implement the function, e.g. by inserting


void init_mycomponent()
{
// initialize
}

Figure 42: Edit component source file

Ø Save the changes by pressing Ctrl + S on your keyboard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 62/220

4. Reference the new component in your target.


Ø Open your target folder (in this example the Targets > NXHX90-JTAG
folder) and double-click the wscript file:

Figure 43: wscript file in target

Ê The wscript file is opened in the editor.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 63/220

Ø In the wscript file, scroll down to the uses list section and add the
Component ID (which you have copied or written down from the New
Component wizard):

Figure 44: Adding Component ID to Waf script

Ø Save the changes to the wscript file by pressing Ctrl + S on your


keyboard.
Ê The new component will thus be included in the build process of the
target.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 64/220

5. Use the function from your target code.


Ø In the target, open the Source folder (in this example the Targets >
netX90 > Source folder) and double-click the main.c file.
Ê The main.c file is opened in the editor.
Ø Reference the function of the new component in your target main.c
code:

Figure 45: Editing main.c file of target code

Ø Save the changes by pressing Ctrl + S on your keyboard.


You can now proceed to build the project in order to check whether the new
component has been added successfully.
Ø To start the build process, choose Build > Build Solution from the
menu.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 65/220

4.1.2 Using new component from another component


1. Create new component.
Ø Create a new component and define a function for it as described in the
previous section.
2. Add component ID to Waf script of the other component.
Ø Open the folder of the other component (in this example the “old”
component, i.e. the Components > MyComponent folder) and double-
click the wscript file.

Figure 46: Waf script of application component

Ê The wscript file is opened in the editor.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 66/220

Ø In the wscript file, scroll down to the uses list section and add the
Component ID of the new component.

Figure 47: Waf script of MyComponent in editor

Ø Save the changes by pressing Ctrl + S on your keyboard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 67/220

3. Add function to source code of the “old” component.


Ø Open the Sources folder of the “old” component (in this example the
Components > MyComponent > Sources folder) and double-click the
MyComponent.c file.

Figure 48: MyComponent.c file

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 68/220

Ê The MyComponent.c file is opened in the editor.


Ø Reference the function of the new component in the source code of the
“old” component:

Figure 49: Opened MyComponent.c file in editor

Ø Save the changes by pressing Ctrl + S on your keyboard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 69/220

4.1.3 Checking Component ID


Each component has a unique identifier, which is used for referencing it in
the build process. As demonstrated above, the ID of your new component
must be added to the uses list in the Waf script of the target or the other
component that uses your new component.
In case you do not know the ID of a component, you can retrieve this
information in the Waf script belonging to the component. Look for the
name or target parameter in the build task section in the wscript file:

Figure 50: Check component ID

If the build task section features a name parameter, the component ID is


identical with the name parameter:

If the build task section lacks the name parameter, the component ID is
identical with the target parameter:

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 70/220

4.2 Configure the netX 90 hardware

4.2.1 Overview
Hardware configuration files
The netX 90 SoC needs a hardware configuration that contains information
about the hardware setup of the netX 90, like e.g. DPM settings, pin
assignments of PHYs and UARTs, usage of SQI flash and SDRAM (if
applicable), firewall settings etc.
A hardware configuration in netX Studio CDT consists of a set of three files:

Figure 51: Example of a set of hardware configuration files

*.hwc
Binary hardware configuration file. The *.hwc file extension is mandatory,
whereas the name before the file extension can be freely chosen. This
binary is always required on the netX and must be stored at offset 0x00 of
the internal flash of the netX 90.
You must download/flash this binary to the netX before debugging in order
to set up your hardware and to ensure that your software runs properly.
The *.hwc binary is generated from its *.xml hardware configuration
source file.
*.mwc
This is the maintenance hardware configuration binary file. It is used by the
maintenance firmware (recognizable by its *.mxf extension), which
handles firmware updates on the netX. Like the *.hwc binary, the *.mwc is
also generated from the *.xml hardware configuration source file (see
below), and thus contains the same configuration data.
Note that the *.mwc binary is needed on the netX 90 only if you are using
a maintenance firmware. If you are not using a maintenance firmware, you
do not need to download/flash this *.mwc file to your netX device.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 71/220

*.xml
This is the editable XML source file of the *.hwc and the *.mwc binaries. It
can be recognized by the icon. The XML source file can be edited in the
Hardware configuration editor, which opens automatically on double-
clicking the XML file (see section Hardware configuration
editor [} page 76] for details about the editor). After having configured
your hardware in the XML source file, you must use the Build Hardware
Configuration command to produce the *.hwc and *.mwc binary files (see
section Build hardware configuration binaries [} page 90]), which can then
be flashed to the netX 90.
You can create as many new XML source files as you like by using the
New Hardware Configuration wizard (see section New Hardware
Configuration wizard [} page 73]).

Note:
Users of revision 3 of the NXHX 90-JTAG development board
must use a hardware configuration file that is compatible with chip
type “netX 90 Rev. 0”.
You can select chip type “netX 90 Rev. 0” compatibility when you
create a new HW config XML source file in the New Hardware
Configuration wizard.
Hardware configuration files that are compatible with chip type
“netX 90 Rev. 0” can also be found in the HWC > revision0 folder
of the example projects.

Important:
Remember to rebuild and download/flash the corresponding *.hwc
and *.mwc binary files again each time after editing the xml source
file, in order to apply your new hardware configuration settings to
your target.

Note:
Each example project provided by Hilscher contains different sets
of ready-to-use hardware configuration files that are pre-configured
for different hardware use cases. These files are stored in the HWC
folder (see section Example project resources [} page 37]).
Note also that hardware configuration files are not included in a
template project created by the New netX CDT Project wizard.
Thus, if you are working with the resources of a project template
instead of using one of the example projects, you will have to use
the New Hardware Configuration wizard to create a new hardware
configuration XML source file.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 72/220

“Stand-alone chip” vs. “Companion chip” use case


Please note the following “fundamentals” about netX 90 SoC hardware
configuration:
The netX 90 can be used as a “stand alone chip” with internal DPM access
for the protocol stack, or as a “companion chip” with host interface that
“pairs” with application hosts, thereby using either a DPM or SPM interface.
If you want to use the netX 90 as a companion chip, you have to disable
the internal DPM in order to create a valid hardware configuration for the
DPM or SPM interface.
If you want to use the netX 90 as a stand alone chip solution, you have to
enable the internal DPM. In case of a stand alone chip solution, you also
have to enable the application CPU. (This is necessary because the
Cortex-M4 of the application side by default is held in reset and clock-gated
after power-on reset. If you enable the application CPU in the hardware
settings, the ROM code will enable the Cortex-M4 of the application side
during the boot sequence.)
For information on how to make the above mentioned settings, see
subsection General configuration settings in section Hardware
configuration editor [} page 76].

Note:
You do not need to make these settings yourself if you are using
one of the predefined hardware configuration files provided in the
example projects, or if you use one of the templates provided in the
New Hardware Configuration wizard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 73/220

4.2.2 New Hardware Configuration wizard


New hardware configuration files (i.e. the xml source files) can be created
with the New Hardware Configuration wizard.
Ø To open the New Hardware Configuration wizard, choose File > New
> netX 90 Hardware Configuration... from the main menu:

Figure 52: Open New Hardware Configuration wizard

Ê The New Hardware Configuration wizard opens:

Figure 53: Select chip type

Ø Select the chip type that you are using:


· netX 90 Rev. 0 – Select this chip type if you are using Revision 3 of the
NXHX 90-JTAG board

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 74/220

· netX 90 – Select this chip type if you are using Revision 4 (or higher) of
the NXHX 90-JTAG board

Note:
The netX 90 Rev. 0 chip type was issued in the year 2018, and can
thus be recognized by its date code. The date code printed on the
chip is in format YYWW; therefore e.g. 1830 indicates year 2018,
week 30.

Ø Click Next.
Ø In the Enter or select the parent folder fields, you can select a storage
location for the xml file that will be created.

Note:
The path is preset to the folder that was selected in the Project
Explorer at the time you opened the wizard.

Ø In the File name field, enter a new file name.

Figure 54: New Hardware Configuration wizard

Ø If you want to define your hardware configuration “from scratch” (i.e. you
do not want to use one of the predefined hardware configuration
templates), click Finish to close the wizard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 75/220

Ø If you want to use one of the predefined hardware templates


(recommended), click Next to open the Select template sheet.

Figure 55: Select template

Ø Select the Create configuration using one of the templates option,


then choose a template from the list.
Ø Click Finish to close the wizard.
ð The wizard closes and the newly created file is opened in the Hardware
configuration editor.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 76/220

4.2.3 Hardware configuration editor


Overview
netX Studio CDT features a Hardware configuration editor for configuring
the pin assignment, pad properties, firewall settings and additional
peripheral settings of the netX 90 SoC.
The editor features a “grid view” of the netX 90 BGA with all of its 144 pins
and a list of available hardware options, which can be easily assigned by
simple drag-and-drop action.

Note:
With this editor, the configuration of the I/O pins of the application
peripherals is currently limited. As an alternative and for more
flexibility you can also use the low-level drivers provided by Hilscher
for configuring the application peripherals. The low-level drivers can
be downloaded from https://kb.hilscher.com/x/7x-tBQ
We recommend using the hardware configuration editor to configure
SDRAM, DPM and SPM options.

For detailed information about pin-sharing and multiplexing options


of the netX 90 SoC, see netX 90 – Technical data reference guide,
DOC160609TRGxxEN.

Current limitations
Please note the following limitations of the Hardware configuration editor:
· Pin assignment for the network interface is fixed to internal Ethernet
PHYs (supported by the COM firmware)
· Pin assignment for the 3rd standard Ethernet MAC is not yet supported
(will be in future versions)
· Pin assignment tool does not support dual SPM (SPM1 is not supported
by the COM firmware)
· Pin assignment tool does not support the configuration of unused HIF
pins as PIO (can be configured in software instead)

Note:
The current Hardware Configuration Editor is not yet backwards
compatible. If you have been using a previous version of netX
Studio CDT and are now using the current version, you will not be
able to edit any previous XML hardware configuration file and
create a new output file based on your “old” configuration.
However, you can open your old XML hardware configuration file in
“read-only” mode in the editor and use it as a reference for creating
and editing a new hardware configuration.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 77/220

How to open the editor


Ø If you want to edit an existing hardware configuration, you can simply
double-click the corresponding hardware_config.xml file in the Project
Explorer of netX Studio CDT. The file and the editor will then be
automatically opened in the main window:

Figure 56: Open hardware configuration editor

Note:
The editor also automatically opens after having created a new
hardware configuration file with the New Hardware Configuration
wizard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 78/220

Overview of the GUI


The editor shows a grid of the netX 90 BGA with all 144 pins and a
hardware options tree on the right side.

Figure 57: GUI of the hardware configuration editor

Grid
Each cell in the grid represents a netX 90 pin.

Note:
You can hover a cell to open a tooltip indicating the name of the pin
and the hardware options that you can assign to it.

The color of a cell indicates the configuration state of the pin:


(Dark gray): “Fixed” pin that cannot be configured by the user

(Light gray): “Free” pin that has not yet been assigned to a hardware option

(Green): Assigned pin showing the name of the assigned signal

(Blue): Selected assigned pin(s). Clicking a single assigned pin will


automatically select and highlight all other pins/signals belonging to this
hardware option

Note:
Selections in the grid and in the hardware options tree are linked,
which means that if you select an option in the tree, all relevant pins
in the grid will be selected/highlighted as well and vice versa (i.e. if
you select a pin the grid, the corresponding option becomes
selected in the tree).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 79/220

Hardware options tree


The hardware options tree on the right side of the editor shows a list of all
available options that can be configured. The options are organized into
four main categories:
· Network Interface: Network interface options of the communication
side of the netX 90
· Host Interface: Host interface options for the netX 90 acting as
companion chip in parallel Dual Port Memory (DPM) or serial Dual Port
Memory (SPM) mode
· External Memory: External SDRAM and flash memory options
· Application Peripherals: Peripheral interface options of the application
side of the netX 90
Options that have already been assigned are marked with a green
checkmark:

Options that are currently disabled due to a conflict with already assigned
options (or due to some other limitation, e.g. because they are not yet
supported by the target hardware) are marked with a “cross-out” icon:

Note:
You can filter the tree for already assigned options by clicking the
icon on top of the tree. To remove the filter, click the icon
again. You can also use the and icons to expand and
collapse folders.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 80/220

How to assign hardware options


Ø To assign a hardware option, simply select it in the Hardware options
tree and drag-and-drop it into the grid.
Ê The signals belonging to your selected option will be automatically
assigned to their designated pins in the grid, which are highlighted in
blue:

Figure 58: Assigning an option

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 81/220

Ê If the designated pins of your selected option are already occupied by


another option, they are highlighted in red, and the assignment will be
blocked:

Figure 59: Assignment conflict

Note:
If the assigned option has additional configurable properties, a
“Hardware option properties“ dialog window opens immediately
after having dropped the option onto the grid. This properties dialog
window can also be opened any time later (see section Hardware
option properties dialog below).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 82/220

How to remove hardware options


Ø To remove a hardware option from the grid, right-click a signal
belonging to that option in the grid and chose Remove from the context
menu (as an alternative, you can also select the option in the hardware
options tree and choose Remove from the context menu):

Figure 60: Remove options

Note:
Holding the Ctrl key on your keyboard while selecting pins from the
grid allows you to select more than one option for removal at once.

Hardware option properties dialog


For each assigned hardware option, you can open a dialog sheet that
allows you to configure the “pad properties” of individual pins (i.e. Drive
Strength and Internal Resistor) and – depending on the selected
hardware option – certain other parameters.

Important:
Changing the properties of the hardware options is for expert users
only! We highly recommend you to keep the preset hardware
properties!

Ø To open a properties dialog sheet, right-click a signal belonging to that


option in the grid and select Properties from the context menu. (As an
alternative, you can also open the properties dialog by double-clicking a
signal).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 83/220

Ê The properties dialog shows the signal assignment and the default pad
properties for each pin.

Figure 61: Properties dialog for IO-Link

Ø You can change the pad properties for each pin – i.e. Drive Strength
and Internal Resistor – by clicking in the corresponding field, which
opens a drop-down list.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 84/220

Ø To change certain other parameters, e.g. of the SDRAM option, you


may have to select the Custom entry from the Configuration drop-
down list in order to enable write access to the parameter fields:

Figure 62: SDRAM16 properties dialog

Device destruction due to wrong SDRAM settings


The Custom option allows you to enter the SDRAM settings manually. Use
this option only if you are an advanced user! Entering inappropriate values
here can damage the device attached to the host interface!

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 85/220

How to configure MMIOs


MMIO pins can be mapped or “multiplexed” to a variety of other signals.
Ø To configure an MMIO signal, select an MMIO in the Application
Peripherals > MMIO folder in the Hardware options tree and drag-
and-drop it into the grid:

Figure 63: Add MMIO option

Ê The assigned, but not yet configured MMIO4 option is marked by a


white dot. MMIO pins that have already been configured are marked by
a black dot. In the example below, the neighboring MMIO0 ... MMIO3
pins were already configured as uart_app signals:

Figure 64: Configured and unconfigured MMIO pins

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 86/220

Ø To configure the MMIO pin, right-click on the pin, then select a signal
from the MMIO Selection context menu, e.g. the gpio0 signal:

Figure 65: Assign signal to MMIO pin

Ø To remove a configured signal from the MMIO pin, right-click on the pin,
then select MMIO Selection > Clear from the context menu:

Figure 66: Remove signal from MMIO pin

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 87/220

General configuration settings


In the General Configuration dialog, you can make certain general
configuration settings concerning the netX 90 firewalls and the enabling/
disabling of the application CPU and the internal Dual Port Memory.
Ø To open the dialog, click General Configuration in the footer below the
hardware options tree:

Figure 67: General Configuration dialog

Important:
If you want to use the netX 90 as a stand alone chip solution, you
have to set the Enable application CPU option and the Enable
internal DPM option to true.
If you want to use the netX 90 as a companion chip, you have to
set these options to false.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 88/220

Parameter Description
Version of the HWC info structure Current HW config structure used by the hardware configuration editor. For your
information only, cannot be edited by the user.
Version of the hardware Enter here your own version identifier for your configuration settings if necessary.
configuration
Description of the hardware Enter here your own description of your configuration settings if necessary (max.
configuration 48 characters)
Manufacturer ID Manufacturer ID (OEM code) assigned by Hilscher. For your information only,
cannot be edited by the user.
Device Number Device number assigned by Hilscher. For your information only, cannot be edited
by the user.
Hardware revision Hardware revision number assigned by Hilscher. For your information only,
cannot be edited by the user.
Other information Free text field (max. 48 characters)
Enable application CPU true Set to true to enable the APP CPU (i.e. in “stand-alone-chip” use
cases, where the application is handled by the netX, not by an external
host CPU)
false Set to false to disable the APP CPU (i.e. in “companion chip” use
cases, where the application is handled by an external host CPU, not
by the netX)
Enable internal DPM true Set to true to enable the internal Dual-Port Memory between COM
CPU and APP CPU (i.e. in “stand-alone-chip” use cases, where the
application is handled by the netX, not by an external host CPU)
false Set to false to disable the internal Dual-Port Memory between COM
CPU and APP CPU (i.e. in “companion chip” use cases, where the
application is handled by an external host CPU, not by the netX)
SQI XiP Flash Firewall Defines access to external SQI XiP flash.
Note: Settings depend on your communication firmware use case. If the
communication firmware requires external SQI Flash, access by the application
side is not permitted (default setting). If the communication firmware does not
require external SQI Flash, it is up to the user how to configure this firewall.
· COM has read/write access, APP has no access (default)
· APP has read/write access, COM has no access
· COM and APP have no access
Ext SDRAM Firewall Defines access to external SDRAM.
Note: Settings depend on your communication firmware use case and on your
user application requirements. If both communication side and application side
require external SDRAM, the firewall has to be configured for split mode (default
setting). In this case, the built-in ROM Code is eligible to load application program
code from SQI Flash into SDRAM during the extended boot sequence (if
supported) when the communication firmware requires access exclusively to SQI
Flash.
· COM has read/write access, APP has no access
· APP has read/write access, COM has no access
· COM and APP have read/write access (split mode) (default)
· COM and APP have no access
Ext SRAM/Flash Firewall Defines access to external SRAM/Flash.
Note: Not yet supported because the external SRAM/Flash parallel memory
interface is shared with the parallel SDRAM interface (parallel SDRAM is the main
use case).
The standard setting (which cannot be changed) will be:
· APP has read/write access, COM has no access
UART Firewall Defines access to the UART within the shared block of peripheral functions.
· COM has read/write access, APP has no access (default)
· APP has read/write access, COM has no access
· COM and APP have no access

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 89/220

Parameter Description
PAD CTRL Firewall Defines access to PAD-specific registers (like drive strength and pull resistors).
Note: The PAD control settings can be configured in the hardware configuration
editor (see subsection Hardware option properties dialog). In this case, the
built-in ROM Code configures the PAD control registers during the boot sequence.
If the PAD control settings need to be controlled additionally by the application
side (e.g. changed during runtime), both sides need to be granted access (default
setting).
· COM has read/write access, APP has no access
· COM and APP have read/write access (default)
Crypto Core Firewall Defines access to the Crypto Core. The standard setting (which cannot be
changed) will be:
· COM has read/write access, APP has no access
Debug Firewall Defines access to the debug interface. The standard setting (which cannot be
changed) will be:
· COM and APP have no access
ETH MAC Firewall Defines access to the Ethernet MAC interface (MII) of the shared area. The
standard setting (which cannot be changed) will be:
· APP has read/write access, COM has no access
MADC Defines access to the Motion ADC controller. The standard setting (which cannot
be changed) will be:
· APP has read/write access, COM has no access
Table 3: General configuration parameters

Note:
The firewall settings defined in the General Configuration dialog
window cannot yet be “locked” because the the configuration tool
for the chip level security settings that locks the firewalls is not yet
supported, but will be in future versions of netX Studio CDT. This
means that the current firewall settings of your hardware
configuration file can still be overridden on the netX by simply
downloading a new hardware config file containing different firewall
settings.

Ø After having finished your hardware configuration, save your work by


pressing Ctrl + S on your keyboard. You can now proceed to create the
hardware configuration *.hwc and *.mwc binary files as described in the
following section.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 90/220

4.2.4 Build hardware configuration binaries


After having configured your hardware in the Hardware configuration
editor and having saved the data to the *xml file, you need to generate
from it the binary files (with the *.hwc and *.mwc extensions), which can
then be flashed to the netX 90.

Note:
The *.mwc hardware configuration binary is required by the
maintenance firmware. It contains the same settings as the “regular”
*.hwc hardware configuration binary and will be automatically
generated from the same *xml file.
If you do not use a maintenance firmware on your netX 90 device,
you do not need the *.mwc binary either.

To generate the binary files, proceed as follows:

Prerequisites
· You have configured your netX 90 pinning in the Hardware
configuration editor.
· You have saved your configuration to the corresponding *.xml file (by
pressing Ctrl + S on your keyboard after having edited the file in the
editor).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 91/220

Step-by-step instructions
Ø In the Project Explorer, select your *.xml file, e.g.
new_hardware_config.xml and choose Build Hardware
Configuration... from the context menu.

Figure 68: Generating hardware config data

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 92/220

Ê The build process is immediately started, then the Save As dialog


window opens:

Figure 69: “Save as” dialog for hardware config binary

Ø Keep the preset storage location and the preset file name
(recommended) and click OK button. Or specify a different parent folder
and/or a different name for the binary.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 93/220

Ê A second Save As dialog window opens, this time for the *.mwc
hardware configuration binary for the maintenance firmware:

Figure 70: “Save as” dialog for hardware config binary for maintenance firmware

Ø Keep the preset storage location and the preset file name
(recommended) and click OK button. Or specify a different parent folder
and/or a different name for the binary.
Ê The Save As dialog closes and the two generated binary files are
displayed in the Project Explorer:

Figure 71: New hardware data binary files in Project Explorer

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 94/220

ð You have generated the binary hardware configuration files for the netX
90 SoC.
In order to apply your new hardware configuration to the netX 90, you
can now proceed to “download” (i.e. “flash”) the generated files to the
internal flash of the COM CPU of the netX 90 by using the integrated
Flasher tool of netX Studio CDT (see section Use the Flasher
tool [} page 113]).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 95/220

4.3 Use Flash Device Label

4.3.1 Overview
The Flash Device Label (recognizable by its *.fdl extension) is a
mandatory configuration file required by the netX 90. It must be stored at a
certain offset in the internal flash of the COM CPU of the netX (0x2000 in
INTFLASH0), so that it can be evaluated by the communication firmware
after booting.
The FDL contains device-specific identification data like manufacturer and
device IDs, MAC addresses and serial number. It also contains the Flash
Layout Table, which defines the layout of the flash memory that is required
by the firmware on the netX 90. There are three different flash memory
layout firmware use cases, each requiring its own Flash layout table
definition, and thus its own FDL file:
· Firmware Use Case A:
COM CPU firmware does not require external SPI/SQI Flash or SDRAM
· Firmware Use Case B:
COM CPU firmware does not require external SPI/SQI Flash or SDRAM
APP CPU firmware uses external SPI Flash and may use external
SDRAM
· Firmware Use Case C:
COM CPU firmware requires external SPI Flash and external SDRAM

Important:
Note that all NXHX 90-JTAG boards are delivered with a Flash
Device Label for Firmware Use Case A already stored in the
internal flash of the netX. This FDL also contains device-specific
identification data and the MAC addresses of the board, which were
assigned by Hilscher.
If you want to use external SDRAM (i.e. the NXHX-SDRSPI
module), you must flash (download) an FDL for Firmware Use
Case C to the NXHX 90-JTAG board, and thus “overwrite” the pre-
installed FDL.
Before overwriting it, copy the “old” FDL to your PC by using the
Read function of the Flasher tool, thus saving the MAC addresses
and the device IDs. You can then enter the MAC addresses and the
serial number in the “new” FDL for Use Case C, and then flash it to
the NXHX 90-JTAG board.
For detailed instructions on this, see tutorial How to change from
Firmware Use Case A to Use Case C [} page 196].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 96/220

4.3.2 Create new Flash Device Label


You can create a new Flash Device Label with the New Flash Device
Label wizard.
Ø To open the New Flash Device Label wizard, choose File > New >
netX 90 Flash Device Label... from the main menu:

Figure 72: Open New Flash Device Label wizard

Ê The New Flash Device Label wizard opens:

Figure 73: New FDL wizard

Ø Under Flash Layout, select your firmware’s memory use case:


· Firmware Use Case A:
COM CPU firmware does not require external SPI/SQI Flash or SDRAM

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 97/220

· Firmware Use Case B:


COM CPU firmware does not require external SPI/SQI Flash or SDRAM
APP CPU firmware uses external SPI Flash and may use external
SDRAM
· Firmware Use Case C:
COM CPU firmware requires external SPI Flash and external SDRAM
Ø Under Location, specify the storage location of your new FDL. If you
want to store it in your currently opened project, click Browse Project...
button. (If you want to store it somewhere else on your PC’s file system,
click Browse... button.)
Ê The Save As dialog window opens:

Figure 74: Select storage location in “Save As” dialog

Ø In the Enter or select the parent folder fields, specify the storage
location for the FDL file (you can open the tree structure of your project
and select a folder by mouse-click).
Ø In the File name field, enter the name of your new FDL, then click OK
button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 98/220

Ê The Save As dialog closes. Back in the New Flash Device Label
dialog window, the storage location is displayed in the Location field:

Figure 75: Storage location of new FDL

Ø Click Finish to close the wizard.


Ê The wizard closes and the newly created file is automatically opened in
the Flash Device Label Editor:

Figure 76: New FDL in editor

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 99/220

ð You can now proceed to define the parameters of the FDL in the editor
as described in section Edit Flash Device Labels [} page 100].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 100/220

4.3.3 Edit Flash Device Labels


netX Studio CDT features an editor for customizing Flash Device Labels
(FDLs).
Ø You can open a Flash Device Label file (recognizable by its *.fdl
extension) in the FDL Editor by simply double-clicking it in the Project
Explorer.

Note:
The editor also automatically opens after having created a new FDL
with the New Flash Device Label wizard.

Ê The FDL parameters are grouped into five sections: Basic Device
Data, MAC Addresses, Product Identification, OEM Identification
and Flash Layout. Each section can be expanded by clicking on the
triangle in front of the section.

Figure 77: Basic Device Data in FDL

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 101/220

Basic Device Data


Identification data of the device.

Important:
The Flash Device Labels provided by Hilscher (i.e. in the example
projects) already contain pre-defined Basic Device Data values.
Certain Hilscher tools like the Communication Studio (though not
the Flasher tool of netX Studio CDT) check some of these IDs for
conformity against the IDs contained in the file header (a.k.a.
“device header”) of the *.nxi communication firmware before
downloading the firmware to the device. If these IDs do not match,
the Hilscher tool will refuse to download the COM firmware.
The *.mxf maintenance firmware (which manages firmware
updates on the netX) also checks these IDs and refuses to update
the COM firmware if they do not match. We therefore strongly
advise you not to change the preset default values of the Basic
Device Data in the FDL. Change or customize only the serial
number and the production date here.
However, if you have created a new FDL with the New Flash
Device Label wizard, you have to edit all fields here according to
Hilscher specifications, because the wizard sets all Basic Device
Data values to zero by default.

Parameter Values/description
Manufacturer ID Manufacturer ID managed and assigned by Hilscher. By default,
this field should be filled with the code for Hilscher
0 Undefined
1 Default code for Hilscher
2 ... 255 Hilscher GmbH
256 ... 65535 OEM ID
(managed and assigned to OEM by Hilscher)
Device Number The numbers for Manufacturer 1 ... 255 (Hilscher) are managed
by Hilscher GmbH
Note: Hilscher tools use Manufacturer ID, device class and device
number for identifying a device type. The tools display the device
type and add a serial number, thus making devices individually
identifiable (in case multiple devices are connected to the tool at
once).
Serial Number Serial number of the device. To be defined and incremented for
each device during production by OEM.
Hardware Revision Index starts with 1 and is incremented each time if hardware is
changed.
Production Date Select year and week of production of device.
Hardware Compatibility Index indicating whether a hardware version is compatible with a
firmware version. The index starts with zero and is incremented
each time if changes made to the hardware require the firmware
to be changed (adapted) as well.
Device Class Relevant for netX 90 are:
CHIP_NETX_90_COM Device with netX 90 (e.g. NXHX 90-JTAG)
CHIP_NETX_90_COM netX 90 with external SDRAM connected
_HIFSDR at host interface (e.g. NXHX 90-JTAG with
NXHX-SDRSPM module)
Table 4: Basic Device Data

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 102/220

MAC Addresses
MAC addresses to be used by the communication CPU and the application
CPU.
MAC addresses for COM CPU:
If your netX 90 device is intended for Real-Time Ethernet communication,
use the first four fields to define four different MAC addresses for the COM
CPU. This ensures that you can easily switch between different RTE
protocols (e.g. by replacing an EtherNet/IP firmware with a PROFINET
firmware) without facing problems with the protocol-specific mapping of the
MAC addresses.
However, if you intend to stick to one certain RTE protocol without ever
changing it, it may be sufficient to use less than four addresses. In this
case, consult the corresponding Hilscher API manual (chapter Ethernet
MAC addresses) of your protocol to find out how many addresses are
needed and in which fields they should be positioned.
MAC addresses for APP CPU:
Whether the application side needs its own MAC addresses or not,
depends on the requirements of the application firmware running on the
APP CPU.

Figure 78: MAC addresses netX 90 in FDL

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 103/220

Product Identification
Identification data of USB interface.

Note:
The netX 90 is not equipped with an internal USB interface,
therefore set values to zero, respectively leave them empty.

Figure 79: USB ID data

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 104/220

OEM Identification
OEM-specific product identification data.

Note:
Usage of these data fields by the OEM is optional. If used, the OEM
has to define appropriate values for this data. The application
firmware can (indirectly) read this data from the FDL by means of
services offered by the communication firmware.

Figure 80: OEM identification

Parameter Values/description
OEM Data Option This field enables the evaluation of the OEM identification data by
Flags the communication firmware (COM FW).
0 The COM FW does not evaluate the OEM
identification data. The APP FW can read (and use)
this data via services of the COM FW.
All other reserved
values
Note: Current firmware versions do not evaluate these parameters
anyway, but we still advise you to set this field to 0 in order to avoid
conflicts with upcoming firmware versions that might be able to
evaluate this section.
OEM Serial Number Serial number of the device as string.
OEM Order Number Order/article number of the device as string

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 105/220

Parameter Values/description
Production Date Production date and time.
UTC (Universal Time Coordinated) without TZD (time zone
designator, always 'Z') and no fraction of a second
OEM-Specific Data This field can be used to store any kind of information defined by the
OEM. If used, OEM has to define content, structure, values and their
meaning.
Table 5: OEM identification data

Flash Layout
Definition of the layout of the integrated flash memory of the netX 90 (a.k.a.
“Flash Layout Table”). The tables are pre-configured according to the
Firmware Use Case (A, B or C) that was selected in the New Flash
Device Label wizard (see section Create new Flash Device
Label [} page 96]).

Important:
The FDLs contained in the example projects and the FDLs created
by the New Flash Device Label wizard already contain proper flash
layout definitions, depending on the Firmware Use Case (A, B or
C) you have selected.
We therefore strongly advise you not to change these values.

Figure 81: Flash Layout of use case A

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 106/220

The Chips table shows the flash memory chip definition of the netX
(internal flash [“INTFLASH”] and external SQI flash devices). Up to four
chips can be defined.
Parameter Values/description
Flash chip Flash chip number
0 INTFLASH0 (COM CPU)
1 INTFLASH1 (COM CPU)
2 External SQI flash
Note: The internal flash of the application CPU is not defined here,
because the COM firmware, which evaluates these parameters, has
no access to it. Flash chip number 2 (= external SQI flash) of this
flash layout definition is therefore not to be confused with the
Internal Flash 2 (APP) definition of the Flasher tool (=
INTFLASH of APP CPU).
Flash driver name Name of the driver of the flash chip/device.
Currently not evaluated.
Block size Block sizes of the flash chip/device in bytes.
Flash size Size of the flash chip/device in bytes.
Max. number of Maximum number of erase/write cycles of the flash chip/device.
erase/write cycles
Table 6: Flash Layout: Chips

The Area table shows the flash area definitions. Up to ten areas can be
defined, each containing either a certain binary file (like e.g. the hardware
configuration or the firmware) or dedicated space for non-file-based data
(like e.g. management and remanent data).

Note:
The actual area configuration depends on the firmware use case.
For example, an HCC File system area is not required for Use
Case A, therefore the table in the figure above (showing the flash
layout definition for Use Case A) does not contain an HCC File
system area.
Note also that the sequence of the areas within the table is not
relevant; decisive for the definition of the exact position in the flash
device is only the Area start address.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 107/220

Column Values/description
Area name Shows the names of the defined areas. The Area name depends on
the Area content type. Valid names are:
HWConfig Hardware configuration for communication firmware
(*.hwc)
FDL Flash Device Label (*.fdl)
FW Communication firmware (*.nxi)
FWcont Communication firmware extension (*.nxe)
Config Area for firmware configuration data
Remanent Remanent data area
Management Flash management area
APPcont Application firmware extension (*.nae)
Maintenance Maintenance firmware (*.mfw)
Filesystem File system in external SQI flash
FWUpdate Firmware update area
MFW_HWConfig Hardware configuration for maintenance firmware
(*.mwc)
Area content type Defines the content stored in the area. The area content type can be
selected by drop-down list.
(Note that you must also set the Area name according to the content
type)
Hardware Hardware configuration for communication firmware
configuration (*.hwc)
Flash Device Flash Device Label (*.fdl)
Label
Communication Communication firmware (*.nxi)
firmware
Communication Communication firmware extension (*.nxe)
firmware
extension
Firmware data Area for firmware configuration data
area
Remanent data Remanent data area
area
Management Area for flash management data
data area
Application Application firmware extension (*.nae)
firmware
extension
Maintenance Maintenance firmware (*.mfw)
firmware
HCC File File system in external SQI flash
system area
Firmware Firmware update area
update area
Maintenance Hardware configuration for maintenance firmware
hardware (*.mwc)
configuration

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 108/220

Column Values/description
Flash chip Denotes the chip, on which the area is stored. The chip number can be
selected by drop-down list (only chips that have been defined in the
Chips table beforehand can be selected):
0 INTFLASH0 (COM CPU)
1 INTFLASH1 (COM CPU)
2 External SQI flash
Note: INTFLASH2 (APP CPU) is not defined here, because the COM
firmware, which evaluates these parameters, has no access to it.
Flash chip number 2 (= external SQI flash) of the flash layout
definition of the FDL is therefore not to be confused with the
Internal Flash 2 (APP) definition of the Flasher tool (=
INTFLASH of APP CPU).
Area start address Absolute start address, i.e. the offset relates to the whole internal
memory of the netX 90.
Area size Area size in bytes rounded up to 4 KByte sector size.
Area access type Defines the access rules for the area during runtime.
Table 7: Flash Layout: Areas
Ø After having edited the FDL, save the changes by choosing File > Save
from the main menu (or press Ctrl + S on your keyboard).

Note:
For information on how to download (“flash”) the Flash Device Label
to the flash memory of your netX device, see section Use the
Flasher tool [} page 113].

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 109/220

4.4 Use the Tag List Editor


netX Studio CDT features a Tag List Editor for editing the tag list and the
device header of the communication firmware. The tags allow you to
manipulate certain configuration options, like e.g. Ethernet NDIS support or
remanent data handling by the host. Some of the tags are specific to the
individual firmware and its protocol stack (e.g. “PROFINET Features V2”).

Important:
Note that the Tag List Editor is an expert tool and that improper
manipulation of a tag list or a device header with this tool can cause
malfunctioning of the concerned target devices. Do not change any
of the preset values with this tool unless you are explicitly advised
to do so.

Ø You can open the tag list of the communication firmware by simply
double-clicking the *.nxi file in the Project Explorer.

Note:
If you want to edit the tag list of a firmware file that is not part of
your currently opened netX Studio CDT project or solution, choose
File > Open File… from the main menu of netX Studio CDT and
select the firmware in the ensuing Open file... dialog window.
As an alternative, you can drag & drop the firmware file from your
Windows Explorer onto the editor area of the netX Studio
workbench. Its tag list will thus automatically be opened in the
editor.
Note also that you can open and edit a communication firmware file
which is not related to a currently opened project/solution without
having to close that project/solution beforehand. A file opened by
the File > Open File… command will not be automatically added to
your project but will be stored in its original directory (not in the
project) when you choose the File > Save command after editing.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 110/220

Figure 82: Tag list of communication firmware in Tag List Editor

The left area (1) shows the tag list of the firmware and allows you to select
a tag for editing. Tags with a checkmark are “enabled” and can be edited in
the middle area of the editor (2). The right area (3) displays a description of
the configuration options of the selected tag (if the Show help option in the
lower left corner of the editor is checked).
The Edit Device Header button (4) opens the Device Header parameters
a.k.a “Device Info”.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 111/220

Device Header
Ø Click Edit Device Header button to open the Device Header.

Important:
The values in the Device Header of the firmware must be identical
with the values that are stored in the Basic Device Data section of
the Flash Device Label. If not, a firmware update on the netX with
this firmware file will not be possible. Hilscher tools like e.g.
Communication Studio and the maintenance firmware (which
manages firmware updates on the netX) compare these values and
refuse to start the update process if they differ.

Figure 83: Device header

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 112/220

The following table lists the parameters that can be edited.

 Do not change these preset values unless advised


otherwise by Hilscher.
Area Parameter Description
Device Manufacturer Manufacturer ID (OEM code) assigned by
Hilscher. By default, this field is filled with the
code for Hilscher (0x0001)
Device Class 0x003C netX 90 (COM CPU)
0x0045 netX 90 (COM CPU) with
SDRAM
Hardware Index indicating whether a firmware version is
Compatibility compatible with a hardware version. The
index starts with zero and is incremented
each time if changes made to the hardware
require the firmware to be changed (adapted)
as well.
Hardware Assembly Hardware Option 1 Defines the physical hardware interface
Options (xC Port 0) connected to an xC port (communication
Hardware Option 2 controller) of the netX. The Hardware
(xC Port 1) Option 1 field represents xC Port 0 of
the netX, etc.
Hardware Option 3 Values are defined in table System Channel:
(xC Port 2) Hardware Assembly Options (xC Port 0..3) of
Hardware Option 4 the Dual-Port Memory Interface Manual.
(xC Port 3) E.g.:
0x0000 Undefined
0x0080 Communication via Ethernet
(internal Phy)
0x0090 Communication via SPI
Firmware/Device/ Device Number Set to 0, reserved for future use
Serial Number Serial Number Set to 0, reserved for future use
Table 8: Parameters Device Header

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 113/220

4.5 Use the Flasher tool

4.5.1 Overview
netX Studio CDT features an integrated Flasher tool for reading, writing
and erasing the flash memory of the netX 90.
With this tool, you can download bootable firmware images and other
binary files (e.g. *.fdl and *.hwc files) to your NXHX 90-JTAG board via
JTAG. The flasher supports the following interfaces:
· JTAG-to-USB via X1000 USB connector (FTDI “on-board” debugger,
recommended)
· JTAG via X400 JTAG connector and external debugger (see section
Using external debugger [} page 172])

Note:
The current Flasher tool does not yet support the UART-to-USB
interface of hardware revision 3 of the NXHX 90-JTAG board.

The necessary drivers are included in the netX Studio CDT installation
package and were automatically installed by the setup wizard during the
installation of netX Studio CDT (except for drivers of “third party” external
debugger like Olimex and Amontec, see section Using external
debugger [} page 172]).
The Flasher tool supports the following flash devices of the netX 90 SoC:
· Serial Flash (SQI) – External flash memory
· Internal Flash 0 (COM) – 512 KB internal flash of communication CPU
(a.k.a. “INTFLASH0”)
· Internal Flash 1 (COM) – 512 KB internal flash of communication CPU
(a.k.a. “INTFLASH1”)
· Internal Flash 01 (COM) – 1024 KB combined internal flash of
communication CPU (Internal Flash 0 and 1 seen as single flash, a.k.a.
“INTFLASH01”)
· Internal Flash 2 (APP) – 512 KB internal flash of application CPU
(a.k.a. “INTFLASH2”)

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 114/220

4.5.2 Writing files to the flash memory of the netX device


This section describes how to write a hardware configuration file from your
development PC to the flash memory of the NXHX 90-JTAG board by using
the integrated Flasher tool of netX Studio CDT. The hardware configuration
file serves as example for any other binary file that can be downloaded by
the flasher (e.g. firmware or flash device label).
For instructions on which specific file you need to download to a specific
flash target in order to get the netX 90 example project running, see
chapter How to use the netX 90 example project [} page 177].

Prerequisites
· If you intend to use the JTAG-to-USB interface (X1000) for flashing
(recommended):
You have connected your NXHX board to a voltage supply and the
X1000 interface to your development PC via USB cable.
· If you intend to use the JTAG interface (X400) via external debugger for
flashing:
See section Using external debugger [} page 172].

Important:
Writing files to an area of the flash device will erase any “old”
content previously stored in that area (if applicable). If you want to
be sure not to lose important data already residing in the flash,
create a backup copy by using the Read function of the Flasher
tool (see section Reading from flash memory of the netX
device [} page 120]).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 115/220

Step-by-step instructions
1. Open the Flasher tool.
Ø In the menu of netX Studio CDT, choose Tools > Flasher or click the
flasher icon.
Ê The Detect Device window of the Flasher tool opens and the tool
automatically starts scanning for connected devices. It then displays
found connections in the Detected Interfaces list:

Figure 84: Detect Device window

2. Select interface.
Ø In the Detected Interfaces list, select the interface that you want to
use. If you are using the JTAG-to-USB interface, select the
romloader_jtag_netX90_COM@NXHX_90-JTAG entry.
If you want to use the JTAG interface via external debugger (the X400
JTAG interface on the board needs to be enabled for this, see section
Using external debugger [} page 172]), select the
romloader_jtag_netX90_COM@[debugger name] entry.

Note:
Flashing via UART-to-USB interface is not yet supported, therefore
do not select a romloader_uart_COM[x] entry from the list.

Ø Click Next.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 116/220

Ê The Select Operation window opens and the Flasher tries to identify
the connected netX device. After successful identification, the netX type
is displayed in the Chip Type field. The Write task is preselected by
default (it is underlined in red):

Figure 85: Select operation in Flasher

3. Select Flash Type (optional).


Ø In the Flash Type drop-down list, select the flash device that you want
to use as the target of your writing task. For this example, select
Internal Flash 01 (COM).

Note:
The Flasher tool is capable of recognizing the correct flash type for
any chosen input file. This means that you can skip this manual
flash type selection, because the Flasher tool will automatically
chose the right flash type when you select your input file (as
described in the following step).

· Serial Flash (SQI) – External flash memory


· Internal Flash 0 (COM) – 512 KB internal flash of communication CPU
(a.k.a. “INTFLASH0”)
· Internal Flash 1 (COM) – 512 KB internal flash of communication CPU
(a.k.a. “INTFLASH1”)
· Internal Flash 01 (COM) – 1024 KB combined internal flash of
communication CPU (Internal Flash 0 and 1 seen as single flash, a.k.a.
“INTFLASH01”)
· Internal Flash 2 (APP) – 512 KB internal flash of application CPU
(a.k.a. “INTFLASH2”)

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 117/220

Note:
The Flash Type drop-down list contains flash types for the netX 90
that are generally supported by the Flasher tool. It thus may also
contain flash types that are actually not implemented or not
accessible on your specific target device.

4. Select Input File.


Ø To select the file that you want to write into the flash device, click
Browse Project... button (if the file is not part of a currently opened
netX Studio CDT project or solution, click Browse... button).
Ê The Select File dialog window appears.

Figure 86: Select file

Ø Navigate to the directory where the file is stored, select the file (in this
example it is the hardware_config_idpm.hwc file) and click OK
button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 118/220

Ê The Select File dialog window closes and the Flasher now shows the
path of the selected file in the Input File field and adapts the Flash
Parameters according to your input file:

Figure 87: Flasher with selected input file

Important:
The Flasher tool recognizes the type of the input file by its
extension, and thus presets the Flash Parameters (offsets, size
and flash type) accordingly. Changing these preset parameters is
for expert users only!
Note also that the Flasher tool supports only writing and erasing of
whole blocks of the flash device (in this case one block is 4
KB/4096 Bytes). Keep this in mind if you intend to define a new
Start Offset value.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 119/220

5. Start write operation.


Ø Click Write button to start downloading the file to the flash memory of
your netX device.
Ê The Flasher tool writes the file to the flash device. (Click the Details
button if you want to learn about the progress of the operation.)

Figure 88: Writing in progress

Ê After the operation has been completed, the following dialog window
appears:

Figure 89: Writing finished

Ø If you choose Yes, the Flasher tool stays open and you can directly
perform another operation, if you choose No, the tool will be
immediately closed.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 120/220

4.5.3 Reading from flash memory of the netX device


1. Connect your NXHX board to a voltage supply and to your development
PC via USB cable.
2. Open the Flasher tool and select the interface as described in steps one
and two in section Writing files to the flash memory of the netX
device [} page 114].
3. Select read operation.
Ø In the Tasks area of the Select Operation window, choose Read.
4. Select Flash Type.
Ø In the Flash Type drop-down list, select the flash device from which you
want to read.

Figure 90: Read from flash

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 121/220

5. Select output path.


Ø Click Browse... button to open the Save as... dialog (if you want to
store the output file in a currently opened netX Studio CDT project or
solution, click Browse Project... button).
Ê The Save as dialog window opens:

Figure 91: “Save as” dialog window

Ø Navigate to the directory in which you want to store the output file.
Ø In the File name field, enter a name for the file into which the output
data shall be dumped.
Ø Click Save button to close the Save as dialog window.
Ê The Save as dialog window closes and the Flasher now shows the path
of the output file in the Output File field.
6. Define flash area to be read.
Ø By default, the Flasher tool reads the whole memory area of the flash
device. If you want to read only a certain area, uncheck the Whole
memory option and use the Start Offset and End Offset fields or the
Start Offset and Size fields to specify the area that shall be read.
The Size field equals the size of the area that is going to be read, as
defined by the Start Offset and End Offset fields. If you manually
change the value in the Size field, the value in the End Offset field will
automatically be increased or decreased accordingly.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 122/220

7. Start read operation.


Ø Click Read button to start reading the contents of the flash memory of
your netX device.
Ê The Flasher tool reads the flash memory and writes the data to the
specified output directory on your PC. (Click the Details button if you
want to learn about the progress of the operation.)

Figure 92: Reading from flash

Ê After the operation has been completed, the following dialog window
appears:

Figure 93: Reading finished

Ø If you choose Yes, the Flasher tool stays open and you can directly
perform another operation, if you choose No, the tool will be
immediately closed.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 123/220

4.5.4 Erasing flash memory of the netX device


1. Connect your NXHX board to a voltage supply and to your development
PC via USB cable.
2. Open the Flasher tool and select the interface as described in steps one
and two in section Writing files to the flash memory of the netX
device [} page 114].
3. Select erase operation.
Ø In the Tasks area of the Select Operation window, choose Erase.

Figure 94: Erase window of the Flasher tool

4. Select Flash Type.


Ø In the Flash Type drop-down list, select the flash device you want to
erase.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 124/220

5. Define flash area to be erased (optional – for advanced users only!)


Ø By default, the Flasher tool erases the whole memory area of the flash
device. If you want to erase only a certain area (not recommended),
uncheck the Whole memory option and use the Start Offset and End
Offset fields or the Start Offset and Size fields to specify the area that
shall be erased.
The Size field equals the size of the area that is going to be erased, as
defined by the Start Offset and End Offset fields. If you manually
change the value in the Size field, the value in the End Offset field will
automatically be increased or decreased accordingly.

Figure 95: Manually defined erase area

Note:
The Flasher tool only supports writing and erasing of whole blocks
of the flash device (in this case one block is 4 KB/4096 Bytes).
Keep this in mind when defining the Start Offset value.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 125/220

6. Start erasing.
Ø Click Erase button to start erasing the contents of the flash memory of
your netX device.
Ê The Flasher tool performs the operation. (Click the Details button if you
want to learn about the progress of the operation.)

Figure 96: Erasing in progress

Ê After the operation has been completed, the following dialog window
appears:

Figure 97: Erasing finished

Ø If you choose Yes, the Flasher tool stays open and you can directly
perform another operation, if you choose No, the tool will be
immediately closed.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 126/220

4.6 Adjust debug settings


To adjust your debug settings, proceed as follows:
Ø Open your project in netX Studio CDT.
Ø In the main menu, choose Debug > Debug Settings...
Ê The Target Settings sheet opens, displaying the Debug settings
dialog:

Figure 98: Debug target settings

Note:
Alternatively, the Debug settings dialog can also be opened by
selecting Project > Properties from the main menu of netX Studio
CDT, and then selecting netX Development > Debug tab in
Properties dialog window.

Ø In the Target drop-down list, select your debug target.


Ê The default settings in the Debug settings dialog are automatically
adjusted according to the selected target.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 127/220

The following debug settings can be made:

Start OpenOCD automatically


Ø Make sure that this option is checked. This causes netX Studio CDT to
automatically start OpenOCD by connecting to the specified hardware
debugger (specified in the Debugger field) and to initialize the selected
target hardware (specified in the Target board field).

Note:
By default, netX Studio CDT automatically starts OpenOCD (Open
On-Chip Debugger) before starting a debug session. OpenOCD is
open-source software that interfaces with a hardware debugger's
JTAG port.
Only uncheck this option if you are an advanced user wishing to
start OpenOCD manually.
In this case, netX Studio CDT connects to the remote target at
localhost at port 3333.

Target board
The Target board drop-down list features a list of Hilscher development
boards supported by netX Studio CDT.
Ø Select NXHX-90 from the drop-down list.

Debugger
The Debugger drop-down list features a list of debuggers supported by
netX Studio CDT.
Ø For the NXHX 90-JTAG board, select NXHX-90 On-Board Debugger if
you are using the onboard JTAG-to-USB debugger. If you are using an
external debugger, select the corresponding debugger from the list (e.g.
NXJTAG-USB).

Note:
If you want to use the Olimex or the Amontec debugger, you must
install the drivers separately, because they are not included in the
netX Studio CDT installation. See section Using external
debugger [} page 172].

JTAG speed
Ø Make sure that the speed is set to the recommended default setting of
1000 kHz.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 128/220

Mode
The Mode option determines how netX Studio CDT will connect to the netX
target:
Run: Target is reset and halted
Attach: Target is halted only (without reset)

Note:
The Attach mode can be used to attach to a running application on
the netX. You can use this mode to debug your application once it
has been flashed to the netX.

Config script
You can use the Config script field to optionally specify a custom/project-
specific configuration script for OpenOCD.
The specified config script will be included after the default board
configuration. It can override any settings defined in the board script: reset
configuration, work area configuration, target event handlers (e.g. “reset-
init”) etc.
For example, you can use the custom config script to move, shrink or
disable the OpenOCD work area, or you can write custom “reset-init”
initialization, e.g. to initialize external SDRAM.
In the debugger config script you can also define a “target_init” procedure,
which will be called to initialize the target after the target is reset:
Target_init_sdram.cfg
proc target_init {} {

puts "Initializing SDRAM controller (8Mbyte ISSI)"

# Set hif_io_cfg to SDRAM with full address range.

set accesskey [mread32 0xff4012c0]


mww 0xff4012c0 [expr $accesskey]
mww 0xff401480 0x00000ea0

# Disable the SDRAM controller.


mww 0xff401540 0x00000000
# Set the timing ctrl value.
mww 0xff401544 0x02A22251
# Set the MR register.
mww 0xff401548 0x00000033
# Set the general ctrl register.
mww 0xff401540 0x030D0011
}

Note:
The “target_init” procedure is called only after reset. This means
that it will not be executed if you are attaching to a running target
(i. e. if you are using the Attach mode).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 129/220

Auto Flasher
This feature is only available for the netX 90 APP CPU internal flash target
in Run Mode:
The auto flasher offers (by a prompt) to flash an INTFLASH application
automatically when you start the debug session in the internal flash of the
APP CPU for the first time, or when you relaunch an INTFLASH application
that has been changed and rebuilt.
See also section “Auto Flasher” function for debugging in internal flash of
APP CPU [} page 137].
If you do not want to use this feature, you can disable it here by unchecking
it.

Executable
The Executable field specifies the executable file that will be loaded by the
debugger.
By default, this is automatically detected from the project build scripts, but
you can also specify an executable file manually by unchecking the Use
executable from target output option and then using the Search
Project... or Browse... buttons to open a file selection dialog.
The Load image (gdb load) option should be checked when you are
debugging in Run mode, and unchecked when you are debugging in
Attach mode. (This Load image option will be checked/unchecked
automatically when you select the Run respectively Attach mode.)

Startup
The Startup section provides options for what happens when the debug
session is started.
The Set vector table offset at option allows you to set the program
counter, stack pointer and VTOR of the debugger to a certain address or
symbol, which can be specified in the neighboring field.
By default, this option is selected and the vector table address is set to the
__Vectors symbol. You can change the default value to another symbol
or address – e.g. __vector_table or 0x10000000 – by entering the new
value:

Figure 99: Vector table

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 130/220

The commands to initialize the program counter, stack pointer and VTOR
will be “printed” in the GDB Console after the debug session has started:

Figure 100: GDB Console in Debug View of netX Studio CDT

Note:
The Set vector table offset at option will be automatically disabled
when you switch the debug settings to Attach mode (see above);
because the debugger only sets the registers when running an
application after reset.

The Set breakpoint at option allows you to define a breakpoint, at which


the debugger automatically stops after starting the debugging. If you enable
this option and keep the preset default value main, the debugger will stop
on entering the main function.
You can use the field to define another symbol or function name as
breakpoint.
The Run commands option allows you to execute custom GDB commands
on startup. The commands will be executed after the executable is loaded,
but before the program is started. After selecting this option, you can click
on the GDB Commands button to open a dialog window in which you can
type-in your commands. For example, you can “print” the value of the
VTOR:

Figure 101: GDB Commands

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 131/220

The command and its result will be “printed” in the GDB Console after the
debug session has started:

Figure 102: GDB Command in Console

The Resume option allows you to control whether the program should be
resumed automatically after the debug session is started. By default, the
Resume option is automatically pre-selected when the debugger is set to
Run mode, and deselected when the debugger is set to Attach mode.
However, when in Run mode, you can still disable the Resume option, in
order to have the debug session start with the target suspended right after
reset.
Ø After having configured the debug settings, click Apply and then OK
button.

Note:
A curtailed version of the Debug Settings dialog described above
also opens automatically when you issue a Start Debugging
command without having configured the debug settings of the active
target beforehand (i.e. if no debug settings had been assigned
before, neither by default nor manually):

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 132/220

4.7 Set debug startup target


If your project features more than one debug target, you must set the
startup target. The startup target is the debug target that gets executed
after issuing the Start Debugging command.
To set the startup target, choose Debug > Set Startup Target from the
menu or click the triangle next to the start debugging button .

Figure 103: Setting Startup Target

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 133/220

4.8 Use the Peripheral Register View


netX Studio CDT features a Peripheral Register View (based on the
EmbSysRegView plug-in), which can be used for reading and writing
peripheral registers of the netX 90 application CPU (APP CPU) during
debugging. The required “System View Description“ (SVD) files describing
the peripheral registers are included in the netX Studio CDT installation and
will be automatically loaded when you start to debug the application project.
Ø To use the Peripheral Register View, you first have to go into debug
mode by using the Start Debugging command ( ) on your netX 90
project, and then, while in debug mode/perspective, choosing Window
> Show View > Peripherals from the main menu:

Figure 104: Open Peripherals View

Note:
If you are not in debug perspective, the Peripherals entry is not
visible in the Show View menu. If you want to open a list of the
peripheral registers while you are still working in the C/C++
development perspective, select Window > Show View > Other...
from the menu. In the separate Show View dialog window that
opens, you will find the Peripherals entry in the Debug folder.
Select the Peripherals entry there, then click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 134/220

Ê The Peripherals View opens. The name of the loaded SVD file [netX90
(APP)] is indicated in the top right corner of the view’s window:

Figure 105: Peripherals View

Once you have enabled the Peripherals View, it will automatically open
each time you start a debug session.

Note:
The “auto refresh” feature of the peripherals view, which refreshes
the register values automatically at a fixed time interval, is disabled
by default (in order to avoid unwanted side effects by unintentionally
reading certain registers). You can open a configuration dialog
(called Preferences) for the Peripherals view and re-enable the
auto refresh feature by clicking the settings icon in the top right
corner of the Peripherals view.
However, you should change settings here only if you are an
advanced user, otherwise we recommend keeping the default
settings!
In future releases, the SVD will be enhanced in order to treat
“access side effects” for the “auto refresh” feature automatically.

Ø To enable read or write access to a register, suspend the application


(e.g. by selecting from the tool bar or by setting a break point), then
double-click a register or one of its subordinate fields.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 135/220

Ê Thus enabled registers and fields are highlighted in green. Their current
memory values (at the time of suspension of the application respectively
at reaching its defined break point) are displayed in the Hex and Bin
fields:

Figure 106: Details of peripheral registers

Ø To manipulate the value of a register (or just of a single field of that


register), click the Hex value of that register or field, then type-in the
new value and press Enter on your keyboard:

Figure 107: Writing new hex value in pio_out field of MMIO register

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
How to... 136/220

Ø As an alternative, you can change the binary value by clicking on the


digit in the Bin field, and then selecting the Set button:

Figure 108: Setting binary in pio_out field of MMIO register

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 137/220

5 Good to know...

5.1 “Auto Flasher” function for debugging in internal flash of APP


CPU
When you start a debug session in the internal flash (INTFLASH) of the
APP CPU for the first time, or when you relaunch an INTFLASH application
that has been changed and rebuilt, the “auto flasher” function of netX
Studio CDT offers to flash the application automatically via the JTAG debug
connection:

Figure 109: Auto flasher prompt

Note:
The auto flasher works only if the debug target is the internal flash
of the netX 90 application CPU (APP CPU). Also, the “Run” Mode is
required in the debug settings.
You can disable the auto flasher in the debug settings (see section
Adjust debug settings [} page 126]).

Options in the Auto Flasher prompt dialog:


Yes: The auto flasher writes the application to the internal flash.
Afterwards, the debug session is automatically launched.
Note that the auto flasher keeps its own internal state to determine if an
executable has already been flashed or not. This means that after
terminating an INTFLASH debug session and relaunching it again (without
rebuilding the project or restarting netX Studio CDT), the Auto Flasher
prompt will not appear again (because this very same application is still
residing in the flash). However, the prompt will appear again if you rebuild
your project or if you restart netX Studio CDT.
No: The debug session is launched without writing the application to the
INTFLASH. This is useful e.g. if you restart netX Studio CDT, knowing that
the most recent version of the application is still residing in the INTFLASH.
The prompt will not appear again until you have rebuilt the executable.
Cancel: The application is not flashed and the debug session is cancelled.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 138/220

Note:
If you want to use the auto flasher but its prompt does not appear –
because you have accidentally selected the No option in the auto
flasher prompt – you can simply rebuild your project to “reset” the
auto flasher state. The auto flasher prompt will then reappear.
Note also that if you swap your “old” NXHX 90-JTAG target board
with a “fresh” NXHX board that does not yet contain the application
in its INTFLASH, you might also want to “reset” the auto flasher (i.e.
rebuild your application) in order to evoke the auto flasher prompt
for the next debug session. This is because the tool is not able to
detect that you have swapped the devices.

5.2 Multiple instances support


netX Studio CDT supports working with more than one instance of the
program at the same time.
Ø To open a new instance of netX Studio CDT, choose Window > New
Window from the main menu.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 139/220

5.3 Build Targets View


netX Studio CDT features a Build Targets View showing all build targets
detected from the project's build scripts.
Ø To open the Build Targets View, choose Window > Show View >
Build Targets from the main menu.

Note:
If you do not see the Build Targets entry in the Show View list of
the menu, this means that you have probably updated netX Studio
CDT from a previous version and kept your old preferences.
In this case, you can reset your window layout by choosing Reset
Layout in the Window menu. If you want to keep your old window
layout, you can open the Build Targets View alternatively by
choosing Window > Show View > Other... > C/C++ > Build
Targets.

Figure 110: Build Targets View

All available build targets are marked with the target icon.

Functions of the Build Targets View


You can build a single component/target instead of the whole project:
Ø Double-click the target or select it and choose Build from the context
menu.
You can rebuild a component/target (delete all output files for the target and
trigger a fresh build):
Ø Select the target and choose Rebuild from the context menu.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 140/220

You can open the build script in which the target is defined:
Ø Select the target and choose Open Wscript from the context menu.
You can view details about the build target:
Ø Select the target and choose Properties from the context menu.
You can create custom build commands based on an existing build target:
Ø Select the target and choose Duplicate from the context menu.
Ê A copy of the target is created below the original target (marked with a
little blue arrow):

Figure 111: Duplicated target

Ø Select the copied target and choose Edit from the context menu.
Ê The Edit Build Target dialog window opens:

Figure 112: Edit Build Target dialog

Ø Customize the build command, then click OK.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 141/220

You can create a custom target from scratch:


Ø Select the Components or Targets folder and choose Create Custom
Target… from the context menu:

Figure 113: Create Custom Target

Ê The Create Build Target dialog window opens:

Figure 114: Create Build Target dialog window

Ø Enter a name and define the build command, then click OK.
To execute a custom target, double-click it or choose Build from the
context menu. Unlike the build targets derived from existing build scripts,
customized targets (newly created targets marked with a little blue arrow)
can be deleted in the Build Targets View by choosing Remove from the
context menu.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 142/220

5.4 Debug Cores View


netX Studio CDT features a Cores debug view allowing you to check the
state of the COM CPU (communication ARM CPU of the netX 90 SoC)
while debugging your application.

Note:
This chapter features a “generalized” description of the Debug
Cores View of netX Studio CDT. Details depicted in this chapter
may not reflect details of the example projects.

To open the Cores view, proceed as follows:


Ø Go into debug mode.
Ø In the main menu, choose Window > Show View > Cores:

Figure 115: Open cores view

Note:
If the Cores entry is not displayed in the Show View menu, you
may have to reset the layout first by choosing Window > Reset
Layout.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 143/220

Ê The Cores view opens:

Figure 116: Cores view

Ø Click Suspend icon in the main toolbar to suspend the application.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 144/220

Ê When the application is suspended (i. e. the APP CPU of the netX 90
SoC is halted), the Cores view displays the current state of the COM
CPU:

Figure 117: CPU states in Cores view

Note:
The view is updated only when stepping through the code, not in
“real-time”.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 145/220

5.5 PyDev plug-in


netX Studio CDT features the PyDev plug-in with the Python 2.7
interpreter.

PyDev editor
Python and Waf scripts (wscript files) are by default opened in the PyDev
editor:

Figure 118: wscript file opened in PyDev Editor

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 146/220

Executing Python script


To execute a Python script, select the script, then choose Run As >
Python Run from the context menu.

Figure 119: Run Python

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 147/220

PyDev settings
PyDev can be configured in the Preferences sheet (choose Edit >
Preferences > PyDev from the main menu of netX Studio CDT):

Figure 120: PyDev in Preferences sheet

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 148/220

5.6 Hilscher code style formatter


netX Studio CDT by default uses a C Code Style formatter according to the
Hilscher Coding Styleguide C. You can select a different formatter in the
netX Studio Preferences sheet:
Ø In the main menu of netX Studio CDT, choose Edit > Preferences.
Ê The Preferences sheet opens:

Figure 121: Formatter dialog

Ø In the Preferences sheet, navigate to C/C++ > Code Style >


Formatter.
Ø Select a new style in the Active profile drop-down list or import your
favorite style by clicking the Import… button. Click Apply and then OK
button to apply the new style.

For more information, open the online help by pressing F1 on your


keyboard. In the online help window, click the C/C++ Code Style
Preferences link to open the help topic provided by the C/C++
Development User Guide.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 149/220

5.7 Create documentation with Doxygen (Eclox plug-in)

5.7.1 Overview
netX Studio CDT features the Eclox plug-in enabling you to use the
Doxygen tool to generate software reference documentation from the
comments in the source files of your netX Studio CDT projects.
The following sections describe how to install Doxygen (the necessary
Eclox plug-in has automatically been installed along with netX Studio CDT)
and how to configure and build documentation with Doxygen.

5.7.2 Installing Doxygen


Due to licensing and distributional limitations, Doxygen is not included in
the netX Studio CDT MSI installation package but can be installed and
added to netX Studio CDT as optional component by using the Install
Development Tools wizard.
Ø To open the Install Development Tools wizard, choose Help > Install
> netX Development Tools… from the main menu of netX Studio CDT.

Note:
You will be asked to install Doxygen also if you click the button
in the main toolbar or if choose Build Documentation from the
context menu in the Project Explorer before having installed
Doxygen. A prompt then opens and leads you to the Install
Development Tools wizard.

Ê The wizard opens:

Figure 122: Install Development Tools wizard

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 150/220

Ø Select the check box in front of the Doxygen entry. Select also
Graphviz if you want to use this visualization software together with
Doxygen.
Ø Click Next.
Ê The Review Licenses window opens.
Ø Read all license texts. If you accept the license terms, select I accept
the terms of the license agreements.
Ø Click Install button.
Ê The tools are installed.
Ø After the installation is finished, acknowledge the Installation
Complete message by clicking OK.
ð You have installed Doxygen. You can now proceed to create
documentation for your netX Studio CDT projects with Doxygen.

5.7.3 Configuring Doxygen (Doxyfile)


Creating documentation with Doxygen requires a configuration file (which
has a doxyfile extension) defining input and output settings for the
documentation you want to create. A Doxygen configuration file can be
easily added to a project or a solution by using the New Doxygen
Configuration wizard of netX Studio CDT. You can add more than one
doxyfile to a project (e. g. containing different input sources or different
settings for different documentation purposes).

Note:
The netX90_PNS_simpleConfig example project already contains
a pre-configured Doxygen configuration file (which of course you
can change or adapt according to your needs). This section
describes how to add and edit another Doxygen configuration file to
your project.

Add Doxygen configuration file (“Doxyfile”) to a project or solution


If you want to add another Doxyfile, proceed as follows:
Ø Open your project or solution, then choose File > New > Doxyfile…
from the main menu.

Note:
You will be asked to add a Doxyfile also if you click the Create
Documentation button in the main toolbar before having added a
Doxyfile yet. The No Doxyfile Found dialog window then opens
and leads you to the New Doxygen Configuration wizard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 151/220

Ê The New Doxygen Configuration wizard opens:

Figure 123: The New Doxygen Configuration wizard

Ø In the Enter or select the parent folder section, choose the storage
location of your Doxygen configuration file.
Ø In the Doxyfile name field, specify the name of your Doxygen
configuration file.
Ø Optional: If you want the configuration file to reference a file in your file
system, click Advanced button and check the box in front of the Link to
file in the file system option, then click Browse… button to select the
file you want to link, or click Variables button if you want to use a path
variable to reference a file.
Ø Click Finish button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 152/220

Ê The New Doxygen Configuration wizard closes and the new Doxygen
configuration file is displayed in the Project Explorer:

Figure 124: New Doxyfile in Project Explorer

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 153/220

Configuring Doxygen settings in Doxyfile


Ø To edit your Doxygen documentation settings, double-click the Doxyfile
in the Project Explorer.
Ê The Doxyfile is opened in the Editor:

Figure 125: Basic settings tab of Doxyfile

The Doxyfile Editor offers Basic and Advanced configuration settings:

Basic settings
The Basic tab, which is opened by default, enables you to quickly perform
the most basic configuration tasks like specifying input sources and output
formats and the output directory of your documentation.
Ø Specify the files and/or directories that contain documented source files
that you want to use. To do so, click Add button next to the Input
directories field.
Ê The Value Edition dialog window opens:

Figure 126: Value Edition dialog window

Ø Click Browse Directory… button to open a Windows file system dialog


in which you can select a file or directory.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 154/220

Note:
You can enter a list of more than one file or directory in the Input
directories field. Note also that if the Input directories field is left
empty, the current location/folder of the Doxyfile is searched.

Ø Select Scan recursively option if you want to include subdirectories in


the search for documentation input files.
Ø Use the Output Directory field to specify a target directory where you
want the produced documentation files to be stored.

Note:
If you don’t specify a certain directory here, the output will by default
be stored in the directory where the Doxyfile is located.
The output folders are named according to the chosen output
formats, e. g. html for HTML output files and rtf for Rich Text
Format files.

Ø In the Output Formats section, specify the desired format of your


documentation output.
Ø If you want to generate diagrams for your documentation, choose the
corresponding option in the Diagrams to Generate section.

Advanced settings
The Advanced settings tab offers the whole range of Doxygen
configuration options.
Ø To open the Advanced settings, click the Advanced tab in the footer of
the editor:

Figure 127: Advanced settings tab of Doxyfile

The Settings area of the Advanced tab lists all available configuration
parameters (called “tags”) along with their current (default) settings. The
options and parameters of a selected tag are briefly explained in the right
part of the editor below the input fields.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 155/220

Ø To change the value of a parameter, select the corresponding tag in the


list, then use the text fields or radio buttons in the right part of the editor
to make the desired input.

For further information about Doxygen configuration options, see


Configuration chapter of the Doxygen manual, which is available
online:
http://www.stack.nl/~dimitri/doxygen/manual/config.html

Ø After having finished the Doxyfile configuration, save the changes by


pressing Ctrl + S on your keyboard.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 156/220

5.7.4 Build documentation


Ø You can start the build process of your Doxygen documentation by
selecting a Doxyfile in the Project Explorer and then choosing Build
Documentation from the context menu.

Figure 128: Start Doxygen build

Ø As an alternative, you can start the process by clicking the icon in


the main toolbar.

Note:
If you are using the icon for the first time, the Doxyfile Selection
dialog window opens, asking you to select the Doxyfile that you
want to use for building the documentation. Once you have selected
a Doxyfile in the Doxyfile Selection dialog window, this Doxyfile
will be used by default each time you hit the create documentation
icon . You can open the Doxyfile Selection dialog window again
to select another Doxyfile (if your project contains more than one
Doxyfile) by clicking the triangle icon next to the icon.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 157/220

Build and use the pre-configured documentation of the example


project
Ø Select Doxyfile in the Project Explorer and choose Build
Documentation from the context menu.
Ê The documentation is being built. This might take a few seconds. After
finishing, the html folder is added below the Doc folder:

Figure 129: HTML documentation output

Ø Open the html folder and scroll down in the Project Explorer until you
reach the index.html file.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 158/220

Ø Double-click the index.html file to open the “start page” of the


documentation:

Figure 130: HTML documentation start page

Ê From this page, you can navigate through the documentation.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 159/220

5.8 Work with Subversion SVN (Subversive plug-in)

5.8.1 Overview
netX Studio CDT features the Eclipse Subversive plug-in enabling you to
use the Subversion (SVN) software versioning and revision control system
with your netX projects.
This chapter describes how to install the required SVN Connector and how
to perform basic functions like checking your netX CDT projects in or out of
SVN.

Note:
This chapter features a “generalized” description of how to use
Subversive/Subversion with netX Studio CDT. Details depicted in
this chapter may not reflect details of the
netX90_PNS_simpleConfig example project.

5.8.2 Installing SVN Connector


To work with SVN in netX Studio CDT, you have to install at least one
Subversive SVN Connector. If you already have an SVN client such as
TortoiseSVN, it is recommended that you choose a connector version that
is compatible with that client. For example, if you have TortoiseSVN 1.7,
you should choose SVN Kit 1.7, so that you can work with the same project
with both clients.
You will be asked to install an SVN Connector when you open or create a
project in netX Studio CDT for the first time or when you open the SVN
Repositories view for the first time. The following prompt appears:

Figure 131: SVN Connector installation prompt

Ø Click Yes to open the Install Connectors dialog window.

Note:
If you do not want to work with SVN at this point, click No. The
installation prompt then won’t be shown again when you open a
new project. If you want to install SVN connectors any time later,
you can invoke the Install Connectors dialog window again by
choosing Help > Install > SVN Connectors… from the main menu
of netX Studio CDT.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 160/220

Ê The Install Connectors dialog window opens:

Figure 132: Install Connectors dialog window

Ø Select your SVN Connector(s) by checking the corresponding check


box(es), then click Finish button.
Ê The Install window opens:

Figure 133: Install window

Ø You can select or deselect components here, then click Next button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 161/220

Ê The Install Details window opens:

Figure 134: Install Details window

Ø You can display details of selected items here, then click Next button.
Ø The Review Licenses window opens:

Figure 135: Review Licenses window

Ø Read all license texts. If you accept the license terms, select I accept
the terms of the license agreements.
Ø Click Finish button.
Ê The SVN connectors are installed.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 162/220

Ø Acknowledge the Security Warning with OK:

Figure 136: Security Warning

Ø After the installation is finished, allow netX Studio to restart by clicking


Yes:

Figure 137: Allow restart of netX Studio CDT

ð You have installed the SVN Connectors. You can now proceed to add
or create a repository for your netX Studio CDT project.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 163/220

5.8.3 Adding/creating SVN Repositories


Open SVN Repository view
To work with SVN in netX Studio CDT, you need the SVN Repositories
view.
Ø To open the view, choose Window > Show View > SVN Repositories
from the main menu.

Figure 138: Open SVN Repositories view

Note:
If you don't see the SVN Repositories entry in the Show View list
of the menu, this means that you have probably updated netX
Studio CDT from a previous version and kept your old preferences.
In this case, you can reset your window layout by choosing Reset
Perspective... in the Window menu. If you want to keep your old
window layout, you can open the SVN Repositories view
alternatively by choosing Window > Show View > Other... > SVN >
SVN Repositories from the menu.

Ê The SVN Repositories view opens below the Project Explorer:

Figure 139: SVN Repositories View in netX Studio workbench

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 164/220

Adding existing repository


To add an existing repository you want to work with, you need to specify
the SVN repository location parameters in the New Repository Location
wizard.
Ø To open the wizard, right-click in the SVN Repositories view window,
then choose New > Repository Location… from the context menu (as
an alternative, you can click the icon in the SVN Repositories view
toolbar).

Figure 140: Open New repository

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 165/220

Ê The New Repository Location wizard opens:

Figure 141: New Repository Location wizard

Ø Specify the parameters, then click Finish button.

For more information about individual parameters, open the online


help by pressing F1 on your keyboard. In the online help window,
click the New SVN Repository Location Wizard link to open the
help topics provided by the Subversive User Guide.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 166/220

Ê The added repository is displayed in the SVN Repositories view:

Figure 142: Added repository

Creating local repository


Ø To create a new local repository, right-click in the SVN Repositories
view window, then choose New > Repository… from the context menu
(as an alternative, you can click the icon in the SVN Repositories
view toolbar).

Figure 143: Create Local repository

Ê The Create Repository dialog window opens:

Figure 144: Create Repository dialog window

Ø Specify the path, then click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 167/220

Ê The locally created repository is displayed in the SVN Repositories


view:

Figure 145: Created repository

5.8.4 Adding/checking out projects


Adding project to SVN
To add a project to an SVN repository, proceed as follows:
Ø Open your project in netX Studio CDT.
Ø Right-click on the project in the Project Explorer and choose Team >
Share Projects… from the context menu.

Figure 146: Open Share Project Wizard

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 168/220

Ê The Share Project Wizard opens:

Figure 147: Share Project Wizard

Ø Select an existing repository location or create a new one, then click


Finish button.
Ê The project’s root folder is added to the SVN repository and the
Commit dialog window opens:

Figure 148: Commit dialog window

Ø You can enter a comment and/or deselect components that you don’t
want to commit.
Ø Click OK.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 169/220

Ê The Commit dialog window closes.


Ê After clicking the refresh button ( ), the added project is displayed
below the repository in the SVN Repositories view:

Figure 149: Project added to repository

Checking out project from SVN


To quickly check out an existing netX Studio CDT project (the project files
must have been committed to the repository beforehand), proceed as
follows:
Ø Right-click on the project in the SVN Repositories view and choose
Check Out > Check Out Project from the context menu.

Figure 150: Quick check out

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 170/220

Ê The Checkout Location dialog window opens:

Figure 151: Checkout Location dialog window

Ø Specifiy the location in your file system where you want to store the
checked-out project, then click OK button.
ð The project is checked out and opened in the Project Explorer of netX
Studio CDT.

Using “Check Out As” wizard


The Check Out As wizard offers additional options for checking out a
project. The most common case for using the wizard is to check out
existing “legacy” code (i. e. code/projects originally not committed to the
repository as netX Studio CDT projects) from a repository and import it into
netX Studio CDT as netX CDT project.
Ø Add the repository (containing the project that you want to use in netX
Studio CDT) as described in section Adding/creating SVN
Repositories [} page 163].
Ø In the SVN Repositories view, right-click on the project you want to use
(e. g. a certain trunk) and choose Check Out > Check Out As... from
the context menu.

Figure 152: Open “Check Out As” wizard

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 171/220

Ê The Check Out As wizard opens:

Figure 153: Check Out As wizard

Ø Select Check out and import existing code as a netX CDT project
option and specify the directory where you want to store the checked-
out project. Click Finish button.
Ê While the project is checked out, the Import Existing Code dialog
window opens:

Figure 154: Import Existing Code

Ø You can specify a new name for the imported project here, then click
Finish button.
ð The project is imported as netX CDT project and opened in the Project
Explorer of netX Studio CDT.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 172/220

5.9 Using external debugger


Overview
netX Studio CDT supports debugging with external debuggers like Hilscher
NXJTAG-USB, Olimex ARM-USB-TINY H and Amontec JTAGkey.
These debug USB adapters also allow you to flash software to the NXHX
90-JTAG via JTAG and Flasher tool.
If you intend to use one of these external debug USB adapters at the X400
JTAG interface (20 pin) of the NXHX 90-JTAG (instead of using the JTAG-
to-USB on-board debugger), you will need to enable the interface by setting
switch 1 of S701 to ON position. Of course, you will also need to select the
corresponding debugger in the Debug Settings of netX Studio CDT (see
section Adjust debug settings [} page 126]).
The drivers for the Hilscher NXJTAG-USB adapter are already included in
the netX Studio CDT installation; but using the Olimex ARM-USB-TINY H
or the Amontec JTAGkey requires separate driver installation.
You can use a program called Zadig for this, which you can download from
the web page http://zadig.akeo.ie/. Use version 2.3 or higher.

Installing driver for Olimex ARM-USB-TINY H


Ø Connect the debugger to your development PC via USB.
Ø Open Windows Device Manager.
Ê If no driver for the tool has been installed yet, the debugger is displayed
under Other devices (it is displayed with two entries: as interface 0 and
interface 1):

Figure 155: ARM-USB-TINY H in Device Manager without drivers (Windows 7)

Ø Open Zadig.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 173/220

Ê The Olimex debugger is displayed in the drop-down list:

Figure 156: Olimex debugger in Zadig

Note:
If the Olimex debugger is not automatically displayed in the drop-
down list, choose Options > List All Devices from the Menu, then
select the Olimex debugger entry.

Ø Make sure that WinUSB is selected in the field to the right of the green
arrow, then click Install Driver button.
Ø If the Windows security question for device software installation
appears, allow the installation.
Ø Repeat the installation for the second Olimex interface entry.
Ê In the Windows Device Manager, the Olimex debugger should now be
displayed under Universal Serial Bus devices:

Figure 157: ARM-USB-TINY H in Device Manager after driver installation (Windows 7)

ð The debugger should now be ready to use.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 174/220

Installing driver for Amontec JTAGkey


Ø Connect the debugger to your development PC via USB.
Ø Open Windows Device Manager.
Ê If no driver for the tool has been installed yet, the debugger is displayed
under Other devices (it is displayed with two entries, one for interface 0
and one for interface 1):

Figure 158: Amontec JTAGkey in Device Manager without drivers (Windows 7)

Ø Open Zadig.
Ê The Amontec debugger is displayed in the drop-down list:

Figure 159: Amontec JTAGkey in Zadig

Note:
If the Amontec debugger is not automatically displayed in the drop-
down list, choose Options > List All Devices from the Menu, then
select the Amontec debugger entry.

Ø Make sure that WinUSB is selected in the field to the right of the green
arrow, then click Install Driver button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 175/220

Ø If the Windows security question for device software installation


appears, allow the installation.
Ø Repeat the installation for the second Amontec interface entry.
Ê In the Windows Device Manager, the Amontec debugger should now
be displayed under Universal Serial Bus devices:

Figure 160: Amontec JTAGkey in Device Manager after driver installation (Windows 7)

ð The debugger should now be ready to use.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Good to know... 176/220

5.10 Using NXHX-SDRSPM module for additional SDRAM


(optional)
If your communication firmware requires external SDRAM (Firmware Use
Case C) or if your application exceeds the on-chip memory of the netX 90
application CPU, you can use the the NXHX-SDRSPM module for extra
memory (64 Mbit SDRAM memory board with SPM-to-USB FTDI bridge,
Hilscher part number 7703.080).
The module can be connected at the X600 host interface connector of the
NXHX 90-JTAG development board:

Figure 161: Using NXHX-SDRSPM for extra SDRAM

Important:
You must flash a hardware configuration binary containing the
appropriate SDRAM configuration settings if you want to use the
NXHX-SDRSPM module on your NXHX 90-JTAG board.

Note:
Using the SDRAM module occupies (and thus limits the availability
of) most of the I/O pins for the application peripherals accessible by
the host interface.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 177/220

6 Tutorials

6.1 How to use the netX 90 example project

6.1.1 Overview
This tutorial describes the steps that you must perform in order to get the
netX90_PNSV5_simpleConfig example project running.
This example projects features the PROFINET IO Device protocol; however
the steps shown here in principle also apply to the other example projects
provided by Hilscher (i.e. for EtherCAT Slave and EtherNet/IP Adapter, see
section Example projects [} page 33]).
Note that this tutorial focusses on Firmware Use Case A, which means
that it does not require additional SDRAM (i.e. the NXHX-SDRSPM
module).

6.1.2 Prerequisites
· You have downloaded and installed netX Studio CDT as described in
section Installing the netX Studio CDT software [} page 19].
· You have downloaded and opened the netX90_PNSV5_simpleConfig
example project as described in section Using example
projects [} page 33].
· If you want to use the JTAG-to-USB onboard debugger of the NXHX 90-
JTAG board:
You have connected the X1000 USB interface (Mini-B) of the board to
your development PC (see also section Checking JTAG-to-USB
connection in Device Manager [} page 27]) and you have enabled the
connection by setting switch 1 of S701 on the NXHX 90-JTAG board to
OFF position.
· If you want to use an external debugger:
You have connected the X400 JTAG interface of the board to your
development PC via debugger (see also section Using external
debugger [} page 172]) and you have enabled the connection by setting
switch 1 of S701 on the NXHX 90-JTAG board to ON position.
· You have connected the NXHX 90-JTAG development board to a +24 V
power supply.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 178/220

6.1.3 Step-by-step instructions


1. “Build” the example project.
Ø In the main menu of netX Studio CDT, choose Build > Build Solution
(or press Ctrl + B on your keyboard):

Figure 162: Building the example project

Ê The project (respectively the whole “solution”) is being built and the
build output folder is added in the Project Explorer:

Figure 163: Compiled example project

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 179/220

2. Build the Doxygen html documentation.


Ø Select Doxyfile in the Project Explorer and choose Build
Documentation from the context menu.
Ê The documentation is being built. This might take a few seconds. After
finishing, the html folder is added below the Doc folder:

Figure 164: Build html documentation

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 180/220

Ø Double-click the Documentation.html file to open the “start page” of


the documentation:

Figure 165: HTML documentation start page

Ê From this page, you can navigate through the documentation.


3. Generate hardware configuration binary.
Ø Open the HWC folder and select the hardware_config_idpm.xml
file.

Important:
If you are using Revision 3 of the NXHX 90-JTAG board, you must
use the hardware_config_idpm.xml file stored in the
Revision0 folder.

Note:
The hardware_config_idpm.xml file features an activated
internal Dual-Port Memory (idpm) and an enabled application CPU,
and is therefore the right hardware configuration for the example
project demonstrating a “stand alone chip” solution.
This configuration is also compatible with Firmware Use Case A
(without external SDRAM), and is therefore compatible with the pre-
installed Flash Device Label (FDL) on the NXHX 90-JTAG board.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 181/220

Ø On the selected hardware_config_idpm.xml file, open the context


menu and choose the Build Hardware Configuration... command.

Figure 166: Build hardware configuration binary

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 182/220

Ê The build process is immediately started, then the Save As dialog


window opens:

Figure 167: “Save as” dialog for hardware config binary

Ø Keep the preset storage location and the preset file name
(recommended) and click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 183/220

Ê A second Save As dialog window opens, this time for the *.mwc
maintenance hardware configuration binary:

Figure 168: “Save as” dialog for hardware config binary for maintenance firmware

Note:
The *.mwc file is the hardware configuration binary for the
maintenance firmware (which handles firmware updates on the netX
during runtime). However, the maintenance firmware and its
firmware update functionalities are not required for running this
example project, therefore you will not need this *.mwc binary
(though it will be automatically generated anyway).

Ø Keep the preset storage location and the preset file name
(recommended) and click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 184/220

Ê The Save As dialog closes and the two generated binary files are
displayed in the Project Explorer:

Figure 169: Generated hardware configuration binaries

4. Flash hardware configuration binary to the internal flash of the COM CPU
of the device.
Ø In the menu of netX Studio CDT, choose Tools > Flasher or click the
flasher icon.
Ø In the Detect Device window of the Flasher tool, select the
romloader_jtag_netX90_COM@NXHX_90-JTAG interface, then click
Next.

Figure 170: Detect Device window

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 185/220

Ø In the Select Operation window, make sure that the Write task is
selected, then click Browse Project... button:

Figure 171: Select operation in Flasher

Ø In the Select File dialog window, open folder HWC and select the
hardware_config_idpm.hwc file (make sure that you do not
accidentally select the *.mwc file for the maintenance firmware).
Important: If you are using Revision 3 of the NXHX 90-JTAG board,
select the hardware_config_idpm.hwc file stored in the revision0
folder.

Figure 172: Select hardware configuration file

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 186/220

Ø Click OK button.
Ê Back in the Select Operation window, the Flash Parameters are
automatically set to the correct values (i.e. Start Offset = 0x0 and
Flash Type = Internal Flash 01 (COM)).

Figure 173: Flash hardware configuration file

Ø Click Write button to start downloading the file.


Ê The file is being downloaded.
Ø In the Operation Finished dialog, click Yes to keep the Flasher tool
open.

Figure 174: Writing finished

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 187/220

5. Flash the communication firmware file to the internal flash of the COM
CPU.
Ø Click Browse Project... button.
Ø In the Select File dialog window, open folder LFW and select
X090D000.nxi file.

Note:
The X090D000.nxi is the right file for “Firmware Use Case A” and
thus compatible with the pre-installed Flash Device Label (FDL) on
the NXHX 90-JTAG board.
Take care not to accidentally select the X090D001.nxi file,
because that is the file for “Firmware Use Case C”, which requires
external SDRAM and would thus require a different FDL and a
different hardware configuration.

Figure 175: Select firmware file

Ø Click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 188/220

Ê Back in the Select Operation window, the Flash Parameters are


automatically set to the correct values (i.e. Start Offset = 0x3000 and
Flash Type = Internal Flash 01 (COM)).

Figure 176: Flashing firmware file

Ø Click Write button to start downloading the file.


Ê The firmware is being downloaded.
Ø In the Operation Finished dialog, click No to close the flasher tool.
Ê You have downloaded the hardware configuration and the
communication firmware to the COM CPU. You can now proceed to
start debugging.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 189/220

6. Set startup target and start debugging.


Ø In the main menu, choose Debug > Set Startup Target and make sure
that armv7em-none-eabi/4.9.3/netx90_app_iflash is the
selected target:

Figure 177: Set application INTFLASH as startup target

Ø In the main menu, choose Debug > Start Debugging...


Ø In the Debug Settings dialog, choose NXHX-90 as Target board and
NXHX-90 On-Board Debugger from the Debugger drop-down list:

Figure 178: Debug settings dialog

Ø Click Debug button.


Ê The auto flasher prompt offers to flash the elf to the internal flash of the
application CPU:

Figure 179: Auto flasher prompt

Ø Click Yes button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 190/220

Ê The application elf is flashed and launched. The GUI of netX Studio
CDT switches into its debug perspective:

Figure 180: Debug perspective

7. Use Peripherals View for register inspection.


Ø In the main menu, choose Window > Show View > Peripherals.
Ê The Peripherals View opens.
Ø In the Peripherals View, open mmio_ctrl > mmio_ctrl folder and
double-click mmio1_cfg register.
Ê The icons of the selected register and its subordinate bit fields turn
green, indicating that they are now enabled for read and write access.
However, to display the current values of the register in the Hex and
Bin fields, the application needs to be halted.
Ø Halt the application by choosing Debug > Suspend from the main
menu (or click icon).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 191/220

Ê The editor window in the middle shows the source code line executed at
the time of suspension (marked by a little green arrow), and the
Peripherals view shows the current values of the enabled register (and
its subordinate fields) in the Hex and Bin columns:

Figure 181: Halted application with peripheral register’s values

8. Use the Cores view to verify that the COM CPU is running while the APP
CPU has been halted.
Ø In the main menu, choose Window > Show View > Cores.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 192/220

Ê The Cores view opens, showing the netx90.comm core (i.e. the netX
90 COM CPU) in status running, the netX90.app core (i.e. the netX 90
APP CPU) is in status halted:

Figure 182: Running COM CPU in Cores view

Ø In the main menu, choose Debug > Resume or click icon.


Ê The application is resumed.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 193/220

9. Set breakpoint.
Ø In the Project Explorer, open folder Components >
cifXApplicationDemo > Sources, then double-click
App_DemoApplication.c source code file.
Ø In the App_DemoApplication.c file, scroll down to the
/** check and process incoming packets */ command
block.

Figure 183: Position for breakpoint

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 194/220

Ø Abreast the lRet = Protocol_PacketHandler(&tAppData);


code line, right click on the marker bar (left blue margin of the editor
window) to open the context menu:

Figure 184: Add breakpoint

Ø In the context menu, select Toggle Hardware Breakpoint.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 195/220

Ê You have set a breakpoint (indicated by a green dot in the blue marker
bar). The execution of the application will be automatically suspended
when it reaches this code line (indicated by a green arrow in the blue
marker bar):

Figure 185: Added breakpoint

ð netX Studio CDT allows you to add expressions to display the values of
selected variables and to perform single-step execution of code lines.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 196/220

6.2 How to change from Firmware Use Case A to Use Case C

6.2.1 Overview
Overview
This chapter describes the steps that you must perform in order to change
from Firmware Use Case A to Firmware Use Case C.
This is necessary if the communication firmware requires an SQI Flash with
an HCC file system and external SDRAM (shared with APP side).

6.2.2 Prerequisites
· You have downloaded and opened the netX90_PNSV5_simpleConfig
example project as described in section Using example
projects [} page 33].
· You have connected the X1000 USB interface (Mini-B) of the NXHX 90-
JTAG board to your development PC (see also section Checking JTAG-
to-USB connection in Device Manager [} page 27]) and you have
enabled the connection by setting switch 1 of S701 on the NXHX 90-
JTAG board to OFF position.
· You have connected the NXHX 90-JTAG development board to a +24 V
power supply.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 197/220

6.2.3 Step-by-step instructions


Save the pre-installed Flash Device Label from NXHX 90-JTAG board
to your PC

Note:
All NXHX 90-JTAG boards are shipped with a pre-installed Flash
Device Label (FDL) containing the Flash Layout definitions for Use
Case A. This FDL must to be replaced with an FDL containing the
Flash Layout definitions for Use Case C.
However, because this pre-installed FDL for Use Case A also
contains device-specific IDs like MAC addresses and serial number,
it should first be saved to your development PC before overwriting
it, so that you can copy these IDs into the “new” FDL for Use Case
C.

1. Open Flasher tool and select the interface of the NXHX 90-JTAG board.
Ø In the menu of netX Studio CDT, choose Tools > Flasher or click the
flasher icon.
Ø In the Detect Device window of the Flasher tool, select the
romloader_jtag_netX90_COM@NXHX_90-JTAG interface, then click
Next.

Figure 186: Detect Device window

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 198/220

Ø In the Tasks area of the Select Operation window, select Read task:

Figure 187: Read from flash

2. Define output directory


Ø If you want to store the FDL in your currently opened netX Studio CDT
project (recommended), click Browse Project... button (If you want to
store it in a different directory on your PC, click Browse... button to
open the “standard” Save as... dialog of Windows).
Ê The Save As dialog opens:

Figure 188: “Save as” dialog of Flasher tool

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 199/220

Ø Select the folder in which you want to store the output file, e.g. the FDL
folder. In the File name field, enter a name for the output file (into which
the output data shall be “dumped”), e.g. old_label.fdl

Note:
Use the *.fdl file extension, otherwise the Flash Device Label
Editor of netX Studio CDT will not be able to open the file.

Ø Click OK button to close the Save as dialog window.


Ê The Save as dialog window closes and the Flasher now shows the
output path in the Output File field:

Figure 189: Selected output directory

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 200/220

3. Define the flash area that you want to read.


Ø In the Flash Parameters area, uncheck the Whole memory option to
make the Offset fields editable:

Figure 190: Parameters of FDL in the internal flash

Ø In the Start Offset field, enter value 0x2000 (the FDL is always stored
at this position in INTFLASH0 respectively 01).
Ø In the Size field, enter value 0x1000 (the FDL is always 4 KByte in
size).
Ê The End Offset field is automatically adapted according to the Start
Offset and Size values that you have just entered.
Ø In the Flash Type drop-down list, select Internal Flash 0 (COM) or
Internal Flash 01 (COM) entry.
4. Start “Read” operation.
Ø Click Read button to start copying the FDL to your output file.
Ê The Flasher tool reads the specified area in flash memory and writes
the data to the specified output directory on your PC. After the operation
has been completed, the following dialog window appears:

Figure 191: Reading finished

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 201/220

Ø Click No to close the Flasher tool.


ð You have “saved” the pre-installed FDL (for Use Case A) from the
internal flash of the netX 90 to your development PC. You can now
proceed to “copy and paste” the device IDs and MAC addresses from
this “original” FDL into the FDL template for Use Case C.

Copy MAC addresses and device IDs to “new” FDL


5. Open “original” FDL (for Use Case A) in editor.
Ø In the Project Explorer of netX Studio CDT, navigate to the directory
where you have stored the output file of the “Read” operation, then
double-click the file (in this example, it is called old.label.fdl).

Note:
If you have stored the output file not in your opened project, but
somewhere else in your file system, use File > Open File...
command from the main menu of netX Studio CDT.

Ê The FDL is opened in the Flash Device Label Editor:

Figure 192: Opened original (“old”) label for Use Case A

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 202/220

6. Open FDL template for Use Case C in editor.


Ø In the FDL folder, double-click the file FDL_NXHX90-
JTAG_7833000r3_20000_ProductionTemplate_UseCaseC.fdl

Note:
As an alternative, you can create a new FDL for Use Case C by
using the New Flash Device Label wizard. If you select Firmware
Use Case C option in the wizard, it will automatically add the
appropriate flash layout definitions for Use Case C.

Ê The FDL template is opened in the Flash Device Label Editor:

Figure 193: Opened FDL template for Use Case C

7. Adapt data in FDL template.


Ø In the Basic Device Data area, copy the Serial Number from the
“original” FDL to the FDL template. Set also the Production Date
according to the original value.
Ø In the Device Class drop-down list, select
CHIP_NETX_90_COM_HIFSDR entry.
Ø In the MAC Addresses area, copy the addresses from the “original”
FDL to the FDL template.
Ø Save the changes in the FDL template by choosing File > Save from
the main menu (or press Ctrl + S on your keyboard).
ð You have copied the MAC addresses, serial number and production
date from the “original” FDL to the FDL template, and thus customized a
“new” FDL for Use Case C, which you can flash (download) to the netX.
However, before you open the Flasher tool again, you should first build
a hardware configuration binary that is compatible with Use Case C (i.e.
with SDRAM).

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 203/220

Generate Hardware Configuration binary for Use Case C

Note:
The hardware_config_idpm_sdram.xml file is configured for
SDRAM and is therefore compatible with Firmware Use Case C.

Ø In the Project Explorer of netX Studio CDT, open the HWC folder and
select the hardware_config_idpm_sdram.xml file.

Important:
If you are using Revision 3 of the NXHX 90-JTAG board, you must
use the hardware_config_idpm_sdram.xml file stored in the
Revsion0 folder.

Ø On the selected hardware_config_idpm_sdram.xml file, open the


context menu and choose the Build Hardware Configuration...
command.

Figure 194: Build hardware configuration binary for SDRAM

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 204/220

Ê The build process is immediately started, then the Save As dialog


window opens:

Figure 195: “Save as” dialog for hardware config binary

Ø Keep the preset storage location and the preset file name
(recommended) and click OK button.
Ê A second Save As dialog window opens, this time for the *.mwc
maintenance hardware configuration binary.
Ø Keep the preset storage location and the preset file name
(recommended) and click OK button.
ð The Save As dialog closes and the two generated binary files are
stored in the specified directory. You can now proceed to open the
Flasher tool to download the binaries for Use Case C to the NXHX 90-
JTAG board.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 205/220

Flashing FDL, Hardware Configuration, COM firmware and dummy file


for Use Case C to NXHX 90-JTAG board
8. Open Flasher tool and select the interface of the NXHX 90-JTAG board.
Ø In the menu of netX Studio CDT, choose Tools > Flasher or click the
flasher icon.
Ø In the Detect Device window of the Flasher tool, select the
romloader_jtag_netX90_COM@NXHX_90-JTAG interface, then click
Next.

Figure 196: Detect Device window

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 206/220

9. Select FDL to download.


Ø In the Select Operation window, make sure that the Write task is
selected, then click Browse Project... button:

Figure 197: Select operation in Flasher

Ø In the Select File dialog window, open FDL folder and select the
customized FDL template for Use Case C.

Figure 198: Select FDL for Use Case C

Ø Click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 207/220

Ê Back in the Select Operation window, the Flash Parameters are


automatically set to the correct values (i.e. Start Offset = 0x2000 and
Flash Type = Internal Flash 01 (COM)).

Figure 199: Flashing new FDL

Ø Click Write button to start downloading the file.


Ê The file is being downloaded.
Ø In the Operation Finished dialog, click Yes to keep the Flasher tool
open.

Figure 200: Writing finished

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 208/220

10. Flash the hardware configuration binary to the internal flash of the COM
CPU.
Ø Click Browse Project... button.
Ø In the Select File dialog window, open folder HWC and select the
hardware_config_idpm_sdram.hwc file (make sure that you do not
accidentally select the *.mwc file for maintenance firmware).
Important: If you are using Revision 3 of the NXHX 90-JTAG board,
select the hardware_config_idpm_sdram.hwc file stored in the
revision0 folder.

Figure 201: Select hardware configuration file

Ø Click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 209/220

Ê Back in the Select Operation window, the Flash Parameters are


automatically set to the correct values (i.e. Start Offset = 0x0 and
Flash Type = Internal Flash 01 (COM)):

Figure 202: Flashing new hardware configuration binary

Ø Click Write button to start downloading the file.


Ê The file is being downloaded.
Ø In the Operation Finished dialog, click Yes to keep the Flasher tool
open.
11. Flash the communication firmware file to the internal flash of the COM
CPU.
Ø Click Browse Project... button.
Ø In the Select File dialog window, open folder LFW and select
X090D001.nxi file.

Note:
The X090D001.nxi is the right file for “Firmware Use Case C” and
is thus compatible with the Flash Device Label (FDL) and the
hardware configuration that you have just flashed to the NXHX 90-
JTAG board.
Take care not to accidentally select the X090D000.nxi file,
because that is the file for “Firmware Use Case A”.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 210/220

Figure 203: Select communication firmware for Use Case C

Ø Click OK button.
Ê Back in the Select Operation window, the Flash Parameters are
automatically set to the correct values (i.e. Start Offset = 0x3000 and
Flash Type = Internal Flash 01 (COM)).

Figure 204: Flashing firmware file

Ø Click Write button to start downloading the file.


Ê The firmware is being downloaded.
Ø In the Operation Finished dialog, click Yes to keep the Flasher tool
open.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 211/220

12. Flash dummy file to the internal flash of the APP CPU.

Note:
The netx90_app_iflash_dummy.nai file enables debugging of
application code in SDRAM.

Ø Click Browse Project... button.


Ø In the Select File dialog window, select
netx90_app_iflash_dummy.nai file.

Figure 205: Select dummy file

Ø Click OK button.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Tutorials 212/220

Ê Back in the Select Operation window, the Flash Parameters are


automatically set to the correct values (i.e. Start Offset = 0x0 and
Flash Type = Internal Flash 02 (APP)).

Figure 206: Flashing dummy file

Ø Click Write button to start downloading the file.


Ê The dummy file is being downloaded.
Ø In the Operation Finished dialog, click No to close the flasher tool.
ð You have flashed all necessary software files for Firmware Use Case C.
You can now proceed to start debugging.

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of figures 213/220

List of figures
Figure 1: Connecting NXHX 90-JTAG development board ................................................. 17
Figure 2: Setup Wizard start screen .................................................................................... 20
Figure 3: End-User License Agreement screen................................................................... 20
Figure 4: Installation path dialog window............................................................................. 21
Figure 5: Ready to install window ........................................................................................ 21
Figure 6: Windows security question for driver installation.................................................. 21
Figure 7: Setup completed window...................................................................................... 22
Figure 8: netX Studio CDT start screen with Install Development Tools wizard dialog
window.................................................................................................................. 23
Figure 9: License agreement dialog window ....................................................................... 24
Figure 10: Development tools installation complete message............................................... 24
Figure 11: Install Development Tools wizard......................................................................... 25
Figure 12: Connection refused message............................................................................... 26
Figure 13: NXHX 90-JTAG connections in Device Manager under Windows 7 .................... 28
Figure 14: Open Device Manager in Windows 10 ................................................................. 29
Figure 15: NXHX 90-JTAG connections in Device Manager under Windows 10 .................. 30
Figure 16: Welcome screen................................................................................................... 31
Figure 17: Open example project .......................................................................................... 35
Figure 18: netX 90 example project....................................................................................... 36
Figure 19: Resources of the PROFINET example project..................................................... 37
Figure 20: Components folder in Project Explorer................................................................. 38
Figure 21: Documentation folder ........................................................................................... 40
Figure 22: Flash Device Label folder ..................................................................................... 41
Figure 23: Hardware configuration folder .............................................................................. 43
Figure 24: Loadable Firmware folder..................................................................................... 44
Figure 25: Maintenance firmware folder ................................................................................ 45
Figure 26: Targets folder ....................................................................................................... 46
Figure 27: Files in root directory ............................................................................................ 47
Figure 28: New netX CDT Project wizard .............................................................................. 49
Figure 29: New netX 90 project ............................................................................................. 50
Figure 30: Resources of netX 90 project template ................................................................ 51
Figure 31: Components folder in Project Explorer................................................................. 51
Figure 32: Documentation folder ........................................................................................... 52
Figure 33: Targets folder ....................................................................................................... 53
Figure 34: Files in root folder ................................................................................................. 53
Figure 35: Build output folder................................................................................................. 55
Figure 36: Opening New Component wizard......................................................................... 56
Figure 37: New Component wizard ....................................................................................... 57
Figure 38: Copying Component ID ........................................................................................ 57
Figure 39: Added component ................................................................................................ 58

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of figures 214/220

Figure 40: Change platform parameter in wscript.................................................................. 59


Figure 41: Edit component header ........................................................................................ 60
Figure 42: Edit component source file ................................................................................... 61
Figure 43: wscript file in target............................................................................................... 62
Figure 44: Adding Component ID to Waf script ..................................................................... 63
Figure 45: Editing main.c file of target code .......................................................................... 64
Figure 46: Waf script of application component..................................................................... 65
Figure 47: Waf script of MyComponent in editor ................................................................... 66
Figure 48: MyComponent.c file.............................................................................................. 67
Figure 49: Opened MyComponent.c file in editor .................................................................. 68
Figure 50: Check component ID ........................................................................................... 69
Figure 51: Example of a set of hardware configuration files.................................................. 70
Figure 52: Open New Hardware Configuration wizard .......................................................... 73
Figure 53: Select chip type .................................................................................................... 73
Figure 54: New Hardware Configuration wizard .................................................................... 74
Figure 55: Select template..................................................................................................... 75
Figure 56: Open hardware configuration editor ..................................................................... 77
Figure 57: GUI of the hardware configuration editor.............................................................. 78
Figure 58: Assigning an option .............................................................................................. 80
Figure 59: Assignment conflict............................................................................................... 81
Figure 60: Remove options.................................................................................................... 82
Figure 61: Properties dialog for IO-Link................................................................................. 83
Figure 62: SDRAM16 properties dialog ................................................................................. 84
Figure 63: Add MMIO option.................................................................................................. 85
Figure 64: Configured and unconfigured MMIO pins............................................................. 85
Figure 65: Assign signal to MMIO pin.................................................................................... 86
Figure 66: Remove signal from MMIO pin ............................................................................. 86
Figure 67: General Configuration dialog................................................................................ 87
Figure 68: Generating hardware config data ......................................................................... 91
Figure 69: “Save as” dialog for hardware config binary ......................................................... 92
Figure 70: “Save as” dialog for hardware config binary for maintenance firmware ............... 93
Figure 71: New hardware data binary files in Project Explorer.............................................. 93
Figure 72: Open New Flash Device Label wizard.................................................................. 96
Figure 73: New FDL wizard ................................................................................................... 96
Figure 74: Select storage location in “Save As” dialog .......................................................... 97
Figure 75: Storage location of new FDL ................................................................................ 98
Figure 76: New FDL in editor................................................................................................. 98
Figure 77: Basic Device Data in FDL..................................................................................... 100
Figure 78: MAC addresses netX 90 in FDL ........................................................................... 102
Figure 79: USB ID data.......................................................................................................... 103
Figure 80: OEM identification ................................................................................................ 104

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of figures 215/220

Figure 81: Flash Layout of use case A .................................................................................. 105


Figure 82: Tag list of communication firmware in Tag List Editor .......................................... 110
Figure 83: Device header ...................................................................................................... 111
Figure 84: Detect Device window .......................................................................................... 115
Figure 85: Select operation in Flasher................................................................................... 116
Figure 86: Select file ............................................................................................................. 117
Figure 87: Flasher with selected input file ............................................................................. 118
Figure 88: Writing in progress................................................................................................ 119
Figure 89: Writing finished ..................................................................................................... 119
Figure 90: Read from flash .................................................................................................... 120
Figure 91: “Save as” dialog window....................................................................................... 121
Figure 92: Reading from flash ............................................................................................... 122
Figure 93: Reading finished................................................................................................... 122
Figure 94: Erase window of the Flasher tool ......................................................................... 123
Figure 95: Manually defined erase area ................................................................................ 124
Figure 96: Erasing in progress............................................................................................... 125
Figure 97: Erasing finished .................................................................................................... 125
Figure 98: Debug target settings ........................................................................................... 126
Figure 99: Vector table .......................................................................................................... 129
Figure 100: GDB Console in Debug View of netX Studio CDT ............................................... 130
Figure 101: GDB Commands .................................................................................................. 130
Figure 102: GDB Command in Console .................................................................................. 131
Figure 103: Setting Startup Target .......................................................................................... 132
Figure 104: Open Peripherals View......................................................................................... 133
Figure 105: Peripherals View................................................................................................... 134
Figure 106: Details of peripheral registers............................................................................... 135
Figure 107: Writing new hex value in pio_out field of MMIO register ...................................... 135
Figure 108: Setting binary in pio_out field of MMIO register.................................................... 136
Figure 109: Auto flasher prompt .............................................................................................. 137
Figure 110: Build Targets View................................................................................................ 139
Figure 111: Duplicated target .................................................................................................. 140
Figure 112: Edit Build Target dialog ........................................................................................ 140
Figure 113: Create Custom Target .......................................................................................... 141
Figure 114: Create Build Target dialog window....................................................................... 141
Figure 115: Open cores view................................................................................................... 142
Figure 116: Cores view............................................................................................................ 143
Figure 117: CPU states in Cores view..................................................................................... 144
Figure 118: wscript file opened in PyDev Editor ...................................................................... 145
Figure 119: Run Python........................................................................................................... 146
Figure 120: PyDev in Preferences sheet ................................................................................. 147
Figure 121: Formatter dialog ................................................................................................... 148

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of figures 216/220

Figure 122: Install Development Tools wizard......................................................................... 149


Figure 123: The New Doxygen Configuration wizard .............................................................. 151
Figure 124: New Doxyfile in Project Explorer .......................................................................... 152
Figure 125: Basic settings tab of Doxyfile................................................................................ 153
Figure 126: Value Edition dialog window................................................................................. 153
Figure 127: Advanced settings tab of Doxyfile ........................................................................ 154
Figure 128: Start Doxygen build .............................................................................................. 156
Figure 129: HTML documentation output ................................................................................ 157
Figure 130: HTML documentation start page .......................................................................... 158
Figure 131: SVN Connector installation prompt ...................................................................... 159
Figure 132: Install Connectors dialog window ......................................................................... 160
Figure 133: Install window ....................................................................................................... 160
Figure 134: Install Details window ........................................................................................... 161
Figure 135: Review Licenses window...................................................................................... 161
Figure 136: Security Warning .................................................................................................. 162
Figure 137: Allow restart of netX Studio CDT.......................................................................... 162
Figure 138: Open SVN Repositories view ............................................................................... 163
Figure 139: SVN Repositories View in netX Studio workbench............................................... 163
Figure 140: Open New repository............................................................................................ 164
Figure 141: New Repository Location wizard .......................................................................... 165
Figure 142: Added repository .................................................................................................. 166
Figure 143: Create Local repository ........................................................................................ 166
Figure 144: Create Repository dialog window ......................................................................... 166
Figure 145: Created repository ................................................................................................ 167
Figure 146: Open Share Project Wizard.................................................................................. 167
Figure 147: Share Project Wizard............................................................................................ 168
Figure 148: Commit dialog window.......................................................................................... 168
Figure 149: Project added to repository................................................................................... 169
Figure 150: Quick check out .................................................................................................... 169
Figure 151: Checkout Location dialog window ........................................................................ 170
Figure 152: Open “Check Out As” wizard................................................................................ 170
Figure 153: Check Out As wizard ............................................................................................ 171
Figure 154: Import Existing Code ............................................................................................ 171
Figure 155: ARM-USB-TINY H in Device Manager without drivers (Windows 7).................... 172
Figure 156: Olimex debugger in Zadig .................................................................................... 173
Figure 157: ARM-USB-TINY H in Device Manager after driver installation (Windows 7)........ 173
Figure 158: Amontec JTAGkey in Device Manager without drivers (Windows 7) ................... 174
Figure 159: Amontec JTAGkey in Zadig.................................................................................. 174
Figure 160: Amontec JTAGkey in Device Manager after driver installation (Windows 7) ....... 175
Figure 161: Using NXHX-SDRSPM for extra SDRAM............................................................. 176
Figure 162: Building the example project ................................................................................ 178

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of figures 217/220

Figure 163: Compiled example project .................................................................................... 178


Figure 164: Build html documentation ..................................................................................... 179
Figure 165: HTML documentation start page .......................................................................... 180
Figure 166: Build hardware configuration binary ..................................................................... 181
Figure 167: “Save as” dialog for hardware config binary ......................................................... 182
Figure 168: “Save as” dialog for hardware config binary for maintenance firmware ............... 183
Figure 169: Generated hardware configuration binaries ......................................................... 184
Figure 170: Detect Device window .......................................................................................... 184
Figure 171: Select operation in Flasher................................................................................... 185
Figure 172: Select hardware configuration file ........................................................................ 185
Figure 173: Flash hardware configuration file.......................................................................... 186
Figure 174: Writing finished ..................................................................................................... 186
Figure 175: Select firmware file ............................................................................................... 187
Figure 176: Flashing firmware file............................................................................................ 188
Figure 177: Set application INTFLASH as startup target......................................................... 189
Figure 178: Debug settings dialog ........................................................................................... 189
Figure 179: Auto flasher prompt .............................................................................................. 189
Figure 180: Debug perspective................................................................................................ 190
Figure 181: Halted application with peripheral register’s values.............................................. 191
Figure 182: Running COM CPU in Cores view........................................................................ 192
Figure 183: Position for breakpoint.......................................................................................... 193
Figure 184: Add breakpoint ..................................................................................................... 194
Figure 185: Added breakpoint ................................................................................................. 195
Figure 186: Detect Device window .......................................................................................... 197
Figure 187: Read from flash .................................................................................................... 198
Figure 188: “Save as” dialog of Flasher tool............................................................................ 198
Figure 189: Selected output directory...................................................................................... 199
Figure 190: Parameters of FDL in the internal flash ................................................................ 200
Figure 191: Reading finished................................................................................................... 200
Figure 192: Opened original (“old”) label for Use Case A........................................................ 201
Figure 193: Opened FDL template for Use Case C................................................................. 202
Figure 194: Build hardware configuration binary for SDRAM .................................................. 203
Figure 195: “Save as” dialog for hardware config binary ......................................................... 204
Figure 196: Detect Device window .......................................................................................... 205
Figure 197: Select operation in Flasher................................................................................... 206
Figure 198: Select FDL for Use Case C .................................................................................. 206
Figure 199: Flashing new FDL................................................................................................. 207
Figure 200: Writing finished ..................................................................................................... 207
Figure 201: Select hardware configuration file ........................................................................ 208
Figure 202: Flashing new hardware configuration binary ........................................................ 209
Figure 203: Select communication firmware for Use Case C .................................................. 210

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of figures 218/220

Figure 204: Flashing firmware file............................................................................................ 210


Figure 205: Select dummy file ................................................................................................. 211
Figure 206: Flashing dummy file.............................................................................................. 212

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
List of tables 219/220

List of tables
Table 1: List of revisions ....................................................................................................... 5
Table 2: Additional documentation ....................................................................................... 8
Table 3: General configuration parameters .......................................................................... 88
Table 4: Basic Device Data .................................................................................................. 101
Table 5: OEM identification data........................................................................................... 104
Table 6: Flash Layout: Chips ................................................................................................ 106
Table 7: Flash Layout: Areas................................................................................................ 107
Table 8: Parameters Device Header .................................................................................... 112

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public
Contacts 220/220

Contacts

HEADQUARTERS
Germany
Hilscher Gesellschaft für
Systemautomation mbH
Rheinstrasse 15
65795 Hattersheim
Phone: +49 (0) 6190 9907-0
Fax: +49 (0) 6190 9907-50
E-mail: [email protected]
Support
Phone: +49 (0) 6190 9907-99
E-mail: [email protected]

SUBSIDIARIES
China Japan
Hilscher Systemautomation (Shanghai) Co. Ltd. Hilscher Japan KK
200010 Shanghai Tokyo, 160-0022
Phone: +86 (0) 21-6355-5161 Phone: +81 (0) 3-5362-0521
E-mail: [email protected] E-mail: [email protected]
Support Support
Phone: +86 (0) 21-6355-5161 Phone: +81 (0) 3-5362-0521
E-mail: [email protected] E-mail: [email protected]

France Korea
Hilscher France S.a.r.l. Hilscher Korea Inc.
69500 Bron Seongnam, Gyeonggi, 463-400
Phone: +33 (0) 4 72 37 98 40 Phone: +82 (0) 31-789-3715
E-mail: [email protected] E-mail: [email protected]
Support
Phone: +33 (0) 4 72 37 98 40 Switzerland
E-mail: [email protected] Hilscher Swiss GmbH
4500 Solothurn
Phone: +41 (0) 32 623 6633
India
E-mail: [email protected]
Hilscher India Pvt. Ltd.
Pune, Delhi, Mumbai Support
Phone: +91 8888 750 777 Phone: +49 (0) 6190 9907-99
E-mail: [email protected] E-mail: [email protected]

Italy USA
Hilscher Italia S.r.l. Hilscher North America, Inc.
20090 Vimodrone (MI) Lisle, IL 60532
Phone: +39 02 25007068 Phone: +1 630-505-5301
E-mail: [email protected] E-mail: [email protected]
Support Support
Phone: +39 02 25007068 Phone: +1 630-505-5301
E-mail: [email protected] E-mail: [email protected]

netX Studio CDT | netX 90 development © Hilscher 2019


DOC170504GS08EN | Revision 8 | English | 2019-05 | Released | Public

You might also like