OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / vendors / SecureComputing / SG710 / README
1 SNAPGEAR ESS710 Disk-On-Chip
2 ----------------------------
3
4 These instructions document how to use the OCdemon debugger (with
5 ARM 20pin JTAG header) to program the Disk-On-Chip of the ESS710
6 boards.
7
8
9 0. SETTING UP DEBUGGER
10
11    Using OCdemon package, setup with appropriate .gdbinit script.
12    (Use new-wave/tools/misc/ess710.gdb).
13
14    Firstly make sure you have the lp drivers loaded, and then load
15    the ocdemon driver:
16
17       insmod parport
18       insmod parport_pc
19       insmod lp
20       insmod -f ocdemompp
21
22    (Ignore the ocdemonpp load warnings).
23
24    Now startup the process demon, and start gdb:
25
26       OcdLibRemote -c XSCALE-IXP &
27       xscale-elf-gdb
28
29    This should bring you up to the gdb prompt with no errors.
30    (I had to use the xscale-elf-gdb binary from the Macraigor tool chain
31    for this to really work properly. Not sure how there is better of
32    different, but some things just don't work right if you use arm-elf-gdb).
33
34
35 1. FLASHING IPL (Initial Program Loader)
36
37    Inside gdb run the following command:
38
39       doc-programipl
40
41    It will initialize ram and load the modified boot loader programmer
42    into RAM, and then program the IPL (~/boot/ixp425/boot.elf) into the
43    special IPL sector of the DoC.
44
45    It issues progress ouput on the serial console at 11500 baud, so if
46    you have that attached you will know when it is done.
47
48    Note: this steps erases some of the normal boot loader sectors to
49    calculate its internal CRC, so you should always do this step first.
50
51
52 2. FLASHING BOOT LOADER
53
54    Inside gdb run the following command:
55
56       doc-programboot
57
58    It will initialize ram and load the modified boot loader programmer
59    into RAM, and then program the SnapGear Boot Loader.
60
61    It issues progress ouput on the serial console at 11500 baud, so if
62    you have that attached you will know when it is done.
63
64    The boot loader is now installed.
65
66
67 3. BOOTING FIRST LINUX
68
69    From now on we use Linux to do the rest of the hard work.
70
71    Power reset the ESS710 (you must power reset at this point) and get to
72    the SnapGear boot loader recovery prompt. Choose to do a network load.
73    This will start up the Redboot debugger. Be patient it is slow to start,
74    takes about 30 seconds to get to the command prompt.
75
76    Issue the following commands, loading a ESS710-Recover image:
77
78        load -r -v -b 0x01600000 zImage
79        load -r -v -b 0x00800000 ramdisk.gz
80        go  -n 0x01600000
81
82    Linux will boot after this (running completely from RAM).
83
84
85 4. FLASHING THE IMAGE
86
87    If this is an un-formated DoC then you need to NFTL format it first.
88
89    Use:
90
91       nftl_format -b /dev/mtd0 229376
92
93    (We start 229376 bytes, 224k, offset into the device to skip over the
94    reserved factory blocks [3] and leave 128k for our boot loader).
95
96    You will need to reboot after doing this. The Linux NFTL drivers only
97    parse the DoC contents at first init.
98
99    Now use netflash to program in the image:
100
101       netflash -i -r /dev/nftla <TFTP-SERVER> image.bin
102
103    When done it should reboot, and run completely from flash.
104
105
106 5. REFLASHING THE BOOT LOADER
107
108    Once you have a working system, you can reprogram the boot loader
109    without using the OCdemon debugger.  'make romfs' places the boot
110    loader in the /boot directory, so to flash the boot loader:
111
112       cd /boot
113       doc_loadbios /dev/mtd0 biosplus.bin 98304
114       doc_loadipl -e 98304 /dev/mtd0 bootplus.bin
115
116    Note: biosplus.bin also contains bootplus.bin, and doc_loadipl
117    relies on this to calculate the ECC for bootplus.bin.  This means
118    you must always run doc_loadbios before running doc_loadipl.