Home About us Questions Send money Contacts Terms


http://acme.systems

Please note:This article is obsolete or related to an obsolete product.

How to reflash a FOX Board

This article describes how to reprogram the FLASH memory of the FOX board

General concepts

The FOX board has a FLASH memory where you can store all the program files needed for its correct working. On this permanent memory are stored the Linux operative system and all the applications and data that the FOX needs as like as an Hard Disk drive on a PC.

To create an fimage from the sources it is necessary to use the FOX Board Software Development Kit (SDK). Some ready to use precompiled fimages (flash images) are also available from the Flash images repository or inside the single articles available on this site.

Each FOX Boards is delivered with ready to run Linux image. This image can changes in relation to the availability of new software updates, appliances, board models and memory sizes.

If you need to change the default image to use a new one generated by yourself with SDK or available from third party you can select one of the methods listed below.

It is important to clarify that you don't need to recompile a new image to be able to distribute the FOX Board with your custom application. It is sufficient instead, on the majority of cases, to transfer simply your application through FTP or SSH directly into the FOX Board file system in a rewritable area of the FLASH memory (i.e. /mnt/flash).

An important point to know is that in any case YOU WILL ALWAYS BE ABLE TO RECOVER A FOX BOARD from a wrong flashing even if you flash the FOX Board with a non working fimage.

If you happen to flash a Fox Board wrongly, just download one of our published fimages (Flash images repository) matching your board (Memory chip sizes) memory size and reflash the FOX Board with one of the procedures here explained with exclusion of the FTP or WEB ones since those needs cooperation from the FOX Board itself to take place.

Reflashing methods

Local network flashing

This mechanism rely on a small ROM code inside the AXIS processor that starts up when the J8 jumper is closed on power up. This code loads in the internal cache memory the LAN packet broadcasted from the PC that is running the flashing process. The Axis will execute that small piece of code inside the LAN packet and will start to interact with the workstation PC to download the programming procedure chosen for the FLASH memory onboard.

This method works only on a Local Area Network and not support any IP routing.

Remote network flashing

This method is based on FTP or HTTP internet protocol and can work remotely over a TCP/IP lan. The fimage is uploaded on the FOX Board flash memory and then transfered to memory flash by a Linux application. It doesn't work if Linux is not already working on the board.

This method can be used to fully update remote FOX Board but if the image is incorrect there isn't any way to restore the board remotely.

Troubleshooting



Network flashing with Linux (or VMWare image inside Windows)

How to reflash the FOX Board with the SDK tools

This method requires that your PC and the FOX Board are on the same local LAN.

Inside the SDK root directory (i.e. /home/fox/devboard-R2_01/) type:

# . init_env
# boot_linux -F -i image_filename
...
If you don't have the SDK installed. download just the executable file of etra100boot and the script file boot_linux who launch it: than make executable the files typing:
# chmod a+x boot_linux etrax100boot

Once launched boot_linux you'll obtain a message like this:

Using internal boot loader: INTERNAL_NW - Network boot (default).
Starting boot...
We're doing a flash write, this may take up to a few minutes...

At this moment you have to switch off (if it was on) the FOX Board, close the jumper J8 (Ethernet flashing) on the FOX Board and switch it on again (with the FOX Board on the same LAN of the PC launching boot_linux).

If all is going well, you will see the ongoing process of the image transfer into the FLASH memory of the FOX Board with messages like these:

...
0x80360000: Writing 0x00010000 bytes
0x80370000: Writing 0x00010000 bytes
0x80380000: No need to write
0x80390000: No need to write
0x803a0000: Writing 0x00010000 bytes
0x80000000: Verifying...OK
JUMP
0x00000000
END
Exiting with code 0

During the programming, the red LED of the FOX Board (DL1) is all the time on.

At the end of the programming phase the FOX Board will restart itself automatically.

Note: Remember to remove the jumper on J8 otherwise the FOX Board will not restart itself at the next startup.

These are some options you can use with the boot_linux command:

This information is taken from the Axis article on howto flash.

Network flashing with Windows XP

In this article we explain how to flash a FOX Board with the LAN procedure from Windows(tm) XP without any SDK installed

This article is the result of the Windows XP porting, made by John Crispin of the e100boot and boot_linux Linux programs made originally by Axis Communications AB to flash ETRAX 100LX boards under Linux.

Requirements

Installing WinPcap 4.0

To be able to send and receive packets for flashing the FOX Board through the Ethernet network you need to have installed the WinPcap library release 4.0 for Windows. You can download the library from this link:

http://www.winpcap.org/install/default.htm

Download flashFOX

You can download the flashFOX zipped Windows application program flashFOX from this link: flashFOX.zip

Now unzip it in your working folder where you have the fimage you want to flash the FOX Board with.

How to use flashFOX.exe

Open a command prompt window on your window PC and go to the folder where the flashFOX.exe has been unzipped and put there the fimage to flash the FOX Board with.

The first thing to do with flashFOX is to search the right ethernet port between the adapters in your PC so to be able to direct the flashing packets to the FOX Board out from the right ethernet interface.

To be able to look at every interface in your PC flashFOX has to be invoked with the option -l.

D:\ACME\WORK>flashFox -l
                                          _                       _ _
                                         | |                     (_) |
  __ _  ___ _ __ ___   ___  ___ _   _ ___| |_ ___ _ __ ___  ___   _| |_
 / _` |/ __| '_ ` _ \ / _ \/ __| | | / __| __/ _ \ '_ ` _ \/ __| | | __|
| (_| | (__| | | | | |  __/\__ \ |_| \__ \ ||  __/ | | | | \__ \_| | |_
 \__,_|\___|_| |_| |_|\___||___/\__, |___/\__\___|_| |_| |_|___(_)_|\__|
                                 __/ |
                                |___/
     **************************************************************
     e100boot made by axis.se, ported for windows by acmesystems.it
                               feedback, bugs : info@acmesystems.it
     **************************************************************

The following devices are available
        1.) Adapter for generic dialup and VPN capture
        2.) Broadcom 440x 10/100 Integrated Controller

Use the -d  option to select the device

D:\ACME\WORK>

As you can see, our ETH interface has the number 2.)

At this moment you have to switch off (if it was on) the FOX Board, close the jumper J8 (Ethernet flashing) on the FOX Board and switch it on again (with the FOX on the same LAN of the PC launching boot_linux).

Now supposing your fimage is named my_fimage you can flash completely your Fox with this simple command:

D:\ACME\WORK>flashFOX -d 2 -F -i my_fimage

                                          _                       _ _
                                         | |                     (_) |
  __ _  ___ _ __ ___   ___  ___ _   _ ___| |_ ___ _ __ ___  ___   _| |_
 / _` |/ __| '_ ` _ \ / _ \/ __| | | / __| __/ _ \ '_ ` _ \/ __| | | __|
| (_| | (__| | | | | |  __/\__ \ |_| \__ \ ||  __/ | | | | \__ \_| | |_
 \__,_|\___|_| |_| |_|\___||___/\__, |___/\__\___|_| |_| |_|___(_)_|\__|
                                 __/ |
                                |___/
     **************************************************************
     e100boot made by axis.se, ported for windows by acmesystems.it
                               feedback, bugs : info@acmesystems.it
     **************************************************************

Using device Broadcom NetXtreme Gigabit Ethernet Driver
Using internal boot loader: INTERNAL_NW - Network boot (default).
Starting boot...
We're doing a flash write, this may take up to a few minutes...


Device ID = 0x00001b49
This bootloader was built by blogic on Mon Mar 5 10:29:02 CET 2007.
Checksum of bootloader is 0x000a0ac0
Waiting for load info.
Checksum of file is 0x00001ebd
Got load info.
SET_REGISTER
0xb0000000
0x000095f8
SET_REGISTER
0xb0000004
0x00000004
SET_REGISTER
0xb000000c
0x09603737
SET_REGISTER
0xb0000008
...

Complete options for flashFOX

To get the help menu of the flashFOX program for windows, invoke it with the -h option:
D:\ACME\WORK>flashFOX -h
                                          _                       _ _
                                         | |                     (_) |
  __ _  ___ _ __ ___   ___  ___ _   _ ___| |_ ___ _ __ ___  ___   _| |_
 / _` |/ __| '_ ` _ \ / _ \/ __| | | / __| __/ _ \ '_ ` _ \/ __| | | __|
| (_| | (__| | | | | |  __/\__ \ |_| \__ \ ||  __/ | | | | \__ \_| | |_
 \__,_|\___|_| |_| |_|\___||___/\__, |___/\__\___|_| |_| |_|___(_)_|\__|
                                 __/ |
                                |___/
     **************************************************************
     e100boot made by axis.se, ported for windows by acmesystems.it
                               feedback, bugs : info@acmesystems.it
     **************************************************************

Copyright (C) 2001-2002 Axis Communications AB

DESCRIPTION:
This program is used to boot (and flash) a linux image to a box.
It tries to extract the required ETRAX 100 settings from the image file.

SYNTAX:
$my_name [options]

OPTIONS:
-f                      : Save the image in the flash memory starting at
                                                  address 0x10000.
-F                      : Save the image in the flash memory starting at
                                                  address 0.
-h                      : Print this help text.
-i image              : The path and name of the image to use, default
                                                ¦ is fimage.
-p                      : Print the resulting etrax100boot command instead
                                                  of executing it.
-P                      : Print the resulting etrax100boot
-l                      : Print a list of network devices that are available
-d                  : Choose which device you want to use
                          Use the -l option to get a list of devices

All sizes and offsets above can be specified as decimal numbers, or as
hexadecimal numbers by prefixing them with 0x. It is also possible to use
the suffixes k and M to specify kilo (1024) or mega (1048576).



D:\ACME\WORK>


Network flashing with MAC OS X

In this article we explain how to flash a Fox with the LAN procedure from a MAC(tm) OS X PC without any SDK installed

This article is the result of the Davide Cantaluppi porting on the Apple MAC platforms of the e100boot and boot_linux programs made originally by Axis Communications AB to flash ETRAX 100LX boards under Linux.

Download the Fox Board loader boot_linux for your MAC architecture

Download the right loader between these two:

Unzip the file and move the obtained folder in the root folder of your Hard Disk

Open from Applications - Utility a terminal window and type:

# cd /loadermac_XXX            (where XXX is ppc or intel)

Be sure that the command has the right permissions to run with:

# sudo chmod +x boot_linux

The boot_linux command requires root privileges so it has to be executed preceeding it by sudo. The syntax is the same as for the Linux command used to flash the Fox Board:

# sudo ./ boot_linux -f -i image_filename
The above command updates the read/only partition maintaining the existing read/write user partition.
# boot_linux -F -i image_filename
The above command updates completely all the partitions in the Flash memory, ERASING ALL USER AND SETTINGS DATA from the user read/write partition.

Once launched the command, it will show:

# KDEV:/loadermac_intel kanta$ sudo ./boot_linux -F
  Password:

Type the user password. The user has to be granted administrator privileges as shown in the following picture taken from the System Preferences - Account:

Check the box granting you the possibility to administer the system so to be able to invoke the sudo command.

After typing the password you will see:

KDEV:/loadermac_intel kanta$ sudo ./boot_linux -F
Password:
Ethernet adress for device en0 is 00-xx-xx-xx-xx-xx
Using internal boot loader: INTERNAL_NW - Network boot (default).
Starting boot...
We're doing a flash write, this may take up to a few minutes...
Switch off your Fox if it is still on, close the J8 jumper (boot LAN) on the Fox Board and switch the Fox back on ( with the Fox Board connected on the same LAN of your Apple MAC. You will see the flashing process of the fimage in the FLASH memory: ATTENTION ! DURING THE FLASHING THERE WILL BE A "PAUSE" OF APPROX. 20 SECONDS. DON'T SWITCH OFF THE FOX. IT IS NOT BLOCKED. JUST WAIT:
...
0x80360000: Writing 0x00010000 bytes
0x80370000: Writing 0x00010000 bytes
0x80380000: No need to write
0x80390000: No need to write
0x803a0000: Writing 0x00010000 bytes
0x80000000: Verifying...OK
JUMP
0x00000000
END
Exiting with code 0

Troubleshooting

For troubleshooting contact Davide Cantaluppi

Network flashing with another FOX Board

In this article we'll illustrate how to flash the entire fimage of a FOX Board from another FOX Board. This application is very useful to transfer the production fimage on the FOX Boards during hi-volume manifacturing without the use of a dedicated Linux PC

etrax100boot is the utility wrote by Axis to program the FLASH memory used by ETRAX 100LX CPU to make the boot, through the LAN. This is the main and faster method used during the first initialization of the ETRAX based boards included the FOX.

This utility is already included inside the Axis SDK in a ready to use executable file for PC. But due to the heavy environment and less space usually available inside the factory, it can be a better choice to use a solid state alternative to PC to make the initialization of the FOX Boards.

etrax100boot porting

In the download section of this article it is possible to download the executable version for the FOX Board of the etrax100boot utility with a simple script to launch it.

Download



Network flashing through FTP

This article describes how to reprogram the FLASH memory using an FTP client

The FOX Board has an FTP server to enable file transfers in and out its filesystem. There are two special files that, if correctly used, enable the complete reprogramming of the memory FLASH. This permits, obviously to update the firmware of a product based on FOX board even from remote through a simple TCP/IP connection. This procedure, which will update the kernel part and the mnt/flash part of the FLASH chip, will also maintain the original Mac Address, stored in the FLASH bootblock.

The two files are:

It is possible to use any FTP client to connect to the FOX board with the following credentials: username root and password pass.

Let's see an example:

$ftp 192.168.0.90
Connected to 192.168.0.90.
220 Fox Linux Board release 2.00 (mag 26 2005) ready.
Name (192.168.0.90): root
331 User name okay, need password.
Password: pass
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put fimage flash_all
local: fimage remote: flash_all
227 Entering Passive Mode (192,168,0,90,12,0)
150-Shutting down processes.
Preparing system for upgrade ...

During the programming phase the red led (DL1) of the FOX board remains all the time on.

Network flashing through WEB

This article describes how to reprogram the FLASH memory using a web browser

Into the default Web page available on the FOX Board there are two links that permit to upload a new image on the FOX Board flash memory:

You need only to click on the preferred link and select the file containing the image to store into the FOX FLASH memory.

During the programming phase the red led (DL1) remains all the time on.




Acme Systems srl
Via Aldo Moro 53 - 00055 Ladispoli (RM) - Italy
P.IVA/C.F. 08114831004
Tel +39.06.99.12.187 - Fax +39.06.622.765.31
http://www.acmesystems.it
Iscritta al Registro delle Imprese di Roma al n. 08114831004


Atmel© Certified Partner

Documentation Terms of Use
Acme Systems provides this documentation "as is" without warranty or guarantees of any kind. The maintainer of this site (Sergio Tanzilli), has gone to a great deal of effort into making this documentation as correct as possible. Acme Systems does not provide any direct support for the Open Source preinstalled software but does provide, through these pages and forum posts, all of the information required to obtain the sources, install, use and update the Open Source software that can be run on the Acme platforms. Please note that all of the preinstalled software, used on the Acme Systems products, are Open Source and you will need to check the license terms provided (usually the GPL) by each author before using it in any commercial or non-commercial product, by yourself. Before sending emails or calling the Acme staff please note that WE ARE MAINLY HARDWARE DESIGNERS and NOT LINUX GURUS and therefore ask that you post your questions directly to the forum listed below and ensure that all of the site contributors and large software community will read and reply to your questions.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Creative Commons License