hilscher netX 90 Production Manual

Production guide
netX 90
Hilscher Gesellschaft für Systemautomation mbH
www.hilscher.com
DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
Table of contents 2/70

Table of contents

1 Introduction .............................................................................................................................. 3
1.1.1 Description of the contents ............................................................................... 3
1.1.2 List of revisions ................................................................................................. 3
2 Software architecture .............................................................................................................. 9
2.2 Flash layout....................................................................................................................11
2.2.1 Overview ......................................................................................................... 11
2.2.2 Firmware use cases........................................................................................13
2.3 Files................................................................................................................................20
2.3.1 Overview ......................................................................................................... 20
2.3.2 Hardware configuration file (*.hwc) ................................................................. 21
2.3.3 Flash Device Label (*.fdl)................................................................................23
2.3.4 Communication firmware (*.nxi)......................................................................33
2.3.5 Application firmware (*.nai) ............................................................................. 35
2.3.6 Maintenance firmware (*.mxf) ......................................................................... 36
2.3.7 Hardware configuration file for maintenance firmware (*.mwc) ...................... 39
2.4 Boot process ..................................................................................................................42
2.4.1 Overview ......................................................................................................... 42
2.4.2 Console mode.................................................................................................45
2.4.3 Alternative boot mode ..................................................................................... 46
3 End-of-line programming ...................................................................................................... 47
3.1 Programming interface options ......................................................................................47
3.1.1 Overview ......................................................................................................... 47
3.1.2 Using console mode and serial/UART interface ............................................. 48
3.1.3 Using console mode and “standard” Ethernet ................................................ 49
3.1.4 Using console mode and integrated web server.............................................50
3.1.5 Using debug interface (JTAG/SWD) ............................................................... 54
3.1.6 Using console mode and host interface..........................................................55
3.2 How to use the Command line flasher ........................................................................... 57
4 End-of-line testing ................................................................................................................. 67
List of figures ......................................................................................................................... 68
List of Tables..........................................................................................................................69
Contacts.................................................................................................................................. 70
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Introduction 3/70

1 Introduction

1.1 About this document

1.1.1 Description of the contents

This production guide describes the software architecture of the netX 90 SoC and explains how to program necessary software components into your device during end-of-line production.

1.1.2 List of revisions

Index Date Author Revision
1 2019-04-04 MKE Preliminary version created
2 2019-04-26 MKE
3 2019-07-12 MKE Document revised and released
Table1: List of revisions
Section Files [}page20] revised Section Flash layout [}page11] revised Section Programming interface options [}page47] revised Section How to use the Command line flasher [}page57] revised

1.2 Further relevant documentation

Besides this production guide, the following documents are also relevant to the OEM manufacturer of netX 90-based devices:
Title Contents Document ID
Getting started: netX Studio CDT – netX 90 development
netX 90 – Technical data reference guide Describes netX 90 chip functions DOC160609TRGxxEN
netX 90 – Design-In Guide Describes the standard circuitry around the netX
Table2: Additional documentation
Getting started guide for netX 90 SoC development with netX Studio CDT (for software developers)
interfaces (for hardware developers)
DOC170504GSxxEN
DOC180501DGxxEN
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Introduction 4/70

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 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Introduction 5/70
Liability disclaimer
The hardware and/or software was created and tested by Hilscher Gesellschaft für Systemautomation mbH with utmost care and is made available as is. No warranty can be assumed for the performance or flawlessness of the hardware and/or software under all application conditions and scenarios and the work results achieved by the user when using the hardware and/or software. Liability for any damage that may have occurred as a result of using the hardware and/or software or the corresponding documents shall be limited to an event involving willful intent or a grossly negligent violation of a fundamental contractual obligation. However, the right to assert damages due to a violation of a fundamental contractual obligation shall be limited to contract-typical foreseeable damage.
It is hereby expressly agreed upon in particular that any use or utilization of the hardware and/or software in connection with
· Flight control systems in aviation and aerospace;
· Nuclear fusion processes in nuclear power plants;
· Medical devices used for life support and
· Vehicle control systems used in passenger transport
shall be excluded. Use of the hardware and/or software in any of the following areas is strictly prohibited:
· For military purposes or in weaponry;
· For designing, engineering, maintaining or operating nuclear systems;
· In flight safety systems, aviation and flight telecommunications systems;
· In life-support systems;
· In systems in which any malfunction in the hardware and/or software
may result in physical injuries or fatalities.
You are hereby made aware that the hardware and/or software was not created for use in hazardous environments, which require fail-safe control mechanisms. Use of the hardware and/or software in this kind of environment shall be at your own risk; any liability for damage or loss due to impermissible use shall be excluded.
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Introduction 6/70
Warranty
Hilscher Gesellschaft für Systemautomation mbH hereby guarantees that the software shall run without errors in accordance with the requirements listed in the specifications and that there were no defects on the date of acceptance. The warranty period shall be 12 months commencing as of the date of acceptance or purchase (with express declaration or implied, by customer's conclusive behavior, e.g. putting into operation permanently).
The warranty obligation for equipment (hardware) we produce is 36 months, calculated as of the date of delivery ex works. The aforementioned provisions shall not apply if longer warranty periods are mandatory by law pursuant to Section 438 (1.2) BGB, Section 479 (1) BGB and Section 634a (1) BGB [Bürgerliches Gesetzbuch; German Civil Code] If, despite of all due care taken, the delivered product should have a defect, which already existed at the time of the transfer of risk, it shall be at our discretion to either repair the product or to deliver a replacement product, subject to timely notification of defect.
The warranty obligation shall not apply if the notification of defect is not asserted promptly, if the purchaser or third party has tampered with the products, if the defect is the result of natural wear, was caused by unfavorable operating conditions or is due to violations against our operating regulations or against rules of good electrical engineering practice, or if our request to return the defective object is not promptly complied with.
Costs of support, maintenance, customization and product care
Please be advised that any subsequent improvement shall only be free of charge if a defect is found. Any form of technical support, maintenance and customization is not a warranty service, but instead shall be charged extra.
Additional guarantees
Although the hardware and software was developed and tested in-depth with greatest care, Hilscher Gesellschaft für Systemautomation mbH shall not assume any guarantee for the suitability thereof for any purpose that was not confirmed in writing. No guarantee can be granted whereby the hardware and software satisfies your requirements, or the use of the hardware and/or software is uninterruptable or the hardware and/or software is fault-free.
It cannot be guaranteed that patents and/or ownership privileges have not been infringed upon or violated or that the products are free from third-party influence. No additional guarantees or promises shall be made as to whether the product is market current, free from deficiency in title, or can be integrated or is usable for specific purposes, unless such guarantees or promises are required under existing law and cannot be restricted.
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Introduction 7/70
Confidentiality
The customer hereby expressly acknowledges that this document contains trade secrets, information protected by copyright and other patent and ownership privileges as well as any related rights of Hilscher Gesellschaft für Systemautomation mbH. The customer agrees to treat as confidential all of the information made available to customer by Hilscher Gesellschaft für Systemautomation mbH and rights, which were disclosed by Hilscher Gesellschaft für Systemautomation mbH and that were made accessible as well as the terms and conditions of this agreement itself.
The parties hereby agree to one another that the information that each party receives from the other party respectively is and shall remain the intellectual property of said other party, unless provided for otherwise in a contractual agreement.
The customer must not allow any third party to become knowledgeable of this expertise and shall only provide knowledge thereof to authorized users as appropriate and necessary. Companies associated with the customer shall not be deemed third parties. The customer must obligate authorized users to confidentiality. The customer should only use the confidential information in connection with the performances specified in this agreement.
The customer must not use this confidential information to his own advantage or for his own purposes or rather to the advantage or for the purpose of a third party, nor must it be used for commercial purposes and this confidential information must only be used to the extent provided for in this agreement or otherwise to the extent as expressly authorized by the disclosing party in written form. The customer has the right, subject to the obligation to confidentiality, to disclose the terms and conditions of this agreement directly to his legal and financial consultants as would be required for the customer's normal business operation.
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.
Terms and conditions
Please read the notes about additional legal aspects on our netIOT web site under http://www.netiot.com/netiot/netiot-edge/terms-and-
conditions/.
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Introduction 8/70

1.4 Abbreviations

Abbreviation Meaning
APP CPU Application CPU on the netX 90 handling the customer’s application.
APP FW Application firmware
COM FW Communication firmware
COM CPU Communication CPU on the netX 90 handling communication
(protocol stack) and basic management tasks of the SoC.
DPM Parallel Dual-Port Memory of the netX 90 (host interface)
FDL Flash Device Label
HW config Hardware configuration file
ROM code Hard-coded software residing in the Read-only memory of the netX.
Handles the netX 90 boot process and “loads” firmware into RAM (if not executed in flash). Cannot be changed.
SPM Serial Dual-Port Memory of the netX 90 (host interface)
Table3: Abbreviations
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 9/70

2 Software architecture

2.1 Basics

Key feature of the netX 90 SoC is the logical separation of communication tasks (i.e. industrial Ethernet protocol processing) and application tasks (i.e. IO data/application processing), which are handled by two separate ARM Cortex-M4 CPUs, i.e. the “COM CPU” and the “APP CPU”.
Figure1: netX 90 architecture
Hilscher offers a range of pre-certified software protocol stacks for industrial communication tasks as pre-built and ready-to-use firmware.
Note that there are three different firmware use cases:
A: Small footprint slave device B: Small footprint slave device with firmware update area in SQI flash C: Full featured loadable firmware
Each use case determines how the integrated memory is used, whether external memory is required (SQI flash and/or SDRAM) and which memory areas the COM CPU and the APP CPU may use. The use cases are described in full detail in section Firmware use cases [}page13] of this document.
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 10/70
Hilscher’s netX Studio CDT IDE includes all components required to configure, develop and debug the embedded application software. The “flasher” utility included in the netX Studio CDT installation can be used to flash/program all necessary software components to the netX 90-based device. You can access and use the flasher utility either via the netX Studio GUI (recommended for software development or flashing of single prototypes) or via command line interface (recommended for end-of-line mass production). The software components that need to be flashed to the netX 90 are described in full detail in section Files [}page20] of this document.
Figure2: Software for communication and application CPUs (stand-alone-chip solution)
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 11/70

2.2 Flash layout

2.2.1 Overview

The netX 90 SoC is equipped with the following integrated memory devices:
COM CPU
· 1024 KB ECC internal flash INTFLASH01, consisting of:
512 KB INTFLASH0
512 KB INTFLASH1
· 576 KB ECC internal RAM COM INTRAM
· 128 KB ROM
APP CPU
· 512 KB ECC internal flash INTFLASH2
· 64 KB ECC internal RAM APP INTRAM
Flash layout definition
The layout of the flash memory is defined in the “Flash Layout Table” of the Flash Device Label (FDL) [see also section FDL Content: Flash Layout Table [}page30]) for details. The flash layout definition is thus kept separate from the firmware, which allows for consistent flash area layout information, regardless whether it is the regular communication firmware or the maintenance firmware that accesses this information during booting.
The user can define up to ten flash areas containing either a certain binary file (like e.g. the firmware) or dedicated space for storing non-file-based data (see sub-section below). The correct definition of these areas depend on your netX 90’s firmware use case. The following sections explain the flash layout use cases in detail.
Note:
The pre-configured FDL templates provided by Hilscher and the FDLs created by the New Flash Device Label wizard of netX Studio CDT already contain the appropriate flash layout definitions (a.k.a. “area” definitions) according to the individual use cases. Thus, you do not need to enter the flash area definitions in the FDL yourself, but can simply pick the right FDL for your use case (A, B or C). The details in the following sections are intended to provide some background knowledge about the flash layout.
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 12/70
Flash areas reserved for non-file-based data
Besides the areas assigned to “static” files like e.g. the *.nxi firmware or the *.hwc hardware configuration, the flash layout requires the definition of the following areas for “non-file-based” data:
· Management area (manages the storage of remanent data)
· Remanent area (stores remanent data)
· Firmware update area (intermediate storage of firmware update data)
Offsets and sizes of these areas are described in the Flash area definition values tables in the following sections.
Important:
If you are not programming a “blank” netX 90 device (i.e. if a *.nxi firmware ran on the netX before, thus using the management area and the remanent area for data storage), make sure that these areas are empty by erasing them with the Flasher tool. See section How to use the Command line flasher [}page57] for information on how to erase flash areas.
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 13/70

2.2.2 Firmware use cases

2.2.2.1 Use case A: Small footprint slave device
The communication firmware is running in internal RAM and internal flash and does not require external SDRAM or SQI Flash. This applies to “traditional” Fieldbus protocol firmware (protocol stack running in channel 0 of DPM) and “standard” Real-Time Ethernet protocol firmware including a basic web server (protocol stack running in channel 0 and “network services” running in channel 1 of DPM).
· Communication firmware size is ≤ 500 KByte and located only in INTFLASH0
· Firmware update area of 380 KByte is located in INTFLASH1
· Application CPU can use external SQI Flash and external SDRAM (if
implemented) exclusively (as defined in hardware configuration)
Figure3: Use case A: Small footprint flash layout example
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 14/70
The following table shows the flash area definition values for this use case.
Area
Area Content Area Content type Area start
No.
0 Hardware
configuration
*.hwc
1 Flash Device
Label
*.fdl
2 Communication
firmware *.nxi
3 Firmware
update area
4 Maintenance
hardware configuration
*.mwc
5 Maintenance
Firmware
*.mxf
6 Remanent data
area
7 Management
data area
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_HWCONFIG
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_FDL
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_FW
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_FWUPDATE
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_MFW_HWCONFIG
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_MFW
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_REMANENT
HIL_PRODUCT_DATA_FL ASH_LAYOUT_CONTENT_ TYPE_MANAGEMENT
Table4: Flash area definition values of Use Case A
address
Relative:
0x0
Absolute:
0x00100000
Relative:
0x2000
Absolute:
0x00102000
Relative:
0x3000
Absolute:
0x00103000
Relative:
0x0
Absolute:
0x00180000
Relative:
0x5F000
Absolute:
0x001DF000
Relative:
0x61000
Absolute:
0x001E1000
Relative:
0x76000
Absolute:
0x001F6000
Relative:
0x7E000
Absolute:
0x001FE000
Area size Area
chip No.
0x2000 0x0 HWConfig O_RDONLY
0x1000 0x0 FDL O_RDONLY
0x7D000 0x0 FW O_RDONLY
0x5F000 0x1 FWUpdate O_RDWR
0x2000 0x1 MFW_HWConfig O_RDONLY
0x15000 0x1 Maintenance O_RDONLY
0x8000 0x1 Remanent O_RDWR
0x2000 0x1 Management O_RDWR
Area name Area
access type
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 15/70
2.2.2.2 Use case B: Small footprint slave device with FW update area in SQI flash
This use case is similar to use case A, i.e. the communication firmware is running with INTRAM COM and INTFLASH01 and does not require external SDRAM or SQI flash. However, in this case the firmware update area is moved to the external SQI flash, thus allowing the communication firmware to use more of the INTFLASH. This means also that the APP CPU is responsible for the firmware update, because only the APP CPU has access to the SQI flash.
Use case B applies to “traditional” Fieldbus protocol firmware (protocol stack running in channel 0 of DPM) and “standard” Real-Time Ethernet protocol firmware including a basic web server (protocol stack running in channel 0 and “network services” running in channel 1 of DPM).
· Communication firmware size is ≤ 880 KByte and located in INTFLASH01
· Firmware update area is located in external SQI flash
APP CPU places new firmware in this area
COM firmware does not have access to external SQI flash
new firmware can be installed with the help of the maintenance
firmware
· APP CPU may use external SQI Flash and external SDRAM exclusively (as defined in hardware configuration)
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 16/70
Figure4: Use case B: Small footprint flash layout example with firmware update area in SQI flash
Important:
Runtime issues will occur if the Remanent or Management areas are accessed while the COM firmware is running from INTFLASH1. To avoid this, the host application (APP CPU) must handle the storage and management of remanent data. Therefore, the firmware file (*.nxi) must be configured accordingly by using the Tag List Editor software; i.e. in the Remanent Data Responsibility tag, the Remanent Data stored by Host option must be enabled. (For information about the Tag List Editor, see section How to...Use the Tag List Editor in the document Getting started: netX Studio CDT – netX 90 development, DOC170504GSxxEN.)
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 17/70
The following table shows the flash area definition values for this use case.
Area
Area Content Area Content type Area start
No.
0 Hardware
configuration
*.hwc
1 Flash Device
Label
*.fdl
2 Communication
firmware *.nxi
3 Maintenance
hardware configuration
*.mwc
4 Maintenance
Firmware
*.mxf
5 Remanent Area HIL_PRODUCT_DATA_
6 Management
Area
7 FW Update
Area
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_HWCONFIG
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_FDL
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_FW
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_MFW_HWCO NFIG
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_MFW
FLASH_LAYOUT_CONT ENT_TYPE_REMANENT
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_MANAGEME NT
HIL_PRODUCT_DATA_ FLASH_LAYOUT_CONT ENT_TYPE_FWUPDATE
Table5: Flash area definition values of Use Case B
address
Relative:
0x0
Absolute:
0x00100000
Relative:
0x2000
Absolute:
0x00102000
Relative:
0x3000
Absolute:
0x00103000
Relative:
0x5F000
Absolute:
0x001DF000
Relative:
0x61000
Absolute:
0x001E1000
Relative:
0x76000
Absolute:
0x001F6000
Relative:
0x7E000
Absolute:
0x001FE000
Relative:
0x0
Absolute:
0x64000000
Area size Area chip
No.
0x2000 0x0 HWConfig O_RDONLY
0x1000 0x0 FDL O_RDONLY
0x7D000
If 880 KB:
0xDC000
0x2000 0x1 MFW_HWConfig O_RDONLY
0x15000 0x1 Maintenance O_RDONLY
0x8000 0x1 Remanent O_RDWR
0x2000 0x1 Management O_RDWR
0x5F000 0x2 FWUpdate O_RDONLY
0x0 FW O_RDONLY
Area name Area
access type
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 18/70
2.2.2.3 Use case C: Full featured loadable firmware
The COM LFW is a "full featured" Real-Time Ethernet protocol firmware including an extended web server. It uses SDRAM and external SQI Flash and works with a fail-safe flash file system in the SQI Flash. Therefore handling of multiple files/configurations and functions on embedded systems as well as working with Hilscher tools like Communication Studio are possible.
· *.nxi communication firmware file size is limited to ≤ 880 KByte and located in INTFLASH01.
· Firmware update area is located in the HCC Flash File System of the external SQI Flash (and does therefore not need to be defined in the FDL). New firmware will be installed with the help of the maintenance firmware.
· APP CPU has no access to external SQI Flash, because it is used exclusively by the COM CPU
· External SDRAM is equally shared by both COM CPU and APP CPU (as defined in hardware configuration)
Figure5: Use case C: Full featured loadable firmware with SDRAM and external SQI flash
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 19/70
The following table shows the flash area definition values for this use case.
Area
Area Content Area Content type Area start
No.
0 Hardware
configuration
*.hwc
1 Flash Device
Label
*.fdl
2 Communication
firmware *.nxi
3 Maintenance
hardware configuration
*.mwc
4 Maintenance
Firmware
*.mxf
5 File system in
external SQI flash
6 Remanent Area HIL_PRODUCT_DATA_F
7 Management
Area
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_HWCONFIG
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_FDL
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_FW
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_MFW_HWCONFI G
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_MFW
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_FILESYSTEM
LASH_LAYOUT_CONTEN T_TYPE_REMANENT
HIL_PRODUCT_DATA_F LASH_LAYOUT_CONTEN T_TYPE_MANAGEMENT
Table6: Flash area definition values of Use Case C
address
Relative:
0x0
Absolute:
0x00100000
Relative:
0x2000
Absolute:
0x00102000
Relative:
0x3000
Absolute:
0x00103000
Relative:
0x5F000
Absolute:
0x001DF000
Relative:
0x61000
Absolute:
0x001E1000
Relative:
0x80000
Absolute:
0x6408000
Relative:
0x2BE000
Absolute:
0x642BE000
Relative:
0x2FE000
Absolute:
0x642FE000
Area size Area chip
No.
0x2000 0x0 HWConfig O_RDONLY
0x1000 0x0 FDL O_RDONLY
0xDE000 0x0 FW O_RDONLY
0x2000 0x1 MFW_HWConfig O_RDONLY
0x1F000 0x1 Maintenance O_RDONLY
0x23E000 0x2 Filesystem O_RDWR
0x40000 0x2 Remanent O_RDWR
0x2000 0x2 Management O_RDWR
Area name Area
access type
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 20/70

2.3 Files

2.3.1 Overview

The following table provides an overview of mandatory and optional files (depending on use case) that must or can be downloaded to the flash memory of the netX 90 by the OEM during end-of-line production.
File Description Sources/tools for handling
the file
Hardware configuration
*.hwc
Flash Device Label
*.fdl
Communication firmware
*.nxi
Application firmware
*.nai
Maintenance firmware
*.mxf
Hardware configuration for maintenance firmware
*.mwc
Mandatory binary file containing the netX 90 hardware configuration settings, e.g. pin assignments of SDRAM, PHYs, UART etc. Must be configured according to use case.
Mandatory binary file containing 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 of the netX 90. MAC addresses and serial number have to be adapted by OEM for each device individually.
Pre-built binary firmware file for the COM CPU, containing protocol stack, operating system, web server and tag list.
Binary firmware file containing the application for the APP CPU.
Optional “Recovery” (a.k.a. “basic”) firmware handling the update/ installation of “regular” firmware and other files.
Additional hardware configuration file required by the maintenance firmware. Mandatory if maintenance firmware is used.
Table7: Overview of files
Create: By OEM in netX Studio CDT
Edit: By OEM in netX Studio CDT
Download (flash): By OEM in
netX Studio CDT or Command line tool (LUA flasher script)
Create: Provided as pre­configured templates for use cases A, B and C by Hilscher. Can also be created by OEM in netX Studio CDT.
Edit: By OEM in netX Studio CDT or OEM’s own production tool
Download (flash): By OEM in
netX Studio CDT or Command line tool (LUA flasher script)
Create: Provided as ready-to­use binary file by Hilscher
Edit: Certain features can be enabled/disabled by OEM in the Tag List Editor
Download (flash): By OEM in
netX Studio CDT or Command line tool (LUA flasher script)
Create: By OEM in netX Studio CDT
Edit: Source code can be edited and compiled by OEM in
netX Studio CDT
Download (flash): By OEM in
netX Studio CDT or Command line tool (LUA flasher script)
Create: Provided as ready-to­use binary file by Hilscher
Edit: -
Download (flash): By OEM in
netX Studio CDT or Command line tool (LUA flasher script)
Create: By OEM in netX Studio CDT
Edit: By OEM in netX Studio CDT
Download (flash): By OEM in
netX Studio CDT or Command line tool (LUA flasher script)
For details see section
Hardware configuration file (*.hwc) [}page21]
Flash Device Label (*.fdl) [}page23]
Communication firmware (*.nxi) [}page33]
Application firmware (*.nai) [}page35]
Maintenance firmware (*.mxf) [}page36]
Hardware configuration file for maintenance firmware (*.mwc) [}page39]
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Software architecture 21/70

2.3.2 Hardware configuration file (*.hwc)

Brief description
Mandatory binary file containing the hardware setup configuration of the netX 90, like e.g. DPM settings, pin assignments of external SQI flash and SDRAM (if applicable), PHYs and UARTs, etc. The *.hwc file is evaluated by the ROM code during booting. Size: 8 KByte
Creating/editing
The OEM can create and edit the hardware configuration in netX Studio CDT. For more information on this, please refer to the document Getting
started: netX Studio CDT – netX 90 development (DOC170504GSxxEN), section How to ... Configure the netX 90 hardware.
Flashing/downloading
The HW config binary can be flashed to the netX 90 by the Flasher tool of netX Studio CDT. The GUI-integrated Flasher tool of netX Studio CDT will automatically write the file to the right location within the flash memory of the device. For more information about the Flasher tool, please refer to the
How to ... Use the Flasher tool section in the above-mentioned Getting started document.
Important:
The netX Studio‘s GUI-integrated Flasher tool checks the file name extension in order to decide where to flash the file to. Therefore, do not change the file name extension, unless you want to define the location/offset manually.
If you do not want to use the GUI-integrated Flasher tool of netX Studio CDT, but other tools instead – like e.g. the command line flasher (see section How to use the Command line flasher [}page57]) – note the following parameters:
Flash chip/device: INTFLASH0 Offset: 0x0 Size: 0x2000 (8 KByte)
netX 90 | Production guide DOC190101PG03EN | Revision 3 | English | 2019-07 | Released | Public
© Hilscher 2019
Loading...
+ 49 hidden pages