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).
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.
- Network flashing with Linux
- Network flashing with Windows XP
- Network flashing with MAC OS X
- Network flashing with another FOX Board
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.
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 ...
# 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.
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.
http://www.winpcap.org/install/default.htm
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.
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
...
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>
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.
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_filenameThe above command updates the read/only partition maintaining the existing read/write user partition.
# boot_linux -F -i image_filenameThe 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
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.
mount -t vfat /dev/sda1 /mnt/1
./foxflash /mnt/1/myimage
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.
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.
|
|
Atmel© Certified Partner |
Documentation Terms of Use
Acme Systems provides this documentation "as is" without warranty or guarantees of any kind.
The mantainer of this site (Sergio Tanzilli), has gone to a great deal
of effort into making this documentation as correct as possible.
Acme Systems doesn't provide any direct support for the Open Source preinstalled software but provides, through
these pages and forum posts, all the information required to obtain the sources, install, use and update the
Open Source softwares runnable on the FOX Board, NetusG20, AriaG25 and Terra platforms.
Please note that all the preinstalled softwares, used on the Acme Systems products, are Open Source and you will
have 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 here are our contacts
please note that WE ARE MAINLY HARDWARE DESIGNERS and NOT LINUX GURUS so could be better to post
your questions directly to the forum listed below to be sure that all the contributors of this site and
the large software developers community will read and reply to your questions.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.