summaryrefslogtreecommitdiffstats
path: root/target/linux/etrax-2.6/image/e100boot/src/doc/e100boot.1
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/etrax-2.6/image/e100boot/src/doc/e100boot.1')
-rw-r--r--target/linux/etrax-2.6/image/e100boot/src/doc/e100boot.1401
1 files changed, 0 insertions, 401 deletions
diff --git a/target/linux/etrax-2.6/image/e100boot/src/doc/e100boot.1 b/target/linux/etrax-2.6/image/e100boot/src/doc/e100boot.1
deleted file mode 100644
index 116b9e577f..0000000000
--- a/target/linux/etrax-2.6/image/e100boot/src/doc/e100boot.1
+++ /dev/null
@@ -1,401 +0,0 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-'br\}
-.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.if \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. nr % 0
-. rr F
-.\}
-.\"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.hy 0
-.if n .na
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "E100BOOT 1"
-.TH E100BOOT 1 "2003-12-16" "perl v5.8.8" "User Contributed Perl Documentation"
-.SH "NAME"
-e100boot \- Network and serial port bootloader for the ETRAX100 CPU.
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-\&\fBe100boot\fR [\fB\-\-device\fR \fIdevicename\fR]
-[\fB\-\-file\fR \fIfilename\fR|\- \fIaddr\fR [\fIsize\fR]]
-[\fB\-\-flash\fR \fIram-source\fR \fIflash-offset\fR \fIsize\fR] [\fB\-\-pause\fR \fIiter\fR]
-[\fB\-\-memtest\fR \fIaddr\fR \fIaddr\fR] [\fB\-\-memclear\fR \fIaddr\fR \fIaddr\fR]
-[\fB\-\-memdump\fR \fIaddr\fR \fIaddr\fR] [\fB\-\-setreg\fR \fIaddr\fR|\fIregname\fR \fIval\fR]
-[\fB\-\-getreg\fR \fIaddr\fR|\fIregname\fR] [\fB\-\-verify\fR \fIaddr\fR \fIval\fR]
-[\fB\-\-label\fR \fIlabel\fR] [\fB\-\-loop\fR \fIaddr\fR \fIlabel\fR] [\fB\-\-5400\fR] [\fB\-\-5600\fR]
-[\fB\-\-testcard\fR] [\fB\-\-devboard\fR] [\fB\-\-testcardlx\fR] [\fB\-\-network\fR] [\fB\-\-serial\fR]
-[\fB\-\-baudrate\fR \fIbaudrate\fR] [\fB\-\-bootfile\fR \fIfile\fR] [\fB\-\-jump\fR \fIaddr\fR]
-[\fB\-\-tofiles\fR] [\fB\-\-cmdsonly\fR] [\fB\-\-images\fR] [\fB\-\-noleds\fR] [\fB\-\-help\fR]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-This boot loader facilitates loading of files over the network or a
-serial port to an \s-1ETRAX100\s0. It can also be used for fairly extensive
-hardware debugging as you can read and write to any memory addresses,
-including the \s-1ETRAX100\s0 registers. You can also perform memory checks
-and dumps and copy data to flash memories.
-.PP
-The first packet (or the first 784 bytes in the case of serial boot)
-sent to Etrax100 is loaded into the cache. The code in this packet is
-executed and loads the rest of the boot loader into the cache. The
-cache is the only thing we can be sure of exists on all \s-1ETRAX100\s0
-products, so the boot loader is limited to the size of the cache,
-8KB. If further boot loading code is needed you have to set up
-external memory and load another boot loader into it, but this is
-rarely needed.
-.PP
-Two programs are involved in this boot loading, one is the program on
-your workstation that sends the packets to \s-1ETRAX100\s0, this is called
-the server boot loader or \s-1SBL\s0. The other program is the one in
-\&\s-1ETRAX100\s0 that receives packets from the \s-1SBL\s0 and acts upon the data
-therein, this is called the client boot loader or \s-1CBL\s0.
-.PP
-We don't want to edit and recompile the \s-1CBL\s0 each time we want to load
-level two to different parts of memory, like we do on different
-products. We also want to change things like the setup of external
-memory before we load data into it. To make the boot loading as
-flexible as possible and separate the \s-1CBL\s0 from level two we send a
-configuration packet to it. After this packet we load other files, if
-we want to.
-.PP
-The configuration packet can contain information to the \s-1CBL\s0 which lets
-you: initialize external memory, read and write to all \s-1ETRAX100\s0
-registers, read and write to any part of memory, load as many other
-files as you like to any part of memory you like, etc. The
-configuration packet is generated on the fly by the \s-1SBL\s0.
-.PP
-Since the \s-1CBL\s0 is unaware of which product it will be loaded on, it
-doesn't do product specific initialization like setting up the
-memory. This must be done with the configuration packet.
-.Sh "Debugging printout"
-.IX Subsection "Debugging printout"
-When doing network boot the debugging printout from the \s-1CBL\s0 in \s-1ETRAX\s0
-is transmitted back over the network and printed by e100boot. When
-doing serial boot that interface will be used. So in either case you
-will not need any other software or hardware to receive the debugging
-printout.
-.Sh "Creating binaries"
-.IX Subsection "Creating binaries"
-The files containing code to be loaded on the \s-1ETRAX100\s0 must be
-stripped using the standard \s-1GCC\s0 binutils.
-.Sh "How it works, things you don't want to know."
-.IX Subsection "How it works, things you don't want to know."
-ack, timeout bla, bla... \s-1RTFS\s0.
-.Sh "Compilation and code"
-.IX Subsection "Compilation and code"
-Noteworthy is that two separate \s-1ETRAX100\s0 binaries are created, one for
-network boot and one for serial boot. They actually contain exactly
-the same code, but linked in different order. This is because the code
-to load the rest of the bootloader over a specific interface must be
-contained in the first data sent to the \s-1ETRAX100\s0 and it is too
-difficult to cram the code for both interfaces in the beginning of the
-same binary. Hence two files.
-.PP
-Other stuff you don't want to know is that the cache is mapped from
-0x380000f0 to 0x380020f0. Code starts at the first address followed by
-data up to the symbol \fIEbss\fR. At the other end is the buffer for boot
-commands (addresses defined by \fI\s-1IO_BUF_START\s0\fR and \fI\s-1IO_BUF_END\s0\fR below
-which the stack lies and hopefully the stack and \fIEbss\fR will never
-meet...
-.PP
-The serial data is loaded from 0x380000f0 to 0x380003ff before
-execution starts.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-The options are done in the order specified on the command line, so
-you probably want to do any memory setup before loading a file to the
-memory, and you probably do not want to perform a memory test after
-you have loaded a file to that memory.
-.PP
-All addresses and sizes must be in hex with optional '0x' prefix, or a
-\&\s-1ETRAX100\s0 register name. Since the \fB\-\-setreg\fR and \fB\-\-getreg\fR options
-only can be performed on dword aligned dwords only the registers that
-conform to this can be named.
-.PP
-Note also that all addresses must be in uncached memory (bit 31 set),
-as the bootloader lies in the cache. If you access any uncached
-address during boot, the bootloader will be destroyed without warning.
-.PP
-It is also possible to specify an address as \fI+address\fR, in which
-case it is considered to be relative to \fI\s-1IO_BUF_START\s0\fR. This is
-especially useful in combination with the \fB\-\-loop\fR option below.
-.IP "\fB\-\-baudrate\fR \fIbaudrate\fR" 4
-.IX Item "--baudrate baudrate"
-Set baudrate for files loaded after the boot loader.
-.IP "\fB\-\-bootfile\fR \fIfilename\fR" 4
-.IX Item "--bootfile filename"
-Which boot image to send to \s-1ETRAX\s0 instead of the default ones.
-.IP "\fB\-\-cmdsonly\fR" 4
-.IX Item "--cmdsonly"
-Write the commands to file e100boot.cmds.
-.IP "\fB\-\-devboard\fR" 4
-.IX Item "--devboard"
-Sets registers for the developer board.
-.IP "\fB\-\-device\fR \fIdevicename\fR" 4
-.IX Item "--device devicename"
-Which device to send packets on. For network boot the default is
-eth0. For serial boot it is ttyS0.
-.IP "\fB\-\-file\fR \fIfilename\fR|\- \fIaddress\fR [\fIsize\fR]" 4
-.IX Item "--file filename|- address [size]"
-The file to load and the address to load it to. If file is loaded on
-stdin, specify filename '\-' followed by a size. Size need only be
-given in this case. You can load as many files as you want, each
-specified with a \fB\-\-file\fR.
-.IP "\fB\-\-flash\fR \fIram-source flash-offset size\fR" 4
-.IX Item "--flash ram-source flash-offset size"
-Copies the specified \s-1RAM\s0 area to the flash.
-.IP "\fB\-\-getreg\fR \fIaddress\fR|\fIregname\fR" 4
-.IX Item "--getreg address|regname"
-Print value of memory location. Must be uncached address.
-.IP "\fB\-\-help\fR" 4
-.IX Item "--help"
-Print the help information.
-.IP "\fB\-\-images\fR" 4
-.IX Item "--images"
-Print information about the internal boot images, then exit.
-.IP "\fB\-\-jump\fR \fIaddress\fR" 4
-.IX Item "--jump address"
-Jump to specified address.
-.IP "\fB\-\-label\fR \fIlabel\fR" 4
-.IX Item "--label label"
-Define a label to be used as target by the \fB\-\-loop\fR command. This
-command is only used by the \s-1SBL\s0 to calculate the address for the
-\&\fB\-\-loop\fR and does not take up any space in the configuration packet.
-.IP "\fB\-\-loop\fR \fIcheck-address label\fR" 4
-.IX Item "--loop check-address label"
-If the contents of check-address is nonzero it is decremented and the
-command parser continues parsing at the label.
-.Sp
-If no external memory is initialized yet it can be convenient to use
-an address in the area occupied by the configuration packet. Run
-e100boot with \fB\-\-help\fR to see which addresses the commands are stored
-at. The size of the commands are four bytes for each command plus four
-bytes per argument to the command.
-.IP "\fB\-\-memclear\fR \fIstart-address end-address\fR" 4
-.IX Item "--memclear start-address end-address"
-Clears the specified memory area.
-.IP "\fB\-\-memdump\fR \fIstart-address end-address\fR" 4
-.IX Item "--memdump start-address end-address"
-Prints the contents of the specified memory area.
-.IP "\fB\-\-memtest\fR \fIstart-address end-address\fR" 4
-.IX Item "--memtest start-address end-address"
-Does a fairly extensive test of the specified memory area. Not only
-catches defect memories but also catches things like wrong memory
-setups where memory addresses are mirrored onto each other.
-.IP "\fB\-\-network\fR" 4
-.IX Item "--network"
-Perform a network boot.
-.IP "\fB\-\-noleds\fR" 4
-.IX Item "--noleds"
-When using the internal images use a version that does not toggle
-general port \s-1PA\s0 or \s-1PB\s0 in \s-1ETRAX\s0 during the boot procedure.
-.IP "\fB\-\-pause\fR \fIiterations\fR" 4
-.IX Item "--pause iterations"
-How many \fIiterations\fR to do of an empty loop.
-.IP "\fB\-\-serial\fR" 4
-.IX Item "--serial"
-Do a serial boot.
-.IP "\fB\-\-setreg\fR \fIaddress\fR|\fIregname\fR \fIvalue\fR" 4
-.IX Item "--setreg address|regname value"
-Load dword to dword aligned memory location.
-.IP "\fB\-\-testcard\fR" 4
-.IX Item "--testcard"
-Configures the memories for the \s-1ETRAX\s0 100 testcard.
-.IP "\fB\-\-testcardlx\fR" 4
-.IX Item "--testcardlx"
-Configures the memories for the \s-1ETRAX100\s0 \s-1LX\s0 testcard.
-.IP "\fB\-\-tofiles\fR" 4
-.IX Item "--tofiles"
-Write packets to files e100boot.seq[0..]. Does not transmit the data.
-.IP "\fB\-\-verify\fR \fIaddress value\fR" 4
-.IX Item "--verify address value"
-Verify that memory contains dword. If not loader will stop. This is to
-avoid booting the wrong unit. If you have the units ethernet address
-in the flash memory you can check for that.
-.IP "\fB\-\-5400\fR" 4
-.IX Item "--5400"
-Sets R_WAITSTATES, R_DRAM_TIMING and R_DRAM_CONFIG for the 5400
-printserver.
-.IP "\fB\-\-5600\fR" 4
-.IX Item "--5600"
-Sets R_WAITSTATES, R_DRAM_TIMING and R_DRAM_CONFIG for the 5600
-printserver.
-.SH "EXAMPLES"
-.IX Header "EXAMPLES"
-If you have a stripped binary (file.ima) linked to 0x08000000 that you want
-to boot via the network, do this:
-.PP
-\&\fBe100boot \-\-file file.ima 88000000 \-\-jump 08000000\fR
-.PP
-Or something like this. Sets waitstates to zero and loads two files,
-the first from stdin:
-.PP
-\&\fBcat file.ima | e100boot \-\-memtest 88000000 8801ffff \-\-memclear
-88000000 8801ffff \-\-setreg b0000000 0 \-\-getreg b0000000 \-\-file \-
-88000000 a000 \-\-file file2.ima 88010000 \-\-memdump 88000000 880000ff
-\&\-\-jump 08000000\fR
-.PP
-Or this, enables 16 bit parallel port and flashes the led on \s-1PA0:\s0
-.PP
-\&\fBe100boot \-\-testcardlx \-\-setreg R_PORT_PA_SET 0x00000000 \-\-setreg
-R_GEN_CONFIG 0x80000004 \-\-setreg R_PAR0_CONFIG 0x00000200 \-\-setreg
-R_PORT_G_DATA 0x00000000 \-\-pause 0x02000000 \-\-setreg R_PORT_G_DATA
-0xffffffff \-\-pause 0x02000000 \-\-setreg R_PORT_G_DATA 0x00000000 \-\-loop
-0x38001e0b 0x38001e60\fR
-.PP
-Setup the memory, test the \s-1SRAM\s0, print the contents of the first 256
-bytes of \s-1SRAM\s0, clear \s-1SRAM\s0, test the \s-1DRAM\s0, print R_DMA_CH0_CMD, load a
-file to \s-1SRAM\s0, load another file to \s-1SRAM\s0, load file to \s-1DRAM\s0, jump to
-code in \s-1SRAM\s0.
-.PP
-\&\fBe100boot \-\-setreg b0000000 1000 \-\-setreg b0000008 00006543 \-\-setreg
-b000000c 12966060 \-\-memtest 88000000 80000 \-\-memdump 88000000 880000ff
-\&\-\-memclear 88000000 80000 \-\-memtest c0000000 400000 \-\-getreg b00001d0
-\&\-\-file file1.ima 88000000 \-\-file file2.ima 88010000 \-\-file file3.ima
-c0000000 \-\-jump 88000000\fR
-.PP
-Boot Linux on the testcard.
-.PP
-\&\fBe100boot \-\-setreg b0000000 1000 \-\-setreg b0000008 6557 \-\-setreg
-b000000c 1b988080 \-\-file timage c0000500 \-\-jump 40000500\fR
-.PP
-Booting over serial port and using labels to flash the leds on port
-\&\s-1PA\s0.
-.PP
-\&\fBe100boot \-\-serial \-\-device /dev/ttyS1 \-\-baudrate 9600 \-\-label first
-\&\-\-setreg 0x380020e0 00000001 \-\-setreg R_PORT_PA_SET 0x0000ff00 \-\-pause
-0x02000000 \-\-setreg R_PORT_PA_SET 0x0000ffff \-\-pause 0x02000000 \-\-loop
-0x380020e0 first\fR
-.SH "BUGS"
-.IX Header "BUGS"
-You're kidding, right? Check \s-1AUTHOR\s0 below. The only thing
-would be the hubris of the author, but that I consider a feature. If
-you find any other 'features' report them to
-technology@axis.com. Don't bother the author directly, he is busy
-playing PlayStation2.
-.SH "COPYING"
-.IX Header "COPYING"
-Copyright © 1996\-2002 Axis Communications \s-1AB\s0.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-Written by Ronny Ranerup.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-The fine source, which you can get at http://developer.axis.com.