1 |
786 |
skrzyp |
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
33 |
|
|
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
Installation and Testing
|
37 |
|
|
installing and testing RedBoot
|
38 |
|
|
RedBootinstalling and testing
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
|
44 |
|
|
AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board
|
45 |
|
|
|
46 |
|
|
Overview
|
47 |
|
|
|
48 |
|
|
|
49 |
|
|
Matsushita MN103E010 (AM33/2.0) ASB2305 Board
|
50 |
|
|
installing and testing
|
51 |
|
|
|
52 |
|
|
|
53 |
|
|
installing and testing
|
54 |
|
|
Matsushita MN103E010 (AM33/2.0) ASB2305 Board
|
55 |
|
|
|
56 |
|
|
RedBoot supports the debug serial port and the built in ethernet port for communication and
|
57 |
|
|
downloads. The default serial port settings are 115200,8,N,1 with RTS/CTS flow control. RedBoot can
|
58 |
|
|
run from either flash, and can support flash management for either the boot PROM or the system
|
59 |
|
|
flash regions.
|
60 |
|
|
|
61 |
|
|
The following RedBoot configurations are supported:
|
62 |
|
|
|
63 |
|
|
|
64 |
|
|
|
65 |
|
|
66 |
|
|
|
|
67 |
|
|
Configuration
|
68 |
|
|
Mode
|
69 |
|
|
Description
|
70 |
|
|
File
|
71 |
|
|
|
72 |
|
|
|
|
73 |
|
|
74 |
|
|
|
|
75 |
|
|
PROM
|
76 |
|
|
[ROM]
|
77 |
|
|
RedBoot running from the boot PROM and able to
|
78 |
|
|
access the system flash.
|
79 |
|
|
redboot_ROM.ecm
|
80 |
|
|
|
81 |
|
|
|
|
82 |
|
|
FLASH
|
83 |
|
|
[ROM]
|
84 |
|
|
RedBoot running from the system flash and able to
|
85 |
|
|
access the boot PROM.
|
86 |
|
|
redboot_FLASH.ecm
|
87 |
|
|
|
88 |
|
|
|
|
89 |
|
|
RAM
|
90 |
|
|
[RAM]
|
91 |
|
|
RedBoot running from RAM and able to access the
|
92 |
|
|
boot PROM.
|
93 |
|
|
redboot_RAM.ecm
|
94 |
|
|
|
95 |
|
|
|
|
96 |
|
|
|
97 |
|
|
|
98 |
|
|
|
99 |
|
|
|
100 |
|
|
|
101 |
|
|
|
102 |
|
|
Initial Installation
|
103 |
|
|
Unless a pre-programmed system flash module is available to be plugged into a new board,
|
104 |
|
|
RedBoot must be installed with the aid of a JTAG interface unit. To achieve this, the RAM mode
|
105 |
|
|
RedBoot must be loaded directly into RAM by JTAG and started, and then that
|
106 |
|
|
must be used to store the ROM mode RedBoot into the boot PROM.
|
107 |
|
|
These instructions assume that you have binary images of the RAM-based and boot PROM-based
|
108 |
|
|
RedBoot images available.
|
109 |
|
|
|
110 |
|
|
Preparing to program the board
|
111 |
|
|
If the board is to be programmed, whether via JTAG or RedBoot, some hardware settings need to
|
112 |
|
|
be changed:
|
113 |
|
|
|
114 |
|
|
|
115 |
|
|
Jumper across ST18 on the board to allow write access to the boot PROM.
|
116 |
|
|
|
117 |
|
|
|
118 |
|
|
Set DIP switch S1-3 to OFF to allow RedBoot to write to the system flash.
|
119 |
|
|
|
120 |
|
|
|
121 |
|
|
Set the switch S5 (on the front of the board) to boot from whichever flash is
|
122 |
|
|
not being programmed. Note that the RedBoot image cannot access the flash from
|
123 |
|
|
which it is currently executing (it can only access the other flash).
|
124 |
|
|
|
125 |
|
|
|
126 |
|
|
|
127 |
|
|
The RedBoot binary image files should also be copied to the TFTP pickup area on the host providing
|
128 |
|
|
TFTP services if that is how RedBoot should pick up the images it is going to program into the
|
129 |
|
|
flash. Alternatively, the images can be passed by YMODEM over the serial link.
|
130 |
|
|
|
131 |
|
|
|
132 |
|
|
|
133 |
|
|
Preparing to use the JTAG debugger
|
134 |
|
|
The JTAG debugger will also need setting up:
|
135 |
|
|
|
136 |
|
|
Install the JTAG debugger software (WICE103E) on a PC running Windows (WinNT is
|
137 |
|
|
probably the best choice for this) in “C:/PanaX”.
|
138 |
|
|
|
139 |
|
|
Install the Matsushita provided “project” into the
|
140 |
|
|
“C:/Panax/wice103e/prj” directory.
|
141 |
|
|
|
142 |
|
|
Install the RedBoot image files into the “C:/Panax/wice103e/prj”
|
143 |
|
|
directory under the names redboot.ram and redboot.prom.
|
144 |
|
|
|
145 |
|
|
Make sure the PC's BIOS has the parallel port set to full bidirectional
|
146 |
|
|
mode.
|
147 |
|
|
|
148 |
|
|
Connect the JTAG debugger to the PC's parallel port.
|
149 |
|
|
|
150 |
|
|
Connect the JTAG debugger to the board.
|
151 |
|
|
|
152 |
|
|
Set the switch on the front of the board to boot from “boot
|
153 |
|
|
PROM”.
|
154 |
|
|
|
155 |
|
|
Power up the JTAG debugger and then power up the board.
|
156 |
|
|
|
157 |
|
|
Connect the board's Debug Serial port to a computer by a null modem cable.
|
158 |
|
|
|
159 |
|
|
Start minicom or some other serial communication software and set for 115200 baud,
|
160 |
|
|
1-N-8 with hardware (RTS/CTS) flow control.
|
161 |
|
|
|
162 |
|
|
|
163 |
|
|
|
164 |
|
|
|
165 |
|
|
Loading the RAM-based RedBoot via JTAG
|
166 |
|
|
To perform the first half of the operation, the following steps should be followed:
|
167 |
|
|
|
168 |
|
|
Start the JTAG debugger software.
|
169 |
|
|
|
170 |
|
|
|
171 |
|
|
Run the following commands at the JTAG debugger's prompt to set up the MMU registers on the
|
172 |
|
|
CPU.
|
173 |
|
|
|
174 |
|
|
ed 0xc0002000, 0x12000580
|
175 |
|
|
|
176 |
|
|
ed 0xd8c00100, 0x8000fe01
|
177 |
|
|
ed 0xd8c00200, 0x21111000
|
178 |
|
|
ed 0xd8c00204, 0x00100200
|
179 |
|
|
ed 0xd8c00208, 0x00000004
|
180 |
|
|
|
181 |
|
|
ed 0xd8c00110, 0x8400fe01
|
182 |
|
|
ed 0xd8c00210, 0x21111000
|
183 |
|
|
ed 0xd8c00214, 0x00100200
|
184 |
|
|
ed 0xd8c00218, 0x00000004
|
185 |
|
|
|
186 |
|
|
ed 0xd8c00120, 0x8600ff81
|
187 |
|
|
ed 0xd8c00220, 0x21111000
|
188 |
|
|
ed 0xd8c00224, 0x00100200
|
189 |
|
|
ed 0xd8c00228, 0x00000004
|
190 |
|
|
|
191 |
|
|
ed 0xd8c00130, 0x8680ff81
|
192 |
|
|
ed 0xd8c00230, 0x21111000
|
193 |
|
|
ed 0xd8c00234, 0x00100200
|
194 |
|
|
ed 0xd8c00238, 0x00000004
|
195 |
|
|
|
196 |
|
|
ed 0xd8c00140, 0x9800f801
|
197 |
|
|
ed 0xd8c00240, 0x00140000
|
198 |
|
|
ed 0xd8c00244, 0x11011100
|
199 |
|
|
ed 0xd8c00248, 0x01000001
|
200 |
|
|
|
201 |
|
|
ed 0xda000000, 0x55561645
|
202 |
|
|
ed 0xda000004, 0x000003c0
|
203 |
|
|
ed 0xda000008, 0x9000fe01
|
204 |
|
|
ed 0xda00000c, 0x9200fe01
|
205 |
|
|
ed 0xda000000, 0xa89b0654
|
206 |
|
|
|
207 |
|
|
|
208 |
|
|
|
209 |
|
|
Run the following commands at the JTAG debugger's prompt to tell it what regions of the CPU's
|
210 |
|
|
address space it can access:
|
211 |
|
|
|
212 |
|
|
ex 0x80000000,0x81ffffff,/mexram
|
213 |
|
|
ex 0x84000000,0x85ffffff,/mexram
|
214 |
|
|
ex 0x86000000,0x867fffff,/mexram
|
215 |
|
|
ex 0x86800000,0x87ffffff,/mexram
|
216 |
|
|
ex 0x8c000000,0x8cffffff,/mexram
|
217 |
|
|
ex 0x90000000,0x93ffffff,/mexram
|
218 |
|
|
|
219 |
|
|
|
220 |
|
|
Instruct the debugger to load the RAM RedBoot image into RAM:
|
221 |
|
|
|
222 |
|
|
_pc=90000000
|
223 |
|
|
u_pc
|
224 |
|
|
rd redboot.ram,90000000
|
225 |
|
|
|
226 |
|
|
|
227 |
|
|
Load the boot PROM RedBoot into RAM:
|
228 |
|
|
|
229 |
|
|
rd redboot.prom,91020000
|
230 |
|
|
|
231 |
|
|
|
232 |
|
|
Start RedBoot in RAM:
|
233 |
|
|
|
234 |
|
|
g
|
235 |
|
|
|
236 |
|
|
Note that RedBoot may take some time to start up, as it will attempt to query a BOOTP or DHCP
|
237 |
|
|
server to try and automatically get an IP address for the board. Note, however, that it should send
|
238 |
|
|
a plus over the serial port immediately, and the 7-segment LEDs should display “rh
|
239 |
|
|
8”.
|
240 |
|
|
|
241 |
|
|
|
242 |
|
|
|
243 |
|
|
|
244 |
|
|
Loading the boot PROM-based RedBoot via the RAM mode RedBoot
|
245 |
|
|
Once the RAM mode RedBoot is up and running, it can be communicated with by way of the serial
|
246 |
|
|
port. Commands can now be entered directly to RedBoot for flashing the boot PROM.
|
247 |
|
|
|
248 |
|
|
Instruct RedBoot to initialise the boot PROM:
|
249 |
|
|
|
250 |
|
|
RedBoot> fi init
|
251 |
|
|
|
252 |
|
|
|
253 |
|
|
Write the previously loaded redboot.prom image into the boot PROM:
|
254 |
|
|
|
255 |
|
|
RedBoot> fi write -f 0x80000000 -b 0x91020000 -l 0x00020000
|
256 |
|
|
|
257 |
|
|
|
258 |
|
|
Check that RedBoot has written the image:
|
259 |
|
|
|
260 |
|
|
RedBoot> dump -b 0x91020000
|
261 |
|
|
RedBoot> dump -b 0x80000000
|
262 |
|
|
|
263 |
|
|
Barring the difference in address, the two dumps should be the same.
|
264 |
|
|
|
265 |
|
|
Close the JTAG software and power-cycle the board. The RedBoot banners should be
|
266 |
|
|
displayed again over the serial port, followed by the RedBoot prompt. The boot PROM-based RedBoot
|
267 |
|
|
will now be running.
|
268 |
|
|
|
269 |
|
|
Power off the board and unjumper ST18 to write-protect the contents of the boot
|
270 |
|
|
PROM. Then power the board back up.
|
271 |
|
|
|
272 |
|
|
Run the following command to initialise the system flash:
|
273 |
|
|
|
274 |
|
|
RedBoot> fi init
|
275 |
|
|
|
276 |
|
|
Then program the system flash based RedBoot into the system flash:
|
277 |
|
|
|
278 |
|
|
RedBoot> load -r -b %{FREEMEMLO} redboot_FLASH.bin
|
279 |
|
|
RedBoot> fi write -f 0x84000000 -b %{FREEMEMLO} -l 0x00020000
|
280 |
|
|
|
281 |
|
|
|
282 |
|
|
NOTE
|
283 |
|
|
RedBoot arranges the flashes on booting such that they always appear at the same addresses,
|
284 |
|
|
no matter which one was booted from.
|
285 |
|
|
|
286 |
|
|
|
287 |
|
|
|
288 |
|
|
A similar sequence of commands can be used to program the boot PROM when RedBoot has been
|
289 |
|
|
booted from an image stored in the system flash.
|
290 |
|
|
|
291 |
|
|
|
292 |
|
|
RedBoot> load -r -b %{FREEMEMLO} /tftpboot/redboot_ROM.bin
|
293 |
|
|
RedBoot> fi write -f 0x80000000 -b %{FREEMEMLO} -l 0x00020000
|
294 |
|
|
|
295 |
|
|
See for details on configuring the RedBoot in
|
296 |
|
|
general, and also for more details on programming the system
|
297 |
|
|
flash.
|
298 |
|
|
|
299 |
|
|
|
300 |
|
|
|
301 |
|
|
|
302 |
|
|
|
303 |
|
|
Additional Commands
|
304 |
|
|
The exec command which allows the loading and execution of
|
305 |
|
|
Linux kernels, is supported for this architecture (see ). The
|
306 |
|
|
exec parameters used for ASB2305 board are:
|
307 |
|
|
|
308 |
|
|
|
309 |
|
|
-w <time>
|
310 |
|
|
Wait time in seconds before starting kernel
|
311 |
|
|
|
312 |
|
|
-c "params"
|
313 |
|
|
Parameters passed to kernel
|
314 |
|
|
<addr>
|
315 |
|
|
Kernel entry point, defaulting to the entry point of the last image
|
316 |
|
|
loaded
|
317 |
|
|
|
318 |
|
|
The parameter string is stored in the on-chip memory at location 0x8C001000, and is prefixed
|
319 |
|
|
by “cmdline:” if it was supplied.
|
320 |
|
|
|
321 |
|
|
|
322 |
|
|
Memory Maps
|
323 |
|
|
RedBoot sets up the following memory map on the ASB2305 board.
|
324 |
|
|
|
325 |
|
|
NOTE
|
326 |
|
|
The regions mapped between 0x80000000-0x9FFFFFFF are cached by the CPU. However, all those
|
327 |
|
|
regions can be accessed uncached by adding 0x20000000 to the address.
|
328 |
|
|
|
329 |
|
|
|
330 |
|
|
Physical Address Range Description
|
331 |
|
|
----------------------- -----------
|
332 |
|
|
0x80000000 - 0x9FFFFFFF Cached Region
|
333 |
|
|
0x80000000 - 0x81FFFFFF Boot PROM
|
334 |
|
|
0x84000000 - 0x85FFFFFF System Flash
|
335 |
|
|
0x86000000 - 0x86007FFF 64Kbit Sys Config EEPROM
|
336 |
|
|
0x86F90000 - 0x86F90003 4x 7-segment LEDs
|
337 |
|
|
0x86FA0000 - 0x86FA0003 Software DIP Switches
|
338 |
|
|
0x86FB0000 - 0x86FB001F PC16550 Debug Serial Port
|
339 |
|
|
0x8C000000 - 0x8FFFFFFF On-Chip Memory (repeated 16Kb SRAM)
|
340 |
|
|
0x90000000 - 0x93FFFFFF SDRAM
|
341 |
|
|
0x98000000 - 0x9BFFFFFF Paged PCI Memory Space (64Mb)
|
342 |
|
|
0x9C000000 - 0x9DFFFFFF PCI Local SRAM (32Mb)
|
343 |
|
|
0x9E000000 - 0x9E03FFFF PCI I/O Space
|
344 |
|
|
0x9E040000 - 0x9E0400FF AM33-PCI Bridge Registers
|
345 |
|
|
0x9FFFFFF4 - 0x9FFFFFF7 PCI Memory Page Register
|
346 |
|
|
0x9FFFFFF8 - 0x9FFFFFFF PCI Config Registers
|
347 |
|
|
0xA0000000 - 0xBFFFFFFF Uncached Mirror Region
|
348 |
|
|
0xC0000000 - 0xDFFFFFFF CPU Control Registers
|
349 |
|
|
|
350 |
|
|
The ASB2305 HAL makes use of the on-chip memory in the following way:
|
351 |
|
|
|
352 |
|
|
0x8C000000 - 0x8C0000FF hal_vsr_table
|
353 |
|
|
0x8C000100 - 0x8C0001FF hal_virtual_vector_table
|
354 |
|
|
0x8C001000 - Linux command line (RedBoot exec command)
|
355 |
|
|
- 0x8C003FFF Emergency DoubleFault Exception Stack
|
356 |
|
|
|
357 |
|
|
Currently the CPU's interrupt table lies at the beginning of the RedBoot image, which must
|
358 |
|
|
therefore be aligned to a 0xFF000000 mask.
|
359 |
|
|
|
360 |
|
|
|
361 |
|
|
Rebuilding RedBoot
|
362 |
|
|
|
363 |
|
|
These shell variables provide the platform-specific information
|
364 |
|
|
needed for building RedBoot according to the procedure described in
|
365 |
|
|
:
|
366 |
|
|
|
367 |
|
|
export TARGET=asb2305
|
368 |
|
|
export ARCH_DIR=mn10300
|
369 |
|
|
export PLATFORM_DIR=asb2305
|
370 |
|
|
|
371 |
|
|
|
372 |
|
|
|
373 |
|
|
The names of configuration files are listed above with the
|
374 |
|
|
description of the associated modes.
|
375 |
|
|
|
376 |
|
|
|
377 |
|
|
|
378 |
|
|
|
379 |
|
|
|
380 |
|
|
|
381 |
|
|
|
382 |
|
|
|
383 |
|
|
ARM/ARM7 ARM Evaluator7T
|
384 |
|
|
|
385 |
|
|
Overview
|
386 |
|
|
ARM Evaluator7Tinstalling and
|
387 |
|
|
testinginstalling and testing
|
388 |
|
|
ARM Evaluator7TRedBoot supports
|
389 |
|
|
both serial ports for communication and downloads. The default serial port
|
390 |
|
|
settings are 38400,8,N,1.
|
391 |
|
|
|
392 |
|
|
The following RedBoot configurations are supported:
|
393 |
|
|
|
394 |
|
|
|
395 |
|
|
|
396 |
|
|
397 |
|
|
|
|
398 |
|
|
Configuration
|
399 |
|
|
Mode
|
400 |
|
|
Description
|
401 |
|
|
File
|
402 |
|
|
|
403 |
|
|
|
|
404 |
|
|
405 |
|
|
|
|
406 |
|
|
ROM
|
407 |
|
|
[ROM]
|
408 |
|
|
RedBoot running from flash address 0x20000, with
|
409 |
|
|
ARM Boot Monitor in flash boot sector.
|
410 |
|
|
redboot_ROMA.ecm
|
411 |
|
|
|
412 |
|
|
|
|
413 |
|
|
|
414 |
|
|
|
415 |
|
|
|
416 |
|
|
|
417 |
|
|
|
418 |
|
|
|
419 |
|
|
Initial Installation
|
420 |
|
|
RedBoot is installed using the on-board boot environment. See the user
|
421 |
|
|
manual for full details.
|
422 |
|
|
|
423 |
|
|
|
424 |
|
|
Quick download instructions
|
425 |
|
|
Here are quick start instructions for downloading the prebuilt Redboot
|
426 |
|
|
image:
|
427 |
|
|
|
428 |
|
|
Boot the board and press ENTER:
|
429 |
|
|
|
430 |
|
|
|
431 |
|
|
ARM Evaluator7T Boot Monitor PreRelease 1.00
|
432 |
|
|
Press ENTER within 2 seconds to stop autoboot
|
433 |
|
|
Boot:
|
434 |
|
|
|
435 |
|
|
Erase the part of the flash where RedBoot will get programmed:
|
436 |
|
|
|
437 |
|
|
Boot: flasherase 01820000 10000
|
438 |
|
|
|
439 |
|
|
Prepare to download the UU-encoded version of the RedBoot
|
440 |
|
|
image:
|
441 |
|
|
Boot: download 10000
|
442 |
|
|
Ready to download. Use 'transmit' option on terminal emulator to download file.
|
443 |
|
|
|
444 |
|
|
|
445 |
|
|
Either use ASCII transmit option in the terminal emulator,
|
446 |
|
|
or on Linux, simply cat the file to the serial port: $
|
447 |
|
|
cat redboot.UU > /dev/ttyS0When complete, you should
|
448 |
|
|
see: Loaded file redboot.bin at address 000100000, size = 41960
|
449 |
|
|
Boot:
|
450 |
|
|
|
451 |
|
|
Program the flash: Boot: flashwrite 01820000 10000 10000
|
452 |
|
|
|
453 |
|
|
|
454 |
|
|
And verify that the module is available: Boot:
|
455 |
|
|
rommodules
|
456 |
|
|
Header Base Limit
|
457 |
|
|
018057c8 01800000 018059e7 BootStrapLoader v1.0 Apr 27 2000 10:33:58
|
458 |
|
|
01828f24 01820000 0182a3e8 RedBoot Apr 5 2001
|
459 |
|
|
|
460 |
|
|
Reboot the board and you should see the RedBoot banner.
|
461 |
|
|
|
462 |
|
|
|
463 |
|
|
|
464 |
|
|
|
465 |
|
|
Special RedBoot Commands
|
466 |
|
|
None.
|
467 |
|
|
|
468 |
|
|
|
469 |
|
|
Memory Maps
|
470 |
|
|
RedBoot sets up the following memory map on the E7T board.
|
471 |
|
|
NOTE
|
472 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
473 |
|
|
whether or not the region is cached (C) or buffered (B).
|
474 |
|
|
Physical Address Range C B Description
|
475 |
|
|
----------------------- - - -----------
|
476 |
|
|
0x00000000 - 0x0007ffff Y N SDRAM
|
477 |
|
|
0x03ff0000 - 0x03ffffff N N Microcontroller registers
|
478 |
|
|
0x01820000 - 0x0187ffff N N System flash (mirrored)
|
479 |
|
|
|
480 |
|
|
|
481 |
|
|
Rebuilding RedBoot
|
482 |
|
|
|
483 |
|
|
These shell variables provide the platform-specific information
|
484 |
|
|
needed for building RedBoot according to the procedure described in
|
485 |
|
|
:
|
486 |
|
|
|
487 |
|
|
export TARGET=e7t
|
488 |
|
|
export ARCH_DIR=arm
|
489 |
|
|
export PLATFORM_DIR=e7t
|
490 |
|
|
|
491 |
|
|
|
492 |
|
|
|
493 |
|
|
The names of configuration files are listed above with the
|
494 |
|
|
description of the associated modes.
|
495 |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
|
499 |
|
|
|
500 |
|
|
|
501 |
|
|
ARM/ARM7+ARM9 ARM Integrator
|
502 |
|
|
|
503 |
|
|
Overview
|
504 |
|
|
ARM Integratorinstalling and
|
505 |
|
|
testinginstalling and testing
|
506 |
|
|
ARM IntegratorRedBoot supports
|
507 |
|
|
both serial ports for communication and downloads. The default serial port
|
508 |
|
|
settings are 38400,8,N,1.
|
509 |
|
|
|
510 |
|
|
The following RedBoot configurations are supported:
|
511 |
|
|
|
512 |
|
|
|
513 |
|
|
|
514 |
|
|
515 |
|
|
|
|
516 |
|
|
Configuration
|
517 |
|
|
Mode
|
518 |
|
|
Description
|
519 |
|
|
File
|
520 |
|
|
|
521 |
|
|
|
|
522 |
|
|
523 |
|
|
|
|
524 |
|
|
ROM
|
525 |
|
|
[ROM]
|
526 |
|
|
RedBoot running from the board's flash boot
|
527 |
|
|
sector.
|
528 |
|
|
redboot_ROM.ecm
|
529 |
|
|
|
530 |
|
|
|
|
531 |
|
|
RAM
|
532 |
|
|
[RAM]
|
533 |
|
|
RedBoot running from RAM with RedBoot in the
|
534 |
|
|
flash boot sector.
|
535 |
|
|
redboot_RAM.ecm
|
536 |
|
|
|
537 |
|
|
|
|
538 |
|
|
ROMRAM
|
539 |
|
|
[ROMRAM]
|
540 |
|
|
RedBoot running from RAM, but contained in the
|
541 |
|
|
board's flash boot sector.
|
542 |
|
|
redboot_ROMRAM.ecm
|
543 |
|
|
|
544 |
|
|
|
|
545 |
|
|
|
546 |
|
|
|
547 |
|
|
|
548 |
|
|
|
549 |
|
|
|
550 |
|
|
|
551 |
|
|
|
552 |
|
|
Initial Installation
|
553 |
|
|
RedBoot is installed using the on-board bootPROM environment. See the user
|
554 |
|
|
manual for full details.
|
555 |
|
|
|
556 |
|
|
|
557 |
|
|
Quick download instructions
|
558 |
|
|
Here are quick start instructions for downloading the prebuilt Redboot
|
559 |
|
|
image:
|
560 |
|
|
|
561 |
|
|
Set DIP switch S1[1] to the ON position and reset or
|
562 |
|
|
power the board up. You will see the bootPROM startup message on
|
563 |
|
|
serial port A (J14):
|
564 |
|
|
|
565 |
|
|
Initialising...
|
566 |
|
|
|
567 |
|
|
|
568 |
|
|
ARM bootPROM [Version 1.3] Rebuilt on Jun 26 2001 at 22:04:10
|
569 |
|
|
Running on a Integrator Evaluation Board
|
570 |
|
|
Board Revision V1.0, ARM966E-S Processor
|
571 |
|
|
Memory Size is 16MBytes, Flash Size is 32MBytes
|
572 |
|
|
Copyright (c) ARM Limited 1999 - 2001. All rights reserved.
|
573 |
|
|
Board designed by ARM Limited
|
574 |
|
|
Hardware support provided at http://www.arm.com/
|
575 |
|
|
For help on the available commands type ? or h
|
576 |
|
|
boot Monitor >
|
577 |
|
|
|
578 |
|
|
|
579 |
|
|
|
580 |
|
|
Issue the FLASH ROM load command:
|
581 |
|
|
|
582 |
|
|
|
583 |
|
|
boot Monitor > L
|
584 |
|
|
Load Motorola S-Records into flash
|
585 |
|
|
|
586 |
|
|
Deleting Image 0
|
587 |
|
|
|
588 |
|
|
The S-Record loader only accepts input on the serial port.
|
589 |
|
|
Type Ctrl/C to exit loader.
|
590 |
|
|
|
591 |
|
|
|
592 |
|
|
Either use the ASCII transmit option in the terminal emulator,
|
593 |
|
|
or on Linux, simply cat the file to the serial port:
|
594 |
|
|
|
595 |
|
|
|
596 |
|
|
$ cat redboot.srec > /dev/ttyS0
|
597 |
|
|
|
598 |
|
|
|
599 |
|
|
When complete, type Ctrl-C and you should see something similar to:
|
600 |
|
|
|
601 |
|
|
|
602 |
|
|
................................
|
603 |
|
|
................................
|
604 |
|
|
....................
|
605 |
|
|
Downloaded 5,394 records in 81 seconds.
|
606 |
|
|
|
607 |
|
|
Overwritten block/s
|
608 |
|
|
|
609 |
|
|
|
610 |
|
|
boot Monitor >
|
611 |
|
|
|
612 |
|
|
|
613 |
|
|
Set DIP switch S1[1] to the OFF position and reboot
|
614 |
|
|
the board and you should see the RedBoot banner.
|
615 |
|
|
|
616 |
|
|
|
617 |
|
|
|
618 |
|
|
|
619 |
|
|
Special RedBoot Commands
|
620 |
|
|
None.
|
621 |
|
|
|
622 |
|
|
|
623 |
|
|
Memory Maps
|
624 |
|
|
RedBoot sets up the following memory map on the Integrator board.
|
625 |
|
|
NOTE
|
626 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
627 |
|
|
whether or not the region is cached (C) or buffered (B).
|
628 |
|
|
|
629 |
|
|
|
630 |
|
|
|
631 |
|
|
ARM7TDMI
|
632 |
|
|
--------
|
633 |
|
|
|
634 |
|
|
Physical Address Range C B Description
|
635 |
|
|
----------------------- - - -----------
|
636 |
|
|
0x00000000 - 0x0007ffff N N SSRAM
|
637 |
|
|
0x00080000 - 0x0fffffff N N SDRAM (depends on part fitted)
|
638 |
|
|
0x10000000 - 0x1fffffff N N System control and peripheral registers
|
639 |
|
|
0x20000000 - 0x23ffffff N N Boot ROM (contains boot Monitor)
|
640 |
|
|
0x24000000 - 0x27ffffff N N FLASH ROM (contains RedBoot)
|
641 |
|
|
0x28000000 - 0x2bffffff N N SSRAM echo area
|
642 |
|
|
0x40000000 - 0x5fffffff N N PCI Memory access windows
|
643 |
|
|
0x60000000 - 0x60ffffff N N PCI IO access window
|
644 |
|
|
0x61000000 - 0x61ffffff N N PCI config space window
|
645 |
|
|
0x62000000 - 0x6200ffff N N PCI bridge register window
|
646 |
|
|
0x80000000 - 0x8fffffff N N SDRAM echo area (used for PCI accesses)
|
647 |
|
|
|
648 |
|
|
|
649 |
|
|
ARM966E
|
650 |
|
|
-------
|
651 |
|
|
|
652 |
|
|
Physical Address Range C B Description
|
653 |
|
|
----------------------- - - -----------
|
654 |
|
|
0x00000000 - 0x000fffff N N SSRAM
|
655 |
|
|
0x00100000 - 0x0fffffff N N SDRAM (depends on part fitted)
|
656 |
|
|
0x10000000 - 0x1fffffff N N System control and peripheral registers
|
657 |
|
|
0x20000000 - 0x23ffffff N N Boot ROM (contains boot Monitor)
|
658 |
|
|
0x24000000 - 0x27ffffff N N FLASH ROM (contains RedBoot)
|
659 |
|
|
0x28000000 - 0x2bffffff N N SSRAM echo area
|
660 |
|
|
0x40000000 - 0x5fffffff N N PCI Memory access windows
|
661 |
|
|
0x60000000 - 0x60ffffff N N PCI IO access window
|
662 |
|
|
0x61000000 - 0x61ffffff N N PCI config space window
|
663 |
|
|
0x62000000 - 0x6200ffff N N PCI bridge register window
|
664 |
|
|
0x80000000 - 0x8fffffff N N SDRAM echo area (used for PCI accesses)
|
665 |
|
|
|
666 |
|
|
|
667 |
|
|
|
668 |
|
|
|
669 |
|
|
|
670 |
|
|
Rebuilding RedBoot
|
671 |
|
|
|
672 |
|
|
These shell variables provide the platform-specific information
|
673 |
|
|
needed for building RedBoot according to the procedure described in
|
674 |
|
|
:
|
675 |
|
|
|
676 |
|
|
export TARGET=integrator
|
677 |
|
|
export ARCH_DIR=arm
|
678 |
|
|
export PLATFORM_DIR=integrator
|
679 |
|
|
|
680 |
|
|
|
681 |
|
|
|
682 |
|
|
The names of configuration files are listed above with the
|
683 |
|
|
description of the associated modes.
|
684 |
|
|
|
685 |
|
|
|
686 |
|
|
|
687 |
|
|
|
688 |
|
|
|
689 |
|
|
|
690 |
|
|
ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9
|
691 |
|
|
|
692 |
|
|
Overview
|
693 |
|
|
ARM ARM7 PID, Dev7 and Dev9
|
694 |
|
|
installing and testinginstalling
|
695 |
|
|
and testingARM ARM7 PID, Dev7 and Dev9RedBoot
|
696 |
|
|
uses either of the serial ports. The default serial port settings are 38400,8,N,1.
|
697 |
|
|
Management of onboard flash is also supported.
|
698 |
|
|
|
699 |
|
|
The following RedBoot configurations are supported:
|
700 |
|
|
|
701 |
|
|
|
702 |
|
|
|
703 |
|
|
704 |
|
|
|
|
705 |
|
|
Configuration
|
706 |
|
|
Mode
|
707 |
|
|
Description
|
708 |
|
|
File
|
709 |
|
|
|
710 |
|
|
|
|
711 |
|
|
712 |
|
|
|
|
713 |
|
|
ROM
|
714 |
|
|
[ROM]
|
715 |
|
|
RedBoot running from the board's flash boot
|
716 |
|
|
sector.
|
717 |
|
|
redboot_ROM.ecm
|
718 |
|
|
|
719 |
|
|
|
|
720 |
|
|
RAM
|
721 |
|
|
[RAM]
|
722 |
|
|
RedBoot running from RAM with RedBoot in the
|
723 |
|
|
flash boot sector.
|
724 |
|
|
redboot_RAM.ecm
|
725 |
|
|
|
726 |
|
|
|
|
727 |
|
|
|
728 |
|
|
|
729 |
|
|
|
730 |
|
|
|
731 |
|
|
|
732 |
|
|
|
733 |
|
|
Initial Installation Method
|
734 |
|
|
Device programmer is used to program socketed flash parts with ROM version
|
735 |
|
|
of RedBoot.
|
736 |
|
|
Alternatively, to install RedBoot on a target that already has eCos
|
737 |
|
|
GDB stubs, download the RAM mode image of RedBoot and run it. Initialize the
|
738 |
|
|
flash image directory: fis init Then
|
739 |
|
|
download the ROM version of RedBoot and program it into flash:
|
740 |
|
|
RedBoot> load -b %{FREEMEMLO} -m ymodem
|
741 |
|
|
RedBoot> fi cr RedBoot
|
742 |
|
|
|
743 |
|
|
|
744 |
|
|
|
745 |
|
|
Special RedBoot Commands
|
746 |
|
|
None.
|
747 |
|
|
|
748 |
|
|
|
749 |
|
|
Memory Maps
|
750 |
|
|
RedBoot sets up the following memory map on the PID board.
|
751 |
|
|
Physical Address Range Description
|
752 |
|
|
----------------------- -----------
|
753 |
|
|
0x00000000 - 0x0007ffff DRAM
|
754 |
|
|
0x04000000 - 0x04080000 flash
|
755 |
|
|
0x08000000 - 0x09ffffff ASB Expansion
|
756 |
|
|
0x0a000000 - 0x0bffffff APB Reference Peripheral
|
757 |
|
|
0x0c000000 - 0x0fffffff NISA Serial, Parallel and PC Card ports
|
758 |
|
|
|
759 |
|
|
|
760 |
|
|
Rebuilding RedBoot
|
761 |
|
|
|
762 |
|
|
These shell variables provide the platform-specific information
|
763 |
|
|
needed for building RedBoot according to the procedure described in
|
764 |
|
|
:
|
765 |
|
|
|
766 |
|
|
export TARGET=pid
|
767 |
|
|
export ARCH_DIR=arm
|
768 |
|
|
export PLATFORM_DIR=pid
|
769 |
|
|
|
770 |
|
|
|
771 |
|
|
|
772 |
|
|
The names of configuration files are listed above with the
|
773 |
|
|
description of the associated modes.
|
774 |
|
|
|
775 |
|
|
|
776 |
|
|
|
777 |
|
|
|
778 |
|
|
|
779 |
|
|
ARM/ARM7 Atmel AT91 Evaluation Boards (EBXX)
|
780 |
|
|
|
781 |
|
|
Overview
|
782 |
|
|
Atmel AT91/EBXX
|
783 |
|
|
installing and testing
|
784 |
|
|
installing and testingAtmel AT91/EBXX
|
785 |
|
|
|
786 |
|
|
RedBoot support is available for the EB40, EB40A, EB42 and EB55
|
787 |
|
|
boards. By default all these boards are shipped with only 256Kbytes of
|
788 |
|
|
RAM. To minimize the amount of RAM used by RedBoot, only very basic
|
789 |
|
|
flash management is provided, comprising of just the fis
|
790 |
|
|
erase and fis write commands.
|
791 |
|
|
|
792 |
|
|
|
793 |
|
|
RedBoot supports both serial ports. On all AT91 evaluation boards, serial
|
794 |
|
|
port A requires a straight through cable to connect with a PC, whereas
|
795 |
|
|
serial port B requires a null modem cable. If you fail to be able to
|
796 |
|
|
connect to Angel in the instructions below when installing RedBoot, be
|
797 |
|
|
sure to verify you are using the appropriate cable for the serial port.
|
798 |
|
|
The default serial port settings for RedBoot are 38400,8,N,1.
|
799 |
|
|
|
800 |
|
|
|
801 |
|
|
The following RedBoot configurations are supported:
|
802 |
|
|
|
803 |
|
|
|
804 |
|
|
|
805 |
|
|
806 |
|
|
|
|
807 |
|
|
Configuration
|
808 |
|
|
Mode
|
809 |
|
|
Description
|
810 |
|
|
File
|
811 |
|
|
|
812 |
|
|
|
|
813 |
|
|
814 |
|
|
|
|
815 |
|
|
ROM
|
816 |
|
|
[ROM]
|
817 |
|
|
RedBoot running from the board's flash boot
|
818 |
|
|
sector.
|
819 |
|
|
redboot_ROM.ecm
|
820 |
|
|
|
821 |
|
|
|
|
822 |
|
|
RAM
|
823 |
|
|
[RAM]
|
824 |
|
|
RedBoot running from RAM with RedBoot in the
|
825 |
|
|
flash boot sector.
|
826 |
|
|
redboot_RAM.ecm
|
827 |
|
|
|
828 |
|
|
|
|
829 |
|
|
ROMRAM
|
830 |
|
|
[ROMRAM]
|
831 |
|
|
RedBoot running from RAM, but contained in the
|
832 |
|
|
board's flash boot sector.
|
833 |
|
|
redboot_ROMRAM.ecm
|
834 |
|
|
|
835 |
|
|
|
|
836 |
|
|
|
837 |
|
|
|
838 |
|
|
|
839 |
|
|
|
840 |
|
|
|
841 |
|
|
|
842 |
|
|
Initial Installation Method
|
843 |
|
|
|
844 |
|
|
RedBoot installation is essentially the same for all boards, however
|
845 |
|
|
the details differ slightly. Please make sure you follow the
|
846 |
|
|
directions from the correct section below. Any errors could result in
|
847 |
|
|
an unusable board.
|
848 |
|
|
|
849 |
|
|
|
850 |
|
|
|
851 |
|
|
Installing RedBoot on the EB40
|
852 |
|
|
|
853 |
|
|
This development board comes with ARM's debug tool, Angel, installed
|
854 |
|
|
in flash. At this time, Angel will not be replaced. Rather, RedBoot
|
855 |
|
|
will be placed in the alternate half of flash. Switch SW1 is used to
|
856 |
|
|
select which monitor to boot. Once RedBoot is installed, selecting SW1
|
857 |
|
|
to lower mem will choose Angel, whereas selecting
|
858 |
|
|
SW1 to upper mem will choose RedBoot.
|
859 |
|
|
|
860 |
|
|
|
861 |
|
|
Set SW1 to lower mem and connect serial port A to a
|
862 |
|
|
host computer. Using GDB from the host and Angel on the board,
|
863 |
|
|
download and run the RAM mode image of RedBoot to the board.
|
864 |
|
|
|
865 |
|
|
arm-elf-gdb redboot_RAM.elf
|
866 |
|
|
(gdb) tar rdi s=/dev/ttyS0
|
867 |
|
|
Angel Debug Monitor (serial) 1.04 (Advanced RISC Machines SDT 2.5) for
|
868 |
|
|
AT91EB40 (2.00)
|
869 |
|
|
Angel Debug Monitor rebuilt on Apr 07 2000 at 12:40:31
|
870 |
|
|
Serial Rate: 9600
|
871 |
|
|
Connected to ARM RDI target.
|
872 |
|
|
(gdb) set $cpsr=0xd3
|
873 |
|
|
(gdb) load
|
874 |
|
|
Loading section .rom_vectors, size 0x40 lma 0x2020000
|
875 |
|
|
Loading section .text, size 0x7fd8 lma 0x2020040
|
876 |
|
|
Loading section .rodata, size 0x15a0 lma 0x2028018
|
877 |
|
|
Loading section .data, size 0x2e4 lma 0x20295b8
|
878 |
|
|
Start address 0x2020040 , load size 39068
|
879 |
|
|
Transfer rate: 6250 bits/sec, 500 bytes/write.
|
880 |
|
|
(gdb) cont
|
881 |
|
|
Continuing.
|
882 |
|
|
|
883 |
|
|
Once RedBoot is started, the GDB session connected with Angel
|
884 |
|
|
must be suspended (this can be done using Ctrl-Z) or terminated
|
885 |
|
|
(with Ctrl-C or the Windows task manager). Follow this
|
886 |
|
|
by connecting to the board using a terminal emulator such as
|
887 |
|
|
hyperterminal or minicom at 38400-8N1. At this point, RedBoot will be running on the board in
|
888 |
|
|
RAM.
|
889 |
|
|
|
890 |
|
|
RedBoot> version
|
891 |
|
|
|
892 |
|
|
RedBoot(tm) bootstrap and debug environment [RAM]
|
893 |
|
|
Non-certified release, version UNKNOWN - built 14:09:27, Jul 20 2001
|
894 |
|
|
|
895 |
|
|
Platform: Atmel AT91/EB40 (ARM7TDMI)
|
896 |
|
|
Copyright (C) 2000, 2001, Free Software Foundation, Inc.
|
897 |
|
|
|
898 |
|
|
RAM: 0x02000000-0x02080000, 0x020116d8-0x0207fd00 available
|
899 |
|
|
FLASH: 0x01010000 - 0x01020000, 256 blocks of 0x00000100 bytes each.
|
900 |
|
|
|
901 |
|
|
RedBoot>
|
902 |
|
|
|
903 |
|
|
Now, download the ROM mode image.
|
904 |
|
|
|
905 |
|
|
RedBoot> load -m ymodem -b %{FREEMEMLO}
|
906 |
|
|
|
907 |
|
|
Use your terminal emulator to send the file redboot_ROM.srec via YModem.
|
908 |
|
|
e.g. Transfer->Send File in Hyperterminal, or
|
909 |
|
|
Ctrl-A S in minicom.
|
910 |
|
|
Finally, program it to flash.
|
911 |
|
|
|
912 |
|
|
RedBoot> fi wr -f 0x01010000 -b %{FREEMEMLO} -l 0xe100
|
913 |
|
|
|
914 |
|
|
SW1 should now be set to upper mem to select booting
|
915 |
|
|
with RedBoot rather than Angel. Finally, press the "reset" pushbutton and
|
916 |
|
|
RedBoot should come up on the board.
|
917 |
|
|
|
918 |
|
|
|
919 |
|
|
|
920 |
|
|
|
921 |
|
|
Installing RedBoot on the EB40A, EB42 or EB55
|
922 |
|
|
|
923 |
|
|
These development boards come with ARM's debug tool, Angel, installed
|
924 |
|
|
in flash. At this time, Angel will not be replaced. Rather, RedBoot
|
925 |
|
|
will be placed in the alternate half of flash. Jumper JP1 is used to
|
926 |
|
|
select which monitor to boot. Once RedBoot is installed, setting JP1
|
927 |
|
|
to STD will choose Angel, whereas setting JP1 to
|
928 |
|
|
USER will choose RedBoot.
|
929 |
|
|
|
930 |
|
|
|
931 |
|
|
Set JP1 to STD and connect serial port A to a host
|
932 |
|
|
computer. Using GDB from the host and Angel on the board, download
|
933 |
|
|
the RAM mode image of RedBoot to the board, and start it using the
|
934 |
|
|
'cont' command.
|
935 |
|
|
|
936 |
|
|
arm-elf-gdb redboot_RAM.elf
|
937 |
|
|
(gdb) tar rdi s=/dev/ttyS0
|
938 |
|
|
Angel Debug Monitor (serial) 1.04 (Advanced RISC Machines SDT 2.5) for AT91EB55 (2.20)
|
939 |
|
|
Angel Debug Monitor rebuilt on Feb 03 2002 at 16:10:20
|
940 |
|
|
Serial Rate: 9600
|
941 |
|
|
Connected to ARM RDI target.
|
942 |
|
|
(gdb) set $cpsr=0xd3
|
943 |
|
|
(gdb) load
|
944 |
|
|
Loading section .rom_vectors, size 0x40 lma 0x2008000
|
945 |
|
|
Loading section .text, size 0xb0b8 lma 0x2008040
|
946 |
|
|
Loading section .rodata, size 0x1c27 lma 0x20130f8
|
947 |
|
|
Loading section .data, size 0x5f0 lma 0x2014d20
|
948 |
|
|
Start address 0x2008040, load size 54031
|
949 |
|
|
Transfer rate: 6264 bits/sec, 500 bytes/write.
|
950 |
|
|
(gdb) cont
|
951 |
|
|
Continuing.
|
952 |
|
|
|
953 |
|
|
Once RedBoot is started, the GDB session connected with Angel must be
|
954 |
|
|
suspended (this can be done using Ctrl-Z) or terminated
|
955 |
|
|
(with Ctrl-C or the Windows task manager). Follow this by connecting to
|
956 |
|
|
the board using a terminal emulator such as hyperterminal or minicom
|
957 |
|
|
at 38400-8N1. At this point, RedBoot will be running on the board in
|
958 |
|
|
RAM.
|
959 |
|
|
|
960 |
|
|
RedBoot> version
|
961 |
|
|
|
962 |
|
|
RedBoot(tm) bootstrap and debug environment [RAM]
|
963 |
|
|
Non-certified release, version UNKNOWN - built 16:58:52, May 7 2003
|
964 |
|
|
|
965 |
|
|
Platform: Atmel AT91/EB55 (ARM7TDMI)
|
966 |
|
|
Copyright (C) 2000, 2001, 2002, Free Software Foundation, Inc.
|
967 |
|
|
|
968 |
|
|
RAM: 0x02000000-0x02040000, 0x020068a8-0x0203f000 available
|
969 |
|
|
FLASH: 0x01010000 - 0x01200000, 31 blocks of 0x00010000 bytes each.
|
970 |
|
|
|
971 |
|
|
RedBoot>
|
972 |
|
|
|
973 |
|
|
Now, download the ROM mode image.
|
974 |
|
|
|
975 |
|
|
RedBoot> load -m ymodem -b %{FREEMEMLO}
|
976 |
|
|
|
977 |
|
|
Use your terminal emulator to send the file redboot_ROM.srec via YModem.
|
978 |
|
|
e.g. Transfer->Send File in Hyperterminal, or
|
979 |
|
|
Ctrl-A S in minicom.
|
980 |
|
|
Finally, program it to flash.
|
981 |
|
|
|
982 |
|
|
RedBoot> fi wr -f 0x01100000 -b %{FREEMEMLO} -l 0x10000
|
983 |
|
|
|
984 |
|
|
Set JP1 to the USER setting, press the "reset"
|
985 |
|
|
pushbutton and RedBoot should come up on the board.
|
986 |
|
|
|
987 |
|
|
|
988 |
|
|
|
989 |
|
|
|
990 |
|
|
|
991 |
|
|
|
992 |
|
|
Special RedBoot Commands
|
993 |
|
|
None.
|
994 |
|
|
|
995 |
|
|
|
996 |
|
|
Memory Maps
|
997 |
|
|
This processor has no MMU, so the only memory map is for
|
998 |
|
|
physical addresses.
|
999 |
|
|
|
1000 |
|
|
|
1001 |
|
|
The memory layout of the EB40 is as follows:
|
1002 |
|
|
|
1003 |
|
|
Physical Address Range Description
|
1004 |
|
|
----------------------- ----------------------------------
|
1005 |
|
|
0x00000000 - 0x00000fff On-chip SRAM
|
1006 |
|
|
0x01000000 - 0x0101ffff Flash
|
1007 |
|
|
0x02000000 - 0x0207ffff RAM
|
1008 |
|
|
0xffe00000 - 0xffffffff I/O registers
|
1009 |
|
|
|
1010 |
|
|
|
1011 |
|
|
The flash based RedBoot image occupies virtual addresses 0x01010000 - 0x0101dfff.
|
1012 |
|
|
|
1013 |
|
|
|
1014 |
|
|
|
1015 |
|
|
The memory layout of the EB40A is as follows:
|
1016 |
|
|
|
1017 |
|
|
Physical Address Range Description
|
1018 |
|
|
----------------------- ----------------------------------
|
1019 |
|
|
0x00000000 - 0x0003ffff On-chip SRAM
|
1020 |
|
|
0x01000000 - 0x011fffff Flash
|
1021 |
|
|
0x02000000 - 0x02ffffff External SRAM (optional)
|
1022 |
|
|
0xffe00000 - 0xffffffff I/O registers
|
1023 |
|
|
|
1024 |
|
|
|
1025 |
|
|
The flash based RedBoot image occupies virtual addresses 0x01100000 - 0x0110ffff.
|
1026 |
|
|
|
1027 |
|
|
|
1028 |
|
|
|
1029 |
|
|
The memory layout of the EB42 and EB55 is as follows:
|
1030 |
|
|
|
1031 |
|
|
Physical Address Range Description
|
1032 |
|
|
----------------------- ----------------------------------
|
1033 |
|
|
0x00000000 - 0x00001fff On-chip SRAM
|
1034 |
|
|
0x01000000 - 0x011fffff Flash
|
1035 |
|
|
0x02000000 - 0x0203ffff RAM
|
1036 |
|
|
0xffe00000 - 0xffffffff I/O registers
|
1037 |
|
|
|
1038 |
|
|
|
1039 |
|
|
The flash based RedBoot image occupies virtual addresses 0x01100000 - 0x0110ffff.
|
1040 |
|
|
|
1041 |
|
|
|
1042 |
|
|
|
1043 |
|
|
|
1044 |
|
|
Rebuilding RedBoot
|
1045 |
|
|
|
1046 |
|
|
These shell variables provide the platform-specific information
|
1047 |
|
|
needed for building RedBoot according to the procedure described in
|
1048 |
|
|
:
|
1049 |
|
|
|
1050 |
|
|
export ARCH_DIR=arm
|
1051 |
|
|
|
1052 |
|
|
export TARGET=eb40
|
1053 |
|
|
export PLATFORM_DIR=at91/eb40
|
1054 |
|
|
|
1055 |
|
|
export TARGET=eb40a
|
1056 |
|
|
export PLATFORM_DIR=at91/eb40a
|
1057 |
|
|
|
1058 |
|
|
export TARGET=eb42
|
1059 |
|
|
export PLATFORM_DIR=at91/eb42
|
1060 |
|
|
|
1061 |
|
|
export TARGET=eb55
|
1062 |
|
|
export PLATFORM_DIR=at91/eb55
|
1063 |
|
|
|
1064 |
|
|
|
1065 |
|
|
Use just one of the TARGET and
|
1066 |
|
|
PLATFORM_DIR variable pairs only.
|
1067 |
|
|
|
1068 |
|
|
|
1069 |
|
|
The names of configuration files are listed above with the
|
1070 |
|
|
description of the associated modes.
|
1071 |
|
|
|
1072 |
|
|
When reprogramming RedBoot using RedBoot itself, you should
|
1073 |
|
|
load a RedBoot RAM image as normal, and load the new ROM image
|
1074 |
|
|
into RAM. However before programming the new image into Flash
|
1075 |
|
|
you must switch SW1 to lower mem (EB40)
|
1076 |
|
|
or set JP1 to STD (EB40A, EB42, EB55) before writing to Flash.
|
1077 |
|
|
|
1078 |
|
|
|
1079 |
|
|
Warning!Failure to set SW1 to
|
1080 |
|
|
lower mem (EB40) or JP1 to
|
1081 |
|
|
STD (EB40A, EB42, EB55) will cause the
|
1082 |
|
|
installation of RedBoot to overwrite Angel, thus making the board
|
1083 |
|
|
unbootable. Only hardware JTAG can restore the
|
1084 |
|
|
board once in this state.
|
1085 |
|
|
|
1086 |
|
|
|
1087 |
|
|
|
1088 |
|
|
|
1089 |
|
|
|
1090 |
|
|
|
1091 |
|
|
ARM/ARM7 Atmel JTST Evaluation Board (AT572D740-DK1)
|
1092 |
|
|
|
1093 |
|
|
Overview
|
1094 |
|
|
Atmel AT91/JTST
|
1095 |
|
|
installing and testing
|
1096 |
|
|
installing and testingAtmel AT91/JTST
|
1097 |
|
|
|
1098 |
|
|
RedBoot support is available for the JTST board.
|
1099 |
|
|
By default this board is shipped with 256Kbytes of
|
1100 |
|
|
external SRAM. To minimize the amount of RAM used by RedBoot, only very basic
|
1101 |
|
|
flash management is provided, comprising of just the fis
|
1102 |
|
|
erase and fis write commands.
|
1103 |
|
|
|
1104 |
|
|
|
1105 |
|
|
RedBoot supports two serial ports.
|
1106 |
|
|
The default serial port settings for RedBoot are 115200,8,N,1.
|
1107 |
|
|
|
1108 |
|
|
|
1109 |
|
|
The following RedBoot configurations are supported:
|
1110 |
|
|
|
1111 |
|
|
|
1112 |
|
|
|
1113 |
|
|
1114 |
|
|
|
|
1115 |
|
|
Configuration
|
1116 |
|
|
Mode
|
1117 |
|
|
Description
|
1118 |
|
|
File
|
1119 |
|
|
|
1120 |
|
|
|
|
1121 |
|
|
1122 |
|
|
|
|
1123 |
|
|
ROM
|
1124 |
|
|
[ROM]
|
1125 |
|
|
RedBoot running from the board's flash boot
|
1126 |
|
|
sector.
|
1127 |
|
|
redboot_ROM.ecm
|
1128 |
|
|
|
1129 |
|
|
|
|
1130 |
|
|
RAM
|
1131 |
|
|
[RAM]
|
1132 |
|
|
RedBoot running from RAM with RedBoot in the
|
1133 |
|
|
flash boot sector.
|
1134 |
|
|
redboot_RAM.ecm
|
1135 |
|
|
|
1136 |
|
|
|
1137 |
|
|
|
|
1138 |
|
|
|
1139 |
|
|
|
1140 |
|
|
|
1141 |
|
|
|
1142 |
|
|
|
1143 |
|
|
Installing a RedBoot image on the JTST
|
1144 |
|
|
|
1145 |
|
|
This development board comes with RedBoot installed on flash. To
|
1146 |
|
|
install a new version of RedBoot or another binary image in flash you
|
1147 |
|
|
must start a GDB session setting a remote target and load and run the
|
1148 |
|
|
jtstflashd.elf diopsis application. This is a
|
1149 |
|
|
daemon that listens on JTST serial port 1. On the PC side you must use
|
1150 |
|
|
the jtstflash.exe (both linux and windows PC are
|
1151 |
|
|
supported) to flash the image on JTST. The sources for win32 and
|
1152 |
|
|
linux/cygwin versions of this host tool can be found in the support
|
1153 |
|
|
directory of the jtst hal. The binaries can be found along with the
|
1154 |
|
|
binaries for redboot on the eCos website at
|
1155 |
|
|
|
1156 |
|
|
http://ecos.sourceware.org/ecos/boards/redbootbins/at91jtst/
|
1157 |
|
|
|
1158 |
|
|
|
1159 |
|
|
When the jtstflashd.elf is started, the user should open the jumper
|
1160 |
|
|
JP5 to write in the second half (512Kbytes) of the flash, in this way
|
1161 |
|
|
the original RedBoot image is preserved.
|
1162 |
|
|
|
1163 |
|
|
|
1164 |
|
|
GDB console
|
1165 |
|
|
|
1166 |
|
|
arm-elf-gdb jtstflash.elf
|
1167 |
|
|
(gdb) set remotebaud 115200
|
1168 |
|
|
(gdb) target remote /dev/ttyS0
|
1169 |
|
|
Remote debugging using /dev/ttyS0
|
1170 |
|
|
0x00502a44 in ?? ()
|
1171 |
|
|
(gdb) load
|
1172 |
|
|
Loading section .internal_vectors, size 0x1c4 lma 0x160
|
1173 |
|
|
Loading section .rom_vectors, size 0x40 lma 0x606000
|
1174 |
|
|
Loading section .text, size 0x14198 lma 0x606040
|
1175 |
|
|
Loading section .rodata, size 0xb6c lma 0x61a1d8
|
1176 |
|
|
Loading section .data, size 0x498 lma 0x61ad44
|
1177 |
|
|
Start address 0x606040, load size 86944
|
1178 |
|
|
Transfer rate: 77283 bits/sec, 301 bytes/write.
|
1179 |
|
|
(gdb) c
|
1180 |
|
|
Continuing.
|
1181 |
|
|
* JTST FLASH PROGRAMMER
|
1182 |
|
|
* opening usart port 1
|
1183 |
|
|
...
|
1184 |
|
|
|
1185 |
|
|
|
1186 |
|
|
|
1187 |
|
|
PC console
|
1188 |
|
|
|
1189 |
|
|
jtstflash mybinaryimage.bin
|
1190 |
|
|
* binary len 79536 bytes flash add 0x500000..
|
1191 |
|
|
* flash id check ok
|
1192 |
|
|
* erasing space address 0x500000... please wait
|
1193 |
|
|
* flash erase check ok
|
1194 |
|
|
* start programming 79536 bytes.
|
1195 |
|
|
|
1196 |
|
|
|
1197 |
|
|
|
1198 |
|
|
|
1199 |
|
|
Special RedBoot Commands
|
1200 |
|
|
None.
|
1201 |
|
|
|
1202 |
|
|
|
1203 |
|
|
Memory Maps
|
1204 |
|
|
This processor has no MMU, so the only memory map is for
|
1205 |
|
|
physical addresses.
|
1206 |
|
|
|
1207 |
|
|
|
1208 |
|
|
The memory layout of the JTST after bootstrap is as follows:
|
1209 |
|
|
|
1210 |
|
|
Physical Address Range Description
|
1211 |
|
|
----------------------- ----------------------------------
|
1212 |
|
|
0x00000000 - 0x00007fff On-chip SRAM
|
1213 |
|
|
0x00500000 - 0x0057ffff Flash
|
1214 |
|
|
0x00600000 - 0x0063ffff External SRAM
|
1215 |
|
|
0x00410000 - 0x0042fffc On-chip Magic Data Memory Left
|
1216 |
|
|
0x00430000 - 0x0043fffc On-chip Magic Data Memory Right
|
1217 |
|
|
0x00430000 - 0x0044fffc On-chip Magic Program Memory
|
1218 |
|
|
0x00490000 - 0x00490ffc On-chip Arm/Magic Data Exchange Left
|
1219 |
|
|
0x004A0000 - 0x004A0ffc On-chip Arm/Magic Data Exchange Right
|
1220 |
|
|
0x00450000 - 0x0045003c Magic I/O registers
|
1221 |
|
|
0x00460000 - 0x0046000c Magic Control registers
|
1222 |
|
|
0xffe00000 - 0xffffffff I/O registers
|
1223 |
|
|
|
1224 |
|
|
|
1225 |
|
|
|
1226 |
|
|
|
1227 |
|
|
|
1228 |
|
|
|
1229 |
|
|
|
1230 |
|
|
ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)
|
1231 |
|
|
|
1232 |
|
|
Overview
|
1233 |
|
|
Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)
|
1234 |
|
|
installing and testing
|
1235 |
|
|
installing and testingCirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)
|
1236 |
|
|
RedBoot supports both serial ports on the board and
|
1237 |
|
|
the ethernet port. The default serial port settings are 38400,8,N,1. RedBoot
|
1238 |
|
|
also supports flash management on the EDB7xxx for the NOR flash
|
1239 |
|
|
only.
|
1240 |
|
|
|
1241 |
|
|
The following RedBoot configurations are supported:
|
1242 |
|
|
|
1243 |
|
|
|
1244 |
|
|
|
1245 |
|
|
1246 |
|
|
|
|
1247 |
|
|
Configuration
|
1248 |
|
|
Mode
|
1249 |
|
|
Description
|
1250 |
|
|
File
|
1251 |
|
|
|
1252 |
|
|
|
|
1253 |
|
|
1254 |
|
|
|
|
1255 |
|
|
ROM
|
1256 |
|
|
[ROM]
|
1257 |
|
|
RedBoot running from the board's flash boot
|
1258 |
|
|
sector.
|
1259 |
|
|
redboot_ROM.ecm
|
1260 |
|
|
|
1261 |
|
|
|
|
1262 |
|
|
RAM
|
1263 |
|
|
[RAM]
|
1264 |
|
|
RedBoot running from RAM with RedBoot in the
|
1265 |
|
|
flash boot sector.
|
1266 |
|
|
redboot_RAM.ecm
|
1267 |
|
|
|
1268 |
|
|
|
|
1269 |
|
|
ROMRAM
|
1270 |
|
|
[ROMRAM]
|
1271 |
|
|
RedBoot running from RAM, but contained in the
|
1272 |
|
|
board's flash boot sector (EDB7312 only).
|
1273 |
|
|
redboot_ROMRAM.ecm
|
1274 |
|
|
|
1275 |
|
|
|
|
1276 |
|
|
|
1277 |
|
|
|
1278 |
|
|
|
1279 |
|
|
|
1280 |
|
|
|
1281 |
|
|
|
1282 |
|
|
Initial Installation Method
|
1283 |
|
|
A Windows or Linux utility is used to program flash using serial port
|
1284 |
|
|
#1 via on-chip programming firmware. See board documentation for details on
|
1285 |
|
|
in situ flash programming.
|
1286 |
|
|
|
1287 |
|
|
|
1288 |
|
|
Special RedBoot Commands
|
1289 |
|
|
None.
|
1290 |
|
|
|
1291 |
|
|
|
1292 |
|
|
Memory Maps
|
1293 |
|
|
The MMU page tables and LCD display buffer, if enabled, are located
|
1294 |
|
|
at the end of DRAM. NOTE
|
1295 |
|
|
|
1296 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
1297 |
|
|
whether or not the region is cached (C) or buffered (B).
|
1298 |
|
|
|
1299 |
|
|
Physical Address Range Description
|
1300 |
|
|
----------------------- ----------------------------------
|
1301 |
|
|
0x00000000 - 0x01ffffff NOR Flash (EDB7211, EDB7212)
|
1302 |
|
|
0x00000000 - 0x00ffffff NOR Flash (EDB7312)
|
1303 |
|
|
0x10000000 - 0x11ffffff NAND Flash
|
1304 |
|
|
0x20000000 - 0x2fffffff Expansion 2
|
1305 |
|
|
0x30000000 - 0x3fffffff Expansion 3
|
1306 |
|
|
0x40000000 - 0x4fffffff PCMCIA 0
|
1307 |
|
|
0x50000000 - 0x5fffffff PCMCIA 1
|
1308 |
|
|
0x60000000 - 0x600007ff On-chip SRAM
|
1309 |
|
|
0x80000000 - 0x8fffffff I/O registers
|
1310 |
|
|
0xc0000000 - 0xc1ffffff DRAM (EDB7211, EDB7212)
|
1311 |
|
|
0xc0000000 - 0xc0ffffff DRAM (EDB7312)
|
1312 |
|
|
|
1313 |
|
|
Virtual Address Range C B Description
|
1314 |
|
|
----------------------- - - ----------------------------------
|
1315 |
|
|
0x00000000 - 0x01ffffff Y Y DRAM
|
1316 |
|
|
0x00000000 - 0x00fcffff Y Y DRAM (EDB7312)
|
1317 |
|
|
0x20000000 - 0x2fffffff N N Expansion 2
|
1318 |
|
|
0x30000000 - 0x3fffffff N N Expansion 3
|
1319 |
|
|
0x40000000 - 0x4fffffff N N PCMCIA 0
|
1320 |
|
|
0x50000000 - 0x5fffffff N N PCMCIA 1
|
1321 |
|
|
0x60000000 - 0x600007ff Y Y On-chip SRAM
|
1322 |
|
|
0x80000000 - 0x8fffffff N N I/O registers
|
1323 |
|
|
0xc0000000 - 0xc001ffff N Y LCD buffer (if configured)
|
1324 |
|
|
0xe0000000 - 0xe1ffffff Y Y NOR Flash (EDB7211, EDB7212)
|
1325 |
|
|
0xe0000000 - 0xe0ffffff Y Y NOR Flash (EDB7312)
|
1326 |
|
|
0xf0000000 - 0xf1ffffff Y Y NAND Flash
|
1327 |
|
|
|
1328 |
|
|
The flash based RedBoot image occupies virtual addresses 0xe0000000 - 0xe003ffff.
|
1329 |
|
|
|
1330 |
|
|
|
1331 |
|
|
|
1332 |
|
|
Platform Resource Usage
|
1333 |
|
|
The EP7xxx timer #2 is used as a polled timer to provide timeout support
|
1334 |
|
|
for network and XModem file transfers.
|
1335 |
|
|
|
1336 |
|
|
|
1337 |
|
|
Rebuilding RedBoot
|
1338 |
|
|
|
1339 |
|
|
|
1340 |
|
|
These shell variables provide the platform-specific information
|
1341 |
|
|
needed for building RedBoot according to the procedure described in
|
1342 |
|
|
:
|
1343 |
|
|
|
1344 |
|
|
export TARGET=edb7211
|
1345 |
|
|
export TARGET=edb7212
|
1346 |
|
|
export TARGET=edb7312
|
1347 |
|
|
export ARCH_DIR=arm
|
1348 |
|
|
export PLATFORM_DIR=edb7xxx
|
1349 |
|
|
|
1350 |
|
|
|
1351 |
|
|
Use one of the TARGET settings only.
|
1352 |
|
|
|
1353 |
|
|
|
1354 |
|
|
The names of configuration files are listed above with the
|
1355 |
|
|
description of the associated modes.
|
1356 |
|
|
|
1357 |
|
|
|
1358 |
|
|
|
1359 |
|
|
|
1360 |
|
|
|
1361 |
|
|
|
1362 |
|
|
ARM/ARM9 Agilent AAED2000
|
1363 |
|
|
|
1364 |
|
|
Overview
|
1365 |
|
|
Agilent AAED2000 ARM9 (aaed)
|
1366 |
|
|
installing and testing
|
1367 |
|
|
installing and testingAgilent AAED2000 ARM9 (aaed)
|
1368 |
|
|
RedBoot supports the serial and ethernet ports
|
1369 |
|
|
on the board. The default serial port settings are 38400,8,N,1.
|
1370 |
|
|
RedBoot also supports flash management on the AAED2000.
|
1371 |
|
|
|
1372 |
|
|
The following RedBoot configurations are supported:
|
1373 |
|
|
|
1374 |
|
|
|
1375 |
|
|
|
1376 |
|
|
1377 |
|
|
|
|
1378 |
|
|
Configuration
|
1379 |
|
|
Mode
|
1380 |
|
|
Description
|
1381 |
|
|
File
|
1382 |
|
|
|
1383 |
|
|
|
|
1384 |
|
|
1385 |
|
|
|
|
1386 |
|
|
ROMRAM
|
1387 |
|
|
[ROMRAM]
|
1388 |
|
|
RedBoot running from RAM, but contained in the
|
1389 |
|
|
board's flash boot sector.
|
1390 |
|
|
redboot_primary_ROMRAM.ecm
|
1391 |
|
|
|
1392 |
|
|
|
|
1393 |
|
|
RAM
|
1394 |
|
|
[RAM]
|
1395 |
|
|
RedBoot running from RAM with RedBoot in the
|
1396 |
|
|
flash boot sector.
|
1397 |
|
|
redboot_primary_RAM.ecm
|
1398 |
|
|
|
1399 |
|
|
|
|
1400 |
|
|
|
1401 |
|
|
|
1402 |
|
|
|
1403 |
|
|
|
1404 |
|
|
|
1405 |
|
|
|
1406 |
|
|
Initial Installation Method
|
1407 |
|
|
It is possible to install RedBoot in one of two ways. Either as
|
1408 |
|
|
the primary bootmonitor on the board (installed to blocks 0-1 of the
|
1409 |
|
|
flash) or as the secondary bootmonitor on the board (installed to
|
1410 |
|
|
blocks 1-2 of the flash).
|
1411 |
|
|
|
1412 |
|
|
Presently, only the former method is supported.
|
1413 |
|
|
|
1423 |
|
|
|
1424 |
|
|
RedBoot as Primary Bootmonitor
|
1425 |
|
|
|
1426 |
|
|
RedBoot is installed in flash using the on-board ARM Boot
|
1427 |
|
|
Monitor.
|
1428 |
|
|
Boot the board while pressing SPACE. This should bring up the
|
1429 |
|
|
Boot Monitor:
|
1430 |
|
|
ARM bootPROM [Version 1.3] Rebuilt on Jul 16 2001 at 16:21:36
|
1431 |
|
|
Running on a P920 board Evaluation Board
|
1432 |
|
|
Board Revision V1.0, ARM920T processor Processor
|
1433 |
|
|
Memory Size is 32MBytes, Flash Size is 32MBytes
|
1434 |
|
|
Copyright (c) ARM Limited 1999 - 2001. All rights reserved.
|
1435 |
|
|
Board designed by ARM Limited
|
1436 |
|
|
Hardware support provided at http://www.arm.com/
|
1437 |
|
|
For help on the available commands type ? or h
|
1438 |
|
|
boot Monitor >
|
1439 |
|
|
|
1440 |
|
|
|
1441 |
|
|
Download the RAM mode image of RedBoot configured as a primary
|
1442 |
|
|
bootmonitor using the ARM bootmonitor's SREC-download command:
|
1443 |
|
|
|
1444 |
|
|
boot Monitor > m
|
1445 |
|
|
Load Motorola S-Record image into memory and execute it
|
1446 |
|
|
The S-Record loader only accepts input on the serial port.
|
1447 |
|
|
Record addresses must be between 0x00008000 and 0x01E0F510.
|
1448 |
|
|
Type Ctrl/C to exit loader.
|
1449 |
|
|
|
1450 |
|
|
|
1451 |
|
|
Use the terminal emulator's ASCII upload command, or (on Linux) simply
|
1452 |
|
|
cat the file to the serial port:
|
1453 |
|
|
|
1454 |
|
|
$ cat redboot_primary_RAM/redboot.srec >/dev/ttyS1
|
1455 |
|
|
|
1456 |
|
|
|
1457 |
|
|
You should see RedBoot start up:
|
1458 |
|
|
|
1459 |
|
|
FLASH configuration checksum error or invalid key
|
1460 |
|
|
Ethernet eth0: MAC address 00:30:d3:03:04:99
|
1461 |
|
|
IP: 192.168.42.111, Default server: 192.168.42.3
|
1462 |
|
|
|
1463 |
|
|
RedBoot(tm) bootstrap and debug environment [RAM]
|
1464 |
|
|
Non-certified release, version UNKNOWN - built 13:15:40, Nov 9 2001
|
1465 |
|
|
|
1466 |
|
|
Platform: AAED2000 system (ARM9) [Primary]
|
1467 |
|
|
Copyright (C) 2000, 2001, Free Software Foundation, Inc.
|
1468 |
|
|
|
1469 |
|
|
RAM: 0x00000000-0x01f80000, 0x0006f208-0x01f51000 available
|
1470 |
|
|
FLASH: 0x60000000 - 0x62000000, 256 blocks of 0x00020000 bytes each.
|
1471 |
|
|
RedBoot>
|
1472 |
|
|
|
1473 |
|
|
As can be seen from the output above, the network has been configured
|
1474 |
|
|
to give the board an IP address and information about the default
|
1475 |
|
|
server. If things are not set up on your network, you can still
|
1476 |
|
|
continue, but use the Y-modem download method when loading the RedBoot
|
1477 |
|
|
ROMRAM mode image.
|
1478 |
|
|
|
1479 |
|
|
Now initialize RedBoot's FIS:
|
1480 |
|
|
|
1481 |
|
|
RedBoot> fis init
|
1482 |
|
|
About to initialize [format] FLASH image system - continue (y/n)? y
|
1483 |
|
|
*** Initialize FLASH Image System
|
1484 |
|
|
Warning: device contents not erased, some blocks may not be usable
|
1485 |
|
|
... Erase from 0x61fe0000-0x62000000: .
|
1486 |
|
|
... Program from 0x01f5f000-0x01f5f300 at 0x61fe0000: .
|
1487 |
|
|
|
1488 |
|
|
|
1489 |
|
|
Download the ROMRAM mode image of RedBoot via ethernet:
|
1490 |
|
|
|
1491 |
|
|
RedBoot> load -b %{FREEMEMLO} redboot_primary_ROMRAM/redboot.srec
|
1492 |
|
|
|
1493 |
|
|
|
1494 |
|
|
or using serial Y-modem protocol:
|
1495 |
|
|
|
1496 |
|
|
RedBoot> load -mode ymodem -b %{FREEMEMLO}
|
1497 |
|
|
|
1498 |
|
|
|
1499 |
|
|
(Use the terminal emulator's Y-modem upload command to send the file
|
1500 |
|
|
redboot_primary_ROMRAM/redboot.srec.)
|
1501 |
|
|
|
1502 |
|
|
When the image has been downloaded, program it into flash:
|
1503 |
|
|
|
1504 |
|
|
Address offset = 0x00ff8000
|
1505 |
|
|
Entry point: 0x00008040, address range: 0x00008000-0x0002da80
|
1506 |
|
|
RedBoot> fi cr RedBoot
|
1507 |
|
|
An image named 'RedBoot' exists - continue (y/n)? y
|
1508 |
|
|
* CAUTION * about to program 'RedBoot'
|
1509 |
|
|
at 0x60000000..0x6003ffff from 0x00100000 - continue (y/n)? y
|
1510 |
|
|
... Erase from 0x60000000-0x60040000: ..
|
1511 |
|
|
... Program from 0x00100000-0x00140000 at 0x60000000: ..
|
1512 |
|
|
... Erase from 0x61fe0000-0x62000000: .
|
1513 |
|
|
... Program from 0x01f5f000-0x01f7f000 at 0x61fe0000: .
|
1514 |
|
|
|
1515 |
|
|
|
1516 |
|
|
Now reset the board. You should see the RedBoot banner.
|
1517 |
|
|
|
1518 |
|
|
|
1519 |
|
|
|
1520 |
|
|
|
1660 |
|
|
|
1661 |
|
|
|
1662 |
|
|
|
1663 |
|
|
|
1664 |
|
|
Special RedBoot Commands
|
1665 |
|
|
The exec command which allows the loading
|
1666 |
|
|
and execution of Linux kernels,
|
1667 |
|
|
is supported for this board (see ). The
|
1668 |
|
|
exec parameters used for the AAED2000 are:
|
1669 |
|
|
|
1670 |
|
|
-b <addr>
|
1671 |
|
|
Location Linux kernel was loaded to
|
1672 |
|
|
|
1673 |
|
|
-l <len>
|
1674 |
|
|
Length of kernel
|
1675 |
|
|
|
1676 |
|
|
-c "params"
|
1677 |
|
|
Parameters passed to kernel
|
1678 |
|
|
-r <addr>
|
1679 |
|
|
'initrd' ramdisk location
|
1680 |
|
|
-s <len>
|
1681 |
|
|
Length of initrd ramdisk
|
1682 |
|
|
|
1683 |
|
|
|
1684 |
|
|
The parameters for kernel image base and size are automatically
|
1685 |
|
|
set after a load operation. So one way of starting the kernel would
|
1686 |
|
|
be:
|
1687 |
|
|
|
1688 |
|
|
RedBoot> load -r -b 0x100000 zImage
|
1689 |
|
|
Raw file loaded 0x00100000-0x001a3d6c
|
1690 |
|
|
RedBoot> exec -c "console=ttyAC0,38400"
|
1691 |
|
|
Using base address 0x00100000 and length 0x000a3d6c
|
1692 |
|
|
Uncompressing Linux.....
|
1693 |
|
|
|
1694 |
|
|
|
1695 |
|
|
An image could also be put in flash and started directly:
|
1696 |
|
|
|
1697 |
|
|
RedBoot> exec -b 0x60040000 -l 0xc0000 -c "console=ttyAC0,38400"
|
1698 |
|
|
Uncompressing Linux.....
|
1699 |
|
|
|
1700 |
|
|
|
1701 |
|
|
|
1702 |
|
|
|
1703 |
|
|
|
1704 |
|
|
|
1705 |
|
|
Memory Maps
|
1706 |
|
|
The MMU page tables are located at 0x4000. NOTE
|
1707 |
|
|
|
1708 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
1709 |
|
|
whether or not the region is cached (C) or buffered (B).
|
1710 |
|
|
Physical Address Range Description
|
1711 |
|
|
----------------------- ----------------------------------
|
1712 |
|
|
0x00000000 - 0x01ffffff Flash
|
1713 |
|
|
0x10000000 - 0x100fffff Ethernet
|
1714 |
|
|
0x30000000 - 0x300fffff Board registers
|
1715 |
|
|
0x40000000 - 0x4fffffff PCMCIA Slot (0)
|
1716 |
|
|
0x50000000 - 0x5fffffff Compact Flash Slot (1)
|
1717 |
|
|
0x80000000 - 0x800037ff I/O registers
|
1718 |
|
|
0xb0060000 - 0xb00fffff On-chip SRAM
|
1719 |
|
|
0xf0000000 - 0xfd3fffff SDRAM
|
1720 |
|
|
|
1721 |
|
|
Virtual Address Range C B Description
|
1722 |
|
|
----------------------- - - ----------------------------------
|
1723 |
|
|
0x00000000 - 0x01f7ffff Y Y SDRAM
|
1724 |
|
|
0x01f80000 - 0x01ffffff Y Y SDRAM (used for LCD frame buffer)
|
1725 |
|
|
0x10000000 - 0x100fffff N N Ethernet
|
1726 |
|
|
0x30000000 - 0x300fffff N N Board registers
|
1727 |
|
|
0x40000000 - 0x4fffffff N N PCMCIA Slot (0)
|
1728 |
|
|
0x50000000 - 0x5fffffff N N Compact Flash Slot (1)
|
1729 |
|
|
0x60000000 - 0x61ffffff N N Flash
|
1730 |
|
|
0x80000000 - 0x800037ff N N I/O registers
|
1731 |
|
|
0xf0000000 - 0xffffffff N N SDRAM (uncached)
|
1732 |
|
|
|
1733 |
|
|
|
1734 |
|
|
|
1735 |
|
|
|
1736 |
|
|
|
1737 |
|
|
Rebuilding RedBoot
|
1738 |
|
|
|
1739 |
|
|
These shell variables provide the platform-specific information
|
1740 |
|
|
needed for building RedBoot according to the procedure described in
|
1741 |
|
|
:
|
1742 |
|
|
|
1743 |
|
|
export TARGET=aaed
|
1744 |
|
|
export ARCH_DIR=arm
|
1745 |
|
|
export PLATFORM_DIR=arm9/aaed2000
|
1746 |
|
|
|
1747 |
|
|
|
1748 |
|
|
|
1749 |
|
|
The names of configuration files are listed above with the
|
1750 |
|
|
description of the associated modes.
|
1751 |
|
|
|
1752 |
|
|
|
1753 |
|
|
|
1754 |
|
|
|
1755 |
|
|
|
1756 |
|
|
|
1757 |
|
|
ARM/ARM9 Altera Excalibur
|
1758 |
|
|
|
1759 |
|
|
Overview
|
1760 |
|
|
Altera Excalibur ARM9 (excalibur_arm9)
|
1761 |
|
|
installing and testing
|
1762 |
|
|
installing and testingAltera Excalibur ARM9 (excalibur_arm9)
|
1763 |
|
|
RedBoot supports the serial port labelled
|
1764 |
|
|
P2 on the board. The default serial port settings are 57600,8,N,1. RedBoot
|
1765 |
|
|
also supports flash management on the Excalibur.
|
1766 |
|
|
|
1767 |
|
|
The following RedBoot configurations are supported:
|
1768 |
|
|
|
1769 |
|
|
|
1770 |
|
|
|
1771 |
|
|
1772 |
|
|
|
|
1773 |
|
|
Configuration
|
1774 |
|
|
Mode
|
1775 |
|
|
Description
|
1776 |
|
|
File
|
1777 |
|
|
|
1778 |
|
|
|
|
1779 |
|
|
1780 |
|
|
|
|
1781 |
|
|
ROMRAM
|
1782 |
|
|
[ROMRAM]
|
1783 |
|
|
RedBoot running from RAM, but contained in the
|
1784 |
|
|
board's flash boot sector.
|
1785 |
|
|
redboot_ROMRAM.ecm
|
1786 |
|
|
|
1787 |
|
|
|
|
1788 |
|
|
RAM
|
1789 |
|
|
[RAM]
|
1790 |
|
|
RedBoot running from RAM with RedBoot in the
|
1791 |
|
|
flash boot sector.
|
1792 |
|
|
redboot_RAM.ecm
|
1793 |
|
|
|
1794 |
|
|
|
|
1795 |
|
|
REDBOOT
|
1796 |
|
|
[ROMRAM]
|
1797 |
|
|
RedBoot running from top of RAM, but contained in
|
1798 |
|
|
the board's flash boot sector.
|
1799 |
|
|
redboot_REDBOOT.ecm
|
1800 |
|
|
|
1801 |
|
|
|
|
1802 |
|
|
|
1803 |
|
|
|
1804 |
|
|
|
1805 |
|
|
|
1806 |
|
|
NOTE
|
1807 |
|
|
RedBoot is currently hardwired to use a 128MB SDRAM SIMM module.
|
1808 |
|
|
|
1809 |
|
|
|
1810 |
|
|
|
1811 |
|
|
|
1812 |
|
|
|
1813 |
|
|
Initial Installation Method
|
1814 |
|
|
A Windows utility
|
1815 |
|
|
(exc_flash_programmer.exe) is used to
|
1816 |
|
|
program flash using the ByteBlasterMV JTAG unit.
|
1817 |
|
|
See board documentation for details on
|
1818 |
|
|
in situ flash programming.
|
1819 |
|
|
For ethernet to work (under Linux) the following jumper
|
1820 |
|
|
settings should be used on a REV 2 board:
|
1821 |
|
|
SW2-9 : OFF
|
1822 |
|
|
U179 : 2-3
|
1823 |
|
|
JP14-18 : OPEN
|
1824 |
|
|
JP40-41 : 2-3
|
1825 |
|
|
JP51-55 : 2-3
|
1826 |
|
|
|
1827 |
|
|
|
1828 |
|
|
|
1829 |
|
|
|
1830 |
|
|
Flash management
|
1831 |
|
|
|
1832 |
|
|
The ROMRAM and REDBOOT configurations supported on this platform
|
1833 |
|
|
differ only in the memory layout (ROMRAM configuration runs RedBoot from
|
1834 |
|
|
0x00008000 while REDBOOT configuration runs RedBoot from 0x07f80000). The
|
1835 |
|
|
REDBOOT configuration allows applications to be loaded and run from
|
1836 |
|
|
address 0x00008000.
|
1837 |
|
|
|
1838 |
|
|
|
1839 |
|
|
Special RedBoot Commands
|
1840 |
|
|
The exec command which allows the loading
|
1841 |
|
|
and execution of Linux kernels,
|
1842 |
|
|
is supported for this board (see ). The
|
1843 |
|
|
exec parameters used for the Excalibur are:
|
1844 |
|
|
|
1845 |
|
|
-b <addr>
|
1846 |
|
|
Location Linux kernel was loaded to
|
1847 |
|
|
|
1848 |
|
|
-l <len>
|
1849 |
|
|
Length of kernel
|
1850 |
|
|
|
1851 |
|
|
-c "params"
|
1852 |
|
|
Parameters passed to kernel
|
1853 |
|
|
-r <addr>
|
1854 |
|
|
'initrd' ramdisk location
|
1855 |
|
|
-s <len>
|
1856 |
|
|
Length of initrd ramdisk
|
1857 |
|
|
|
1858 |
|
|
|
1859 |
|
|
The parameters for kernel image base and size are automatically
|
1860 |
|
|
set after a load operation. So one way of starting the kernel would
|
1861 |
|
|
be:
|
1862 |
|
|
|
1863 |
|
|
RedBoot> load -r -b 0x100000 zImage
|
1864 |
|
|
Raw file loaded 0x00100000-0x001a3d6c
|
1865 |
|
|
RedBoot> exec -c "console=ttyUA0,57600"
|
1866 |
|
|
Using base address 0x00100000 and length 0x000a3d6c
|
1867 |
|
|
Uncompressing Linux.....
|
1868 |
|
|
|
1869 |
|
|
|
1870 |
|
|
An image could also be put in flash and started directly:
|
1871 |
|
|
|
1872 |
|
|
RedBoot> exec -b 0x40400000 -l 0xc0000 -c "console=ttyUA0,57600"
|
1873 |
|
|
Uncompressing Linux.....
|
1874 |
|
|
|
1875 |
|
|
|
1876 |
|
|
|
1877 |
|
|
|
1878 |
|
|
|
1879 |
|
|
Memory Maps
|
1880 |
|
|
The MMU page tables are located at 0x4000. NOTE
|
1881 |
|
|
|
1882 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
1883 |
|
|
whether or not the region is cached (C) or buffered (B).
|
1884 |
|
|
Physical Address Range Description
|
1885 |
|
|
----------------------- ----------------------------------
|
1886 |
|
|
0x00000000 - 0x07ffffff SDRAM
|
1887 |
|
|
0x08000000 - 0x0805ffff On-chip SRAM
|
1888 |
|
|
0x40000000 - 0x40ffffff Flash
|
1889 |
|
|
0x7fffc000 - 0x7fffffff I/O registers
|
1890 |
|
|
0x80000000 - 0x8001ffff PLD
|
1891 |
|
|
|
1892 |
|
|
Virtual Address Range C B Description
|
1893 |
|
|
----------------------- - - ----------------------------------
|
1894 |
|
|
0x00000000 - 0x07ffffff Y Y SDRAM
|
1895 |
|
|
0x08000000 - 0x0805ffff Y Y On-chip SRAM
|
1896 |
|
|
0x40000000 - 0x403fffff N Y Flash
|
1897 |
|
|
0x7fffc000 - 0x7fffffff N N I/O registers
|
1898 |
|
|
0x80000000 - 0x8001ffff N N PLD
|
1899 |
|
|
|
1900 |
|
|
|
1901 |
|
|
|
1902 |
|
|
|
1903 |
|
|
Rebuilding RedBoot
|
1904 |
|
|
|
1905 |
|
|
These shell variables provide the platform-specific information
|
1906 |
|
|
needed for building RedBoot according to the procedure described in
|
1907 |
|
|
:
|
1908 |
|
|
|
1909 |
|
|
export TARGET=excalibur_arm9
|
1910 |
|
|
export ARCH_DIR=arm
|
1911 |
|
|
export PLATFORM_DIR=arm9/excalibur
|
1912 |
|
|
|
1913 |
|
|
|
1914 |
|
|
|
1915 |
|
|
The names of configuration files are listed above with the
|
1916 |
|
|
description of the associated modes.
|
1917 |
|
|
|
1918 |
|
|
|
1919 |
|
|
|
1920 |
|
|
|
1921 |
|
|
|
1922 |
|
|
|
1923 |
|
|
ARM/StrongARM(SA110) Intel EBSA 285
|
1924 |
|
|
|
1925 |
|
|
Overview
|
1926 |
|
|
Intel StrongArm EBSA 285installing
|
1927 |
|
|
and testinginstalling and testing
|
1928 |
|
|
Intel StrongArm EBSA 285RedBoot
|
1929 |
|
|
uses the single EBSA-285 serial port. The default serial port settings are
|
1930 |
|
|
38400,8,N,1. If the EBSA-285 is used as a host on a PCI backplane, ethernet
|
1931 |
|
|
is supported using an Intel PRO/100+ ethernet adapter. Management of
|
1932 |
|
|
onboard flash is also supported.
|
1933 |
|
|
|
1934 |
|
|
The following RedBoot configurations are supported:
|
1935 |
|
|
|
1936 |
|
|
|
1937 |
|
|
|
1938 |
|
|
1939 |
|
|
|
|
1940 |
|
|
Configuration
|
1941 |
|
|
Mode
|
1942 |
|
|
Description
|
1943 |
|
|
File
|
1944 |
|
|
|
1945 |
|
|
|
|
1946 |
|
|
1947 |
|
|
|
|
1948 |
|
|
ROM
|
1949 |
|
|
[ROM]
|
1950 |
|
|
RedBoot running from the board's flash boot
|
1951 |
|
|
sector.
|
1952 |
|
|
redboot_ROM.ecm
|
1953 |
|
|
|
1954 |
|
|
|
|
1955 |
|
|
RAM
|
1956 |
|
|
[RAM]
|
1957 |
|
|
RedBoot running from RAM with RedBoot in the
|
1958 |
|
|
flash boot sector.
|
1959 |
|
|
redboot_RAM.ecm
|
1960 |
|
|
|
1961 |
|
|
|
|
1962 |
|
|
|
1963 |
|
|
|
1964 |
|
|
|
1965 |
|
|
|
1966 |
|
|
|
1967 |
|
|
|
1968 |
|
|
Initial Installation Method
|
1969 |
|
|
A linux application is used to program the flash over the PCI bus. Sources
|
1970 |
|
|
and build instructions for this utility are located in the RedBoot sources
|
1971 |
|
|
in: packages/hal/arm/ebsa285/current/support/linux/safl_util
|
1972 |
|
|
|
1973 |
|
|
|
1974 |
|
|
|
1975 |
|
|
Communication Channels
|
1976 |
|
|
Serial, Intel PRO 10/100+ 82559 PCI ethernet card.
|
1977 |
|
|
|
1978 |
|
|
|
1979 |
|
|
Special RedBoot Commands
|
1980 |
|
|
None.
|
1981 |
|
|
|
1982 |
|
|
|
1983 |
|
|
Memory Maps
|
1984 |
|
|
Physical and virtual mapping are mapped one to one on the EBSA-285 using
|
1985 |
|
|
a first level page table located at address 0x4000. No second level tables
|
1986 |
|
|
are used. NOTE
|
1987 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
1988 |
|
|
whether or not the region is cached (C) or buffered (B).
|
1989 |
|
|
Address Range C B Description
|
1990 |
|
|
----------------------- - - ----------------------------------
|
1991 |
|
|
0x00000000 - 0x01ffffff Y Y SDRAM
|
1992 |
|
|
0x40000000 - 0x400fffff N N 21285 Registers
|
1993 |
|
|
0x41000000 - 0x413fffff Y N flash
|
1994 |
|
|
0x42000000 - 0x420fffff N N 21285 CSR Space
|
1995 |
|
|
0x50000000 - 0x50ffffff Y Y Cache Clean
|
1996 |
|
|
0x78000000 - 0x78ffffff N N Outbound Write Flush
|
1997 |
|
|
0x79000000 - 0x7c0fffff N N PCI IACK/Config/IO
|
1998 |
|
|
0x80000000 - 0xffffffff N Y PCI Memory
|
1999 |
|
|
|
2000 |
|
|
|
2001 |
|
|
Platform Resource Usage
|
2002 |
|
|
Timer3 is used as a polled timer to provide timeout support for networking
|
2003 |
|
|
and XModem file transfers.
|
2004 |
|
|
|
2005 |
|
|
|
2026 |
|
|
|
2027 |
|
|
Rebuilding RedBoot
|
2028 |
|
|
|
2029 |
|
|
These shell variables provide the platform-specific information
|
2030 |
|
|
needed for building RedBoot according to the procedure described in
|
2031 |
|
|
:
|
2032 |
|
|
|
2033 |
|
|
export TARGET=ebsa285
|
2034 |
|
|
export ARCH_DIR=arm
|
2035 |
|
|
export PLATFORM_DIR=ebsa285
|
2036 |
|
|
|
2037 |
|
|
|
2038 |
|
|
|
2039 |
|
|
The names of configuration files are listed above with the
|
2040 |
|
|
description of the associated modes.
|
2041 |
|
|
|
2042 |
|
|
|
2043 |
|
|
|
2044 |
|
|
|
2045 |
|
|
|
2046 |
|
|
|
2047 |
|
|
ARM/StrongARM(SA1100) Intel Brutus
|
2048 |
|
|
|
2049 |
|
|
Overview
|
2050 |
|
|
Intel-SA1100 (Brutus)installing
|
2051 |
|
|
and testinginstalling and testing
|
2052 |
|
|
Intel SA1100 (Brutus)RedBoot
|
2053 |
|
|
supports both board serial ports on the Brutus board. The default serial port
|
2054 |
|
|
settings are 38400,8,N,1. flash management is not currently supported.
|
2055 |
|
|
|
2056 |
|
|
The following RedBoot configurations are supported:
|
2057 |
|
|
|
2058 |
|
|
|
2059 |
|
|
|
2060 |
|
|
2061 |
|
|
|
|
2062 |
|
|
Configuration
|
2063 |
|
|
Mode
|
2064 |
|
|
Description
|
2065 |
|
|
File
|
2066 |
|
|
|
2067 |
|
|
|
|
2068 |
|
|
2069 |
|
|
|
|
2070 |
|
|
ROM
|
2071 |
|
|
[ROM]
|
2072 |
|
|
RedBoot running from the board's flash boot
|
2073 |
|
|
sector.
|
2074 |
|
|
redboot_ROM.ecm
|
2075 |
|
|
|
2076 |
|
|
|
|
2077 |
|
|
RAM
|
2078 |
|
|
[RAM]
|
2079 |
|
|
RedBoot running from RAM with RedBoot in the
|
2080 |
|
|
flash boot sector.
|
2081 |
|
|
redboot_RAM.ecm
|
2082 |
|
|
|
2083 |
|
|
|
|
2084 |
|
|
|
2085 |
|
|
|
2086 |
|
|
|
2087 |
|
|
|
2088 |
|
|
|
2089 |
|
|
|
2090 |
|
|
Initial Installation Method
|
2091 |
|
|
Device programmer is used to program socketed flash parts.
|
2092 |
|
|
|
2093 |
|
|
|
2094 |
|
|
Special RedBoot Commands
|
2095 |
|
|
None.
|
2096 |
|
|
|
2097 |
|
|
|
2098 |
|
|
Memory Maps
|
2099 |
|
|
The first level page table is located at physical address 0xc0004000.
|
2100 |
|
|
No second level tables are used.
|
2101 |
|
|
|
2102 |
|
|
NOTE
|
2103 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
2104 |
|
|
whether or not the region is cached (C) or buffered (B).
|
2105 |
|
|
|
2106 |
|
|
Physical Address Range Description
|
2107 |
|
|
----------------------- ----------------------------------
|
2108 |
|
|
0x00000000 - 0x000fffff Boot ROM
|
2109 |
|
|
0x08000000 - 0x083fffff Application flash
|
2110 |
|
|
0x10000000 - 0x100fffff SRAM
|
2111 |
|
|
0x18000000 - 0x180fffff Chip Select 3
|
2112 |
|
|
0x20000000 - 0x3fffffff PCMCIA
|
2113 |
|
|
0x80000000 - 0xbfffffff SA-1100 Internal Registers
|
2114 |
|
|
0xc0000000 - 0xc7ffffff DRAM Bank 0
|
2115 |
|
|
0xc8000000 - 0xcfffffff DRAM Bank 1
|
2116 |
|
|
0xd0000000 - 0xd7ffffff DRAM Bank 2
|
2117 |
|
|
0xd8000000 - 0xdfffffff DRAM Bank 3
|
2118 |
|
|
0xe0000000 - 0xe7ffffff Cache Clean
|
2119 |
|
|
|
2120 |
|
|
|
2121 |
|
|
Virtual Address Range C B Description
|
2122 |
|
|
----------------------- - - ----------------------------------
|
2123 |
|
|
0x00000000 - 0x003fffff Y Y DRAM Bank 0
|
2124 |
|
|
0x00400000 - 0x007fffff Y Y DRAM Bank 1
|
2125 |
|
|
0x00800000 - 0x00bfffff Y Y DRAM Bank 2
|
2126 |
|
|
0x00c00000 - 0x00ffffff Y Y DRAM Bank 3
|
2127 |
|
|
0x08000000 - 0x083fffff Y Y Application flash
|
2128 |
|
|
0x10000000 - 0x100fffff Y N SRAM
|
2129 |
|
|
0x20000000 - 0x3fffffff N N PCMCIA
|
2130 |
|
|
0x40000000 - 0x400fffff Y Y Boot ROM
|
2131 |
|
|
0x80000000 - 0xbfffffff N N SA-1100 Internal Registers
|
2132 |
|
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean
|
2133 |
|
|
|
2134 |
|
|
|
2135 |
|
|
Platform Resource Usage
|
2136 |
|
|
|
2137 |
|
|
The SA11x0 OS timer is used as a polled timer to provide timeout
|
2138 |
|
|
support for XModem file transfers.
|
2139 |
|
|
|
2140 |
|
|
|
2141 |
|
|
Rebuilding RedBoot
|
2142 |
|
|
|
2143 |
|
|
These shell variables provide the platform-specific information
|
2144 |
|
|
needed for building RedBoot according to the procedure described in
|
2145 |
|
|
:
|
2146 |
|
|
|
2147 |
|
|
export TARGET=brutus
|
2148 |
|
|
export ARCH_DIR=arm
|
2149 |
|
|
export PLATFORM_DIR=sa11x0/brutus
|
2150 |
|
|
|
2151 |
|
|
|
2152 |
|
|
|
2153 |
|
|
The names of configuration files are listed above with the
|
2154 |
|
|
description of the associated modes.
|
2155 |
|
|
|
2156 |
|
|
|
2157 |
|
|
|
2158 |
|
|
|
2159 |
|
|
|
2160 |
|
|
|
2161 |
|
|
ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board
|
2162 |
|
|
|
2163 |
|
|
Overview
|
2164 |
|
|
Intel SA1100 Multimedia Board
|
2165 |
|
|
installing and testinginstalling
|
2166 |
|
|
and testingIntel SA1100 Multimedia Board
|
2167 |
|
|
RedBoot supports both board serial ports. The default serial port
|
2168 |
|
|
settings are 38400,8,N,1. flash management is also supported.
|
2169 |
|
|
|
2170 |
|
|
The following RedBoot configurations are supported:
|
2171 |
|
|
|
2172 |
|
|
|
2173 |
|
|
|
2174 |
|
|
2175 |
|
|
|
|
2176 |
|
|
Configuration
|
2177 |
|
|
Mode
|
2178 |
|
|
Description
|
2179 |
|
|
File
|
2180 |
|
|
|
2181 |
|
|
|
|
2182 |
|
|
2183 |
|
|
|
|
2184 |
|
|
ROM
|
2185 |
|
|
[ROM]
|
2186 |
|
|
RedBoot running from the board's flash boot
|
2187 |
|
|
sector.
|
2188 |
|
|
redboot_ROM.ecm
|
2189 |
|
|
|
2190 |
|
|
|
|
2191 |
|
|
RAM
|
2192 |
|
|
[RAM]
|
2193 |
|
|
RedBoot running from RAM with RedBoot in the
|
2194 |
|
|
flash boot sector.
|
2195 |
|
|
redboot_RAM.ecm
|
2196 |
|
|
|
2197 |
|
|
|
|
2198 |
|
|
|
2199 |
|
|
|
2200 |
|
|
|
2201 |
|
|
|
2202 |
|
|
|
2203 |
|
|
|
2204 |
|
|
Initial Installation Method
|
2205 |
|
|
A device programmer is used to program socketed flash parts.
|
2206 |
|
|
|
2207 |
|
|
|
2208 |
|
|
Special RedBoot Commands
|
2209 |
|
|
None.
|
2210 |
|
|
|
2211 |
|
|
|
2212 |
|
|
Memory Maps
|
2213 |
|
|
The first level page table is located at physical address 0xc0004000.
|
2214 |
|
|
No second level tables are used.NOTE
|
2215 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
2216 |
|
|
whether or not the region is cached (C) or buffered (B).
|
2217 |
|
|
Physical Address Range Description
|
2218 |
|
|
----------------------- ----------------------------------
|
2219 |
|
|
0x00000000 - 0x000fffff Boot flash
|
2220 |
|
|
0x08000000 - 0x083fffff Application flash
|
2221 |
|
|
0x10000000 - 0x107fffff SA-1101 Board Registers
|
2222 |
|
|
0x18000000 - 0x180fffff Ct8020 DSP
|
2223 |
|
|
0x18400000 - 0x184fffff XBusReg
|
2224 |
|
|
0x18800000 - 0x188fffff SysRegA
|
2225 |
|
|
0x18c00000 - 0x18cfffff SysRegB
|
2226 |
|
|
0x19000000 - 0x193fffff Spare CPLD A
|
2227 |
|
|
0x19400000 - 0x197fffff Spare CPLD B
|
2228 |
|
|
0x20000000 - 0x3fffffff PCMCIA
|
2229 |
|
|
0x80000000 - 0xbfffffff SA1100 Internal Registers
|
2230 |
|
|
0xc0000000 - 0xc07fffff DRAM Bank 0
|
2231 |
|
|
0xe0000000 - 0xe7ffffff Cache Clean
|
2232 |
|
|
Virtual Address Range C B Description
|
2233 |
|
|
|
2234 |
|
|
|
2235 |
|
|
----------------------- - - ----------------------------------
|
2236 |
|
|
0x00000000 - 0x007fffff Y Y DRAM Bank 0
|
2237 |
|
|
0x08000000 - 0x083fffff Y Y Application flash
|
2238 |
|
|
0x10000000 - 0x100fffff N N SA-1101 Registers
|
2239 |
|
|
0x18000000 - 0x180fffff N N Ct8020 DSP
|
2240 |
|
|
0x18400000 - 0x184fffff N N XBusReg
|
2241 |
|
|
0x18800000 - 0x188fffff N N SysRegA
|
2242 |
|
|
0x18c00000 - 0x18cfffff N N SysRegB
|
2243 |
|
|
0x19000000 - 0x193fffff N N Spare CPLD A
|
2244 |
|
|
0x19400000 - 0x197fffff N N Spare CPLD B
|
2245 |
|
|
0x20000000 - 0x3fffffff N N PCMCIA
|
2246 |
|
|
0x50000000 - 0x500fffff Y Y Boot flash
|
2247 |
|
|
0x80000000 - 0xbfffffff N N SA1100 Internal Registers
|
2248 |
|
|
0xc0000000 - 0xc07fffff N Y DRAM Bank 0
|
2249 |
|
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean
|
2250 |
|
|
|
2251 |
|
|
|
2252 |
|
|
Platform Resource Usage
|
2253 |
|
|
The SA11x0 OS timer is used as a polled timer to provide timeout support
|
2254 |
|
|
for XModem file transfers.
|
2255 |
|
|
|
2256 |
|
|
|
2257 |
|
|
Rebuilding RedBoot
|
2258 |
|
|
|
2259 |
|
|
These shell variables provide the platform-specific information
|
2260 |
|
|
needed for building RedBoot according to the procedure described in
|
2261 |
|
|
:
|
2262 |
|
|
|
2263 |
|
|
export TARGET=sa1100mm
|
2264 |
|
|
export ARCH_DIR=arm
|
2265 |
|
|
export PLATFORM_DIR=sa11x0/sa1100mm
|
2266 |
|
|
|
2267 |
|
|
|
2268 |
|
|
|
2269 |
|
|
The names of configuration files are listed above with the
|
2270 |
|
|
description of the associated modes.
|
2271 |
|
|
|
2272 |
|
|
|
2273 |
|
|
|
2274 |
|
|
|
2275 |
|
|
|
2276 |
|
|
|
2277 |
|
|
|
2278 |
|
|
|
2279 |
|
|
ARM/StrongARM(SA1110) Intel SA1110 (Assabet)
|
2280 |
|
|
|
2281 |
|
|
Overview
|
2282 |
|
|
Intel SA1110 (Assabet)installing
|
2283 |
|
|
and testinginstalling and testing
|
2284 |
|
|
Intel SA1110 (Assabet)RedBoot
|
2285 |
|
|
supports the board serial port and the compact flash ethernet port. The default
|
2286 |
|
|
serial port settings are 38400,8,N,1. RedBoot also supports flash management
|
2287 |
|
|
on the Assabet.
|
2288 |
|
|
|
2289 |
|
|
The following RedBoot configurations are supported:
|
2290 |
|
|
|
2291 |
|
|
|
2292 |
|
|
|
2293 |
|
|
2294 |
|
|
|
|
2295 |
|
|
Configuration
|
2296 |
|
|
Mode
|
2297 |
|
|
Description
|
2298 |
|
|
File
|
2299 |
|
|
|
2300 |
|
|
|
|
2301 |
|
|
2302 |
|
|
|
|
2303 |
|
|
ROM
|
2304 |
|
|
[ROM]
|
2305 |
|
|
RedBoot running from the board's flash boot
|
2306 |
|
|
sector.
|
2307 |
|
|
redboot_ROM.ecm
|
2308 |
|
|
|
2309 |
|
|
|
|
2310 |
|
|
RAM
|
2311 |
|
|
[RAM]
|
2312 |
|
|
RedBoot running from RAM with RedBoot in the
|
2313 |
|
|
flash boot sector.
|
2314 |
|
|
redboot_RAM.ecm
|
2315 |
|
|
|
2316 |
|
|
|
|
2317 |
|
|
|
2318 |
|
|
|
2319 |
|
|
|
2320 |
|
|
|
2321 |
|
|
|
2322 |
|
|
Initial Installation Method
|
2323 |
|
|
A Windows or Linux utility is used to program flash over parallel port
|
2324 |
|
|
driven JTAG interface. See board documentation for details on in situ flash
|
2325 |
|
|
programming.
|
2326 |
|
|
The flash parts are also socketed and may be programmed in a suitable
|
2327 |
|
|
device programmer.
|
2328 |
|
|
|
2329 |
|
|
|
2330 |
|
|
Special RedBoot Commands
|
2331 |
|
|
None.
|
2332 |
|
|
|
2333 |
|
|
|
2334 |
|
|
Memory Maps
|
2335 |
|
|
The first level page table is located at physical address 0xc0004000.
|
2336 |
|
|
No second level tables are used.NOTE
|
2337 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
2338 |
|
|
whether or not the region is cached (C) or buffered (B).
|
2339 |
|
|
Physical Address Range Description
|
2340 |
|
|
----------------------- ----------------------------------
|
2341 |
|
|
0x00000000 - 0x07ffffff flash
|
2342 |
|
|
0x08000000 - 0x0fffffff SA-1111 Board flash
|
2343 |
|
|
0x10000000 - 0x17ffffff Board Registers
|
2344 |
|
|
0x18000000 - 0x1fffffff Ethernet
|
2345 |
|
|
0x20000000 - 0x2fffffff SA-1111 Board PCMCIA
|
2346 |
|
|
0x30000000 - 0x3fffffff Compact Flash
|
2347 |
|
|
0x40000000 - 0x47ffffff SA-1111 Board
|
2348 |
|
|
0x48000000 - 0x4bffffff GFX
|
2349 |
|
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
2350 |
|
|
0xc0000000 - 0xc7ffffff DRAM Bank 0
|
2351 |
|
|
0xc8000000 - 0xcfffffff DRAM Bank 1
|
2352 |
|
|
0xd0000000 - 0xd7ffffff DRAM Bank 2
|
2353 |
|
|
0xd8000000 - 0xdfffffff DRAM Bank 3
|
2354 |
|
|
0xe0000000 - 0xe7ffffff Cache Clean
|
2355 |
|
|
|
2356 |
|
|
|
2357 |
|
|
Virtual Address Range C B Description
|
2358 |
|
|
----------------------- - - ----------------------------------
|
2359 |
|
|
0x00000000 - 0x01ffffff Y Y DRAM Bank 0
|
2360 |
|
|
0x08000000 - 0x0fffffff Y Y SA-1111 Board flash
|
2361 |
|
|
0x10000000 - 0x17ffffff N N Board Registers
|
2362 |
|
|
0x18000000 - 0x1fffffff N N Ethernet
|
2363 |
|
|
0x20000000 - 0x2fffffff N N SA-1111 Board PCMCIA
|
2364 |
|
|
0x30000000 - 0x3fffffff N N Compact Flash
|
2365 |
|
|
0x40000000 - 0x47ffffff N N SA-1111 Board
|
2366 |
|
|
0x48000000 - 0x4bffffff N N GFX
|
2367 |
|
|
0x50000000 - 0x57ffffff Y Y flash
|
2368 |
|
|
0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
|
2369 |
|
|
0xc0000000 - 0xc1ffffff N Y DRAM Bank 0
|
2370 |
|
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean
|
2371 |
|
|
|
2372 |
|
|
|
2373 |
|
|
|
2374 |
|
|
Platform Resource Usage
|
2375 |
|
|
The SA11x0 OS timer is used as a polled timer to provide timeout support
|
2376 |
|
|
for network and XModem file transfers.
|
2377 |
|
|
|
2378 |
|
|
Rebuilding RedBoot
|
2379 |
|
|
|
2380 |
|
|
These shell variables provide the platform-specific information
|
2381 |
|
|
needed for building RedBoot according to the procedure described in
|
2382 |
|
|
:
|
2383 |
|
|
|
2384 |
|
|
export TARGET=assabet
|
2385 |
|
|
export ARCH_DIR=arm
|
2386 |
|
|
export PLATFORM_DIR=sa11x0/assabet
|
2387 |
|
|
|
2388 |
|
|
|
2389 |
|
|
|
2390 |
|
|
The names of configuration files are listed above with the
|
2391 |
|
|
description of the associated modes.
|
2392 |
|
|
|
2393 |
|
|
|
2394 |
|
|
|
2395 |
|
|
|
2396 |
|
|
|
2397 |
|
|
|
2398 |
|
|
ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine
|
2399 |
|
|
|
2400 |
|
|
Overview
|
2401 |
|
|
commEngineinstalling and testing
|
2402 |
|
|
nanoEngine
|
2403 |
|
|
installing and testinginstalling
|
2404 |
|
|
and testingcommEngine
|
2405 |
|
|
installing and testingnanoEngine
|
2406 |
|
|
RedBoot supports a serial port and the built in ethernet port
|
2407 |
|
|
for communication and downloads. The default serial port settings are 38400,8,N,1.
|
2408 |
|
|
RedBoot runs from and supports flash management for the system flash
|
2409 |
|
|
region.
|
2410 |
|
|
|
2411 |
|
|
The following RedBoot configurations are supported:
|
2412 |
|
|
|
2413 |
|
|
|
2414 |
|
|
|
2415 |
|
|
2416 |
|
|
|
|
2417 |
|
|
Configuration
|
2418 |
|
|
Mode
|
2419 |
|
|
Description
|
2420 |
|
|
File
|
2421 |
|
|
|
2422 |
|
|
|
|
2423 |
|
|
2424 |
|
|
|
|
2425 |
|
|
POST
|
2426 |
|
|
[ROM]
|
2427 |
|
|
RedBoot running from the first free flash block
|
2428 |
|
|
at 0x40000.
|
2429 |
|
|
redboot_ROM.ecm
|
2430 |
|
|
|
2431 |
|
|
|
|
2432 |
|
|
RAM
|
2433 |
|
|
[RAM]
|
2434 |
|
|
RedBoot running from RAM with RedBoot in the
|
2435 |
|
|
flash boot sector.
|
2436 |
|
|
redboot_RAM.ecm
|
2437 |
|
|
|
2438 |
|
|
|
|
2439 |
|
|
|
2440 |
|
|
|
2441 |
|
|
|
2442 |
|
|
|
2443 |
|
|
|
2444 |
|
|
|
2445 |
|
|
Initial Installation
|
2446 |
|
|
Unlike other targets, the nanoEngine comes equipped with boot firmware
|
2447 |
|
|
which you cannot modify. See chapter 5, "nanoEngine Firmware" of the
|
2448 |
|
|
nanoEngine Hardware Reference Manual (we refer to "July 17, 2000
|
2449 |
|
|
Rev 0.6") from Bright Star Engineering.
|
2450 |
|
|
Because of this, eCos, and therefore Redboot, only supports a
|
2451 |
|
|
special configuration of the ROM mode, starting at offset 0x40000 in
|
2452 |
|
|
the flash.
|
2453 |
|
|
Briefly, the POST-configuration RedBoot image lives in flash following the
|
2454 |
|
|
BSE firmware. The BSE firmware is configured, using its standard
|
2455 |
|
|
bootcmd command, to run RedBoot at startup.
|
2456 |
|
|
|
2457 |
|
|
|
2458 |
|
|
|
2459 |
|
|
Download Instructions
|
2460 |
|
|
You can perform the initial load of the POST-configuration RedBoot image into
|
2461 |
|
|
flash using the BSE firmware's load command.
|
2462 |
|
|
This will load a binary file, using TFTP, and program it into flash in one
|
2463 |
|
|
operation. Because no memory management is used in the BSE firmware, flash
|
2464 |
|
|
is mapped from address zero upwards, so the address for the RedBoot POST image
|
2465 |
|
|
is 0x40000. You must use the binary version of RedBoot for this,
|
2466 |
|
|
redboot-post.bin.
|
2467 |
|
|
|
2468 |
|
|
This assumes you have set up the other BSE firmware config
|
2469 |
|
|
parameters such that it can communicate over your network to your TFTP
|
2470 |
|
|
server.
|
2471 |
|
|
>load redboot-post.bin 40000
|
2472 |
|
|
loading ... erasing blk at 00040000
|
2473 |
|
|
erasing blk at 00050000
|
2474 |
|
|
94168 bytes loaded cksum 00008579
|
2475 |
|
|
done
|
2476 |
|
|
>
|
2477 |
|
|
> set bootcmd "go 40000"
|
2478 |
|
|
> get
|
2479 |
|
|
myip = 10.16.19.198
|
2480 |
|
|
netmask = 255.255.255.0
|
2481 |
|
|
eth = 0
|
2482 |
|
|
gateway = 10.16.19.66
|
2483 |
|
|
serverip = 10.16.19.66
|
2484 |
|
|
bootcmd = go 40000
|
2485 |
|
|
>
|
2486 |
|
|
|
2487 |
|
|
NOTE
|
2488 |
|
|
the BSE firmware runs its serial IO at 9600 Baud; RedBoot runs instead
|
2489 |
|
|
at 38400 Baud. You must select the right baud rate in your terminal program
|
2490 |
|
|
to be able to set up the BSE firmware.
|
2491 |
|
|
|
2492 |
|
|
|
2493 |
|
|
After a reset, the BSE firmware will print
|
2494 |
|
|
|
2495 |
|
|
Boot: BSE 2000 Sep 12 2000 14:00:30
|
2496 |
|
|
autoboot: "go 40000" [hit ESC to abort]
|
2497 |
|
|
|
2498 |
|
|
and then RedBoot starts, switching to 38400 Baud.
|
2499 |
|
|
|
2500 |
|
|
Once you have installed a bootable RedBoot in the system in this
|
2501 |
|
|
manner, we advise re-installing using the generic method described in
|
2502 |
|
|
in order that the Flash Image System
|
2503 |
|
|
contains an appropriate description of the flash entries.
|
2504 |
|
|
|
2505 |
|
|
|
2506 |
|
|
Cohabiting with POST in Flash
|
2507 |
|
|
The configuration file named redboot_POST.ecm
|
2508 |
|
|
configures RedBoot to build for execution at address 0x50040000 (or, during
|
2509 |
|
|
bootup, 0x00040000). This is to allow power-on self-test (POST) code or immutable
|
2510 |
|
|
firmware to live in the lower addresses of the flash and to run before RedBoot
|
2511 |
|
|
gets control. The assumption is that RedBoot will be entered at its base address
|
2512 |
|
|
in physical memory, that is 0x00040000.
|
2513 |
|
|
|
2514 |
|
|
Alternatively, for testing, you can call it in an already running system
|
2515 |
|
|
by using go 0x50040040 at another RedBoot prompt, or
|
2516 |
|
|
a branch to that address. The address is where the reset vector
|
2517 |
|
|
points. It is reported by RedBoot's load command
|
2518 |
|
|
and listed
|
2519 |
|
|
by the fis list command, amongst other
|
2520 |
|
|
places.
|
2521 |
|
|
|
2522 |
|
|
Using the POST configuration enables a normal config option which causes
|
2523 |
|
|
linking and initialization against memory layout files called "...post..."
|
2524 |
|
|
rather than "...rom..." or "...ram..." in the include/pkgconf
|
2525 |
|
|
directory. Specifically:include/pkgconf/mlt_arm_sa11x0_nano_post.h
|
2526 |
|
|
include/pkgconf/mlt_arm_sa11x0_nano_post.ldi
|
2527 |
|
|
include/pkgconf/mlt_arm_sa11x0_nano_post.mlt
|
2528 |
|
|
|
2529 |
|
|
It is these you should edit if you wish to move the execution address
|
2530 |
|
|
from 0x50040000 in the POST configuration. Startup mode naturally
|
2531 |
|
|
remains ROM in this configuration.
|
2532 |
|
|
|
2533 |
|
|
Because the nanoEngine contains immutable boot firmware at the start
|
2534 |
|
|
of flash, RedBoot for this target is configured to reserve that area in the
|
2535 |
|
|
Flash Image System, and to create by default an entry for the POST
|
2536 |
|
|
mode RedBoot.
|
2537 |
|
|
|
2538 |
|
|
RedBoot> fis list
|
2539 |
|
|
Name FLASH addr Mem addr Length Entry point
|
2540 |
|
|
(reserved) 0x50000000 0x50000000 0x00040000 0x00000000
|
2541 |
|
|
RedBoot[post] 0x50040000 0x00100000 0x00020000 0x50040040
|
2542 |
|
|
RedBoot config 0x503E0000 0x503E0000 0x00010000 0x00000000
|
2543 |
|
|
FIS directory 0x503F0000 0x503F0000 0x00010000 0x00000000
|
2544 |
|
|
RedBoot>
|
2545 |
|
|
|
2546 |
|
|
The entry "(reserved)" ensures that the FIS cannot attempt
|
2547 |
|
|
to overwrite the BSE firmware, thus ensuring that the board remains bootable
|
2548 |
|
|
and recoverable even after installing a broken RedBoot image.
|
2549 |
|
|
|
2550 |
|
|
|
2551 |
|
|
Special RedBoot Commands
|
2552 |
|
|
The nanoEngine/commEngine has one or two Intel i82559 Ethernet controllers
|
2553 |
|
|
installed, but these have no associated serial EEPROM in which to record their
|
2554 |
|
|
Ethernet Station Address (ESA, or MAC address). The BSE firmware records an
|
2555 |
|
|
ESA for the device it uses, but this information is not available to RedBoot;
|
2556 |
|
|
we cannot share it.
|
2557 |
|
|
To keep the ESAs for the two ethernet interfaces, two new items of RedBoot
|
2558 |
|
|
configuration data are introduced. You can list them with the RedBoot command
|
2559 |
|
|
fconfig -l thus:
|
2560 |
|
|
|
2561 |
|
|
RedBoot> fconfig -l
|
2562 |
|
|
Run script at boot: false
|
2563 |
|
|
Use BOOTP for network configuration: false
|
2564 |
|
|
Local IP address: 10.16.19.91
|
2565 |
|
|
Default server IP address: 10.16.19.66
|
2566 |
|
|
Network hardware address [MAC] for eth0: 0x00:0xB5:0xE0:0xB5:0xE0:0x99
|
2567 |
|
|
Network hardware address [MAC] for eth1: 0x00:0xB5:0xE0:0xB5:0xE0:0x9A
|
2568 |
|
|
GDB connection port: 9000
|
2569 |
|
|
Network debug at boot time: false
|
2570 |
|
|
RedBoot>
|
2571 |
|
|
|
2572 |
|
|
You should set them before running RedBoot or eCos applications with
|
2573 |
|
|
the board connected to a network. The fconfig
|
2574 |
|
|
command can be used as for any configuration data item; the entire ESA
|
2575 |
|
|
is entered in one line.
|
2576 |
|
|
|
2577 |
|
|
|
2578 |
|
|
Memory Maps
|
2579 |
|
|
The first level page table is located at physical address 0xc0004000.
|
2580 |
|
|
No second level tables are used. NOTE
|
2581 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
2582 |
|
|
whether or not the region is cached (C) or buffered (B).
|
2583 |
|
|
Physical Address Range Description
|
2584 |
|
|
----------------------- ----------------------------------
|
2585 |
|
|
0x00000000 - 0x003fffff 4Mb FLASH (nCS0)
|
2586 |
|
|
0x18000000 - 0x18ffffff Internal PCI bus - 2 x i82559 ethernet
|
2587 |
|
|
0x40000000 - 0x4fffffff External IO or PCI bus
|
2588 |
|
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
2589 |
|
|
0xc0000000 - 0xc7ffffff DRAM Bank 0 - 32Mb SDRAM
|
2590 |
|
|
0xc8000000 - 0xcfffffff DRAM Bank 1 - empty
|
2591 |
|
|
0xe0000000 - 0xe7ffffff Cache Clean
|
2592 |
|
|
|
2593 |
|
|
Virtual Address Range C B Description
|
2594 |
|
|
----------------------- - - ----------------------------------
|
2595 |
|
|
0x00000000 - 0x001fffff Y Y DRAM - 8Mb to 32Mb
|
2596 |
|
|
0x18000000 - 0x180fffff N N Internal PCI bus - 2 x i82559 ethernet
|
2597 |
|
|
0x40000000 - 0x4fffffff N N External IO or PCI bus
|
2598 |
|
|
0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
|
2599 |
|
|
0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
|
2600 |
|
|
0xc0000000 - 0xc0ffffff N Y DRAM Bank 0: 8 or 16Mb
|
2601 |
|
|
0xc8000000 - 0xc8ffffff N Y DRAM Bank 1: 8 or 16Mb or absent
|
2602 |
|
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean
|
2603 |
|
|
|
2604 |
|
|
|
2605 |
|
|
The ethernet devices use a "PCI window" to communicate with the CPU.
|
2606 |
|
|
This is 1Mb of SDRAM which is shared with the ethernet devices that are on
|
2607 |
|
|
the PCI bus. It is neither cached nor buffered, to ensure that CPU and PCI
|
2608 |
|
|
accesses see correct data in the correct order. By default it is configured
|
2609 |
|
|
to be megabyte number 30, at addresses 0x01e00000-0x01efffff. This can be
|
2610 |
|
|
modified, and indeed must be, if less than 32Mb of SDRAM is installed, via
|
2611 |
|
|
the memory layout tool, or by moving the section __pci_window
|
2612 |
|
|
referred to by symbols CYGMEM_SECTION_pci_window*
|
2613 |
|
|
in the linker script.
|
2614 |
|
|
Though the nanoEngine ships with 32Mb of SDRAM all attached to DRAM
|
2615 |
|
|
bank 0, the code can cope with any of these combinations also; "2 x " in this
|
2616 |
|
|
context means one device in each DRAM Bank. 1 x 8Mb = 8Mb 2 x 8Mb = 16Mb
|
2617 |
|
|
1 x 16Mb = 16Mb 2 x 16Mb = 32MbAll are programmed the same
|
2618 |
|
|
in the memory controller.
|
2619 |
|
|
Startup code detects which is fitted and programs the memory map accordingly.
|
2620 |
|
|
If the device(s) is 8Mb, then there are gaps in the physical memory map, because
|
2621 |
|
|
a high order address bit is not connected. The gaps are the higher 2Mb out
|
2622 |
|
|
of every 4Mb.
|
2623 |
|
|
|
2624 |
|
|
The SA11x0 OS timer is used as a polled timer to provide timeout
|
2625 |
|
|
support within RedBoot.
|
2626 |
|
|
|
2627 |
|
|
|
2628 |
|
|
Nano Platform Port
|
2629 |
|
|
The nano is in the set of SA11X0-based platforms. It uses the arm architectural
|
2630 |
|
|
HAL, the sa11x0 variant HAL, plus the nano platform hal. These are components
|
2631 |
|
|
CYGPKG_HAL_ARM hal/arm/arch/
|
2632 |
|
|
CYGPKG_HAL_ARM_SA11X0 hal/arm/sa11x0/var
|
2633 |
|
|
CYGPKG_HAL_ARM_SA11X0_NANO hal/arm/sa11x0/nano respectively.
|
2634 |
|
|
|
2635 |
|
|
The target name is "nano" which includes all these, plus the ethernet
|
2636 |
|
|
driver packages, flash driver, and so on.
|
2637 |
|
|
|
2638 |
|
|
|
2639 |
|
|
Ethernet Driver
|
2640 |
|
|
The ethernet driver is in two parts:
|
2641 |
|
|
A generic ether driver for Intel i8255x series devices, specifically
|
2642 |
|
|
the i82559, is devs/eth/intel/i82559. Its
|
2643 |
|
|
package name is CYGPKG_DEVS_ETH_INTEL_I82559.
|
2644 |
|
|
|
2645 |
|
|
The platform-specific ether driver is devs/eth/arm/nano
|
2646 |
|
|
. Its package is CYGPKG_DEVS_ETH_ARM_NANO
|
2647 |
|
|
. This tells the generic driver the address in IO memory
|
2648 |
|
|
of the chip, for example, and other configuration details. This driver picks
|
2649 |
|
|
up the ESA from RedBoot's configuration data - unless configured to use a
|
2650 |
|
|
static ESA in the usual manner.
|
2651 |
|
|
|
2652 |
|
|
Rebuilding RedBoot
|
2653 |
|
|
|
2654 |
|
|
These shell variables provide the platform-specific information
|
2655 |
|
|
needed for building RedBoot according to the procedure described in
|
2656 |
|
|
:
|
2657 |
|
|
|
2658 |
|
|
export TARGET=nano
|
2659 |
|
|
export ARCH_DIR=arm
|
2660 |
|
|
export PLATFORM_DIR=sa11x0/nano
|
2661 |
|
|
|
2662 |
|
|
|
2663 |
|
|
|
2664 |
|
|
The names of configuration files are listed above with the
|
2665 |
|
|
description of the associated modes.
|
2666 |
|
|
|
2667 |
|
|
|
2668 |
|
|
|
2669 |
|
|
|
2670 |
|
|
|
2671 |
|
|
ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC
|
2672 |
|
|
Compaq iPAQ PocketPCinstalling and
|
2673 |
|
|
testinginstalling and testing
|
2674 |
|
|
Compaq iPAQ PocketPC
|
2675 |
|
|
|
2676 |
|
|
Overview
|
2677 |
|
|
RedBoot supports the serial port via cradle or cable, and Compact Flash
|
2678 |
|
|
ethernet cards if fitted for communication and downloads. The LCD touchscreen
|
2679 |
|
|
may also be used for the console, although by default RedBoot will switch
|
2680 |
|
|
exclusively to one channel once input arrives.
|
2681 |
|
|
The default serial port settings are 38400,8,N,1. RedBoot runs from
|
2682 |
|
|
and supports flash management for the system flash region.
|
2683 |
|
|
|
2684 |
|
|
The following RedBoot configurations are supported:
|
2685 |
|
|
|
2686 |
|
|
|
2687 |
|
|
|
2688 |
|
|
2689 |
|
|
|
|
2690 |
|
|
Configuration
|
2691 |
|
|
Mode
|
2692 |
|
|
Description
|
2693 |
|
|
File
|
2694 |
|
|
|
2695 |
|
|
|
|
2696 |
|
|
2697 |
|
|
|
|
2698 |
|
|
ROM
|
2699 |
|
|
[ROM]
|
2700 |
|
|
RedBoot running from the board's flash boot
|
2701 |
|
|
sector.
|
2702 |
|
|
redboot_ROM.ecm
|
2703 |
|
|
|
2704 |
|
|
|
|
2705 |
|
|
RAM
|
2706 |
|
|
[RAM]
|
2707 |
|
|
RedBoot running from RAM with RedBoot in the
|
2708 |
|
|
flash boot sector.
|
2709 |
|
|
redboot_RAM.ecm
|
2710 |
|
|
|
2711 |
|
|
|
|
2712 |
|
|
WinCE
|
2713 |
|
|
[RAM]
|
2714 |
|
|
RedBoot running from RAM, started from
|
2715 |
|
|
OSloader.
|
2716 |
|
|
redboot_WinCE.ecm
|
2717 |
|
|
|
2718 |
|
|
|
|
2719 |
|
|
|
2720 |
|
|
|
2721 |
|
|
|
2722 |
|
|
|
2723 |
|
|
|
2724 |
|
|
|
2725 |
|
|
|
2726 |
|
|
|
2727 |
|
|
Initial Installation
|
2728 |
|
|
RedBoot ROM and WinCE mode images are needed by the installation process.
|
2729 |
|
|
|
2730 |
|
|
|
2731 |
|
|
Installing RedBoot on the iPAQ using Windows/CE
|
2732 |
|
|
|
2733 |
|
|
The Windows/CE environment originally shipped with the iPAQ contains a hidden
|
2734 |
|
|
mini-loader, sometimes referred to as the "Parrot" loader. This loader can
|
2735 |
|
|
be started by holding down the action button (the joypad) while resetting
|
2736 |
|
|
the unit or when powering on. At this point, a blue bird will appear on
|
2737 |
|
|
the LCD screen. Also at this point, a simple loader can be accessed over the
|
2738 |
|
|
serial port at 115200/8N1. Using this loader, the contents of the iPAQ flash
|
2739 |
|
|
memory can be saved to a Compact Flash memory card.
|
2740 |
|
|
NOTEWe have only tested this operation with a 32Mbyte CF memory card.
|
2741 |
|
|
Given that the backup will take 16MBytes + 1KByte, something more than a 16MByte
|
2742 |
|
|
card will be required.
|
2743 |
|
|
|
2744 |
|
|
|
2745 |
|
|
Use the "r2c" command to dump Flash contents to the CF memory card. Once this
|
2746 |
|
|
completes, RedBoot can be installed with no fear since the Parrot loader can
|
2747 |
|
|
be used to restore the Flash contents at a later time.
|
2748 |
|
|
|
2749 |
|
|
|
2750 |
|
|
If you expect to completely recover the state of the iPAQ Win/CE environment, then
|
2751 |
|
|
HotSync should be run to backup all "RAM" files as well before installing RedBoot.
|
2752 |
|
|
|
2753 |
|
|
The next step in installing RedBoot on the iPAQ actually involves Windows/CE,
|
2754 |
|
|
which is the native environment on the unit. Using WinCE, you need to
|
2755 |
|
|
install an application which will run a RAM based version of RedBoot. Once
|
2756 |
|
|
this is installed and running, RedBoot can be used to update the flash with
|
2757 |
|
|
a native/ROM version of RedBoot.
|
2758 |
|
|
Using ActiveSync, copy the file OSloader to your iPAQ.
|
2759 |
|
|
|
2760 |
|
|
Using ActiveSync, copy the file redboot_WinCE.bin to the iPAQ
|
2761 |
|
|
as bootldr in its root directory. Note: this is not the top level folder
|
2762 |
|
|
displayed by Windows (Mobile Device), but rather the 'My Pocket PC' folder
|
2763 |
|
|
within it.
|
2764 |
|
|
|
2765 |
|
|
Execute OSloader. If you didn't create a shortcut, then you
|
2766 |
|
|
will have to poke around for it using the WinCE file explorer.
|
2767 |
|
|
|
2768 |
|
|
Choose the Tools->BootLdr->Run after loading
|
2769 |
|
|
from file menu item.
|
2770 |
|
|
|
2771 |
|
|
At this point, the RAM based version of RedBoot should be running.
|
2772 |
|
|
You should be able to return to this point by just executing the last two
|
2773 |
|
|
steps of the previous process if necessary.
|
2774 |
|
|
|
2775 |
|
|
|
2776 |
|
|
Installing RedBoot on the iPAQ - using the Compaq boot loader
|
2777 |
|
|
This method of installation is no longer supported.
|
2778 |
|
|
If you have previously installed either the Compaq boot loader or older
|
2779 |
|
|
versions of RedBoot, restore the Win/CE environment and proceed as outlined
|
2780 |
|
|
above.
|
2781 |
|
|
|
2782 |
|
|
|
2783 |
|
|
|
2784 |
|
|
Setting up and testing RedBoot
|
2785 |
|
|
When RedBoot first comes up, it will want to initialize its LCD touch
|
2786 |
|
|
screen parameters. It does this by displaying a keyboard graphic and asks
|
2787 |
|
|
you to press certain keys. Using the stylus, press and hold until the prompt
|
2788 |
|
|
is withdrawn. When you lift the stylus, RedBoot will continue with the next
|
2789 |
|
|
calibration.
|
2790 |
|
|
Once the LCD touchscreen has been calibrated, RedBoot will start. The
|
2791 |
|
|
calibration step can be skipped by pressing the return/abort
|
2792 |
|
|
button on the unit (right most button with a curved arrow icon). Additionally,
|
2793 |
|
|
the unit will assume default values if the screen is not touched within about
|
2794 |
|
|
15 seconds.
|
2795 |
|
|
Once RedBoot has started, you should get information similar to this
|
2796 |
|
|
on the LCD screen. It will also appear on the serial port at 38400,8,N,1.
|
2797 |
|
|
|
2798 |
|
|
RedBoot(tm) bootstrap and debug environment [ROM]
|
2799 |
|
|
Non-certified release, version UNKNOWN - built 06:17:41, Mar 19 2001
|
2800 |
|
|
Platform: Compaq iPAQ Pocket PC (StrongARM 1110)
|
2801 |
|
|
|
2802 |
|
|
Copyright (C) 2000, 2001, Free Software Foundation, Inc.
|
2803 |
|
|
|
2804 |
|
|
RAM: 0x00000000-0x01fc0000, 0x0001f200-0x01f70000 available
|
2805 |
|
|
FLASH: 0x50000000 - 0x51000000, 64 blocks of 0x00040000 bytes
|
2806 |
|
|
each.
|
2807 |
|
|
|
2808 |
|
|
Since the LCD touchscreen is only 30 characters wide, some of this
|
2809 |
|
|
data will be off the right hand side of the display. The joypad may be
|
2810 |
|
|
used to pan left and right in order to see the full lines.
|
2811 |
|
|
If you have a Compact Flash ethernet card, RedBoot should find
|
2812 |
|
|
it. You'll need to have BOOTP enabled for this unit (see your
|
2813 |
|
|
sysadmin for details). If it does, it will print a message like:
|
2814 |
|
|
|
2815 |
|
|
... Waiting for network card: .Ready!
|
2816 |
|
|
Socket Communications Inc: CF+ LPE Revision E 08/04/99
|
2817 |
|
|
IP: 192.168.1.34, Default server: 192.168.1.101
|
2818 |
|
|
|
2819 |
|
|
|
2820 |
|
|
|
2821 |
|
|
Installing RedBoot permanently
|
2822 |
|
|
Once you are satisfied with the setup and that RedBoot is operating
|
2823 |
|
|
properly in your environment, you can set up your iPAQ unit to have RedBoot
|
2824 |
|
|
be the bootstrap application.
|
2825 |
|
|
|
2826 |
|
|
CAUTION
|
2827 |
|
|
This step will destroy your Windows/CE environment.
|
2828 |
|
|
Before you take this step, it is strongly recommended you save your WinCE FLASH contents
|
2829 |
|
|
as outlined above using the "parrot" loader, or
|
2830 |
|
|
by using the Compaq OSloader:
|
2831 |
|
|
|
2832 |
|
|
Using OSloader on the iPAQ, select the Tools->Flash->Save
|
2833 |
|
|
to files.... menu item.
|
2834 |
|
|
|
2835 |
|
|
|
2836 |
|
|
Four (4) files, 4MB each in size will be created.
|
2837 |
|
|
|
2838 |
|
|
|
2839 |
|
|
After each file is created, copy the file to your computer,
|
2840 |
|
|
then delete the file from the iPAQ to make room in the WinCE ramdisk for the
|
2841 |
|
|
next file.
|
2842 |
|
|
|
2843 |
|
|
|
2844 |
|
|
You will need to download the version of RedBoot designed as the
|
2845 |
|
|
ROM bootstrap. Then install it permanently using these commands:
|
2846 |
|
|
|
2847 |
|
|
RedBoot> lo -r -b 0x100000 redboot_ROM.bin
|
2848 |
|
|
RedBoot> fi loc -f 0x50000000 -l 0x40000
|
2849 |
|
|
RedBoot> fis init
|
2850 |
|
|
RedBoot> fi unl -f 0x50040000 -l 0x40000
|
2851 |
|
|
RedBoot> fi cr RedBoot -b 0x100000
|
2852 |
|
|
RedBoot> fi loc -f 0x50040000 -l 0x40000
|
2853 |
|
|
RedBoot> reset
|
2854 |
|
|
|
2855 |
|
|
|
2856 |
|
|
WARNING
|
2857 |
|
|
You must type these commands exactly! Failure to do so may render your
|
2858 |
|
|
iPAQ totally useless. Once you've done this, RedBoot should come up every
|
2859 |
|
|
time you reset.
|
2860 |
|
|
|
2861 |
|
|
|
2862 |
|
|
|
2863 |
|
|
|
2864 |
|
|
Restoring Windows/CE
|
2865 |
|
|
To restore Windows/CE from the backup taken in ,
|
2866 |
|
|
visit http://www.handhelds.org/projects/wincerestoration.html
|
2867 |
|
|
for directions.
|
2868 |
|
|
|
2869 |
|
|
|
2870 |
|
|
|
2871 |
|
|
|
2872 |
|
|
Additional commands
|
2873 |
|
|
The exec command which allows the loading
|
2874 |
|
|
and execution of Linux kernels,
|
2875 |
|
|
is supported for this board (see ). The
|
2876 |
|
|
exec parameters used for the iPAQ are:
|
2877 |
|
|
|
2878 |
|
|
-b <addr>
|
2879 |
|
|
Location Linux kernel was loaded to
|
2880 |
|
|
|
2881 |
|
|
-l <len>
|
2882 |
|
|
Length of kernel
|
2883 |
|
|
|
2884 |
|
|
-c "params"
|
2885 |
|
|
Parameters passed to kernel
|
2886 |
|
|
-r <addr>
|
2887 |
|
|
'initrd' ramdisk location
|
2888 |
|
|
-s <len>
|
2889 |
|
|
Length of initrd ramdisk
|
2890 |
|
|
|
2891 |
|
|
Linux kernels may be run on the iPAQ using the sources from the anonymous
|
2892 |
|
|
CVS repository at the Handhelds project (
|
2893 |
|
|
http://www.handhelds.org/) with
|
2894 |
|
|
the elinux.patch patch file applied. This file can be
|
2895 |
|
|
found in the
|
2896 |
|
|
misc/ subdirectory of the iPAQ platform HAL in the
|
2897 |
|
|
RedBoot sources, normally
|
2898 |
|
|
hal/arm/sa11x0/ipaq/VERSION/misc/
|
2899 |
|
|
|
2900 |
|
|
|
2901 |
|
|
On the iPAQ (and indeed all SA11x0 platforms), Linux expects to be loaded
|
2902 |
|
|
at address 0xC0008000 and the entry point is also at 0xC0008000.
|
2903 |
|
|
|
2904 |
|
|
|
2905 |
|
|
|
2906 |
|
|
|
2907 |
|
|
Memory Maps
|
2908 |
|
|
RedBoot sets up the following memory map on the iPAQ: The first level
|
2909 |
|
|
page table is located at physical address 0xC0004000. No second level tables
|
2910 |
|
|
are used. NOTE
|
2911 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
2912 |
|
|
whether or not the region is cached (C) or buffered (B).
|
2913 |
|
|
Physical Address Range Description
|
2914 |
|
|
----------------------- ----------------------------------
|
2915 |
|
|
0x00000000 - 0x01ffffff 16Mb to 32Mb FLASH (nCS0) [organized as below]
|
2916 |
|
|
0x000000 - 0x0003ffff Parrot Loader
|
2917 |
|
|
0x040000 - 0x0007ffff RedBoot
|
2918 |
|
|
0xf80000 - 0x00fbffff Fconfig data
|
2919 |
|
|
0xfc0000 - 0x00ffffff FIS directory
|
2920 |
|
|
0x30000000 - 0x3fffffff Compact Flash
|
2921 |
|
|
0x48000000 - 0x4bffffff iPAQ internal registers
|
2922 |
|
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
2923 |
|
|
0xc0000000 - 0xc1ffffff DRAM Bank 0 - 32Mb SDRAM
|
2924 |
|
|
0xe0000000 - 0xe7ffffff Cache Clean
|
2925 |
|
|
|
2926 |
|
|
|
2927 |
|
|
Virtual Address Range C B Description
|
2928 |
|
|
----------------------- - - ----------------------------------
|
2929 |
|
|
0x00000000 - 0x01ffffff Y Y DRAM - 32Mb
|
2930 |
|
|
0x30000000 - 0x3fffffff N N Compact Flash
|
2931 |
|
|
0x48000000 - 0x4bffffff N N iPAQ internal registers
|
2932 |
|
|
0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
|
2933 |
|
|
0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
|
2934 |
|
|
0xc0000000 - 0xc1ffffff N Y DRAM Bank 0: 32Mb
|
2935 |
|
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean
|
2936 |
|
|
|
2937 |
|
|
|
2938 |
|
|
Rebuilding RedBoot
|
2939 |
|
|
|
2940 |
|
|
These shell variables provide the platform-specific information
|
2941 |
|
|
needed for building RedBoot according to the procedure described in
|
2942 |
|
|
:
|
2943 |
|
|
|
2944 |
|
|
export TARGET=ipaq
|
2945 |
|
|
export ARCH_DIR=arm
|
2946 |
|
|
export PLATFORM_DIR=sa11x0/ipaq
|
2947 |
|
|
|
2948 |
|
|
|
2949 |
|
|
|
2950 |
|
|
The names of configuration files are listed above with the
|
2951 |
|
|
description of the associated modes.
|
2952 |
|
|
|
2953 |
|
|
|
2954 |
|
|
|
2955 |
|
|
|
2956 |
|
|
|
2957 |
|
|
ARM/StrongARM(SA11X0) Intrinsyc CerfCube
|
2958 |
|
|
Intrinsyc CerfCubeinstalling and
|
2959 |
|
|
testinginstalling and testing
|
2960 |
|
|
Intrinsyc CerfCube
|
2961 |
|
|
|
2962 |
|
|
Overview
|
2963 |
|
|
RedBoot supports the serial port and the builtin
|
2964 |
|
|
ethernet connection for communication and downloads.
|
2965 |
|
|
|
2966 |
|
|
The default serial port settings are 38400,8,N,1. RedBoot runs from
|
2967 |
|
|
and supports flash management for the system flash region.
|
2968 |
|
|
|
2969 |
|
|
The following RedBoot configurations are supported:
|
2970 |
|
|
|
2971 |
|
|
|
2972 |
|
|
|
2973 |
|
|
2974 |
|
|
|
|
2975 |
|
|
Configuration
|
2976 |
|
|
Mode
|
2977 |
|
|
Description
|
2978 |
|
|
File
|
2979 |
|
|
|
2980 |
|
|
|
|
2981 |
|
|
2982 |
|
|
|
|
2983 |
|
|
ROM
|
2984 |
|
|
[ROM]
|
2985 |
|
|
RedBoot running from the board's flash boot
|
2986 |
|
|
sector.
|
2987 |
|
|
redboot_ROM.ecm
|
2988 |
|
|
|
2989 |
|
|
|
|
2990 |
|
|
RAM
|
2991 |
|
|
[RAM]
|
2992 |
|
|
RedBoot running from RAM with RedBoot in the
|
2993 |
|
|
flash boot sector.
|
2994 |
|
|
redboot_RAM.ecm
|
2995 |
|
|
|
2996 |
|
|
|
|
2997 |
|
|
|
2998 |
|
|
|
2999 |
|
|
|
3000 |
|
|
|
3001 |
|
|
|
3002 |
|
|
|
3003 |
|
|
|
3004 |
|
|
Initial Installation
|
3005 |
|
|
|
3006 |
|
|
The original boot loader supplied with the CerfCube can be used to install
|
3007 |
|
|
RedBoot. Connect to the device using a serial port at 38400/8N1.
|
3008 |
|
|
Copy the binary RedBoot ROM mode image to an available TFTP server.
|
3009 |
|
|
Issue these commands to the Instrinsyc loader:
|
3010 |
|
|
|
3011 |
|
|
download tftp:x.x.x.x redboot_ROM.bin 0xc0000000
|
3012 |
|
|
flashloader 0x00000000 0xc0000000 0x20000
|
3013 |
|
|
|
3014 |
|
|
where x.x.x.x is the IP address of the TFTP
|
3015 |
|
|
server.
|
3016 |
|
|
|
3017 |
|
|
NOTE
|
3018 |
|
|
|
3019 |
|
|
Other installation methods may be available via the Intrinsyc loader.
|
3020 |
|
|
Contact Intrinsyc for details.
|
3021 |
|
|
|
3022 |
|
|
|
3023 |
|
|
|
3024 |
|
|
|
3025 |
|
|
|
3026 |
|
|
Additional commands
|
3027 |
|
|
The exec command which allows the loading
|
3028 |
|
|
and execution of Linux kernels,
|
3029 |
|
|
is supported for this board (see ). The
|
3030 |
|
|
exec parameters used for the CerfCube are:
|
3031 |
|
|
|
3032 |
|
|
-b <addr>
|
3033 |
|
|
Location Linux kernel was loaded to
|
3034 |
|
|
|
3035 |
|
|
-l <len>
|
3036 |
|
|
Length of kernel
|
3037 |
|
|
|
3038 |
|
|
-c "params"
|
3039 |
|
|
Parameters passed to kernel
|
3040 |
|
|
-r <addr>
|
3041 |
|
|
'initrd' ramdisk location
|
3042 |
|
|
-s <len>
|
3043 |
|
|
Length of initrd ramdisk
|
3044 |
|
|
|
3045 |
|
|
|
3046 |
|
|
|
3047 |
|
|
|
3048 |
|
|
Memory Maps
|
3049 |
|
|
RedBoot sets up the following memory map on the CerfCube: The first level
|
3050 |
|
|
page table is located at physical address 0xC0004000. No second level tables
|
3051 |
|
|
are used. NOTE
|
3052 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
3053 |
|
|
whether or not the region is cached (C) or buffered (B).
|
3054 |
|
|
Physical Address Range Description
|
3055 |
|
|
----------------------- ----------------------------------
|
3056 |
|
|
0x00000000 - 0x01ffffff 16Mb to 32Mb FLASH (nCS0) [organized as below]
|
3057 |
|
|
0x000000 - 0x0001ffff RedBoot
|
3058 |
|
|
0x020000 - 0x0003ffff RedBoot [RAM version]
|
3059 |
|
|
0xfc0000 - 0x00fdffff Fconfig data
|
3060 |
|
|
0xfe0000 - 0x00ffffff FIS directory
|
3061 |
|
|
0x0f000000 - 0x0fffffff Onboard ethernet
|
3062 |
|
|
0x10000000 - 0x17ffffff CerfCube internal registers
|
3063 |
|
|
0x20000000 - 0x3fffffff PCMCIA / Compact Flash
|
3064 |
|
|
0x80000000 - 0xbfffffff SA-1110 Internal Registers
|
3065 |
|
|
0xc0000000 - 0xc1ffffff DRAM Bank 0 - 32Mb SDRAM
|
3066 |
|
|
0xe0000000 - 0xe7ffffff Cache Clean
|
3067 |
|
|
|
3068 |
|
|
|
3069 |
|
|
Virtual Address Range C B Description
|
3070 |
|
|
----------------------- - - ----------------------------------
|
3071 |
|
|
0x00000000 - 0x01ffffff Y Y DRAM - 32Mb
|
3072 |
|
|
0x08000000 - 0x0fffffff N N Onboard ethernet controller
|
3073 |
|
|
0x10000000 - 0x17ffffff N N CerfCube internal registers
|
3074 |
|
|
0x20000000 - 0x3fffffff N N PCMCIA / Compact Flash
|
3075 |
|
|
0x50000000 - 0x51ffffff Y Y Up to 32Mb FLASH (nCS0)
|
3076 |
|
|
0x80000000 - 0xbfffffff N N SA-1110 Internal Registers
|
3077 |
|
|
0xc0000000 - 0xc1ffffff N Y DRAM Bank 0: 32Mb
|
3078 |
|
|
0xe0000000 - 0xe7ffffff Y Y Cache Clean
|
3079 |
|
|
|
3080 |
|
|
|
3081 |
|
|
|
3082 |
|
|
Rebuilding RedBoot
|
3083 |
|
|
|
3084 |
|
|
These shell variables provide the platform-specific information
|
3085 |
|
|
needed for building RedBoot according to the procedure described in
|
3086 |
|
|
:
|
3087 |
|
|
|
3088 |
|
|
export TARGET=cerf
|
3089 |
|
|
export ARCH_DIR=arm
|
3090 |
|
|
export PLATFORM_DIR=sa11x0/cerf
|
3091 |
|
|
|
3092 |
|
|
|
3093 |
|
|
|
3094 |
|
|
The names of configuration files are listed above with the
|
3095 |
|
|
description of the associated modes.
|
3096 |
|
|
|
3097 |
|
|
|
3098 |
|
|
|
3099 |
|
|
|
3100 |
|
|
|
3101 |
|
|
ARM/XScale Cyclone IQ80310
|
3102 |
|
|
|
3103 |
|
|
Overview
|
3104 |
|
|
Cyclone IQ80310installing and
|
3105 |
|
|
testinginstalling and testing
|
3106 |
|
|
Cyclone IQ80310RedBoot supports
|
3107 |
|
|
both serial ports and the built-in ethernet port for communication and downloads.
|
3108 |
|
|
The default serial port settings are 115200,8,N,1. RedBoot also supports flash
|
3109 |
|
|
management for the onboard 8MB flash.
|
3110 |
|
|
|
3111 |
|
|
The following RedBoot configurations are supported:
|
3112 |
|
|
|
3113 |
|
|
|
3114 |
|
|
|
3115 |
|
|
3116 |
|
|
|
|
3117 |
|
|
Configuration
|
3118 |
|
|
Mode
|
3119 |
|
|
Description
|
3120 |
|
|
File
|
3121 |
|
|
|
3122 |
|
|
|
|
3123 |
|
|
3124 |
|
|
|
|
3125 |
|
|
ROM
|
3126 |
|
|
[ROM]
|
3127 |
|
|
RedBoot running from the board's flash boot
|
3128 |
|
|
sector.
|
3129 |
|
|
redboot_ROM.ecm
|
3130 |
|
|
|
3131 |
|
|
|
|
3132 |
|
|
RAM
|
3133 |
|
|
[RAM]
|
3134 |
|
|
RedBoot running from RAM with RedBoot in the
|
3135 |
|
|
flash boot sector.
|
3136 |
|
|
redboot_RAM.ecm
|
3137 |
|
|
|
3138 |
|
|
|
|
3139 |
|
|
ROMA
|
3140 |
|
|
[ROM]
|
3141 |
|
|
RedBoot running from flash address 0x40000, with
|
3142 |
|
|
ARM bootloader in flash boot sector.
|
3143 |
|
|
redboot_ROMA.ecm
|
3144 |
|
|
|
3145 |
|
|
|
|
3146 |
|
|
RAMA
|
3147 |
|
|
[RAM]
|
3148 |
|
|
RedBoot running from RAM with ARM bootloader in
|
3149 |
|
|
flash boot sector.
|
3150 |
|
|
redboot_RAMA.ecm
|
3151 |
|
|
|
3152 |
|
|
|
|
3153 |
|
|
|
3154 |
|
|
|
3155 |
|
|
|
3156 |
|
|
|
3157 |
|
|
|
3158 |
|
|
Initial Installation Method
|
3159 |
|
|
|
3160 |
|
|
The board manufacturer provides a DOS application which is
|
3161 |
|
|
capable of programming the flash over the PCI bus, and this is
|
3162 |
|
|
required for initial installations of RedBoot. Please see the board
|
3163 |
|
|
manual for information on using this utility. In general, the process
|
3164 |
|
|
involves programming one of the two flash based RedBoot images to
|
3165 |
|
|
flash. The ROM mode RedBoot (which runs from the flash boot sector)
|
3166 |
|
|
should be programmed to flash address 0x00000000. The ROMA RedBoot
|
3167 |
|
|
mode (which is started by the ARM bootloader) should be programmed to
|
3168 |
|
|
flash address 0x00004000.
|
3169 |
|
|
|
3170 |
|
|
|
3171 |
|
|
To install RedBoot to run from the flash boot sector, use the manufacturer's
|
3172 |
|
|
flash utility to install the ROM mode image at address zero.
|
3173 |
|
|
|
3174 |
|
|
To install RedBoot to run from address 0x40000 with the ARM bootloader
|
3175 |
|
|
in the flash boot sector, use the manufacturer's flash utility to install
|
3176 |
|
|
the ROMA mode image at address 0x40000.
|
3177 |
|
|
|
3178 |
|
|
After booting the initial installation of RedBoot, this warning may
|
3179 |
|
|
be printed: flash configuration checksum error or invalid key
|
3180 |
|
|
This is normal, and indicates that the flash must be configured
|
3181 |
|
|
for use by RedBoot. Even if the above message is not printed, it may be a
|
3182 |
|
|
good idea to reinitialize the flash anyway. Do this with the
|
3183 |
|
|
fis command: RedBoot> fis init
|
3184 |
|
|
About to initialize [format] flash image system - continue (y/n)? y
|
3185 |
|
|
*** Initialize flash Image System
|
3186 |
|
|
Warning: device contents not erased, some blocks may not be usable
|
3187 |
|
|
... Unlock from 0x007e0000-0x00800000: .
|
3188 |
|
|
... Erase from 0x007e0000-0x00800000: .
|
3189 |
|
|
... Program from 0xa1fd0000-0xa1fd0400 at 0x007e0000: .
|
3190 |
|
|
... Lock from 0x007e0000-0x00800000: .
|
3191 |
|
|
Followed by the fconfig command:
|
3192 |
|
|
RedBoot> fconfig
|
3193 |
|
|
Run script at boot: false
|
3194 |
|
|
Use BOOTP for network configuration: false
|
3195 |
|
|
Local IP address: 192.168.1.153
|
3196 |
|
|
Default server IP address: 192.168.1.10
|
3197 |
|
|
GDB connection port: 1000
|
3198 |
|
|
Network debug at boot time: false
|
3199 |
|
|
Update RedBoot non-volatile configuration - continue (y/n)? y
|
3200 |
|
|
... Unlock from 0x007c0000-0x007e0000: .
|
3201 |
|
|
... Erase from 0x007c0000-0x007e0000: .
|
3202 |
|
|
... Program from 0xa0013018-0xa0013418 at 0x007c0000: .
|
3203 |
|
|
... Lock from 0x007c0000-0x007e0000: .
|
3204 |
|
|
|
3205 |
|
|
When later updating RedBoot in situ, it is important to
|
3206 |
|
|
use a matching ROM and RAM mode pair of images. So use either RAM/ROM
|
3207 |
|
|
or RAMA/ROMA images. Do not mix them.
|
3208 |
|
|
|
3209 |
|
|
|
3210 |
|
|
|
3211 |
|
|
Error codes
|
3212 |
|
|
RedBoot uses the two digit LED display to indicate errors during board
|
3213 |
|
|
initialization. Possible error codes are: 88 - Unknown Error
|
3214 |
|
|
55 - I2C Error
|
3215 |
|
|
FF - SDRAM Error
|
3216 |
|
|
01 - No Error
|
3217 |
|
|
|
3218 |
|
|
|
3219 |
|
|
Using RedBoot with ARM Bootloader
|
3220 |
|
|
RedBoot can coexist with ARM tools in flash on the IQ80310 board. In
|
3221 |
|
|
this configuration, the ARM bootloader will occupy the flash boot sector while
|
3222 |
|
|
RedBoot is located at flash address 0x40000. The sixteen position rotary switch
|
3223 |
|
|
is used to tell the ARM bootloader to jump to the RedBoot image located at
|
3224 |
|
|
address 0x40000. RedBoot is selected by switch position 0 or 1. Other switch
|
3225 |
|
|
positions are used by the ARM firmware and RedBoot will not be started.
|
3226 |
|
|
|
3227 |
|
|
|
3228 |
|
|
Special RedBoot Commands
|
3229 |
|
|
A special RedBoot command, diag, is used to
|
3230 |
|
|
access a set of hardware diagnostics provided by the board
|
3231 |
|
|
manufacturer. To access the diagnostic menu, enter diag at the RedBoot prompt:
|
3232 |
|
|
|
3233 |
|
|
RedBoot> diag
|
3234 |
|
|
Entering Hardware Diagnostics - Disabling Data Cache!
|
3235 |
|
|
1 - Memory Tests
|
3236 |
|
|
2 - Repeating Memory Tests
|
3237 |
|
|
3 - 16C552 DUART Serial Port Tests
|
3238 |
|
|
4 - Rotary Switch S1 Test for positions 0-3
|
3239 |
|
|
5 - seven Segment LED Tests
|
3240 |
|
|
6 - Backplane Detection Test
|
3241 |
|
|
7 - Battery Status Test
|
3242 |
|
|
8 - External Timer Test
|
3243 |
|
|
9 - i82559 Ethernet Configuration
|
3244 |
|
|
10 - i82559 Ethernet Test
|
3245 |
|
|
11 - Secondary PCI Bus Test
|
3246 |
|
|
12 - Primary PCI Bus Test
|
3247 |
|
|
13 - i960Rx/303 PCI Interrupt Test
|
3248 |
|
|
14 - Internal Timer Test
|
3249 |
|
|
15 - GPIO Test
|
3250 |
|
|
|
3251 |
|
|
|
3252 |
|
|
Tests for various hardware subsystems are provided, and some
|
3253 |
|
|
tests require special hardware in order to execute normally. The Ethernet
|
3254 |
|
|
Configuration item may be used to set the board ethernet address.
|
3255 |
|
|
|
3256 |
|
|
|
3257 |
|
|
IQ80310 Hardware Tests
|
3258 |
|
|
1 - Memory Tests
|
3259 |
|
|
2 - Repeating Memory Tests
|
3260 |
|
|
3 - 16C552 DUART Serial Port Tests
|
3261 |
|
|
4 - Rotary Switch S1 Test for positions 0-3
|
3262 |
|
|
5 - 7 Segment LED Tests
|
3263 |
|
|
6 - Backplane Detection Test
|
3264 |
|
|
7 - Battery Status Test
|
3265 |
|
|
8 - External Timer Test
|
3266 |
|
|
9 - i82559 Ethernet Configuration
|
3267 |
|
|
10 - i82559 Ethernet Test
|
3268 |
|
|
11 - i960Rx/303 PCI Interrupt Test
|
3269 |
|
|
12 - Internal Timer Test
|
3270 |
|
|
13 - Secondary PCI Bus Test
|
3271 |
|
|
14 - Primary PCI Bus Test
|
3272 |
|
|
15 - Battery Backup SDRAM Memory Test
|
3273 |
|
|
16 - GPIO Test
|
3274 |
|
|
17 - Repeat-On-Fail Memory Test
|
3275 |
|
|
18 - Coyonosa Cache Loop (No return)
|
3276 |
|
|
19 - Show Software and Hardware Revision
|
3277 |
|
|
|
3278 |
|
|
Enter the menu item number (0 to quit):
|
3279 |
|
|
Tests for various hardware subsystems are provided, and some tests require
|
3280 |
|
|
special hardware in order to execute normally. The Ethernet Configuration
|
3281 |
|
|
item may be used to set the board ethernet address.
|
3282 |
|
|
|
3283 |
|
|
|
3284 |
|
|
Rebuilding RedBoot
|
3285 |
|
|
|
3286 |
|
|
These shell variables provide the platform-specific information
|
3287 |
|
|
needed for building RedBoot according to the procedure described in
|
3288 |
|
|
:
|
3289 |
|
|
|
3290 |
|
|
export TARGET=iq80310
|
3291 |
|
|
export ARCH_DIR=arm
|
3292 |
|
|
export PLATFORM_DIR=iq80310
|
3293 |
|
|
|
3294 |
|
|
|
3295 |
|
|
|
3296 |
|
|
The names of configuration files are listed above with the
|
3297 |
|
|
description of the associated modes.
|
3298 |
|
|
|
3299 |
|
|
|
3300 |
|
|
|
3301 |
|
|
|
3302 |
|
|
Interrupts
|
3303 |
|
|
RedBoot uses an interrupt vector table which is located at address 0xA000A004.
|
3304 |
|
|
Entries in this table are pointers to functions with this protoype::
|
3305 |
|
|
int irq_handler( unsigned vector, unsigned data )On an IQ80310
|
3306 |
|
|
board, the vector argument is one of 49 interrupts defined in
|
3307 |
|
|
hal/arm/iq80310/current/include/hal_platform_ints.h::
|
3308 |
|
|
// *** 80200 CPU ***
|
3309 |
|
|
#define CYGNUM_HAL_INTERRUPT_reserved0 0
|
3310 |
|
|
#define CYGNUM_HAL_INTERRUPT_PMU_PMN0_OVFL 1 // See Ch.12 - Performance Mon.
|
3311 |
|
|
#define CYGNUM_HAL_INTERRUPT_PMU_PMN1_OVFL 2 // PMU counter 0/1 overflow
|
3312 |
|
|
#define CYGNUM_HAL_INTERRUPT_PMU_CCNT_OVFL 3 // PMU clock overflow
|
3313 |
|
|
#define CYGNUM_HAL_INTERRUPT_BCU_INTERRUPT 4 // See Ch.11 - Bus Control Unit
|
3314 |
|
|
#define CYGNUM_HAL_INTERRUPT_NIRQ 5 // external IRQ
|
3315 |
|
|
#define CYGNUM_HAL_INTERRUPT_NFIQ 6 // external FIQ
|
3316 |
|
|
|
3317 |
|
|
|
3318 |
|
|
// *** XINT6 interrupts ***
|
3319 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA_0 7
|
3320 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA_1 8
|
3321 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA_2 9
|
3322 |
|
|
#define CYGNUM_HAL_INTERRUPT_GTSC 10 // Global Time Stamp Counter
|
3323 |
|
|
#define CYGNUM_HAL_INTERRUPT_PEC 11 // Performance Event Counter
|
3324 |
|
|
#define CYGNUM_HAL_INTERRUPT_AAIP 12 // application accelerator unit
|
3325 |
|
|
|
3326 |
|
|
|
3327 |
|
|
// *** XINT7 interrupts ***
|
3328 |
|
|
// I2C interrupts
|
3329 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_TX_EMPTY 13
|
3330 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_RX_FULL 14
|
3331 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_BUS_ERR 15
|
3332 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_STOP 16
|
3333 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_LOSS 17
|
3334 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_ADDRESS 18
|
3335 |
|
|
|
3336 |
|
|
|
3337 |
|
|
// Messaging Unit interrupts
|
3338 |
|
|
#define CYGNUM_HAL_INTERRUPT_MESSAGE_0 19
|
3339 |
|
|
#define CYGNUM_HAL_INTERRUPT_MESSAGE_1 20
|
3340 |
|
|
#define CYGNUM_HAL_INTERRUPT_DOORBELL 21
|
3341 |
|
|
#define CYGNUM_HAL_INTERRUPT_NMI_DOORBELL 22
|
3342 |
|
|
#define CYGNUM_HAL_INTERRUPT_QUEUE_POST 23
|
3343 |
|
|
#define CYGNUM_HAL_INTERRUPT_OUTBOUND_QUEUE_FULL 24
|
3344 |
|
|
#define CYGNUM_HAL_INTERRUPT_INDEX_REGISTER 25
|
3345 |
|
|
// PCI Address Translation Unit
|
3346 |
|
|
#define CYGNUM_HAL_INTERRUPT_BIST 26
|
3347 |
|
|
|
3348 |
|
|
|
3349 |
|
|
// *** External board interrupts (XINT3) ***
|
3350 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER 27 // external timer
|
3351 |
|
|
#define CYGNUM_HAL_INTERRUPT_ETHERNET 28 // onboard enet
|
3352 |
|
|
#define CYGNUM_HAL_INTERRUPT_SERIAL_A 29 // 16x50 uart A
|
3353 |
|
|
#define CYGNUM_HAL_INTERRUPT_SERIAL_B 30 // 16x50 uart B
|
3354 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_S_INTD 31 // secondary PCI INTD
|
3355 |
|
|
// The hardware doesn't (yet?) provide masking or status for these
|
3356 |
|
|
// even though they can trigger cpu interrupts. ISRs will need to
|
3357 |
|
|
// poll the device to see if the device actually triggered the
|
3358 |
|
|
// interrupt.
|
3359 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_S_INTC 32 // secondary PCI INTC
|
3360 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_S_INTB 33 // secondary PCI INTB
|
3361 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_S_INTA 34 // secondary PCI INTA
|
3362 |
|
|
|
3363 |
|
|
|
3364 |
|
|
// *** NMI Interrupts go to FIQ ***
|
3365 |
|
|
#define CYGNUM_HAL_INTERRUPT_MCU_ERR 35
|
3366 |
|
|
#define CYGNUM_HAL_INTERRUPT_PATU_ERR 36
|
3367 |
|
|
#define CYGNUM_HAL_INTERRUPT_SATU_ERR 37
|
3368 |
|
|
#define CYGNUM_HAL_INTERRUPT_PBDG_ERR 38
|
3369 |
|
|
#define CYGNUM_HAL_INTERRUPT_SBDG_ERR 39
|
3370 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA0_ERR 40
|
3371 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA1_ERR 41
|
3372 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA2_ERR 42
|
3373 |
|
|
#define CYGNUM_HAL_INTERRUPT_MU_ERR 43
|
3374 |
|
|
#define CYGNUM_HAL_INTERRUPT_reserved52 44
|
3375 |
|
|
#define CYGNUM_HAL_INTERRUPT_AAU_ERR 45
|
3376 |
|
|
#define CYGNUM_HAL_INTERRUPT_BIU_ERR 46
|
3377 |
|
|
|
3378 |
|
|
|
3379 |
|
|
// *** ATU FIQ sources ***
|
3380 |
|
|
#define CYGNUM_HAL_INTERRUPT_P_SERR 47
|
3381 |
|
|
#define CYGNUM_HAL_INTERRUPT_S_SERR 48The data passed
|
3382 |
|
|
to the ISR is pulled from a data table (hal_interrupt_data)
|
3383 |
|
|
which immediately follows the interrupt vector table. With
|
3384 |
|
|
49 interrupts, the data table starts at address 0xA000A0C8.
|
3385 |
|
|
An application may create a normal C function with the above prototype
|
3386 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
3387 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
3388 |
|
|
by RedBoot.
|
3389 |
|
|
|
3390 |
|
|
|
3391 |
|
|
Memory Maps
|
3392 |
|
|
The first level page table is located at 0xa0004000. Two second level
|
3393 |
|
|
tables are also used. One second level table is located at 0xa0008000 and
|
3394 |
|
|
maps the first 1MB of flash. The other second level table is at 0xa0008400,
|
3395 |
|
|
and maps the first 1MB of SDRAM. NOTE
|
3396 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
3397 |
|
|
whether or not the region is cached (C) or buffered (B).
|
3398 |
|
|
|
3399 |
|
|
Physical Address Range Description
|
3400 |
|
|
----------------------- ----------------------------------
|
3401 |
|
|
0x00000000 - 0x00000fff flash Memory
|
3402 |
|
|
0x00001000 - 0x00001fff 80312 Internal Registers
|
3403 |
|
|
0x00002000 - 0x007fffff flash Memory
|
3404 |
|
|
0x00800000 - 0x7fffffff PCI ATU Outbound Direct Window
|
3405 |
|
|
0x80000000 - 0x83ffffff Primary PCI 32-bit Memory
|
3406 |
|
|
0x84000000 - 0x87ffffff Primary PCI 64-bit Memory
|
3407 |
|
|
0x88000000 - 0x8bffffff Secondary PCI 32-bit Memory
|
3408 |
|
|
0x8c000000 - 0x8fffffff Secondary PCI 64-bit Memory
|
3409 |
|
|
0x90000000 - 0x9000ffff Primary PCI IO Space
|
3410 |
|
|
0x90010000 - 0x9001ffff Secondary PCI IO Space
|
3411 |
|
|
0x90020000 - 0x9fffffff Unused
|
3412 |
|
|
0xa0000000 - 0xbfffffff SDRAM
|
3413 |
|
|
0xc0000000 - 0xefffffff Unused
|
3414 |
|
|
0xf0000000 - 0xffffffff 80200 Internal Registers
|
3415 |
|
|
|
3416 |
|
|
|
3417 |
|
|
Virtual Address Range C B Description
|
3418 |
|
|
----------------------- - - ----------------------------------
|
3419 |
|
|
0x00000000 - 0x00000fff Y Y SDRAM
|
3420 |
|
|
0x00001000 - 0x00001fff N N 80312 Internal Registers
|
3421 |
|
|
0x00002000 - 0x007fffff Y N flash Memory
|
3422 |
|
|
0x00800000 - 0x7fffffff N N PCI ATU Outbound Direct Window
|
3423 |
|
|
0x80000000 - 0x83ffffff N N Primary PCI 32-bit Memory
|
3424 |
|
|
0x84000000 - 0x87ffffff N N Primary PCI 64-bit Memory
|
3425 |
|
|
0x88000000 - 0x8bffffff N N Secondary PCI 32-bit Memory
|
3426 |
|
|
0x8c000000 - 0x8fffffff N N Secondary PCI 64-bit Memory
|
3427 |
|
|
0x90000000 - 0x9000ffff N N Primary PCI IO Space
|
3428 |
|
|
0x90010000 - 0x9001ffff N N Secondary PCI IO Space
|
3429 |
|
|
0xa0000000 - 0xbfffffff Y Y SDRAM
|
3430 |
|
|
0xc0000000 - 0xcfffffff Y Y Cache Flush Region
|
3431 |
|
|
0xd0000000 - 0xd0000fff Y N first 4k page of flash
|
3432 |
|
|
0xf0000000 - 0xffffffff N N 80200 Internal Registers
|
3433 |
|
|
|
3434 |
|
|
|
3435 |
|
|
Platform Resource Usage
|
3436 |
|
|
The external timer is used as a polled timer to provide timeout support
|
3437 |
|
|
for networking and XModem file transfers.
|
3438 |
|
|
|
3439 |
|
|
|
3440 |
|
|
|
3441 |
|
|
|
3442 |
|
|
ARM/XScale Intel IQ80321
|
3443 |
|
|
|
3444 |
|
|
Overview
|
3445 |
|
|
Intel IQ80321installing and
|
3446 |
|
|
testinginstalling and testing
|
3447 |
|
|
Intel IQ80321RedBoot supports
|
3448 |
|
|
the serial port and the built-in ethernet port for communication and downloads.
|
3449 |
|
|
The default serial port settings are 115200,8,N,1. RedBoot also supports flash
|
3450 |
|
|
management for the onboard 8MB flash.
|
3451 |
|
|
|
3452 |
|
|
The following RedBoot configurations are supported:
|
3453 |
|
|
|
3454 |
|
|
|
3455 |
|
|
|
3456 |
|
|
3457 |
|
|
|
|
3458 |
|
|
Configuration
|
3459 |
|
|
Mode
|
3460 |
|
|
Description
|
3461 |
|
|
File
|
3462 |
|
|
|
3463 |
|
|
|
|
3464 |
|
|
3465 |
|
|
|
|
3466 |
|
|
ROM
|
3467 |
|
|
[ROM]
|
3468 |
|
|
RedBoot running from the board's flash boot
|
3469 |
|
|
sector.
|
3470 |
|
|
redboot_ROM.ecm
|
3471 |
|
|
|
3472 |
|
|
|
|
3473 |
|
|
RAM
|
3474 |
|
|
[RAM]
|
3475 |
|
|
RedBoot running from RAM with RedBoot in the
|
3476 |
|
|
flash boot sector.
|
3477 |
|
|
redboot_RAM.ecm
|
3478 |
|
|
|
3479 |
|
|
|
|
3480 |
|
|
|
3481 |
|
|
|
3482 |
|
|
|
3483 |
|
|
|
3484 |
|
|
|
3485 |
|
|
|
3486 |
|
|
|
3487 |
|
|
Initial Installation Method
|
3488 |
|
|
The board manufacturer provides a DOS application which is capable of
|
3489 |
|
|
programming the flash over the PCI bus, and this is required for initial installations
|
3490 |
|
|
of RedBoot. Please see the board manual for information on using this utility.
|
3491 |
|
|
In general, the process involves programming the ROM mode RedBoot
|
3492 |
|
|
image to flash. RedBoot should be programmed to flash address
|
3493 |
|
|
0x00000000 using the DOS utility.
|
3494 |
|
|
|
3495 |
|
|
|
3496 |
|
|
After booting the initial installation of RedBoot, this warning may
|
3497 |
|
|
be printed: flash configuration checksum error or invalid key
|
3498 |
|
|
This is normal, and indicates that the flash must be configured
|
3499 |
|
|
for use by RedBoot. Even if the above message is not printed, it may be a
|
3500 |
|
|
good idea to reinitialize the flash anyway. Do this with the
|
3501 |
|
|
fis command: RedBoot> fis init
|
3502 |
|
|
About to initialize [format] FLASH image system - continue (y/n)? y
|
3503 |
|
|
*** Initialize FLASH Image System
|
3504 |
|
|
Warning: device contents not erased, some blocks may not be usable
|
3505 |
|
|
... Unlock from 0xf07e0000-0xf0800000: .
|
3506 |
|
|
... Erase from 0xf07e0000-0xf0800000: .
|
3507 |
|
|
... Program from 0x01ddf000-0x01ddf400 at 0xf07e0000: .
|
3508 |
|
|
... Lock from 0xf07e0000-0xf0800000: .
|
3509 |
|
|
|
3510 |
|
|
|
3511 |
|
|
Switch Settings
|
3512 |
|
|
The 80321 board is highly configurable through a number of switches and jumpers.
|
3513 |
|
|
RedBoot makes some assumptions about board configuration and attention must be paid
|
3514 |
|
|
to these assumptions for reliable RedBoot operation:
|
3515 |
|
|
|
3516 |
|
|
The onboard ethernet and the secondary slot may be placed in a
|
3517 |
|
|
private space so that they are not seen by a PC BIOS. If the board is to be used
|
3518 |
|
|
in a PC with BIOS, then the ethernet should be placed in this private space so that
|
3519 |
|
|
RedBoot and the BIOS do not conflict.
|
3520 |
|
|
|
3521 |
|
|
RedBoot assumes that the board is plugged into a PC with BIOS. This
|
3522 |
|
|
requires RedBoot to detect when the BIOS has configured the PCI-X secondary bus. If
|
3523 |
|
|
the board is placed in a backplane, RedBoot will never see the BIOS configure the
|
3524 |
|
|
secondary bus. To prevent this wait, set switch S7E1-3 to ON when using the board
|
3525 |
|
|
in a backplane.
|
3526 |
|
|
For the remaining switch settings, the following is a known good
|
3527 |
|
|
configuration:
|
3528 |
|
|
|
3529 |
|
|
|
3530 |
|
|
3531 |
|
|
S1D1All OFF
|
3532 |
|
|
S7E17 is ON, all others OFF
|
3533 |
|
|
S8E12,3,5,6 are ON, all others OFF
|
3534 |
|
|
S8E22,3 are ON, all others OFF
|
3535 |
|
|
S9E13 is ON, all others OFF
|
3536 |
|
|
S4D11,3 are ON, all others OFF
|
3537 |
|
|
J9E12,3 jumpered
|
3538 |
|
|
J9F12,3 jumpered
|
3539 |
|
|
J3F1Nothing jumpered
|
3540 |
|
|
J3G12,3 jumpered
|
3541 |
|
|
J1G22,3 jumpered
|
3542 |
|
|
|
|
3543 |
|
|
|
3544 |
|
|
|
3545 |
|
|
|
3546 |
|
|
|
3547 |
|
|
LED Codes
|
3548 |
|
|
RedBoot uses the two digit LED display to indicate status during board
|
3549 |
|
|
initialization. Possible codes are:
|
3550 |
|
|
|
3551 |
|
|
|
3552 |
|
|
LED Actions
|
3553 |
|
|
-------------------------------------------------------------
|
3554 |
|
|
Power-On/Reset
|
3555 |
|
|
88
|
3556 |
|
|
Set the CPSR
|
3557 |
|
|
Enable coprocessor access
|
3558 |
|
|
Drain write and fill buffer
|
3559 |
|
|
Setup PBIU chip selects
|
3560 |
|
|
A1
|
3561 |
|
|
Enable the Icache
|
3562 |
|
|
A2
|
3563 |
|
|
Move FLASH chip select from 0x0 to 0xF0000000
|
3564 |
|
|
Jump to new FLASH location
|
3565 |
|
|
A3
|
3566 |
|
|
Setup and enable the MMU
|
3567 |
|
|
A4
|
3568 |
|
|
I2C interface initialization
|
3569 |
|
|
90
|
3570 |
|
|
Wait for I2C initialization to complete
|
3571 |
|
|
91
|
3572 |
|
|
Send address (via I2C) to the DIMM
|
3573 |
|
|
92
|
3574 |
|
|
Wait for transmit complete
|
3575 |
|
|
93
|
3576 |
|
|
Read SDRAM PD data from DIMM
|
3577 |
|
|
94
|
3578 |
|
|
Read remainder of EEPROM data.
|
3579 |
|
|
An error will result in one of the following
|
3580 |
|
|
error codes on the LEDs:
|
3581 |
|
|
77 BAD EEPROM checksum
|
3582 |
|
|
55 I2C protocol error
|
3583 |
|
|
FF bank size error
|
3584 |
|
|
A5
|
3585 |
|
|
Setup DDR memory interface
|
3586 |
|
|
A6
|
3587 |
|
|
Enable branch target buffer
|
3588 |
|
|
Drain the write & fill buffers
|
3589 |
|
|
Flush Icache, Dcache and BTB
|
3590 |
|
|
Flush instuction and data TLBs
|
3591 |
|
|
Drain the write & fill buffers
|
3592 |
|
|
SL
|
3593 |
|
|
ECC Scrub Loop
|
3594 |
|
|
SE
|
3595 |
|
|
A7
|
3596 |
|
|
Clean, drain, flush the main Dcache
|
3597 |
|
|
A8
|
3598 |
|
|
Clean, drain, flush the mini Dcache
|
3599 |
|
|
Flush Dcache
|
3600 |
|
|
Drain the write & fill buffers
|
3601 |
|
|
A9
|
3602 |
|
|
Enable ECC
|
3603 |
|
|
AA
|
3604 |
|
|
Save SDRAM size
|
3605 |
|
|
Move MMU tables into RAM
|
3606 |
|
|
AB
|
3607 |
|
|
Clean, drain, flush the main Dcache
|
3608 |
|
|
Clean, drain, flush the mini Dcache
|
3609 |
|
|
Drain the write & fill buffers
|
3610 |
|
|
AC
|
3611 |
|
|
Set the TTB register to DRAM mmu_table
|
3612 |
|
|
AD
|
3613 |
|
|
Set mode to IRQ mode
|
3614 |
|
|
A7
|
3615 |
|
|
Move SWI & Undefined "vectors" to RAM (at 0x0)
|
3616 |
|
|
A6
|
3617 |
|
|
Switch to supervisor mode
|
3618 |
|
|
A5
|
3619 |
|
|
Move remaining "vectors" to RAM (at 0x0)
|
3620 |
|
|
A4
|
3621 |
|
|
Copy DATA to RAM
|
3622 |
|
|
Initialize interrupt exception environment
|
3623 |
|
|
Initialize stack
|
3624 |
|
|
Clear BSS section
|
3625 |
|
|
A3
|
3626 |
|
|
Call platform specific hardware initialization
|
3627 |
|
|
A2
|
3628 |
|
|
Run through static constructors
|
3629 |
|
|
A1
|
3630 |
|
|
Start up the eCos kernel or RedBoot
|
3631 |
|
|
|
3632 |
|
|
|
3633 |
|
|
|
3634 |
|
|
Special RedBoot Commands
|
3635 |
|
|
A special RedBoot command, diag, is used to
|
3636 |
|
|
access a set of hardware diagnostics. To access the diagnostic menu,
|
3637 |
|
|
enter diag at the RedBoot prompt:
|
3638 |
|
|
|
3639 |
|
|
RedBoot> diag
|
3640 |
|
|
Entering Hardware Diagnostics - Disabling Data Cache!
|
3641 |
|
|
|
3642 |
|
|
IQ80321 Hardware Tests
|
3643 |
|
|
|
3644 |
|
|
1 - Memory Tests
|
3645 |
|
|
2 - Repeating Memory Tests
|
3646 |
|
|
3 - Repeat-On-Fail Memory Tests
|
3647 |
|
|
4 - Rotary Switch S1 Test
|
3648 |
|
|
5 - 7 Segment LED Tests
|
3649 |
|
|
6 - i82544 Ethernet Configuration
|
3650 |
|
|
7 - Baterry Status Test
|
3651 |
|
|
8 - Battery Backup SDRAM Memory Test
|
3652 |
|
|
9 - Timer Test
|
3653 |
|
|
10 - PCI Bus test
|
3654 |
|
|
11 - CPU Cache Loop (No Return)
|
3655 |
|
|
|
3656 |
|
|
Enter the menu item number (0 to quit):
|
3657 |
|
|
|
3658 |
|
|
Tests for various hardware subsystems are provided, and some tests require
|
3659 |
|
|
special hardware in order to execute normally. The Ethernet Configuration
|
3660 |
|
|
item may be used to set the board ethernet address.
|
3661 |
|
|
|
3662 |
|
|
Memory Tests
|
3663 |
|
|
This test is used to test installed DDR SDRAM memory. Five different
|
3664 |
|
|
tests are run over the given address ranges. If errors are encountered, the
|
3665 |
|
|
test is aborted and information about the failure is printed. When selected,
|
3666 |
|
|
the user will be prompted to enter the base address of the test range and its
|
3667 |
|
|
size. The numbers must be in hex with no leading “0x”
|
3668 |
|
|
|
3669 |
|
|
|
3670 |
|
|
Enter the menu item number (0 to quit): 1
|
3671 |
|
|
|
3672 |
|
|
Base address of memory to test (in hex): 100000
|
3673 |
|
|
|
3674 |
|
|
Size of memory to test (in hex): 200000
|
3675 |
|
|
|
3676 |
|
|
Testing memory from 0x00100000 to 0x002fffff.
|
3677 |
|
|
|
3678 |
|
|
Walking 1's test:
|
3679 |
|
|
0000000100000002000000040000000800000010000000200000004000000080
|
3680 |
|
|
0000010000000200000004000000080000001000000020000000400000008000
|
3681 |
|
|
0001000000020000000400000008000000100000002000000040000000800000
|
3682 |
|
|
0100000002000000040000000800000010000000200000004000000080000000
|
3683 |
|
|
passed
|
3684 |
|
|
32-bit address test: passed
|
3685 |
|
|
32-bit address bar test: passed
|
3686 |
|
|
8-bit address test: passed
|
3687 |
|
|
Byte address bar test: passed
|
3688 |
|
|
Memory test done.
|
3689 |
|
|
|
3690 |
|
|
|
3691 |
|
|
|
3692 |
|
|
Repeating Memory Tests
|
3693 |
|
|
The repeating memory tests are exactly the same as the above memory tests,
|
3694 |
|
|
except that the tests are automatically rerun after completion. The only way out
|
3695 |
|
|
of this test is to reset the board.
|
3696 |
|
|
|
3697 |
|
|
|
3698 |
|
|
|
3699 |
|
|
Repeat-On-Fail Memory Tests
|
3700 |
|
|
This is similar to the repeating memory tests except that when an error
|
3701 |
|
|
is found, the failing test continuously retries on the failing address.
|
3702 |
|
|
|
3703 |
|
|
|
3704 |
|
|
|
3705 |
|
|
Rotary Switch S1 Test
|
3706 |
|
|
This tests the operation of the sixteen position rotary switch. When run,
|
3707 |
|
|
this test will display the current position of the rotary switch on the LED
|
3708 |
|
|
display. Slowly dial through each position and confirm reading on LED.
|
3709 |
|
|
|
3710 |
|
|
|
3711 |
|
|
|
3712 |
|
|
7 Segment LED Tests
|
3713 |
|
|
This tests the operation of the seven segment displays. When run, each
|
3714 |
|
|
LED cycles through 0 through F and a decimal point.
|
3715 |
|
|
|
3716 |
|
|
|
3717 |
|
|
|
3718 |
|
|
i82544 Ethernet Configuration
|
3719 |
|
|
This test initializes the ethernet controller’s serial EEPROM if
|
3720 |
|
|
the current contents are invalid. In any case, this test will also allow the
|
3721 |
|
|
user to enter a six byte ethernet MAC address into the serial EEPROM.
|
3722 |
|
|
|
3723 |
|
|
|
3724 |
|
|
Enter the menu item number (0 to quit): 6
|
3725 |
|
|
|
3726 |
|
|
|
3727 |
|
|
Current MAC address: 00:80:4d:46:00:02
|
3728 |
|
|
Enter desired MAC address: 00:80:4d:46:00:01
|
3729 |
|
|
Writing to the Serial EEPROM... Done
|
3730 |
|
|
|
3731 |
|
|
******** Reset The Board To Have Changes Take Effect ********
|
3732 |
|
|
|
3733 |
|
|
|
3734 |
|
|
|
3735 |
|
|
Battery Status Test
|
3736 |
|
|
This tests the current status of the battery. First, the test checks to
|
3737 |
|
|
see if the battery is installed and reports that finding. If the battery is
|
3738 |
|
|
installed, the test further determines whether the battery status is one or
|
3739 |
|
|
more of the following:
|
3740 |
|
|
|
3741 |
|
|
Battery is charging.
|
3742 |
|
|
Battery is fully discharged.
|
3743 |
|
|
Battery voltage measures within normal operating range.
|
3744 |
|
|
|
3745 |
|
|
|
3746 |
|
|
|
3747 |
|
|
|
3748 |
|
|
|
3749 |
|
|
Battery Backup SDRAM Memory Test
|
3750 |
|
|
This tests the battery backup of SDRAM memory. This test is a three
|
3751 |
|
|
step process:
|
3752 |
|
|
|
3753 |
|
|
Select Battery backup test from main diag menu, then write
|
3754 |
|
|
data to SDRAM.
|
3755 |
|
|
Turn off power for 60 seconds, then repower the board.
|
3756 |
|
|
|
3757 |
|
|
Select Battery backup test from main diag menu, then check
|
3758 |
|
|
data that was written in step 1.
|
3759 |
|
|
|
3760 |
|
|
|
3761 |
|
|
|
3762 |
|
|
|
3763 |
|
|
Timer Test
|
3764 |
|
|
This tests the internal timer by printing a number of dots at one
|
3765 |
|
|
second intervals.
|
3766 |
|
|
|
3767 |
|
|
|
3768 |
|
|
PCI Bus Test
|
3769 |
|
|
This tests the secondary PCI-X bus and socket. This test requires that
|
3770 |
|
|
an IQ80310 board be plugged into the secondary slot of the IOP80321 board.
|
3771 |
|
|
The test assumes at least 32MB of installed memory on the IQ80310. That memory
|
3772 |
|
|
is mapped into the IOP80321 address space and the memory tests are run on that
|
3773 |
|
|
memory.
|
3774 |
|
|
|
3775 |
|
|
|
3776 |
|
|
|
3777 |
|
|
CPU Cache Loop
|
3778 |
|
|
This test puts the CPU into a tight loop run entirely from the ICache.
|
3779 |
|
|
This should prevent all external bus accesses.
|
3780 |
|
|
|
3781 |
|
|
|
3782 |
|
|
|
3783 |
|
|
|
3784 |
|
|
Rebuilding RedBoot
|
3785 |
|
|
|
3786 |
|
|
These shell variables provide the platform-specific information
|
3787 |
|
|
needed for building RedBoot according to the procedure described in
|
3788 |
|
|
:
|
3789 |
|
|
|
3790 |
|
|
export TARGET=iq80321
|
3791 |
|
|
export ARCH_DIR=arm
|
3792 |
|
|
export PLATFORM_DIR=xscale/iq80321
|
3793 |
|
|
|
3794 |
|
|
|
3795 |
|
|
|
3796 |
|
|
The names of configuration files are listed above with the
|
3797 |
|
|
description of the associated modes.
|
3798 |
|
|
|
3799 |
|
|
|
3800 |
|
|
|
3801 |
|
|
Interrupts
|
3802 |
|
|
RedBoot uses an interrupt vector table which is located at address 0x8004.
|
3803 |
|
|
Entries in this table are pointers to functions with this protoype::
|
3804 |
|
|
int irq_handler( unsigned vector, unsigned data )On an IQ80321
|
3805 |
|
|
board, the vector argument is one of 32 interrupts defined in
|
3806 |
|
|
hal/arm/xscale/verde/current/include/hal_var_ints.h::
|
3807 |
|
|
// *** 80200 CPU ***
|
3808 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA0_EOT 0
|
3809 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA0_EOC 1
|
3810 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA1_EOT 2
|
3811 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA1_EOC 3
|
3812 |
|
|
#define CYGNUM_HAL_INTERRUPT_RSVD_4 4
|
3813 |
|
|
#define CYGNUM_HAL_INTERRUPT_RSVD_5 5
|
3814 |
|
|
#define CYGNUM_HAL_INTERRUPT_AA_EOT 6
|
3815 |
|
|
#define CYGNUM_HAL_INTERRUPT_AA_EOC 7
|
3816 |
|
|
#define CYGNUM_HAL_INTERRUPT_CORE_PMON 8
|
3817 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER0 9
|
3818 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER1 10
|
3819 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_0 11
|
3820 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C_1 12
|
3821 |
|
|
#define CYGNUM_HAL_INTERRUPT_MESSAGING 13
|
3822 |
|
|
#define CYGNUM_HAL_INTERRUPT_ATU_BIST 14
|
3823 |
|
|
#define CYGNUM_HAL_INTERRUPT_PERFMON 15
|
3824 |
|
|
#define CYGNUM_HAL_INTERRUPT_CORE_PMU 16
|
3825 |
|
|
#define CYGNUM_HAL_INTERRUPT_BIU_ERR 17
|
3826 |
|
|
#define CYGNUM_HAL_INTERRUPT_ATU_ERR 18
|
3827 |
|
|
#define CYGNUM_HAL_INTERRUPT_MCU_ERR 19
|
3828 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA0_ERR 20
|
3829 |
|
|
#define CYGNUM_HAL_INTERRUPT_DMA1_ERR 22
|
3830 |
|
|
#define CYGNUM_HAL_INTERRUPT_AA_ERR 23
|
3831 |
|
|
#define CYGNUM_HAL_INTERRUPT_MSG_ERR 24
|
3832 |
|
|
#define CYGNUM_HAL_INTERRUPT_SSP 25
|
3833 |
|
|
#define CYGNUM_HAL_INTERRUPT_RSVD_26 26
|
3834 |
|
|
#define CYGNUM_HAL_INTERRUPT_XINT0 27
|
3835 |
|
|
#define CYGNUM_HAL_INTERRUPT_XINT1 28
|
3836 |
|
|
#define CYGNUM_HAL_INTERRUPT_XINT2 29
|
3837 |
|
|
#define CYGNUM_HAL_INTERRUPT_XINT3 30
|
3838 |
|
|
#define CYGNUM_HAL_INTERRUPT_HPI 31
|
3839 |
|
|
|
3840 |
|
|
The data passed to the ISR is pulled from a data table (hal_interrupt_data)
|
3841 |
|
|
which immediately follows the interrupt vector table. With
|
3842 |
|
|
32 interrupts, the data table starts at address 0x8084.
|
3843 |
|
|
An application may create a normal C function with the above prototype
|
3844 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
3845 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
3846 |
|
|
by RedBoot.
|
3847 |
|
|
|
3848 |
|
|
|
3849 |
|
|
Memory Maps
|
3850 |
|
|
The RAM based page table is located at RAM start + 0x4000. RedBoot may be configured
|
3851 |
|
|
for one of two memory maps. The difference between them is the location of RAM and the
|
3852 |
|
|
PCI outbound windows. The alternative memory map may be used when
|
3853 |
|
|
building RedBoot or eCos by using the RAM_ALTMAP
|
3854 |
|
|
and ROM_ALTMAP startup types in the configuration.
|
3855 |
|
|
NOTE
|
3856 |
|
|
The virtual memory maps in this section use a C, B, and X column to indicate
|
3857 |
|
|
the caching policy for the region..
|
3858 |
|
|
|
3859 |
|
|
|
3860 |
|
|
X C B Description
|
3861 |
|
|
- - - ---------------------------------------------
|
3862 |
|
|
|
3863 |
|
|
|
3864 |
|
|
|
3865 |
|
|
|
3866 |
|
|
1 0 0 Invalid -- not used
|
3867 |
|
|
1 0 1 Uncached/Buffered No write buffer coalescing
|
3868 |
|
|
1 1 0 Mini DCache - Policy set by Aux Ctl Register
|
3869 |
|
|
1 1 1 Cached/Buffered Write Back, Read/Write Allocate
|
3870 |
|
|
|
3871 |
|
|
Physical Address Range Description
|
3872 |
|
|
----------------------- ----------------------------------
|
3873 |
|
|
0x00000000 - 0x7fffffff ATU Outbound Direct Window
|
3874 |
|
|
0x80000000 - 0x900fffff ATU Outbound Translate Windows
|
3875 |
|
|
0xa0000000 - 0xbfffffff SDRAM
|
3876 |
|
|
0xf0000000 - 0xf0800000 FLASH (PBIU CS0)
|
3877 |
|
|
0xfe800000 - 0xfe800fff UART (PBIU CS1)
|
3878 |
|
|
0xfe840000 - 0xfe840fff Left 7-segment LED (PBIU CS3)
|
3879 |
|
|
0xfe850000 - 0xfe850fff Right 7-segment LED (PBIU CS2)
|
3880 |
|
|
0xfe8d0000 - 0xfe8d0fff Rotary Switch (PBIU CS4)
|
3881 |
|
|
0xfe8f0000 - 0xfe8f0fff Baterry Status (PBIU CS5)
|
3882 |
|
|
0xfff00000 - 0xffffffff Verde Memory mapped Registers
|
3883 |
|
|
|
3884 |
|
|
|
3885 |
|
|
Default Virtual Map X C B Description
|
3886 |
|
|
----------------------- - - - ----------------------------------
|
3887 |
|
|
0x00000000 - 0x1fffffff 1 1 1 SDRAM
|
3888 |
|
|
0x20000000 - 0x9fffffff 0 0 0 ATU Outbound Direct Window
|
3889 |
|
|
0xa0000000 - 0xb00fffff 0 0 0 ATU Outbound Translate Windows
|
3890 |
|
|
0xc0000000 - 0xdfffffff 0 0 0 Uncached alias for SDRAM
|
3891 |
|
|
0xe0000000 - 0xe00fffff 1 1 1 Cache flush region (no phys mem)
|
3892 |
|
|
0xf0000000 - 0xf0800000 0 1 0 FLASH (PBIU CS0)
|
3893 |
|
|
0xfe800000 - 0xfe800fff 0 0 0 UART (PBIU CS1)
|
3894 |
|
|
0xfe840000 - 0xfe840fff 0 0 0 Left 7-segment LED (PBIU CS3)
|
3895 |
|
|
0xfe850000 - 0xfe850fff 0 0 0 Right 7-segment LED (PBIU CS2)
|
3896 |
|
|
0xfe8d0000 - 0xfe8d0fff 0 0 0 Rotary Switch (PBIU CS4)
|
3897 |
|
|
0xfe8f0000 - 0xfe8f0fff 0 0 0 Baterry Status (PBIU CS5)
|
3898 |
|
|
0xfff00000 - 0xffffffff 0 0 0 Verde Memory mapped Registers
|
3899 |
|
|
|
3900 |
|
|
Alternate Virtual Map X C B Description
|
3901 |
|
|
----------------------- - - - ----------------------------------
|
3902 |
|
|
0x00000000 - 0x000fffff 1 1 1 Alias for 1st MB of SDRAM
|
3903 |
|
|
0x00100000 - 0x7fffffff 0 0 0 ATU Outbound Direct Window
|
3904 |
|
|
0x80000000 - 0x900fffff 0 0 0 ATU Outbound Translate Windows
|
3905 |
|
|
0xa0000000 - 0xbfffffff 1 1 1 SDRAM
|
3906 |
|
|
0xc0000000 - 0xdfffffff 0 0 0 Uncached alias for SDRAM
|
3907 |
|
|
0xe0000000 - 0xe00fffff 1 1 1 Cache flush region (no phys mem)
|
3908 |
|
|
0xf0000000 - 0xf0800000 0 1 0 FLASH (PBIU CS0)
|
3909 |
|
|
0xfe800000 - 0xfe800fff 0 0 0 UART (PBIU CS1)
|
3910 |
|
|
0xfe840000 - 0xfe840fff 0 0 0 Left 7-segment LED (PBIU CS3)
|
3911 |
|
|
0xfe850000 - 0xfe850fff 0 0 0 Right 7-segment LED (PBIU CS2)
|
3912 |
|
|
0xfe8d0000 - 0xfe8d0fff 0 0 0 Rotary Switch (PBIU CS4)
|
3913 |
|
|
0xfe8f0000 - 0xfe8f0fff 0 0 0 Baterry Status (PBIU CS5)
|
3914 |
|
|
0xfff00000 - 0xffffffff 0 0 0 Verde Memory mapped Registers
|
3915 |
|
|
|
3916 |
|
|
|
3917 |
|
|
|
3918 |
|
|
|
3919 |
|
|
Platform Resource Usage
|
3920 |
|
|
The Verde programmable timer0 is used for timeout support
|
3921 |
|
|
for networking and XModem file transfers.
|
3922 |
|
|
|
3923 |
|
|
|
3924 |
|
|
|
3925 |
|
|
|
3926 |
|
|
ARM/Intel XScale IXDP425 Network Processor Evaluation Board
|
3927 |
|
|
|
3928 |
|
|
Overview
|
3929 |
|
|
Intel IXDP425installing and
|
3930 |
|
|
testinginstalling and testing
|
3931 |
|
|
Intel IXDPRedBoot supports
|
3932 |
|
|
the builtin high-speed and console UARTs and a PCI based i82559 ethernet
|
3933 |
|
|
card for communication and downloads. The default serial port settings are
|
3934 |
|
|
115200,8,N,1. RedBoot also supports flash management for the 16MB boot flash
|
3935 |
|
|
on the mainboard.
|
3936 |
|
|
|
3937 |
|
|
The following RedBoot configurations are supported:
|
3938 |
|
|
|
3939 |
|
|
|
3940 |
|
|
|
3941 |
|
|
3942 |
|
|
|
|
3943 |
|
|
Configuration
|
3944 |
|
|
Mode
|
3945 |
|
|
Description
|
3946 |
|
|
File
|
3947 |
|
|
|
3948 |
|
|
|
|
3949 |
|
|
3950 |
|
|
|
|
3951 |
|
|
ROM
|
3952 |
|
|
[ROM]
|
3953 |
|
|
RedBoot running from flash
|
3954 |
|
|
sector.
|
3955 |
|
|
redboot_ROM.ecm
|
3956 |
|
|
|
3957 |
|
|
|
|
3958 |
|
|
RAM
|
3959 |
|
|
[RAM]
|
3960 |
|
|
RedBoot running from RAM with RedBoot in the
|
3961 |
|
|
flash boot sector.
|
3962 |
|
|
redboot_RAM.ecm
|
3963 |
|
|
|
3964 |
|
|
|
|
3965 |
|
|
|
3966 |
|
|
|
3967 |
|
|
|
3968 |
|
|
|
3969 |
|
|
|
3970 |
|
|
|
3971 |
|
|
Initial Installation Method
|
3972 |
|
|
The IXDP425 flash is socketed, so initial installation may be done using
|
3973 |
|
|
an appropriate device programmer. JTAG based initial may also be used. In either
|
3974 |
|
|
case, the ROM mode RedBoot is programmed into the boot flash at address 0x00000000.
|
3975 |
|
|
|
3976 |
|
|
|
3977 |
|
|
After booting the initial installation of RedBoot, this warning may
|
3978 |
|
|
be printed: flash configuration checksum error or invalid key
|
3979 |
|
|
This is normal, and indicates that the flash should be configured
|
3980 |
|
|
for use by RedBoot. See for more
|
3981 |
|
|
details.
|
3982 |
|
|
|
3983 |
|
|
|
3984 |
|
|
LED Codes
|
3985 |
|
|
RedBoot uses the 4 digit LED display to indicate status during board
|
3986 |
|
|
initialization. Possible codes are:
|
3987 |
|
|
|
3988 |
|
|
|
3989 |
|
|
LED Actions
|
3990 |
|
|
-------------------------------------------------------------
|
3991 |
|
|
Power-On/Reset
|
3992 |
|
|
Set the CPSR
|
3993 |
|
|
Enable coprocessor access
|
3994 |
|
|
Drain write and fill buffer
|
3995 |
|
|
Setup expansion bus chip selects
|
3996 |
|
|
1001
|
3997 |
|
|
Enable Icache
|
3998 |
|
|
1002
|
3999 |
|
|
Initialize SDRAM controller
|
4000 |
|
|
1003
|
4001 |
|
|
Switch flash (CS0) from 0x00000000 to 0x50000000
|
4002 |
|
|
1004
|
4003 |
|
|
Copy MMU table to RAM
|
4004 |
|
|
1005
|
4005 |
|
|
Setup TTB and domain permissions
|
4006 |
|
|
1006
|
4007 |
|
|
Enable MMU
|
4008 |
|
|
1007
|
4009 |
|
|
Enable DCache
|
4010 |
|
|
1008
|
4011 |
|
|
Enable branch target buffer
|
4012 |
|
|
1009
|
4013 |
|
|
Drain write and fill buffer
|
4014 |
|
|
Flush caches
|
4015 |
|
|
100A
|
4016 |
|
|
Start up the eCos kernel or RedBoot
|
4017 |
|
|
0001
|
4018 |
|
|
|
4019 |
|
|
|
4020 |
|
|
|
4021 |
|
|
|
4022 |
|
|
Rebuilding RedBoot
|
4023 |
|
|
|
4024 |
|
|
These shell variables provide the platform-specific information
|
4025 |
|
|
needed for building RedBoot according to the procedure described in
|
4026 |
|
|
:
|
4027 |
|
|
|
4028 |
|
|
export TARGET=ixdp425
|
4029 |
|
|
export ARCH_DIR=arm
|
4030 |
|
|
export PLATFORM_DIR=xscale/ixdp425
|
4031 |
|
|
|
4032 |
|
|
|
4033 |
|
|
|
4034 |
|
|
The names of configuration files are listed above with the
|
4035 |
|
|
description of the associated modes.
|
4036 |
|
|
|
4037 |
|
|
|
4038 |
|
|
|
4039 |
|
|
Interrupts
|
4040 |
|
|
RedBoot uses an interrupt vector table which is located at address 0x8004.
|
4041 |
|
|
Entries in this table are pointers to functions with this protoype::
|
4042 |
|
|
int irq_handler( unsigned vector, unsigned data )On the IXDP425
|
4043 |
|
|
board, the vector argument is one of many interrupts defined in
|
4044 |
|
|
hal/arm/xscale/ixp425/current/include/hal_var_ints.h::
|
4045 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEA 0
|
4046 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEB 1
|
4047 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEC 2
|
4048 |
|
|
#define CYGNUM_HAL_INTERRUPT_QM1 3
|
4049 |
|
|
#define CYGNUM_HAL_INTERRUPT_QM2 4
|
4050 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER0 5
|
4051 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO0 6
|
4052 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO1 7
|
4053 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_INT 8
|
4054 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_DMA1 9
|
4055 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_DMA2 10
|
4056 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER1 11
|
4057 |
|
|
#define CYGNUM_HAL_INTERRUPT_USB 12
|
4058 |
|
|
#define CYGNUM_HAL_INTERRUPT_UART2 13
|
4059 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMESTAMP 14
|
4060 |
|
|
#define CYGNUM_HAL_INTERRUPT_UART1 15
|
4061 |
|
|
#define CYGNUM_HAL_INTERRUPT_WDOG 16
|
4062 |
|
|
#define CYGNUM_HAL_INTERRUPT_AHB_PMU 17
|
4063 |
|
|
#define CYGNUM_HAL_INTERRUPT_XSCALE_PMU 18
|
4064 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO2 19
|
4065 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO3 20
|
4066 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO4 21
|
4067 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO5 22
|
4068 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO6 23
|
4069 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO7 24
|
4070 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO8 25
|
4071 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO9 26
|
4072 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO10 27
|
4073 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO11 28
|
4074 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO12 29
|
4075 |
|
|
#define CYGNUM_HAL_INTERRUPT_SW_INT1 30
|
4076 |
|
|
#define CYGNUM_HAL_INTERRUPT_SW_INT2 31
|
4077 |
|
|
|
4078 |
|
|
The data passed to the ISR is pulled from a data table (hal_interrupt_data)
|
4079 |
|
|
which immediately follows the interrupt vector table. With
|
4080 |
|
|
32 interrupts, the data table starts at address 0x8084.
|
4081 |
|
|
An application may create a normal C function with the above prototype
|
4082 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
4083 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
4084 |
|
|
by RedBoot.
|
4085 |
|
|
|
4086 |
|
|
|
4087 |
|
|
Memory Maps
|
4088 |
|
|
The RAM based page table is located at RAM start + 0x4000.
|
4089 |
|
|
NOTE
|
4090 |
|
|
The virtual memory maps in this section use a C, B, and X column to indicate
|
4091 |
|
|
the caching policy for the region..
|
4092 |
|
|
|
4093 |
|
|
|
4094 |
|
|
X C B Description
|
4095 |
|
|
- - - ---------------------------------------------
|
4096 |
|
|
|
4097 |
|
|
|
4098 |
|
|
|
4099 |
|
|
|
4100 |
|
|
1 0 0 Invalid -- not used
|
4101 |
|
|
1 0 1 Uncached/Buffered No write buffer coalescing
|
4102 |
|
|
1 1 0 Mini DCache - Policy set by Aux Ctl Register
|
4103 |
|
|
1 1 1 Cached/Buffered Write Back, Read/Write Allocate
|
4104 |
|
|
|
4105 |
|
|
Virtual Address Physical Address XCB Size (MB) Description
|
4106 |
|
|
--------------- ---------------- --- --------- -----------
|
4107 |
|
|
0x00000000 0x00000000 010 256 SDRAM (cached)
|
4108 |
|
|
0x10000000 0x10000000 010 256 SDRAM (alias)
|
4109 |
|
|
0x20000000 0x00000000 000 256 SDRAM (uncached)
|
4110 |
|
|
0x48000000 0x48000000 000 64 PCI Data
|
4111 |
|
|
0x50000000 0x50000000 010 16 Flash (CS0)
|
4112 |
|
|
0x51000000 0x51000000 000 112 CS1 - CS7
|
4113 |
|
|
0x60000000 0x60000000 000 64 Queue Manager
|
4114 |
|
|
0xC0000000 0xC0000000 000 1 PCI Controller
|
4115 |
|
|
0xC4000000 0xC4000000 000 1 Exp. Bus Config
|
4116 |
|
|
0xC8000000 0xC8000000 000 1 Misc IXP425 IO
|
4117 |
|
|
0xCC000000 0xCC000000 000 1 SDRAM Config
|
4118 |
|
|
|
4119 |
|
|
|
4120 |
|
|
|
4121 |
|
|
|
4122 |
|
|
Platform Resource Usage
|
4123 |
|
|
The IXP425 programmable OStimer0 is used for timeout support
|
4124 |
|
|
for networking and XModem file transfers.
|
4125 |
|
|
|
4126 |
|
|
|
4127 |
|
|
|
4128 |
|
|
|
4129 |
|
|
ARM/Intel XScale Generic Residential Gateway
|
4130 |
|
|
|
4131 |
|
|
Overview
|
4132 |
|
|
Intel GRGinstalling and
|
4133 |
|
|
testinginstalling and testing
|
4134 |
|
|
Intel GRGRedBoot supports
|
4135 |
|
|
the console UART and a PCI based i82559 ethernet card for communication
|
4136 |
|
|
and downloads. The default serial port settings are 115200,8,N,1. RedBoot
|
4137 |
|
|
also supports flash management for the 16MB onboard flash.
|
4138 |
|
|
|
4139 |
|
|
The following RedBoot configurations are supported:
|
4140 |
|
|
|
4141 |
|
|
|
4142 |
|
|
|
4143 |
|
|
4144 |
|
|
|
|
4145 |
|
|
Configuration
|
4146 |
|
|
Mode
|
4147 |
|
|
Description
|
4148 |
|
|
File
|
4149 |
|
|
|
4150 |
|
|
|
|
4151 |
|
|
4152 |
|
|
|
|
4153 |
|
|
ROM
|
4154 |
|
|
[ROM]
|
4155 |
|
|
RedBoot running from flash
|
4156 |
|
|
sector.
|
4157 |
|
|
redboot_ROM.ecm
|
4158 |
|
|
|
4159 |
|
|
|
|
4160 |
|
|
RAM
|
4161 |
|
|
[RAM]
|
4162 |
|
|
RedBoot running from RAM with RedBoot in the
|
4163 |
|
|
flash boot sector.
|
4164 |
|
|
redboot_RAM.ecm
|
4165 |
|
|
|
4166 |
|
|
|
|
4167 |
|
|
|
4168 |
|
|
|
4169 |
|
|
|
4170 |
|
|
|
4171 |
|
|
|
4172 |
|
|
|
4173 |
|
|
Initial Installation Method
|
4174 |
|
|
The GRG flash is socketed, so initial installation may be done using
|
4175 |
|
|
an appropriate device programmer. JTAG based initial may also be used. In either
|
4176 |
|
|
case, the ROM mode RedBoot is programmed into the boot flash at address 0x00000000.
|
4177 |
|
|
|
4178 |
|
|
|
4179 |
|
|
After booting the initial installation of RedBoot, this warning may
|
4180 |
|
|
be printed: flash configuration checksum error or invalid key
|
4181 |
|
|
This is normal, and indicates that the flash should be configured
|
4182 |
|
|
for use by RedBoot. See for more
|
4183 |
|
|
details.
|
4184 |
|
|
|
4185 |
|
|
|
4186 |
|
|
Rebuilding RedBoot
|
4187 |
|
|
|
4188 |
|
|
These shell variables provide the platform-specific information
|
4189 |
|
|
needed for building RedBoot according to the procedure described in
|
4190 |
|
|
:
|
4191 |
|
|
|
4192 |
|
|
export TARGET=grg
|
4193 |
|
|
export ARCH_DIR=arm
|
4194 |
|
|
export PLATFORM_DIR=xscale/grg
|
4195 |
|
|
|
4196 |
|
|
|
4197 |
|
|
|
4198 |
|
|
The names of configuration files are listed above with the
|
4199 |
|
|
description of the associated modes.
|
4200 |
|
|
|
4201 |
|
|
|
4202 |
|
|
|
4203 |
|
|
Interrupts
|
4204 |
|
|
RedBoot uses an interrupt vector table which is located at address 0x8004.
|
4205 |
|
|
Entries in this table are pointers to functions with this protoype::
|
4206 |
|
|
int irq_handler( unsigned vector, unsigned data )On the GRG
|
4207 |
|
|
board, the vector argument is one of many interrupts defined in
|
4208 |
|
|
hal/arm/xscale/ixp425/current/include/hal_var_ints.h::
|
4209 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEA 0
|
4210 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEB 1
|
4211 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEC 2
|
4212 |
|
|
#define CYGNUM_HAL_INTERRUPT_QM1 3
|
4213 |
|
|
#define CYGNUM_HAL_INTERRUPT_QM2 4
|
4214 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER0 5
|
4215 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO0 6
|
4216 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO1 7
|
4217 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_INT 8
|
4218 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_DMA1 9
|
4219 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_DMA2 10
|
4220 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER1 11
|
4221 |
|
|
#define CYGNUM_HAL_INTERRUPT_USB 12
|
4222 |
|
|
#define CYGNUM_HAL_INTERRUPT_UART2 13
|
4223 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMESTAMP 14
|
4224 |
|
|
#define CYGNUM_HAL_INTERRUPT_UART1 15
|
4225 |
|
|
#define CYGNUM_HAL_INTERRUPT_WDOG 16
|
4226 |
|
|
#define CYGNUM_HAL_INTERRUPT_AHB_PMU 17
|
4227 |
|
|
#define CYGNUM_HAL_INTERRUPT_XSCALE_PMU 18
|
4228 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO2 19
|
4229 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO3 20
|
4230 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO4 21
|
4231 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO5 22
|
4232 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO6 23
|
4233 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO7 24
|
4234 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO8 25
|
4235 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO9 26
|
4236 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO10 27
|
4237 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO11 28
|
4238 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO12 29
|
4239 |
|
|
#define CYGNUM_HAL_INTERRUPT_SW_INT1 30
|
4240 |
|
|
#define CYGNUM_HAL_INTERRUPT_SW_INT2 31
|
4241 |
|
|
|
4242 |
|
|
The data passed to the ISR is pulled from a data table (hal_interrupt_data)
|
4243 |
|
|
which immediately follows the interrupt vector table. With
|
4244 |
|
|
32 interrupts, the data table starts at address 0x8084.
|
4245 |
|
|
An application may create a normal C function with the above prototype
|
4246 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
4247 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
4248 |
|
|
by RedBoot.
|
4249 |
|
|
|
4250 |
|
|
|
4251 |
|
|
Memory Maps
|
4252 |
|
|
The RAM based page table is located at RAM start + 0x4000.
|
4253 |
|
|
NOTE
|
4254 |
|
|
The virtual memory maps in this section use a C, B, and X column to indicate
|
4255 |
|
|
the caching policy for the region..
|
4256 |
|
|
|
4257 |
|
|
|
4258 |
|
|
X C B Description
|
4259 |
|
|
- - - ---------------------------------------------
|
4260 |
|
|
|
4261 |
|
|
|
4262 |
|
|
|
4263 |
|
|
|
4264 |
|
|
1 0 0 Invalid -- not used
|
4265 |
|
|
1 0 1 Uncached/Buffered No write buffer coalescing
|
4266 |
|
|
1 1 0 Mini DCache - Policy set by Aux Ctl Register
|
4267 |
|
|
1 1 1 Cached/Buffered Write Back, Read/Write Allocate
|
4268 |
|
|
|
4269 |
|
|
Virtual Address Physical Address XCB Size (MB) Description
|
4270 |
|
|
--------------- ---------------- --- --------- -----------
|
4271 |
|
|
0x00000000 0x00000000 010 32 SDRAM (cached)
|
4272 |
|
|
0x10000000 0x00000000 010 32 SDRAM (alias)
|
4273 |
|
|
0x20000000 0x00000000 000 32 SDRAM (uncached)
|
4274 |
|
|
0x48000000 0x48000000 000 64 PCI Data
|
4275 |
|
|
0x50000000 0x50000000 010 16 Flash (CS0)
|
4276 |
|
|
0x51000000 0x51000000 000 112 CS1 - CS7
|
4277 |
|
|
0x60000000 0x60000000 000 64 Queue Manager
|
4278 |
|
|
0xC0000000 0xC0000000 000 1 PCI Controller
|
4279 |
|
|
0xC4000000 0xC4000000 000 1 Exp. Bus Config
|
4280 |
|
|
0xC8000000 0xC8000000 000 1 Misc IXP425 IO
|
4281 |
|
|
0xCC000000 0xCC000000 000 1 SDRAM Config
|
4282 |
|
|
|
4283 |
|
|
|
4284 |
|
|
|
4285 |
|
|
|
4286 |
|
|
Platform Resource Usage
|
4287 |
|
|
The IXP425 programmable OStimer0 is used for timeout support
|
4288 |
|
|
for networking and XModem file transfers.
|
4289 |
|
|
|
4290 |
|
|
|
4291 |
|
|
|
4292 |
|
|
|
4293 |
|
|
Motorola PrPMC1100 CPU card
|
4294 |
|
|
|
4295 |
|
|
Overview
|
4296 |
|
|
Motorola PrPMC1100installing and
|
4297 |
|
|
testinginstalling and testing
|
4298 |
|
|
Motorola PrPMC1100RedBoot supports
|
4299 |
|
|
the builtin high-speed and console UARTs
|
4300 |
|
|
.
|
4301 |
|
|
The console UART is the default and feeds the front panel COM1 connector. The
|
4302 |
|
|
high-speed UART signals are only available from the PN4 IO connector. Therefore,
|
4303 |
|
|
usability of this port depends on the carrier board used. The default serial
|
4304 |
|
|
port settings are 115200,8,N,1. RedBoot also supports flash management for
|
4305 |
|
|
the 16MB boot flash on the mainboard.
|
4306 |
|
|
|
4307 |
|
|
The following RedBoot configurations are supported:
|
4308 |
|
|
|
4309 |
|
|
|
4310 |
|
|
|
4311 |
|
|
4312 |
|
|
|
|
4313 |
|
|
Configuration
|
4314 |
|
|
Mode
|
4315 |
|
|
Description
|
4316 |
|
|
File
|
4317 |
|
|
|
4318 |
|
|
|
|
4319 |
|
|
4320 |
|
|
|
|
4321 |
|
|
ROM
|
4322 |
|
|
[ROM]
|
4323 |
|
|
RedBoot running from flash
|
4324 |
|
|
sector.
|
4325 |
|
|
redboot_ROM.ecm
|
4326 |
|
|
|
4327 |
|
|
|
|
4328 |
|
|
RAM
|
4329 |
|
|
[RAM]
|
4330 |
|
|
RedBoot running from RAM with RedBoot in the
|
4331 |
|
|
flash boot sector.
|
4332 |
|
|
redboot_RAM.ecm
|
4333 |
|
|
|
4334 |
|
|
|
|
4335 |
|
|
|
4336 |
|
|
|
4337 |
|
|
|
4338 |
|
|
|
4339 |
|
|
|
4340 |
|
|
|
4341 |
|
|
Initial Installation Method
|
4342 |
|
|
The PrPMC1100 flash is socketed, so initial installation may be done using
|
4343 |
|
|
an appropriate device programmer. JTAG based flash programming may also be used.
|
4344 |
|
|
In either case, the ROM mode RedBoot is programmed into the boot flash at address
|
4345 |
|
|
0x00000000.
|
4346 |
|
|
|
4347 |
|
|
|
4348 |
|
|
After booting the initial installation of RedBoot, this warning may
|
4349 |
|
|
be printed: flash configuration checksum error or invalid key
|
4350 |
|
|
This is normal, and indicates that the flash should be configured
|
4351 |
|
|
for use by RedBoot. Even if this message is not seen, it is recommended that
|
4352 |
|
|
the fconfig be run to initialize the flash configuration
|
4353 |
|
|
area. See for more details.
|
4354 |
|
|
|
4355 |
|
|
|
4356 |
|
|
|
4357 |
|
|
Rebuilding RedBoot
|
4358 |
|
|
|
4359 |
|
|
These shell variables provide the platform-specific information
|
4360 |
|
|
needed for building RedBoot according to the procedure described in
|
4361 |
|
|
:
|
4362 |
|
|
|
4363 |
|
|
export TARGET=prpmc1100
|
4364 |
|
|
export ARCH_DIR=arm
|
4365 |
|
|
export PLATFORM_DIR=xscale/prpmc1100
|
4366 |
|
|
|
4367 |
|
|
|
4368 |
|
|
|
4369 |
|
|
The names of configuration files are listed above with the
|
4370 |
|
|
description of the associated modes.
|
4371 |
|
|
|
4372 |
|
|
|
4373 |
|
|
|
4374 |
|
|
Interrupts
|
4375 |
|
|
RedBoot uses an interrupt vector table which is located at address 0x8004.
|
4376 |
|
|
Entries in this table are pointers to functions with this protoype::
|
4377 |
|
|
int irq_handler( unsigned vector, unsigned data )On the PrPMC1100
|
4378 |
|
|
board, the vector argument is one of many interrupts defined in
|
4379 |
|
|
hal/arm/xscale/ixp425/current/include/hal_var_ints.h::
|
4380 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEA 0
|
4381 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEB 1
|
4382 |
|
|
#define CYGNUM_HAL_INTERRUPT_NPEC 2
|
4383 |
|
|
#define CYGNUM_HAL_INTERRUPT_QM1 3
|
4384 |
|
|
#define CYGNUM_HAL_INTERRUPT_QM2 4
|
4385 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER0 5
|
4386 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO0 6
|
4387 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO1 7
|
4388 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_INT 8
|
4389 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_DMA1 9
|
4390 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_DMA2 10
|
4391 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER1 11
|
4392 |
|
|
#define CYGNUM_HAL_INTERRUPT_USB 12
|
4393 |
|
|
#define CYGNUM_HAL_INTERRUPT_UART2 13
|
4394 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMESTAMP 14
|
4395 |
|
|
#define CYGNUM_HAL_INTERRUPT_UART1 15
|
4396 |
|
|
#define CYGNUM_HAL_INTERRUPT_WDOG 16
|
4397 |
|
|
#define CYGNUM_HAL_INTERRUPT_AHB_PMU 17
|
4398 |
|
|
#define CYGNUM_HAL_INTERRUPT_XSCALE_PMU 18
|
4399 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO2 19
|
4400 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO3 20
|
4401 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO4 21
|
4402 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO5 22
|
4403 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO6 23
|
4404 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO7 24
|
4405 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO8 25
|
4406 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO9 26
|
4407 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO10 27
|
4408 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO11 28
|
4409 |
|
|
#define CYGNUM_HAL_INTERRUPT_GPIO12 29
|
4410 |
|
|
#define CYGNUM_HAL_INTERRUPT_SW_INT1 30
|
4411 |
|
|
#define CYGNUM_HAL_INTERRUPT_SW_INT2 31
|
4412 |
|
|
|
4413 |
|
|
The data passed to the ISR is pulled from a data table (hal_interrupt_data)
|
4414 |
|
|
which immediately follows the interrupt vector table. With
|
4415 |
|
|
32 interrupts, the data table starts at address 0x8084.
|
4416 |
|
|
An application may create a normal C function with the above prototype
|
4417 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
4418 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
4419 |
|
|
by RedBoot.
|
4420 |
|
|
|
4421 |
|
|
|
4422 |
|
|
Memory Maps
|
4423 |
|
|
The RAM based page table is located at RAM start + 0x4000.
|
4424 |
|
|
NOTE
|
4425 |
|
|
The virtual memory maps in this section use a C, B, and X column to indicate
|
4426 |
|
|
the caching policy for the region..
|
4427 |
|
|
|
4428 |
|
|
|
4429 |
|
|
X C B Description
|
4430 |
|
|
- - - ---------------------------------------------
|
4431 |
|
|
|
4432 |
|
|
|
4433 |
|
|
|
4434 |
|
|
|
4435 |
|
|
1 0 0 Invalid -- not used
|
4436 |
|
|
1 0 1 Uncached/Buffered No write buffer coalescing
|
4437 |
|
|
1 1 0 Mini DCache - Policy set by Aux Ctl Register
|
4438 |
|
|
1 1 1 Cached/Buffered Write Back, Read/Write Allocate
|
4439 |
|
|
|
4440 |
|
|
Virtual Address Physical Address XCB Size (MB) Description
|
4441 |
|
|
--------------- ---------------- --- --------- -----------
|
4442 |
|
|
0x00000000 0x00000000 010 256 SDRAM (cached)
|
4443 |
|
|
0x10000000 0x10000000 010 256 SDRAM (alias)
|
4444 |
|
|
0x20000000 0x00000000 000 256 SDRAM (uncached)
|
4445 |
|
|
0x48000000 0x48000000 000 64 PCI Data
|
4446 |
|
|
0x50000000 0x50000000 010 16 Flash (CS0)
|
4447 |
|
|
0x51000000 0x51000000 000 112 CS1 - CS7
|
4448 |
|
|
0x60000000 0x60000000 000 64 Queue Manager
|
4449 |
|
|
0xC0000000 0xC0000000 000 1 PCI Controller
|
4450 |
|
|
0xC4000000 0xC4000000 000 1 Exp. Bus Config
|
4451 |
|
|
0xC8000000 0xC8000000 000 1 Misc CPU IO
|
4452 |
|
|
0xCC000000 0xCC000000 000 1 SDRAM Config
|
4453 |
|
|
|
4454 |
|
|
|
4455 |
|
|
|
4456 |
|
|
|
4457 |
|
|
Platform Resource Usage
|
4458 |
|
|
The CPU programmable OStimer0 is used for timeout support
|
4459 |
|
|
for networking and XModem file transfers.
|
4460 |
|
|
|
4461 |
|
|
|
4462 |
|
|
|
4463 |
|
|
|
4464 |
|
|
|
4465 |
|
|
CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board
|
4466 |
|
|
|
4467 |
|
|
Overview
|
4468 |
|
|
Samsung CalmRISC16 Core EVBinstalling
|
4469 |
|
|
and testinginstalling and testing
|
4470 |
|
|
Samsung CalmRISC16 Core EVB The
|
4471 |
|
|
Samsung CalmRISC16 evaluation platform consists of two boards connected by a
|
4472 |
|
|
ribbon cable. One board contains the CPU core and memory. The other board is
|
4473 |
|
|
called the MDSChip board and provides the host interface. The calmRISC16 is a
|
4474 |
|
|
harvard architecture with separate 22-bit program and data addresses. The
|
4475 |
|
|
instruction set provides no instruction for writing to program memory. The
|
4476 |
|
|
MDSChip board firmware (called CalmBreaker) provides a pseudo register interface
|
4477 |
|
|
so that code running on the core has access to a serial channel and a mechanism
|
4478 |
|
|
to write to program memory. The serial channel is fixed at 57600-8-N-1 by the
|
4479 |
|
|
firmware. The CalmBreaker firmware also provides a serial protocol which
|
4480 |
|
|
allows a host to download a program and to start or stop the core board.
|
4481 |
|
|
|
4482 |
|
|
The following RedBoot configurations are supported:
|
4483 |
|
|
|
4484 |
|
|
|
4485 |
|
|
|
4486 |
|
|
4487 |
|
|
|
|
4488 |
|
|
Configuration
|
4489 |
|
|
Mode
|
4490 |
|
|
Description
|
4491 |
|
|
File
|
4492 |
|
|
|
4493 |
|
|
|
|
4494 |
|
|
4495 |
|
|
|
|
4496 |
|
|
ROM
|
4497 |
|
|
[ROM]
|
4498 |
|
|
RedBoot running via the MDSChip board.
|
4499 |
|
|
redboot_ROM.ecm
|
4500 |
|
|
|
4501 |
|
|
|
|
4502 |
|
|
|
4503 |
|
|
|
4504 |
|
|
|
4505 |
|
|
|
4506 |
|
|
|
4507 |
|
|
|
4508 |
|
|
Initial Installation Method
|
4509 |
|
|
The CalmRISC16 core is controlled through the MDSChip board. There is
|
4510 |
|
|
no non-volatile storage available for RedBoot, so RedBoot must be downloaded
|
4511 |
|
|
to the board on every power cycle. A small utility program is used to download
|
4512 |
|
|
S-record files to the eval board. Sources and build instructions for this
|
4513 |
|
|
utility are located in the RedBoot sources in:
|
4514 |
|
|
packages/hal/calmrisc16/ceb/current/support
|
4515 |
|
|
|
4516 |
|
|
To download the RedBoot image, first press the reset button on the MDSChip
|
4517 |
|
|
board. The green 'Run' LED on the core board should go off. Now, use the
|
4518 |
|
|
utility to download the RedBoot image with:
|
4519 |
|
|
$ calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf
|
4520 |
|
|
|
4521 |
|
|
Note that the '-p /dev/term/b' specifies the serial port to use and will vary
|
4522 |
|
|
from system to system. The download will take about two minutes. After it
|
4523 |
|
|
finishes, start RedBoot with:
|
4524 |
|
|
$ calmbreaker -p /dev/term/b --run
|
4525 |
|
|
The 'Run' LED on the core board should be on. Connecting to the MDSboard with
|
4526 |
|
|
a terminal and typing enter should result in RedBoot reprinting the command
|
4527 |
|
|
prompt.
|
4528 |
|
|
|
4529 |
|
|
|
4530 |
|
|
|
4531 |
|
|
Special RedBoot Commands
|
4532 |
|
|
None.
|
4533 |
|
|
|
4534 |
|
|
|
4535 |
|
|
Special Note on Serial Channel
|
4536 |
|
|
The MDSChip board uses a relatively slow microcontroller to provide
|
4537 |
|
|
the pseudo-register interface to the core board. This pseudo-register
|
4538 |
|
|
interface provides access to the serial channel and write access to program
|
4539 |
|
|
memory. Those interfaces are slow and the serial channel is easily overrun
|
4540 |
|
|
by a fast host. For this reason, GDB must be told to limit the size of code
|
4541 |
|
|
download packets to avoid serial overrun. This is done with the following
|
4542 |
|
|
GDB command:
|
4543 |
|
|
(gdb) set download-write-size 25
|
4544 |
|
|
|
4545 |
|
|
|
4546 |
|
|
|
4547 |
|
|
|
4548 |
|
|
Rebuilding RedBoot
|
4549 |
|
|
|
4550 |
|
|
These shell variables provide the platform-specific information
|
4551 |
|
|
needed for building RedBoot according to the procedure described in
|
4552 |
|
|
:
|
4553 |
|
|
|
4554 |
|
|
export TARGET=calm16_ceb
|
4555 |
|
|
export ARCH_DIR=calmrisc16
|
4556 |
|
|
export PLATFORM_DIR=ceb
|
4557 |
|
|
|
4558 |
|
|
|
4559 |
|
|
|
4560 |
|
|
The names of configuration files are listed above with the
|
4561 |
|
|
description of the associated modes.
|
4562 |
|
|
|
4563 |
|
|
|
4564 |
|
|
|
4565 |
|
|
|
4566 |
|
|
|
4567 |
|
|
|
4568 |
|
|
CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board
|
4569 |
|
|
|
4570 |
|
|
Overview
|
4571 |
|
|
Samsung CalmRISC32 Core EVBinstalling
|
4572 |
|
|
and testinginstalling and testing
|
4573 |
|
|
Samsung CalmRISC32 Core EVB The
|
4574 |
|
|
Samsung CalmRISC32 evaluation platform consists of two boards connected by a
|
4575 |
|
|
ribbon cable. One board contains the CPU core and memory. The other board is
|
4576 |
|
|
called the MDSChip board and provides the host interface. The calmRISC32 is a
|
4577 |
|
|
harvard architecture with separate 32-bit program and data addresses. The
|
4578 |
|
|
instruction set provides no instruction for writing to program memory. The
|
4579 |
|
|
MDSChip board firmware (called CalmBreaker) provides a pseudo register interface
|
4580 |
|
|
so that code running on the core has access to a serial channel and a mechanism
|
4581 |
|
|
to write to program memory. The serial channel is fixed at 57600-8-N-1 by the
|
4582 |
|
|
firmware. The CalmBreaker firmware also provides a serial protocol which
|
4583 |
|
|
allows a host to download a program and to start or stop the core board.
|
4584 |
|
|
|
4585 |
|
|
The following RedBoot configurations are supported:
|
4586 |
|
|
|
4587 |
|
|
|
4588 |
|
|
|
4589 |
|
|
4590 |
|
|
|
|
4591 |
|
|
Configuration
|
4592 |
|
|
Mode
|
4593 |
|
|
Description
|
4594 |
|
|
File
|
4595 |
|
|
|
4596 |
|
|
|
|
4597 |
|
|
4598 |
|
|
|
|
4599 |
|
|
ROM
|
4600 |
|
|
[ROM]
|
4601 |
|
|
RedBoot running via the MDSChip board.
|
4602 |
|
|
redboot_ROM.ecm
|
4603 |
|
|
|
4604 |
|
|
|
|
4605 |
|
|
|
4606 |
|
|
|
4607 |
|
|
|
4608 |
|
|
|
4609 |
|
|
|
4610 |
|
|
|
4611 |
|
|
Initial Installation Method
|
4612 |
|
|
The calmRISC32 core is controlled through the MDSChip board. There is
|
4613 |
|
|
no non-volatile storage available for RedBoot, so RedBoot must be downloaded
|
4614 |
|
|
to the board on every power cycle. A small utility program is used to download
|
4615 |
|
|
S-record files to the eval board. Sources and build instructions for this
|
4616 |
|
|
utility are located in the RedBoot sources in:
|
4617 |
|
|
packages/hal/calmrisc32/ceb/current/support
|
4618 |
|
|
|
4619 |
|
|
To download the RedBoot image, first press the reset button on the MDSChip
|
4620 |
|
|
board. The green 'Run' LED on the core board should go off. Now, use the
|
4621 |
|
|
utility to download the RedBoot image with:
|
4622 |
|
|
$ calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf
|
4623 |
|
|
|
4624 |
|
|
Note that the '-p /dev/term/b' specifies the serial port to use and will vary
|
4625 |
|
|
from system to syetm. The download will take about two minutes. After it
|
4626 |
|
|
finishes, start RedBoot with:
|
4627 |
|
|
$ calmbreaker -p /dev/term/b --run
|
4628 |
|
|
The 'Run' LED on the core board should be on. Connecting to the MDSboard with
|
4629 |
|
|
a terminal and typing enter should result in RedBoot reprinting the command
|
4630 |
|
|
prompt.
|
4631 |
|
|
|
4632 |
|
|
|
4633 |
|
|
|
4634 |
|
|
Special RedBoot Commands
|
4635 |
|
|
None.
|
4636 |
|
|
|
4637 |
|
|
|
4638 |
|
|
Special Note on Serial Channel
|
4639 |
|
|
The MDSChip board uses a relatively slow microcontroller to provide
|
4640 |
|
|
the pseudo-register interface to the core board. This pseudo-register
|
4641 |
|
|
interface provides access to the serial channel and write access to program
|
4642 |
|
|
memory. Those interfaces are slow and the serial channel is easily overrun
|
4643 |
|
|
by a fast host. For this reason, GDB must be told to limit the size of code
|
4644 |
|
|
download packets to avoid serial overrun. This is done with the following
|
4645 |
|
|
GDB command:
|
4646 |
|
|
(gdb) set download-write-size 25
|
4647 |
|
|
|
4648 |
|
|
|
4649 |
|
|
|
4650 |
|
|
Rebuilding RedBoot
|
4651 |
|
|
|
4652 |
|
|
These shell variables provide the platform-specific information
|
4653 |
|
|
needed for building RedBoot according to the procedure described in
|
4654 |
|
|
:
|
4655 |
|
|
|
4656 |
|
|
export TARGET=calm32_ceb
|
4657 |
|
|
export ARCH_DIR=calmrisc32
|
4658 |
|
|
export PLATFORM_DIR=ceb
|
4659 |
|
|
|
4660 |
|
|
|
4661 |
|
|
|
4662 |
|
|
The names of configuration files are listed above with the
|
4663 |
|
|
description of the associated modes.
|
4664 |
|
|
|
4665 |
|
|
|
4666 |
|
|
|
4667 |
|
|
|
4668 |
|
|
|
4669 |
|
|
|
4670 |
|
|
|
4671 |
|
|
|
4672 |
|
|
FRV/FRV400 Fujitsu FR-V 400 (MB-93091)
|
4673 |
|
|
|
4674 |
|
|
Overview
|
4675 |
|
|
|
4676 |
|
|
Fujitsu FR-V 400
|
4677 |
|
|
installing and testing
|
4678 |
|
|
installing and testing
|
4679 |
|
|
Fujitsu FR-V 400
|
4680 |
|
|
RedBoot supports both serial ports, which are available via
|
4681 |
|
|
the stacked serial connectors on the mother board.
|
4682 |
|
|
The topmost port is the default and is considered to be port 0 by RedBoot.
|
4683 |
|
|
The bottommost port is serial port 1.
|
4684 |
|
|
The default serial port settings are 38400,8,N,1.
|
4685 |
|
|
|
4686 |
|
|
|
4687 |
|
|
FLASH management is also supported, but only for the FLASH device in IC7.
|
4688 |
|
|
This arrangement allows for IC8 to retain either the original Fujitsu board
|
4689 |
|
|
firmware, or some application specific contents.
|
4690 |
|
|
|
4691 |
|
|
The following RedBoot configurations are supported:
|
4692 |
|
|
|
4693 |
|
|
|
4694 |
|
|
|
4695 |
|
|
4696 |
|
|
|
|
4697 |
|
|
Configuration
|
4698 |
|
|
Mode
|
4699 |
|
|
Description
|
4700 |
|
|
File
|
4701 |
|
|
|
4702 |
|
|
|
|
4703 |
|
|
4704 |
|
|
|
|
4705 |
|
|
ROMRAM
|
4706 |
|
|
[ROMRAM]
|
4707 |
|
|
RedBoot running from RAM, but contained in the
|
4708 |
|
|
board's flash boot sector.
|
4709 |
|
|
redboot_ROMRAM.ecm
|
4710 |
|
|
|
4711 |
|
|
|
|
4712 |
|
|
RAM
|
4713 |
|
|
[RAM]
|
4714 |
|
|
RedBoot running from RAM with RedBoot in the
|
4715 |
|
|
flash boot sector.
|
4716 |
|
|
redboot_RAM.ecm
|
4717 |
|
|
|
4718 |
|
|
|
|
4719 |
|
|
|
4720 |
|
|
|
4721 |
|
|
|
4722 |
|
|
|
4723 |
|
|
|
4724 |
|
|
|
4725 |
|
|
Initial Installation Method
|
4726 |
|
|
|
4727 |
|
|
|
4728 |
|
|
RedBoot can be installed by directly programming the FLASH device in IC7
|
4729 |
|
|
or by using the Fujitsu provided software to download and install a
|
4730 |
|
|
version into the FLASH device. Complete instructions are provided
|
4731 |
|
|
separately.
|
4732 |
|
|
|
4733 |
|
|
|
4734 |
|
|
|
4735 |
|
|
|
4736 |
|
|
|
4737 |
|
|
Special RedBoot Commands
|
4738 |
|
|
|
4739 |
|
|
None.
|
4740 |
|
|
|
4741 |
|
|
|
4742 |
|
|
|
4743 |
|
|
Memory Maps
|
4744 |
|
|
|
4745 |
|
|
The memory map of this platform is fixed by the hardware (cannot
|
4746 |
|
|
be changed by software). The only attributes which can be modified are
|
4747 |
|
|
control over cacheability, as noted below.
|
4748 |
|
|
|
4749 |
|
|
Address Cache? Resource
|
4750 |
|
|
00000000-03EFFFFF Yes SDRAM (via plugin DIMM)
|
4751 |
|
|
03F00000-03FFFFFF No SDRAM (used for PCI window)
|
4752 |
|
|
10000000-1FFFFFFF No MB86943 PCI bridge
|
4753 |
|
|
20000000-201FFFFF No SRAM
|
4754 |
|
|
21000000-23FFFFFF No Motherboard resources
|
4755 |
|
|
24000000-25FFFFFF No PCI I/O space
|
4756 |
|
|
26000000-2FFFFFFF No PCI Memory space
|
4757 |
|
|
30000000-FDFFFFFF ?? Unused
|
4758 |
|
|
FE000000-FEFFFFFF No I/O devices
|
4759 |
|
|
FF000000-FF1FFFFF No IC7 - RedBoot FLASH
|
4760 |
|
|
FF200000-FF3FFFFF No IC8 - unused FLASH
|
4761 |
|
|
FF400000-FFFFFFFF No Misc other I/O
|
4762 |
|
|
|
4763 |
|
|
|
4764 |
|
|
|
4765 |
|
|
NOTE
|
4766 |
|
|
|
4767 |
|
|
The only configuration currently suppored requires a 64MB SDRAM
|
4768 |
|
|
DIMM to be present on the CPU card. No other memory configuration
|
4769 |
|
|
is supported at this time.
|
4770 |
|
|
|
4771 |
|
|
|
4772 |
|
|
|
4773 |
|
|
|
4774 |
|
|
|
4775 |
|
|
|
4776 |
|
|
Rebuilding RedBoot
|
4777 |
|
|
|
4778 |
|
|
These shell variables provide the platform-specific information
|
4779 |
|
|
needed for building RedBoot according to the procedure described in
|
4780 |
|
|
:
|
4781 |
|
|
|
4782 |
|
|
export TARGET=frv400
|
4783 |
|
|
export ARCH_DIR=frv
|
4784 |
|
|
export PLATFORM_DIR=frv400
|
4785 |
|
|
|
4786 |
|
|
|
4787 |
|
|
|
4788 |
|
|
The names of configuration files are listed above with the
|
4789 |
|
|
description of the associated modes.
|
4790 |
|
|
|
4791 |
|
|
|
4792 |
|
|
|
4793 |
|
|
|
4794 |
|
|
|
4795 |
|
|
|
4796 |
|
|
Fujitsu FR-V Design Kit (MB93091-CBxx)
|
4797 |
|
|
|
4798 |
|
|
Overview
|
4799 |
|
|
|
4800 |
|
|
Fujitsu FR-V MB93091-CBxx Design
|
4801 |
|
|
Kit installing and
|
4802 |
|
|
testing installing and
|
4803 |
|
|
testing Fujitsu FR-V MB93091-CBxx Design
|
4804 |
|
|
Kit RedBoot supports both serial ports, which
|
4805 |
|
|
are available via the stacked serial connectors on the mother board in
|
4806 |
|
|
the case of the FR400 CPU board, and via serial connectors present on
|
4807 |
|
|
the other supported CPU boards themselves. The topmost port is the
|
4808 |
|
|
default and is considered to be port 0 by RedBoot. The bottommost
|
4809 |
|
|
port is serial port 1. The default serial port settings are
|
4810 |
|
|
115200,8,N,1. The serial port supports baud rates up to 460800, which
|
4811 |
|
|
can be set using the baud command as described in
|
4812 |
|
|
.
|
4813 |
|
|
|
4814 |
|
|
|
4815 |
|
|
|
4816 |
|
|
FLASH management is also supported, but only for the FLASH device in IC7.
|
4817 |
|
|
This arrangement allows for IC8 to retain either the original Fujitsu board
|
4818 |
|
|
firmware, or some application specific contents.
|
4819 |
|
|
Two basic RedBoot configurations are supported:
|
4820 |
|
|
|
4821 |
|
|
|
4822 |
|
|
|
4823 |
|
|
4824 |
|
|
|
|
4825 |
|
|
Configuration
|
4826 |
|
|
Mode
|
4827 |
|
|
Description
|
4828 |
|
|
File
|
4829 |
|
|
|
4830 |
|
|
|
|
4831 |
|
|
4832 |
|
|
|
|
4833 |
|
|
ROMRAM
|
4834 |
|
|
[ROMRAM]
|
4835 |
|
|
RedBoot running from RAM, but contained in the
|
4836 |
|
|
board's flash boot sector.
|
4837 |
|
|
redboot_ROMRAM.ecm
|
4838 |
|
|
|
4839 |
|
|
|
|
4840 |
|
|
RAM
|
4841 |
|
|
[RAM]
|
4842 |
|
|
RedBoot running from RAM with RedBoot in the
|
4843 |
|
|
flash boot sector.
|
4844 |
|
|
redboot_RAM.ecm
|
4845 |
|
|
|
4846 |
|
|
|
|
4847 |
|
|
|
4848 |
|
|
|
4849 |
|
|
|
4850 |
|
|
Since the normal RedBoot configuration does not use the FLASH ROM
|
4851 |
|
|
except during startup, it is unnecessary to load a RAM-based RedBoot
|
4852 |
|
|
before reprogramming the FLASH.
|
4853 |
|
|
|
4854 |
|
|
|
4855 |
|
|
|
4856 |
|
|
Initial Installation Method
|
4857 |
|
|
|
4858 |
|
|
|
4859 |
|
|
RedBoot can be installed by directly programming the FLASH device in IC7
|
4860 |
|
|
or by using the Fujitsu provided software to download and install a
|
4861 |
|
|
version into the FLASH device. Complete instructions are provided
|
4862 |
|
|
separately.
|
4863 |
|
|
|
4864 |
|
|
|
4865 |
|
|
|
4866 |
|
|
|
4867 |
|
|
|
4868 |
|
|
Special RedBoot Commands
|
4869 |
|
|
|
4870 |
|
|
The exec command as described in
|
4871 |
|
|
is supported by RedBoot on this target, for executing Linux kernels. Only the command line and timeout options
|
4872 |
|
|
are relevant to this platform.
|
4873 |
|
|
|
4874 |
|
|
|
4875 |
|
|
|
4876 |
|
|
Memory Maps
|
4877 |
|
|
|
4878 |
|
|
The memory map of this platform is fixed by the hardware (cannot
|
4879 |
|
|
be changed by software). The only attributes which can be modified are
|
4880 |
|
|
control over cacheability, as noted below.
|
4881 |
|
|
|
4882 |
|
|
Address Cache? Resource
|
4883 |
|
|
00000000-03EFFFFF Yes SDRAM (via plugin DIMM)
|
4884 |
|
|
03F00000-03FFFFFF No SDRAM (used for PCI window)
|
4885 |
|
|
10000000-1FFFFFFF No MB86943 PCI bridge
|
4886 |
|
|
20000000-201FFFFF No SRAM
|
4887 |
|
|
21000000-23FFFFFF No Motherboard resources
|
4888 |
|
|
24000000-25FFFFFF No PCI I/O space
|
4889 |
|
|
26000000-2FFFFFFF No PCI Memory space
|
4890 |
|
|
30000000-FDFFFFFF ?? Unused
|
4891 |
|
|
FE000000-FEFFFFFF No I/O devices
|
4892 |
|
|
FF000000-FF1FFFFF No IC7 - RedBoot FLASH
|
4893 |
|
|
FF200000-FF3FFFFF No IC8 - unused FLASH
|
4894 |
|
|
FF400000-FFFFFFFF No Misc other I/O
|
4895 |
|
|
|
4896 |
|
|
|
4897 |
|
|
|
4898 |
|
|
NOTE
|
4899 |
|
|
|
4900 |
|
|
The only configuration currently suppored requires a 64MiB SDRAM
|
4901 |
|
|
DIMM to be present on the CPU card. No other memory configuration
|
4902 |
|
|
is supported at this time.
|
4903 |
|
|
|
4904 |
|
|
|
4905 |
|
|
|
4906 |
|
|
|
4907 |
|
|
|
4908 |
|
|
|
4909 |
|
|
Rebuilding RedBoot
|
4910 |
|
|
|
4911 |
|
|
These shell variables provide the platform-specific information
|
4912 |
|
|
needed for building RedBoot according to the procedure described in
|
4913 |
|
|
:
|
4914 |
|
|
|
4915 |
|
|
export TARGET=mb93091
|
4916 |
|
|
export ARCH_DIR=frv
|
4917 |
|
|
export PLATFORM_DIR=mb93091
|
4918 |
|
|
|
4919 |
|
|
|
4920 |
|
|
|
4921 |
|
|
The names of configuration files are listed above with the
|
4922 |
|
|
description of the associated modes.
|
4923 |
|
|
|
4924 |
|
|
|
4925 |
|
|
|
4926 |
|
|
Resource Usage
|
4927 |
|
|
|
4928 |
|
|
|
4929 |
|
|
The RedBoot image occupies flash addresses 0xFF000000 - 0xFF03FFFF. To
|
4930 |
|
|
execute it copies itself out of there to RAM at 0x03E00000. RedBoot
|
4931 |
|
|
reserves memory from 0x00000000 to 0x0001FFFF for its own use.
|
4932 |
|
|
User programs can use memory from 0x00020000 to 0x03DFFFFF.
|
4933 |
|
|
RAM based RedBoot configurations are
|
4934 |
|
|
designed to run from RAM at 0x00020000.
|
4935 |
|
|
|
4936 |
|
|
|
4937 |
|
|
|
4938 |
|
|
|
4939 |
|
|
|
4940 |
|
|
|
4941 |
|
|
|
4942 |
|
|
Fujitsu FR-V Portable Demonstration Kit (MB93093-PD00)
|
4943 |
|
|
|
4944 |
|
|
Overview
|
4945 |
|
|
|
4946 |
|
|
Fujitsu FR-V Portable Demonstration Kit
|
4947 |
|
|
installing and testing
|
4948 |
|
|
installing and testing
|
4949 |
|
|
Fujitsu FR-V Portable Demonstration Kit
|
4950 |
|
|
RedBoot supports the serial port which is available via a special cable connected
|
4951 |
|
|
to the CON_UART connector on the board. The default serial port settings are 115200,8,N,1.
|
4952 |
|
|
The serial port supports baud rates up to 460800, which can be set using the baud
|
4953 |
|
|
command as described in .
|
4954 |
|
|
|
4955 |
|
|
|
4956 |
|
|
|
4957 |
|
|
FLASH management is also supported.
|
4958 |
|
|
Two basic RedBoot configurations are supported:
|
4959 |
|
|
|
4960 |
|
|
|
4961 |
|
|
|
4962 |
|
|
4963 |
|
|
|
|
4964 |
|
|
Configuration
|
4965 |
|
|
Mode
|
4966 |
|
|
Description
|
4967 |
|
|
File
|
4968 |
|
|
|
4969 |
|
|
|
|
4970 |
|
|
4971 |
|
|
|
|
4972 |
|
|
ROMRAM
|
4973 |
|
|
[ROMRAM]
|
4974 |
|
|
RedBoot running from RAM, but contained in the
|
4975 |
|
|
board's flash boot sector.
|
4976 |
|
|
redboot_ROMRAM.ecm
|
4977 |
|
|
|
4978 |
|
|
|
|
4979 |
|
|
RAM
|
4980 |
|
|
[RAM]
|
4981 |
|
|
RedBoot running from RAM with RedBoot in the
|
4982 |
|
|
flash boot sector.
|
4983 |
|
|
redboot_RAM.ecm
|
4984 |
|
|
|
4985 |
|
|
|
|
4986 |
|
|
|
4987 |
|
|
|
4988 |
|
|
|
4989 |
|
|
Since the normal RedBoot configuration does not use the FLASH ROM
|
4990 |
|
|
except during startup, it is unnecessary to load a RAM-based RedBoot
|
4991 |
|
|
before reprogramming the FLASH.
|
4992 |
|
|
|
4993 |
|
|
|
4994 |
|
|
|
4995 |
|
|
Initial Installation Method
|
4996 |
|
|
|
4997 |
|
|
|
4998 |
|
|
The Portable Demonstration Kit should have been shipped with an existing
|
4999 |
|
|
version of RedBoot, which can be upgraded to the current version using
|
5000 |
|
|
the instructions below.
|
5001 |
|
|
|
5002 |
|
|
|
5003 |
|
|
|
5004 |
|
|
|
5005 |
|
|
|
5006 |
|
|
Special RedBoot Commands
|
5007 |
|
|
|
5008 |
|
|
The exec command as described in
|
5009 |
|
|
is supported by RedBoot on this target, for executing Linux kernels. Only the command line and timeout options
|
5010 |
|
|
are relevant to this platform.
|
5011 |
|
|
|
5012 |
|
|
|
5013 |
|
|
|
5014 |
|
|
Memory Maps
|
5015 |
|
|
|
5016 |
|
|
The memory map of this platform is fixed by the hardware (cannot
|
5017 |
|
|
be changed by software). The only attributes which can be modified are
|
5018 |
|
|
control over cacheability, as noted below.
|
5019 |
|
|
|
5020 |
|
|
Address Cache? Resource
|
5021 |
|
|
00000000-03EFFFFF Yes SDRAM (via plugin DIMM)
|
5022 |
|
|
03F00000-03FFFFFF No Unused (SDRAM)
|
5023 |
|
|
10000000-1FFFFFFF No AX88796 Ethernet
|
5024 |
|
|
20000000-2FFFFFFF No System FPGA
|
5025 |
|
|
30000000-3FFFFFFF No MB93493 companion chip (unused)
|
5026 |
|
|
40000000-FCFFFFFF ?? Unused
|
5027 |
|
|
FD000000-FDFFFFFF ?? FLASH (ROM3,ROM4) (unused)
|
5028 |
|
|
FE000000-FEFFFFFF No Miscellaneous on-chip I/O
|
5029 |
|
|
FF000000-FFFFFFFF No RedBoot FLASH (16MiB)
|
5030 |
|
|
|
5031 |
|
|
|
5032 |
|
|
|
5033 |
|
|
NOTE
|
5034 |
|
|
|
5035 |
|
|
The only configuration currently suppored requires a 64MiB SDRAM
|
5036 |
|
|
DIMM to be present on the CPU card. No other memory configuration
|
5037 |
|
|
is supported at this time.
|
5038 |
|
|
|
5039 |
|
|
|
5040 |
|
|
|
5041 |
|
|
|
5042 |
|
|
|
5043 |
|
|
|
5044 |
|
|
Rebuilding RedBoot
|
5045 |
|
|
|
5046 |
|
|
These shell variables provide the platform-specific information
|
5047 |
|
|
needed for building RedBoot according to the procedure described in
|
5048 |
|
|
:
|
5049 |
|
|
|
5050 |
|
|
export TARGET=mb93093
|
5051 |
|
|
export ARCH_DIR=frv
|
5052 |
|
|
export PLATFORM_DIR=mb93093
|
5053 |
|
|
|
5054 |
|
|
|
5055 |
|
|
|
5056 |
|
|
|
5057 |
|
|
|
5058 |
|
|
Resource Usage
|
5059 |
|
|
|
5060 |
|
|
|
5061 |
|
|
The RedBoot image occupies flash addresses 0xFF000000 - 0xFF03FFFF. To
|
5062 |
|
|
execute it copies itself out of there to RAM at 0x03E00000. RedBoot
|
5063 |
|
|
reserves memory from 0x00000000 to 0x0001FFFF for its own use.
|
5064 |
|
|
User programs can use memory from 0x00020000 to 0x03DFFFFF.
|
5065 |
|
|
RAM based RedBoot configurations are
|
5066 |
|
|
designed to run from RAM at 0x00020000.
|
5067 |
|
|
|
5068 |
|
|
|
5069 |
|
|
|
5070 |
|
|
|
5071 |
|
|
|
5072 |
|
|
|
5073 |
|
|
|
5074 |
|
|
|
5075 |
|
|
|
5076 |
|
|
IA32/x86 x86-Based PC
|
5077 |
|
|
|
5078 |
|
|
Overview
|
5079 |
|
|
x86 Based PCinstalling and
|
5080 |
|
|
testinginstalling and testing
|
5081 |
|
|
x86 Based PCRedBoot supports
|
5082 |
|
|
two serial ports and an Intel i82559 based ethernet card (for example an Intel
|
5083 |
|
|
EtherExpress Pro 10/100) for communication and downloads. The default serial
|
5084 |
|
|
port settings are 38400,8,N,1.
|
5085 |
|
|
|
5086 |
|
|
The following RedBoot configurations are supported:
|
5087 |
|
|
|
5088 |
|
|
|
5089 |
|
|
|
5090 |
|
|
5091 |
|
|
|
|
5092 |
|
|
Configuration
|
5093 |
|
|
Mode
|
5094 |
|
|
Description
|
5095 |
|
|
File
|
5096 |
|
|
|
5097 |
|
|
|
|
5098 |
|
|
5099 |
|
|
|
|
5100 |
|
|
Floppy
|
5101 |
|
|
[Floppy]
|
5102 |
|
|
RedBoot running from a boot floppy disk installed
|
5103 |
|
|
in the A: drive of the PC.
|
5104 |
|
|
redboot_ROM.ecm
|
5105 |
|
|
|
5106 |
|
|
|
|
5107 |
|
|
|
5108 |
|
|
|
5109 |
|
|
|
5110 |
|
|
|
5111 |
|
|
|
5112 |
|
|
|
5113 |
|
|
Initial Installation
|
5114 |
|
|
RedBoot takes the form of a self-booting image that must be written
|
5115 |
|
|
onto a formatted floppy disk. The process will erase any file system or data
|
5116 |
|
|
that already exists on that disk, so proceed with caution.
|
5117 |
|
|
For Red Hat Linux users, this can be done by:
|
5118 |
|
|
$ dd conv=sync if=install/bin/redboot.bin of=/dev/fd0H1440
|
5119 |
|
|
|
5120 |
|
|
For NT Cygwin users, this can be done by first ensuring that the raw
|
5121 |
|
|
floppy device is mounted as /dev/fd0. To check if this
|
5122 |
|
|
is the case, type the command mount at the Cygwin bash
|
5123 |
|
|
prompt. If the floppy drive is already mounted, it will be listed as something
|
5124 |
|
|
similar to the following line:
|
5125 |
|
|
\\.\a: /dev/fd0 user binmode
|
5126 |
|
|
If this line is not listed, then mount the floppy drive using the command:
|
5127 |
|
|
|
5128 |
|
|
$ mount -f -b //./a: /dev/fd0
|
5129 |
|
|
To actually install the boot image on the floppy, use the command:
|
5130 |
|
|
$ dd conv=sync if=install/bin/redboot.bin of=/dev/fd0
|
5131 |
|
|
|
5132 |
|
|
Insert this floppy in the A: drive of the PC to be used as a target
|
5133 |
|
|
and ensure that the BIOS is configured to boot from A: by default. On reset,
|
5134 |
|
|
the PC will boot from the floppy and be ready to be debugged via either serial
|
5135 |
|
|
line, or via the ethernet interface if it is installed.
|
5136 |
|
|
NOTE
|
5137 |
|
|
Unreliable floppy media may cause the write to silently fail. This
|
5138 |
|
|
can be determined if the RedBoot image does not correctly
|
5139 |
|
|
boot. In such cases, the floppy should be (unconditionally) reformatted
|
5140 |
|
|
using the fdformat command on Linux, or
|
5141 |
|
|
format a: /u on DOS/Windows.
|
5142 |
|
|
|
5143 |
|
|
|
5144 |
|
|
|
5145 |
|
|
Flash management
|
5146 |
|
|
PC RedBoot does not support any FLASH commands.
|
5147 |
|
|
|
5148 |
|
|
|
5149 |
|
|
Special RedBoot Commands
|
5150 |
|
|
None.
|
5151 |
|
|
|
5152 |
|
|
|
5153 |
|
|
Memory Maps
|
5154 |
|
|
All selectors are initialized to map the entire 32-bit address space
|
5155 |
|
|
in the familiar protected mode flat model. Page translation is not used.
|
5156 |
|
|
RAM up to 640K is mapped to 0x0 to 0xa0000. RAM above 640K is mapped
|
5157 |
|
|
from address 0x100000 upwards. Space is reserved between 0xa0000 and
|
5158 |
|
|
0x100000 for option ROMs and the BIOS.
|
5159 |
|
|
|
5160 |
|
|
|
5161 |
|
|
|
5162 |
|
|
Rebuilding RedBoot
|
5163 |
|
|
|
5164 |
|
|
These shell variables provide the platform-specific information
|
5165 |
|
|
needed for building RedBoot according to the procedure described in
|
5166 |
|
|
:
|
5167 |
|
|
|
5168 |
|
|
export TARGET=pc
|
5169 |
|
|
export ARCH_DIR=i386
|
5170 |
|
|
export PLATFORM_DIR=pc
|
5171 |
|
|
|
5172 |
|
|
|
5173 |
|
|
|
5174 |
|
|
The names of configuration files are listed above with the
|
5175 |
|
|
description of the associated modes.
|
5176 |
|
|
|
5177 |
|
|
|
5178 |
|
|
|
5179 |
|
|
|
5180 |
|
|
|
5181 |
|
|
|
5182 |
|
|
|
5183 |
|
|
|
5184 |
|
|
MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board
|
5185 |
|
|
|
5186 |
|
|
Overview
|
5187 |
|
|
MIPS Atlas Board with CoreLV 4KC and CoreLV 5KC
|
5188 |
|
|
installing and testing
|
5189 |
|
|
installing and testingMIPS Atlas Board with
|
5190 |
|
|
CoreLV 4KC and CoreLV 5KCRedBoot supports the DgbSer
|
5191 |
|
|
serial port and the built in ethernet port for communication and downloads.
|
5192 |
|
|
The default serial port settings are 115200,8,N,1. RedBoot runs from and supports
|
5193 |
|
|
flash management for the system flash region.
|
5194 |
|
|
|
5195 |
|
|
The following RedBoot configurations are supported:
|
5196 |
|
|
|
5197 |
|
|
|
5198 |
|
|
|
5199 |
|
|
5200 |
|
|
|
|
5201 |
|
|
Configuration
|
5202 |
|
|
Mode
|
5203 |
|
|
Description
|
5204 |
|
|
File
|
5205 |
|
|
|
5206 |
|
|
|
|
5207 |
|
|
5208 |
|
|
|
|
5209 |
|
|
ROM
|
5210 |
|
|
[ROM]
|
5211 |
|
|
RedBoot running from the board's flash boot
|
5212 |
|
|
sector.
|
5213 |
|
|
redboot_ROM.ecm
|
5214 |
|
|
|
5215 |
|
|
|
|
5216 |
|
|
RAM
|
5217 |
|
|
[RAM]
|
5218 |
|
|
RedBoot running from RAM with RedBoot in the
|
5219 |
|
|
flash boot sector.
|
5220 |
|
|
redboot_RAM.ecm
|
5221 |
|
|
|
5222 |
|
|
|
|
5223 |
|
|
|
5224 |
|
|
|
5225 |
|
|
|
5226 |
|
|
|
5227 |
|
|
|
5228 |
|
|
|
5229 |
|
|
Initial Installation
|
5230 |
|
|
RedBoot is installed using the code download facility built into the
|
5231 |
|
|
Atlas board. See the Atlas User manual for details, and also the Atlas download
|
5232 |
|
|
format in .
|
5233 |
|
|
|
5234 |
|
|
Quick download instructions
|
5235 |
|
|
Here are quick start instructions for downloading the prebuilt RedBoot
|
5236 |
|
|
image.
|
5237 |
|
|
|
5238 |
|
|
Locate the prebuilt files in the bin directory:
|
5239 |
|
|
deleteall.dl and redboot.dl.
|
5240 |
|
|
|
5241 |
|
|
|
5242 |
|
|
Make sure switch S1-1 is OFF and switch S5-1 is ON. Reset
|
5243 |
|
|
the board and verify that the LED display reads Flash DL.
|
5244 |
|
|
|
5245 |
|
|
|
5246 |
|
|
Make sure your parallel port is connected to the 1284 port
|
5247 |
|
|
Of the Atlas board.
|
5248 |
|
|
|
5249 |
|
|
Send the deleteall.dl file to the
|
5250 |
|
|
parallel port to erase previous images:
|
5251 |
|
|
$ cat deleteall.dl >/dev/lp0
|
5252 |
|
|
When this is complete, the LED display should read
|
5253 |
|
|
Deleted.
|
5254 |
|
|
|
5255 |
|
|
Send the ROM mode RedBoot image to the board:
|
5256 |
|
|
$ cat redboot.dl >/dev/lp0
|
5257 |
|
|
When this is complete, the LED display should show the last
|
5258 |
|
|
address programmed. This will be something like: 1fc17000
|
5259 |
|
|
.
|
5260 |
|
|
|
5261 |
|
|
Change switch S5-1 to OFF and reset the board. The LED display
|
5262 |
|
|
should read RedBoot.
|
5263 |
|
|
|
5264 |
|
|
Run the RedBoot fis init
|
5265 |
|
|
and fconfig commands to initialize the flash.
|
5266 |
|
|
See ,
|
5267 |
|
|
and for details.
|
5268 |
|
|
|
5269 |
|
|
|
5270 |
|
|
|
5271 |
|
|
|
5272 |
|
|
Atlas download format
|
5273 |
|
|
In order to download RedBoot to the Atlas board, it must be converted
|
5274 |
|
|
to the Atlas download format. There are different ways of doing this depending
|
5275 |
|
|
on which version of the developer's kit is shipped with the board.
|
5276 |
|
|
The Atlas Developer's Kit CD contains an
|
5277 |
|
|
srec2flash utility. The source code for this utility is part
|
5278 |
|
|
of the yamon/yamon-src-01.01.tar.gz tarball
|
5279 |
|
|
on the Dev Kit CD. The path in the expanded tarball is
|
5280 |
|
|
class="directory">yamon/bin/tools. To use
|
5281 |
|
|
srec2flash to convert the S-record file:
|
5282 |
|
|
$ srec2flash -EL -S29 redboot.srec >redboot.dl
|
5283 |
|
|
The Atlas/Malta Developer's Kit CD
|
5284 |
|
|
contains an srecconv.pl utility which requires
|
5285 |
|
|
Perl. This utilty is part of the yamon/yamon-src-02.00.tar.gz
|
5286 |
|
|
tarball on the Dev Kit CD. The path in the expanded tarball
|
5287 |
|
|
is yamon/bin/tools. To use
|
5288 |
|
|
srecconv to convert the S-record file:
|
5289 |
|
|
$ cp redboot_ROM.srec redboot_ROM.rec
|
5290 |
|
|
$ srecconv.pl -ES L -A 29 redboot_ROM
|
5291 |
|
|
The resulting file is named redboot_ROM.fl.
|
5292 |
|
|
|
5293 |
|
|
|
5294 |
|
|
Flash management
|
5295 |
|
|
|
5296 |
|
|
Additional config options
|
5297 |
|
|
The ethernet MAC address is stored in flash manually using the
|
5298 |
|
|
fconfig command. You can use the YAMON setenv
|
5299 |
|
|
ethaddr command to print out the board ethernet address.
|
5300 |
|
|
Typically, it is: 00:0d:a0:00:xx:xx where
|
5301 |
|
|
xx.xx is the hex representation of the
|
5302 |
|
|
board serial number.
|
5303 |
|
|
|
5304 |
|
|
|
5305 |
|
|
|
5306 |
|
|
Additional commands
|
5307 |
|
|
The exec command which allows the
|
5308 |
|
|
loading and execution of Linux kernels, is supported for this architecture
|
5309 |
|
|
(see ). The
|
5310 |
|
|
exec parameters used for MIPS boards are:
|
5311 |
|
|
|
5312 |
|
|
-b <addr>
|
5313 |
|
|
Location to store command line and environment passed to kernel
|
5314 |
|
|
|
5315 |
|
|
-w <time>
|
5316 |
|
|
Wait time in seconds before starting kernel
|
5317 |
|
|
|
5318 |
|
|
-c "params"
|
5319 |
|
|
Parameters passed to kernel
|
5320 |
|
|
<addr>
|
5321 |
|
|
Kernel entry point, defaulting to the entry point of the last image
|
5322 |
|
|
loaded
|
5323 |
|
|
|
5324 |
|
|
Linux kernels on MIPS platforms expect the entry point to be called with arguments
|
5325 |
|
|
in the registers equivalent to a C call with prototype:
|
5326 |
|
|
void Linux(int argc, char **argv, char **envp);
|
5327 |
|
|
RedBoot will place the appropriate data at the offset specified by the
|
5328 |
|
|
-b parameter, or by default at address 0x80080000, and will set the
|
5329 |
|
|
arguments accordingly when calling into the kernel.
|
5330 |
|
|
|
5331 |
|
|
The default entry point, if no image with explicit entry point has been loaded and
|
5332 |
|
|
none is specified, is 0x80000750.
|
5333 |
|
|
|
5334 |
|
|
|
5335 |
|
|
|
5336 |
|
|
|
5337 |
|
|
Interrupts
|
5338 |
|
|
RedBoot uses an interrupt vector table which is located at address 0x80000400.
|
5339 |
|
|
Entries in this table are pointers to functions with this protoype:
|
5340 |
|
|
int irq_handler( unsigned vector, unsigned data )On an atlas
|
5341 |
|
|
board, the vector argument is one of 25 interrupts defined in
|
5342 |
|
|
hal/mips/atlas/VERSION/include/plf_intr.h:
|
5343 |
|
|
#define CYGNUM_HAL_INTERRUPT_SER 0
|
5344 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIM0 1
|
5345 |
|
|
#define CYGNUM_HAL_INTERRUPT_2 2
|
5346 |
|
|
#define CYGNUM_HAL_INTERRUPT_3 3
|
5347 |
|
|
#define CYGNUM_HAL_INTERRUPT_RTC 4
|
5348 |
|
|
#define CYGNUM_HAL_INTERRUPT_COREHI 5
|
5349 |
|
|
#define CYGNUM_HAL_INTERRUPT_CORELO 6
|
5350 |
|
|
#define CYGNUM_HAL_INTERRUPT_7 7
|
5351 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCIA 8
|
5352 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCIB 9
|
5353 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCIC 10
|
5354 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCID 11
|
5355 |
|
|
#define CYGNUM_HAL_INTERRUPT_ENUM 12
|
5356 |
|
|
#define CYGNUM_HAL_INTERRUPT_DEG 13
|
5357 |
|
|
#define CYGNUM_HAL_INTERRUPT_ATXFAIL 14
|
5358 |
|
|
#define CYGNUM_HAL_INTERRUPT_INTA 15
|
5359 |
|
|
#define CYGNUM_HAL_INTERRUPT_INTB 16
|
5360 |
|
|
#define CYGNUM_HAL_INTERRUPT_INTC 17
|
5361 |
|
|
#define CYGNUM_HAL_INTERRUPT_INTD 18
|
5362 |
|
|
#define CYGNUM_HAL_INTERRUPT_SERR 19
|
5363 |
|
|
#define CYGNUM_HAL_INTERRUPT_HW1 20
|
5364 |
|
|
#define CYGNUM_HAL_INTERRUPT_HW2 21
|
5365 |
|
|
#define CYGNUM_HAL_INTERRUPT_HW3 22
|
5366 |
|
|
#define CYGNUM_HAL_INTERRUPT_HW4 23
|
5367 |
|
|
#define CYGNUM_HAL_INTERRUPT_HW5 24The data
|
5368 |
|
|
passed to the ISR is pulled from a data table (hal_interrupt_data
|
5369 |
|
|
) which immediately follows the interrupt vector table. With
|
5370 |
|
|
25 interrupts, the data table starts at address 0x80000464 on atlas.
|
5371 |
|
|
An application may create a normal C function with the above prototype
|
5372 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
5373 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
5374 |
|
|
by RedBoot.
|
5375 |
|
|
|
5376 |
|
|
|
5377 |
|
|
Memory Maps
|
5378 |
|
|
Memory Maps RedBoot sets up the following memory map on the Atlas board.
|
5379 |
|
|
Physical Address Range Description
|
5380 |
|
|
----------------------- -------------
|
5381 |
|
|
0x00000000 - 0x07ffffff SDRAM
|
5382 |
|
|
0x08000000 - 0x17ffffff PCI Memory Space
|
5383 |
|
|
0x18000000 - 0x1bdfffff PCI I/O Space
|
5384 |
|
|
0x1be00000 - 0x1bffffff System Controller
|
5385 |
|
|
0x1c000000 - 0x1dffffff System flash
|
5386 |
|
|
0x1e000000 - 0x1e3fffff Monitor flash
|
5387 |
|
|
0x1f000000 - 0x1fbfffff FPGA
|
5388 |
|
|
|
5389 |
|
|
|
5390 |
|
|
Rebuilding RedBoot
|
5391 |
|
|
|
5392 |
|
|
These shell variables provide the platform-specific information
|
5393 |
|
|
needed for building RedBoot according to the procedure described in
|
5394 |
|
|
:
|
5395 |
|
|
|
5396 |
|
|
export TARGET=atlas_mips32_4kc
|
5397 |
|
|
export TARGET=atlas_mips64_5kc
|
5398 |
|
|
export ARCH_DIR=mips
|
5399 |
|
|
export PLATFORM_DIR=atlas
|
5400 |
|
|
|
5401 |
|
|
|
5402 |
|
|
Use one of the TARGET settings only.
|
5403 |
|
|
|
5404 |
|
|
|
5405 |
|
|
|
5406 |
|
|
The names of configuration files are listed above with the
|
5407 |
|
|
description of the associated modes.
|
5408 |
|
|
|
5409 |
|
|
|
5410 |
|
|
|
5411 |
|
|
|
5412 |
|
|
|
5413 |
|
|
MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board
|
5414 |
|
|
|
5415 |
|
|
Overview
|
5416 |
|
|
MIPS Malta Board with CoreLV 4KC and CoreLV 5KC
|
5417 |
|
|
installing and testing
|
5418 |
|
|
installing and testingMIPS Malta Board with
|
5419 |
|
|
CoreLV 4KC and CoreLV 5KCRedBoot supports both front
|
5420 |
|
|
facing serial ports and the built in ethernet port for communication and downloads.
|
5421 |
|
|
The default serial port settings are 38400,8,N,1. RedBoot runs from and supports
|
5422 |
|
|
flash management for the system flash region.
|
5423 |
|
|
|
5424 |
|
|
The following RedBoot configurations are supported:
|
5425 |
|
|
|
5426 |
|
|
|
5427 |
|
|
|
5428 |
|
|
5429 |
|
|
|
|
5430 |
|
|
Configuration
|
5431 |
|
|
Mode
|
5432 |
|
|
Description
|
5433 |
|
|
File
|
5434 |
|
|
|
5435 |
|
|
|
|
5436 |
|
|
5437 |
|
|
|
|
5438 |
|
|
ROM
|
5439 |
|
|
[ROM]
|
5440 |
|
|
RedBoot running from the board's flash boot
|
5441 |
|
|
sector.
|
5442 |
|
|
redboot_ROM.ecm
|
5443 |
|
|
|
5444 |
|
|
|
|
5445 |
|
|
RAM
|
5446 |
|
|
[RAM]
|
5447 |
|
|
RedBoot running from RAM with RedBoot in the
|
5448 |
|
|
flash boot sector.
|
5449 |
|
|
redboot_RAM.ecm
|
5450 |
|
|
|
5451 |
|
|
|
|
5452 |
|
|
|
5453 |
|
|
|
5454 |
|
|
|
5455 |
|
|
|
5456 |
|
|
|
5457 |
|
|
|
5458 |
|
|
Initial Installation
|
5459 |
|
|
RedBoot is installed using the code download facility built into the
|
5460 |
|
|
Malta board. See the Malta User manual for details, and also the Malta download
|
5461 |
|
|
format in .
|
5462 |
|
|
|
5463 |
|
|
Quick download instructions
|
5464 |
|
|
Here are quick start instructions for downloading the prebuilt RedBoot
|
5465 |
|
|
image.
|
5466 |
|
|
|
5467 |
|
|
Locate the prebuilt files in the bin directory:
|
5468 |
|
|
deleteall.fl and redboot_ROM.fl.
|
5469 |
|
|
|
5470 |
|
|
Make sure switch S5-1 is ON. Reset the board and verify that
|
5471 |
|
|
the LED display reads Flash DL.
|
5472 |
|
|
|
5473 |
|
|
Make sure your parallel port is connected to the 1284 port
|
5474 |
|
|
Of the Atlas board.
|
5475 |
|
|
|
5476 |
|
|
Send the deleteall.fl file to the
|
5477 |
|
|
parallel port to erase previous images:
|
5478 |
|
|
$ cat deleteall.fl >/dev/lp0
|
5479 |
|
|
When this is complete, the LED display should read
|
5480 |
|
|
Deleted.
|
5481 |
|
|
|
5482 |
|
|
Send the RedBoot image to the board:
|
5483 |
|
|
$ cat redboot_ROM.fl >/dev/lp0
|
5484 |
|
|
When this is complete, the LED display should show the last address
|
5485 |
|
|
programmed. This will be something like:
|
5486 |
|
|
1fc17000.
|
5487 |
|
|
|
5488 |
|
|
Change switch S5-1 to OFF and reset the board. The LED display
|
5489 |
|
|
should read RedBoot.
|
5490 |
|
|
|
5491 |
|
|
Run the RedBoot fis init and
|
5492 |
|
|
fconfig commands to initialize the flash. See
|
5493 |
|
|
and for details.
|
5494 |
|
|
|
5495 |
|
|
|
5496 |
|
|
|
5497 |
|
|
|
5498 |
|
|
Malta download format
|
5499 |
|
|
In order to download RedBoot to the Malta board, it must be converted
|
5500 |
|
|
to the Malta download format.
|
5501 |
|
|
The Atlas/Malta Developer's Kit CD contains an
|
5502 |
|
|
srecconv.pl utility which requires Perl. This utility is part
|
5503 |
|
|
of the yamon/yamon-src-02.00.tar.gz tarball
|
5504 |
|
|
on the Dev Kit CD. The path in the expanded tarball is
|
5505 |
|
|
class="directory">yamon/bin/tools. To use
|
5506 |
|
|
srecconv to convert the S-record file:
|
5507 |
|
|
$ cp redboot_ROM.srec redboot_ROM.rec
|
5508 |
|
|
$ srecconv.pl -ES L -A 29 redboot_ROM
|
5509 |
|
|
The resulting file is named redboot_ROM.fl.
|
5510 |
|
|
|
5511 |
|
|
|
5512 |
|
|
|
5513 |
|
|
Additional commands
|
5514 |
|
|
The exec command which allows the
|
5515 |
|
|
loading and execution of Linux kernels, is supported for this architecture
|
5516 |
|
|
(see ). The
|
5517 |
|
|
exec parameters used for MIPS boards are:
|
5518 |
|
|
|
5519 |
|
|
-b <addr>
|
5520 |
|
|
Location to store command line and environment passed to kernel
|
5521 |
|
|
|
5522 |
|
|
-w <time>
|
5523 |
|
|
Wait time in seconds before starting kernel
|
5524 |
|
|
|
5525 |
|
|
-c "params"
|
5526 |
|
|
Parameters passed to kernel
|
5527 |
|
|
<addr>
|
5528 |
|
|
Kernel entry point, defaulting to the entry point of the last image
|
5529 |
|
|
loaded
|
5530 |
|
|
|
5531 |
|
|
Linux kernels on MIPS platforms expect the entry point to be called with arguments
|
5532 |
|
|
in the registers equivalent to a C call with prototype:
|
5533 |
|
|
void Linux(int argc, char **argv, char **envp);
|
5534 |
|
|
RedBoot will place the appropriate data at the offset specified by the
|
5535 |
|
|
-b parameter, or by default at address 0x80080000, and will set the
|
5536 |
|
|
arguments accordingly when calling into the kernel.
|
5537 |
|
|
|
5538 |
|
|
The default entry point, if no image with explicit entry point has been loaded and
|
5539 |
|
|
none is specified, is 0x80000750.
|
5540 |
|
|
|
5541 |
|
|
|
5542 |
|
|
|
5543 |
|
|
|
5544 |
|
|
Interrupts
|
5545 |
|
|
RedBoot uses an interrupt vector table which is located at address 0x80000200.
|
5546 |
|
|
Entries in this table are pointers to functions with this protoype:
|
5547 |
|
|
int irq_handler( unsigned vector, unsigned data )On the malta
|
5548 |
|
|
board, the vector argument is one of 22 interrupts defined in
|
5549 |
|
|
hal/mips/malta/VERSION/include/plf_intr.h:
|
5550 |
|
|
|
5551 |
|
|
#define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_INTR 0
|
5552 |
|
|
#define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_SMI 1
|
5553 |
|
|
#define CYGNUM_HAL_INTERRUPT_CBUS_UART 2
|
5554 |
|
|
#define CYGNUM_HAL_INTERRUPT_COREHI 3
|
5555 |
|
|
#define CYGNUM_HAL_INTERRUPT_CORELO 4
|
5556 |
|
|
#define CYGNUM_HAL_INTERRUPT_COMPARE 5
|
5557 |
|
|
#define CYGNUM_HAL_INTERRUPT_TIMER 6
|
5558 |
|
|
#define CYGNUM_HAL_INTERRUPT_KEYBOARD 7
|
5559 |
|
|
#define CYGNUM_HAL_INTERRUPT_CASCADE 8
|
5560 |
|
|
#define CYGNUM_HAL_INTERRUPT_TTY1 9
|
5561 |
|
|
#define CYGNUM_HAL_INTERRUPT_TTY0 10
|
5562 |
|
|
#define CYGNUM_HAL_INTERRUPT_11 11
|
5563 |
|
|
#define CYGNUM_HAL_INTERRUPT_FLOPPY 12
|
5564 |
|
|
#define CYGNUM_HAL_INTERRUPT_PARALLEL 13
|
5565 |
|
|
#define CYGNUM_HAL_INTERRUPT_REAL_TIME_CLOCK 14
|
5566 |
|
|
#define CYGNUM_HAL_INTERRUPT_I2C 15
|
5567 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_AB 16
|
5568 |
|
|
#define CYGNUM_HAL_INTERRUPT_PCI_CD 17
|
5569 |
|
|
#define CYGNUM_HAL_INTERRUPT_MOUSE 18
|
5570 |
|
|
#define CYGNUM_HAL_INTERRUPT_19 19
|
5571 |
|
|
#define CYGNUM_HAL_INTERRUPT_IDE_PRIMARY 20
|
5572 |
|
|
#define CYGNUM_HAL_INTERRUPT_IDE_SECONDARY 21The data
|
5573 |
|
|
passed to the ISR is pulled from a data table (hal_interrupt_data
|
5574 |
|
|
) which immediately follows the interrupt vector table. With
|
5575 |
|
|
22 interrupts, the data table starts at address 0x80000258.
|
5576 |
|
|
An application may create a normal C function with the above prototype
|
5577 |
|
|
to be an ISR. Just poke its address into the table at the correct index and
|
5578 |
|
|
enable the interrupt at its source. The return value of the ISR is ignored
|
5579 |
|
|
by RedBoot.
|
5580 |
|
|
|
5581 |
|
|
|
5582 |
|
|
Memory Maps
|
5583 |
|
|
Memory Maps RedBoot sets up the following memory map on the Malta board.
|
5584 |
|
|
NOTE
|
5585 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
5586 |
|
|
whether or not the region is cached (C) or buffered (B).
|
5587 |
|
|
Physical Address Range C B Description
|
5588 |
|
|
----------------------- - - -----------
|
5589 |
|
|
0x80000000 - 0x81ffffff Y Y SDRAM
|
5590 |
|
|
0x9e000000 - 0x9e3fffff Y N System flash (cached)
|
5591 |
|
|
0x9fc00000 - 0x9fffffff Y N System flash (mirrored)
|
5592 |
|
|
0xa8000000 - 0xb7ffffff N N PCI Memory Space
|
5593 |
|
|
0xb4000000 - 0xb40fffff N N Galileo System Controller
|
5594 |
|
|
0xb8000000 - 0xb80fffff N N Southbridge / ISA
|
5595 |
|
|
0xb8100000 - 0xbbdfffff N N PCI I/O Space
|
5596 |
|
|
0xbe000000 - 0xbe3fffff N N System flash (noncached)
|
5597 |
|
|
0xbf000000 - 0xbfffffff N N Board logic FPGA
|
5598 |
|
|
|
5599 |
|
|
|
5600 |
|
|
Rebuilding RedBoot
|
5601 |
|
|
|
5602 |
|
|
These shell variables provide the platform-specific information
|
5603 |
|
|
needed for building RedBoot according to the procedure described in
|
5604 |
|
|
:
|
5605 |
|
|
|
5606 |
|
|
export TARGET=malta_mips32_4kc
|
5607 |
|
|
export ARCH_DIR=mips
|
5608 |
|
|
export PLATFORM_DIR=malta
|
5609 |
|
|
|
5610 |
|
|
|
5611 |
|
|
|
5612 |
|
|
The names of configuration files are listed above with the
|
5613 |
|
|
description of the associated modes.
|
5614 |
|
|
|
5615 |
|
|
|
5616 |
|
|
|
5617 |
|
|
|
5618 |
|
|
MIPS/RM7000 PMC-Sierra Ocelot
|
5619 |
|
|
|
5620 |
|
|
Overview
|
5621 |
|
|
PMC-Sierra MIPS RM7000 Ocelotinstalling
|
5622 |
|
|
and testinginstalling and testing
|
5623 |
|
|
PMC-Sierra MIPS RM7000 OcelotRedBoot
|
5624 |
|
|
uses the front facing serial port. The default serial port settings are 38400,8,N,1.
|
5625 |
|
|
RedBoot also supports ethernet. Management of onboard flash is also supported.
|
5626 |
|
|
|
5627 |
|
|
The following RedBoot configurations are supported:
|
5628 |
|
|
|
5629 |
|
|
|
5630 |
|
|
|
5631 |
|
|
5632 |
|
|
|
|
5633 |
|
|
Configuration
|
5634 |
|
|
Mode
|
5635 |
|
|
Description
|
5636 |
|
|
File
|
5637 |
|
|
|
5638 |
|
|
|
|
5639 |
|
|
5640 |
|
|
|
|
5641 |
|
|
ROM
|
5642 |
|
|
[ROM]
|
5643 |
|
|
RedBoot running from the board's flash boot
|
5644 |
|
|
sector.
|
5645 |
|
|
redboot_ROM.ecm
|
5646 |
|
|
|
5647 |
|
|
|
|
5648 |
|
|
RAM
|
5649 |
|
|
[RAM]
|
5650 |
|
|
RedBoot running from RAM with RedBoot in the
|
5651 |
|
|
flash boot sector.
|
5652 |
|
|
redboot_RAM.ecm
|
5653 |
|
|
|
5654 |
|
|
|
|
5655 |
|
|
|
5656 |
|
|
|
5657 |
|
|
|
5658 |
|
|
|
5659 |
|
|
|
5660 |
|
|
|
5661 |
|
|
Additional commands
|
5662 |
|
|
The exec command which allows the
|
5663 |
|
|
loading and execution of Linux kernels, is supported for this architecture
|
5664 |
|
|
(see ). The
|
5665 |
|
|
exec parameters used for MIPS boards are:
|
5666 |
|
|
|
5667 |
|
|
-b <addr>
|
5668 |
|
|
Location to store command line and environment passed to kernel
|
5669 |
|
|
|
5670 |
|
|
-w <time>
|
5671 |
|
|
Wait time in seconds before starting kernel
|
5672 |
|
|
|
5673 |
|
|
-c "params"
|
5674 |
|
|
Parameters passed to kernel
|
5675 |
|
|
<addr>
|
5676 |
|
|
Kernel entry point, defaulting to the entry point of the last image
|
5677 |
|
|
loaded
|
5678 |
|
|
|
5679 |
|
|
Linux kernels on MIPS platforms expect the entry point to be called with arguments
|
5680 |
|
|
in the registers equivalent to a C call with prototype:
|
5681 |
|
|
void Linux(int argc, char **argv, char **envp);
|
5682 |
|
|
RedBoot will place the appropriate data at the offset specified by the
|
5683 |
|
|
-b parameter, or by default at address 0x80080000, and will set the
|
5684 |
|
|
arguments accordingly when calling into the kernel.
|
5685 |
|
|
|
5686 |
|
|
The default entry point, if no image with explicit entry point has been loaded and
|
5687 |
|
|
none is specified, is 0x80000750.
|
5688 |
|
|
|
5689 |
|
|
|
5690 |
|
|
|
5691 |
|
|
|
5692 |
|
|
Memory Maps
|
5693 |
|
|
RedBoot sets up the following memory map on the Ocelot board.
|
5694 |
|
|
Note that these addresses are accessed through kseg0/1 and thus translate
|
5695 |
|
|
to the actual address range 0x80000000-0xbfffffff, depending on the need for
|
5696 |
|
|
caching/non-caching access to the bus.NOTE
|
5697 |
|
|
The virtual memory maps in this section use a C and B column to indicate
|
5698 |
|
|
whether or not the region is cached (C) or buffered (B).
|
5699 |
|
|
Physical Address Range Description
|
5700 |
|
|
----------------------- -----------
|
5701 |
|
|
0x00000000 - 0x0fffffff SDRAM
|
5702 |
|
|
0x10000000 - 0x10ffffff PCI I/O space
|
5703 |
|
|
0x12000000 - 0x13ffffff PCI Memory space
|
5704 |
|
|
0x14000000 - 0x1400ffff Galileo system controller
|
5705 |
|
|
0x1c000000 - 0x1c0000ff PLD (board logic)
|
5706 |
|
|
0x1fc00000 - 0x1fc7ffff flash
|
5707 |
|
|
|
5708 |
|
|
|
5709 |
|
|
Rebuilding RedBoot
|
5710 |
|
|
|
5711 |
|
|
These shell variables provide the platform-specific information
|
5712 |
|
|
needed for building RedBoot according to the procedure described in
|
5713 |
|
|
:
|
5714 |
|
|
|
5715 |
|
|
export TARGET=ocelot
|
5716 |
|
|
export ARCH_DIR=mips
|
5717 |
|
|
export PLATFORM_DIR=rm7000/ocelot
|
5718 |
|
|
|
5719 |
|
|
|
5720 |
|
|
|
5721 |
|
|
The names of configuration files are listed above with the
|
5722 |
|
|
description of the associated modes.
|
5723 |
|
|
|
5724 |
|
|
|
5725 |
|
|
|
5726 |
|
|
|
5727 |
|
|
|
5728 |
|
|
|
5729 |
|
|
MIPS/VR4375 NEC DDB-VRC4375
|
5730 |
|
|
|
5731 |
|
|
Overview
|
5732 |
|
|
|
5733 |
|
|
NEC DDB-VRC4375
|
5734 |
|
|
installing and testing
|
5735 |
|
|
installing and testingNEC DDB-VRC4375
|
5736 |
|
|
RedBoot supports only serial port 1, which is connected to the upper
|
5737 |
|
|
of the stacked serial connectors on the board. The default serial
|
5738 |
|
|
port settings are 38400,8,N,1. FLASH management is also supported.
|
5739 |
|
|
|
5740 |
|
|
The following RedBoot configurations are supported:
|
5741 |
|
|
|
5742 |
|
|
|
5743 |
|
|
|
5744 |
|
|
5745 |
|
|
|
|
5746 |
|
|
Configuration
|
5747 |
|
|
Mode
|
5748 |
|
|
Description
|
5749 |
|
|
File
|
5750 |
|
|
|
5751 |
|
|
|
|
5752 |
|
|
5753 |
|
|
|
|
5754 |
|
|
ROMRAM
|
5755 |
|
|
[ROMRAM]
|
5756 |
|
|
RedBoot running from RAM, but contained in the
|
5757 |
|
|
board's flash boot sector.
|
5758 |
|
|
redboot_ROMRAM.ecm
|
5759 |
|
|
|
5760 |
|
|
|
|
5761 |
|
|
RAM
|
5762 |
|
|
[RAM]
|
5763 |
|
|
RedBoot running from RAM with RedBoot in the
|
5764 |
|
|
flash boot sector.
|
5765 |
|
|
redboot_RAM.ecm
|
5766 |
|
|
|
5767 |
|
|
|
|
5768 |
|
|
|
5769 |
|
|
|
5770 |
|
|
|
5771 |
|
|
|
5772 |
|
|
|
5773 |
|
|
|
5774 |
|
|
|
5775 |
|
|
Initial Installation Method
|
5776 |
|
|
|
5777 |
|
|
A device programmer should be used to program a socketed FLASH part
|
5778 |
|
|
(AMD 29F040). The board as delivered is configured for a 512K
|
5779 |
|
|
EPROM. To install a FLASH ROM, Jumpers J30, J31 and J36 need to be
|
5780 |
|
|
changed as described in the board's User Manual.
|
5781 |
|
|
|
5782 |
|
|
|
5783 |
|
|
|
5784 |
|
|
Special RedBoot Commands
|
5785 |
|
|
|
5786 |
|
|
None.
|
5787 |
|
|
|
5788 |
|
|
|
5789 |
|
|
|
5790 |
|
|
Memory Maps
|
5791 |
|
|
|
5792 |
|
|
RedBoot sets up the memory map primarily as described in the board's
|
5793 |
|
|
User Manual. There are some minor differences, noted in the following
|
5794 |
|
|
table:
|
5795 |
|
|
|
5796 |
|
|
Physical Virtual Resource
|
5797 |
|
|
Addresses Addresses
|
5798 |
|
|
00000000-01FFFFFF 80000000-81FFFFFF Base SDRAM (cached)
|
5799 |
|
|
00000000-01FFFFFF A0000000-A1FFFFFF Base SDRAM (uncached)
|
5800 |
|
|
0C000000-0C0BFFFF AC000000-AC0B0000 PCI IO space
|
5801 |
|
|
0F000000-0F0001FF AF000000-AF0001FF VRC4375 Registers
|
5802 |
|
|
1C000000-1C0FFFFF BC000000-BC0FFFFF VRC4372 Registers
|
5803 |
|
|
1C100000-1DFFFFFF BC100000-BDFFFFFF PCI Memory space
|
5804 |
|
|
1FC00000-1FC7FFFF BFC00000-BFC7FFFF FLASH ROM
|
5805 |
|
|
80000000-8000000D C0000000-C000000D RTC
|
5806 |
|
|
8000000E-80007FFF C000000E-C0007FFF NVRAM
|
5807 |
|
|
81000000-81FFFFFF C1000000-C1FFFFFF Z85C30 DUART
|
5808 |
|
|
82000000-82FFFFFF C2000000-C2FFFFFF Z8536 Timer
|
5809 |
|
|
83000000-83FFFFFF C3000000-C3FFFFFF 8255 Parallel port
|
5810 |
|
|
87000000-87FFFFFF C7000000-C7FFFFFF Seven segment display
|
5811 |
|
|
|
5812 |
|
|
|
5813 |
|
|
NOTE
|
5814 |
|
|
|
5815 |
|
|
By default the VRC4375 SIMM control registers are not programmed
|
5816 |
|
|
since the values used must depend on the SIMMs installed. If SIMMs
|
5817 |
|
|
are to be used, correct values must be placed in these registers
|
5818 |
|
|
before accessing the SIMM address range.
|
5819 |
|
|
|
5820 |
|
|
|
5821 |
|
|
|
5822 |
|
|
NOTE
|
5823 |
|
|
|
5824 |
|
|
The allocation of address ranges to devices in the PCI IO and
|
5825 |
|
|
memory spaces is handled by the eCos PCI support library. They do
|
5826 |
|
|
not correspond to those described in the board User Manual.
|
5827 |
|
|
|
5828 |
|
|
|
5829 |
|
|
|
5830 |
|
|
NOTE
|
5831 |
|
|
|
5832 |
|
|
The MMU has been set up to relocate the VRC4372 supported devices
|
5833 |
|
|
mapped at physical addresses 0x8xxxxxxx to virtual addresses
|
5834 |
|
|
0xCxxxxxxx.
|
5835 |
|
|
|
5836 |
|
|
|
5837 |
|
|
|
5838 |
|
|
|
5839 |
|
|
|
5840 |
|
|
|
5841 |
|
|
Ethernet Driver
|
5842 |
|
|
|
5843 |
|
|
|
5844 |
|
|
The ethernet driver is in two parts:
|
5845 |
|
|
|
5846 |
|
|
|
5847 |
|
|
|
5848 |
|
|
A generic ether driver for the Intel i21143 device is located in
|
5849 |
|
|
devs/eth/intel/i21143. Its package name is CYGPKG_DEVS_ETH_INTEL_I21143.
|
5850 |
|
|
|
5851 |
|
|
|
5852 |
|
|
|
5853 |
|
|
The platform-specific ether driver is
|
5854 |
|
|
class="directory">devs/eth/mips/vrc4375. Its package is
|
5855 |
|
|
CYGPKG_DEVS_ETH_MIPS_VRC4375. This
|
5856 |
|
|
tells the generic driver the address in IO memory of the chip, for
|
5857 |
|
|
example, and other configuration details. The ESA (MAC address) is by
|
5858 |
|
|
default collected from on-board serial EEPROM, unless configured
|
5859 |
|
|
statically within this package.
|
5860 |
|
|
|
5861 |
|
|
|
5862 |
|
|
|
5863 |
|
|
|
5864 |
|
|
Rebuilding RedBoot
|
5865 |
|
|
|
5866 |
|
|
These shell variables provide the platform-specific information
|
5867 |
|
|
needed for building RedBoot according to the procedure described in
|
5868 |
|
|
:
|
5869 |
|
|
|
5870 |
|
|
export TARGET=vrc4373
|
5871 |
|
|
export ARCH_DIR=mips
|
5872 |
|
|
export PLATFORM_DIR=vrc4373
|
5873 |
|
|
|
5874 |
|
|
|
5875 |
|
|
|
5876 |
|
|
The names of configuration files are listed above with the
|
5877 |
|
|
description of the associated modes.
|
5878 |
|
|
|
5879 |
|
|
|
5880 |
|
|
|
5881 |
|
|
|
5882 |
|
|
|
5883 |
|
|
|
5884 |
|
|
|
5885 |
|
|
|
5886 |
|
|
PowerPC/MPC860T Analogue & Micro PowerPC 860T
|
5887 |
|
|
|
5888 |
|
|
Overview
|
5889 |
|
|
Analogue & Micro PowerPC 860Tinstalling
|
5890 |
|
|
and testinginstalling and testing
|
5891 |
|
|
Analogue & Micro PowerPC 860TRedBoot uses
|
5892 |
|
|
the SMC1 serial port. The default serial port settings are 38400,8,N,1.
|
5893 |
|
|
Ethernet is also supported using the RJ-45 connector. Management of
|
5894 |
|
|
onboard flash is also supported.
|
5895 |
|
|
|
5896 |
|
|
The following RedBoot configurations are supported:
|
5897 |
|
|
|
5898 |
|
|
|
5899 |
|
|
|
5900 |
|
|
5901 |
|
|
|
|
5902 |
|
|
Configuration
|
5903 |
|
|
Mode
|
5904 |
|
|
Description
|
5905 |
|
|
File
|
5906 |
|
|
|
5907 |
|
|
|
|
5908 |
|
|
5909 |
|
|
|
|
5910 |
|
|
ROMRAM
|
5911 |
|
|
[ROMRAM]
|
5912 |
|
|
RedBoot running from RAM, but contained in the
|
5913 |
|
|
board's flash boot sector.
|
5914 |
|
|
redboot_ROMRAM.ecm
|
5915 |
|
|
|
5916 |
|
|
|
|
5917 |
|
|
|
5918 |
|
|
|
5919 |
|
|
|
5920 |
|
|
|
5921 |
|
|
|
5922 |
|
|
|
5923 |
|
|
Initial Installation Method
|
5924 |
|
|
RedBoot must be installed at the A & M factory.
|
5925 |
|
|
|
5926 |
|
|
|
5927 |
|
|
|
5928 |
|
|
Special RedBoot Commands
|
5929 |
|
|
None.
|
5930 |
|
|
|
5931 |
|
|
|
5932 |
|
|
Memory Maps
|
5933 |
|
|
Memory Maps RedBoot sets up the following memory map on the MBX board.
|
5934 |
|
|
Physical Address Range Description
|
5935 |
|
|
----------------------- -----------
|
5936 |
|
|
0x00000000 - 0x007fffff DRAM
|
5937 |
|
|
0xfe000000 - 0xfe0fffff flash (AMD29LV8008B)
|
5938 |
|
|
0xff000000 - 0xff0fffff MPC registers
|
5939 |
|
|
|
5940 |
|
|
|
5941 |
|
|
Rebuilding RedBoot
|
5942 |
|
|
|
5943 |
|
|
These shell variables provide the platform-specific information
|
5944 |
|
|
needed for building RedBoot according to the procedure described in
|
5945 |
|
|
:
|
5946 |
|
|
|
5947 |
|
|
export TARGET=viper
|
5948 |
|
|
export ARCH_DIR=powerpc
|
5949 |
|
|
export PLATFORM_DIR=viper
|
5950 |
|
|
|
5951 |
|
|
|
5952 |
|
|
|
5953 |
|
|
The names of configuration files are listed above with the
|
5954 |
|
|
description of the associated modes.
|
5955 |
|
|
|
5956 |
|
|
|
5957 |
|
|
|
5958 |
|
|
|
5959 |
|
|
|
5960 |
|
|
|
5961 |
|
|
PowerPC/MPC8XX Motorola MBX
|
5962 |
|
|
|
5963 |
|
|
Overview
|
5964 |
|
|
Motorola PowerPC MBXinstalling
|
5965 |
|
|
and testinginstalling and testing
|
5966 |
|
|
Motorola PowerPC MBXRedBoot uses
|
5967 |
|
|
the SMC1/COM1 serial port. The default serial port settings are 38400,8,N,1.
|
5968 |
|
|
Ethernet is also supported using the 10-base T connector.
|
5969 |
|
|
Management of onboard flash is also supported.
|
5970 |
|
|
|
5971 |
|
|
The following RedBoot configurations are supported:
|
5972 |
|
|
|
5973 |
|
|
|
5974 |
|
|
|
5975 |
|
|
5976 |
|
|
|
|
5977 |
|
|
Configuration
|
5978 |
|
|
Mode
|
5979 |
|
|
Description
|
5980 |
|
|
File
|
5981 |
|
|
|
5982 |
|
|
|
|
5983 |
|
|
5984 |
|
|
|
|
5985 |
|
|
ROM
|
5986 |
|
|
[ROM]
|
5987 |
|
|
RedBoot running from the board's flash boot
|
5988 |
|
|
sector.
|
5989 |
|
|
redboot_ROM.ecm
|
5990 |
|
|
|
5991 |
|
|
|
|
5992 |
|
|
RAM
|
5993 |
|
|
[RAM]
|
5994 |
|
|
RedBoot running from RAM with RedBoot in the
|
5995 |
|
|
flash boot sector.
|
5996 |
|
|
redboot_RAM.ecm
|
5997 |
|
|
|
5998 |
|
|
|
|
5999 |
|
|
|
6000 |
|
|
|
6001 |
|
|
|
6002 |
|
|
|
6003 |
|
|
|
6004 |
|
|
|
6005 |
|
|
Initial Installation Method
|
6006 |
|
|
Device programmer is used to program the XU1 socketed flash part (AM29F040B)
|
6007 |
|
|
with the ROM mode image of RedBoot. Use the on-board EPPC-Bug monitor to update
|
6008 |
|
|
RedBoot.
|
6009 |
|
|
This assumes that you have EPPC-Bug in the on-board flash. This can
|
6010 |
|
|
be determined by setting up the board according to the following instructions
|
6011 |
|
|
and powering up the board.
|
6012 |
|
|
The EPPC-Bug prompt should appear on the SMC1 connector at 9600 baud,
|
6013 |
|
|
8N1.
|
6014 |
|
|
|
6015 |
|
|
Set jumper 3 to 2-3 [allow XU1 flash to be programmed]
|
6016 |
|
|
|
6017 |
|
|
Set jumper 4 to 2-3 [boot EPPC-Bug]
|
6018 |
|
|
|
6019 |
|
|
|
6020 |
|
|
If it is available, program the flash by following these steps:
|
6021 |
|
|
|
6022 |
|
|
Prepare EPPC-Bug for download: EPPC-Bug>lo 0
|
6023 |
|
|
At this point the monitor is ready for input. It will not
|
6024 |
|
|
return the prompt until the file has been downloaded.
|
6025 |
|
|
|
6026 |
|
|
Use the terminal emulator's ASCII download feature (or a simple
|
6027 |
|
|
clipboard copy/paste operation) to download the
|
6028 |
|
|
redboot.ppcbug file.
|
6029 |
|
|
Note that on Linux, Minicom's ASCII
|
6030 |
|
|
download feature seems to be broken. A workaround is to load the file
|
6031 |
|
|
into emacs (or another editor) and copy the
|
6032 |
|
|
full contents to the clipboard. Then press the mouse paste-button (usually
|
6033 |
|
|
the middle one) over the Minicom window.
|
6034 |
|
|
|
6035 |
|
|
Program the flash with the downloaded data:
|
6036 |
|
|
EPPC-Bug>pflash 40000 60000 fc000000
|
6037 |
|
|
|
6038 |
|
|
Switch off the power, and change jumper 4 to 1-2. Turn on
|
6039 |
|
|
the power again. The board should now boot using the newly programmed RedBoot.
|
6040 |
|
|
|
6041 |
|
|
|
6042 |
|
|
|
6043 |
|
|
|
6044 |
|
|
|
6045 |
|
|
Special RedBoot Commands
|
6046 |
|
|
None.
|
6047 |
|
|
|
6048 |
|
|
|
6049 |
|
|
Memory Maps
|
6050 |
|
|
Memory Maps RedBoot sets up the following memory map on the MBX board.
|
6051 |
|
|
Physical Address Range Description
|
6052 |
|
|
----------------------- -----------
|
6053 |
|
|
0x00000000 - 0x003fffff DRAM
|
6054 |
|
|
0xfa100000 - 0xfa100003 LEDs
|
6055 |
|
|
0xfe000000 - 0xfe07ffff flash (AMD29F040B)
|
6056 |
|
|
0xff000000 - 0xff0fffff MPC registers
|
6057 |
|
|
|
6058 |
|
|
|
6059 |
|
|
Rebuilding RedBoot
|
6060 |
|
|
|
6061 |
|
|
These shell variables provide the platform-specific information
|
6062 |
|
|
needed for building RedBoot according to the procedure described in
|
6063 |
|
|
:
|
6064 |
|
|
|
6065 |
|
|
export TARGET=mbx
|
6066 |
|
|
export ARCH_DIR=powerpc
|
6067 |
|
|
export PLATFORM_DIR=mbx
|
6068 |
|
|
|
6069 |
|
|
|
6070 |
|
|
|
6071 |
|
|
The names of configuration files are listed above with the
|
6072 |
|
|
description of the associated modes.
|
6073 |
|
|
|
6074 |
|
|
|
6075 |
|
|
|
6076 |
|
|
|
6077 |
|
|
|
6078 |
|
|
|
6079 |
|
|
|
6080 |
|
|
|
6081 |
|
|
|
6082 |
|
|
|
6083 |
|
|
|
6084 |
|
|
|
6085 |
|
|
|
6086 |
|
|
SuperH/SH3(SH7708) Hitachi EDK7708
|
6087 |
|
|
|
6088 |
|
|
Overview
|
6089 |
|
|
Hitachi SH EDK7708installing
|
6090 |
|
|
and testinginstalling and testing
|
6091 |
|
|
Hitachi SH EDK7708RedBoot uses
|
6092 |
|
|
the serial port. The default serial port settings are 38400,8,N,1.
|
6093 |
|
|
Management of onboard flash is also supported.
|
6094 |
|
|
|
6095 |
|
|
The following RedBoot configurations are supported:
|
6096 |
|
|
|
6097 |
|
|
|
6098 |
|
|
|
6099 |
|
|
6100 |
|
|
|
|
6101 |
|
|
Configuration
|
6102 |
|
|
Mode
|
6103 |
|
|
Description
|
6104 |
|
|
File
|
6105 |
|
|
|
6106 |
|
|
|
|
6107 |
|
|
6108 |
|
|
|
|
6109 |
|
|
ROM
|
6110 |
|
|
[ROM]
|
6111 |
|
|
RedBoot running from the board's flash boot
|
6112 |
|
|
sector.
|
6113 |
|
|
redboot_ROM.ecm
|
6114 |
|
|
|
6115 |
|
|
|
|
6116 |
|
|
RAM
|
6117 |
|
|
[RAM]
|
6118 |
|
|
RedBoot running from RAM with RedBoot in the
|
6119 |
|
|
flash boot sector.
|
6120 |
|
|
redboot_RAM.ecm
|
6121 |
|
|
|
6122 |
|
|
|
|
6123 |
|
|
|
6124 |
|
|
|
6125 |
|
|
|
6126 |
|
|
|
6127 |
|
|
|
6128 |
|
|
|
6129 |
|
|
Initial Installation Method
|
6130 |
|
|
Program the ROM RedBoot image into flash using an eprom programmer.
|
6131 |
|
|
|
6132 |
|
|
|
6133 |
|
|
|
6134 |
|
|
|
6135 |
|
|
Memory Maps
|
6136 |
|
|
RedBoot sets up the following memory map on the EDK7708 board.
|
6137 |
|
|
Physical Address Range Description
|
6138 |
|
|
----------------------- -----------
|
6139 |
|
|
0x80000000 - 0x8001ffff Flash (AT29LV1024)
|
6140 |
|
|
0x88000000 - 0x881fffff DRAM
|
6141 |
|
|
0xa4000000 - 0xa40000ff LED ON
|
6142 |
|
|
0xb8000000 - 0xb80000ff LED ON
|
6143 |
|
|
|
6144 |
|
|
|
6145 |
|
|
|
6146 |
|
|
Rebuilding RedBoot
|
6147 |
|
|
|
6148 |
|
|
These shell variables provide the platform-specific information
|
6149 |
|
|
needed for building RedBoot according to the procedure described in
|
6150 |
|
|
:
|
6151 |
|
|
|
6152 |
|
|
export TARGET=edk7708
|
6153 |
|
|
export ARCH_DIR=sh
|
6154 |
|
|
export PLATFORM_DIR=edk7708
|
6155 |
|
|
|
6156 |
|
|
|
6157 |
|
|
|
6158 |
|
|
The names of configuration files are listed above with the
|
6159 |
|
|
description of the associated modes.
|
6160 |
|
|
|
6161 |
|
|
|
6162 |
|
|
|
6163 |
|
|
|
6164 |
|
|
|
6165 |
|
|
|
6166 |
|
|
SuperH/SH3(SH7709) Hitachi Solution Engine 7709
|
6167 |
|
|
|
6168 |
|
|
Overview
|
6169 |
|
|
Hitachi SH SE7709installing
|
6170 |
|
|
and testinginstalling and testing
|
6171 |
|
|
Hitachi SH SE7709This
|
6172 |
|
|
description covers the MS7709SE01 variant. See
|
6173 |
|
|
for instructions for the MS7729SE01 and MS7709SSE0101 variants.
|
6174 |
|
|
|
6175 |
|
|
RedBoot uses
|
6176 |
|
|
the COM1 and COM2 serial ports. The default serial port settings are 38400,8,N,1.
|
6177 |
|
|
Ethernet is also supported using the 10-base T connector.
|
6178 |
|
|
Management of onboard flash is also supported.
|
6179 |
|
|
|
6180 |
|
|
The following RedBoot configurations are supported:
|
6181 |
|
|
|
6182 |
|
|
|
6183 |
|
|
|
6184 |
|
|
6185 |
|
|
|
|
6186 |
|
|
Configuration
|
6187 |
|
|
Mode
|
6188 |
|
|
Description
|
6189 |
|
|
File
|
6190 |
|
|
|
6191 |
|
|
|
|
6192 |
|
|
6193 |
|
|
|
|
6194 |
|
|
ROM
|
6195 |
|
|
[ROM]
|
6196 |
|
|
RedBoot running from the board's flash boot
|
6197 |
|
|
sector.
|
6198 |
|
|
redboot_ROM.ecm
|
6199 |
|
|
|
6200 |
|
|
|
|
6201 |
|
|
RAM
|
6202 |
|
|
[RAM]
|
6203 |
|
|
RedBoot running from RAM with RedBoot in the
|
6204 |
|
|
flash boot sector.
|
6205 |
|
|
redboot_RAM.ecm
|
6206 |
|
|
|
6207 |
|
|
|
|
6208 |
|
|
|
6209 |
|
|
|
6210 |
|
|
|
6211 |
|
|
|
6212 |
|
|
|
6213 |
|
|
|
6214 |
|
|
Initial Installation Method
|
6215 |
|
|
The Solution Engine ships with the Hitachi boot monitor in EPROM
|
6216 |
|
|
which allows for initial programming of RedBoot:
|
6217 |
|
|
|
6218 |
|
|
|
6219 |
|
|
Set switch SW4-1 to ON [boot from EPROM]
|
6220 |
|
|
|
6221 |
|
|
Connect a serial cable to CN1 (SCI) and power up the board.
|
6222 |
|
|
|
6223 |
|
|
After the boot monitor banner, invoke the flash
|
6224 |
|
|
download/program command:Ready >fl
|
6225 |
|
|
|
6226 |
|
|
The monitor should now ask for input:
|
6227 |
|
|
Flash ROM data copy to RAM
|
6228 |
|
|
Please Send A S-format RecordAt this point copy the
|
6229 |
|
|
RedBoot ROM SREC file to the serial port:
|
6230 |
|
|
$ cat redboot_SE7709RP_ROM.eprom.srec > /dev/ttyS0
|
6231 |
|
|
Eventually you
|
6232 |
|
|
should see something likeStart Addrs = A1000000
|
6233 |
|
|
End Addrs = A1xxxxxx
|
6234 |
|
|
Transfer complete from the monitor.
|
6235 |
|
|
|
6236 |
|
|
Set switch SW4-1 to OFF [boot from flash] and reboot the board. You
|
6237 |
|
|
should now see the RedBoot banner.
|
6238 |
|
|
|
6239 |
|
|
|
6240 |
|
|
|
6241 |
|
|
|
6242 |
|
|
Special RedBoot Commands
|
6243 |
|
|
The exec command which allows the loading
|
6244 |
|
|
and execution of Linux kernels
|
6245 |
|
|
is supported for this board (see ). The
|
6246 |
|
|
exec parameters used for the SE77x9 are:
|
6247 |
|
|
|
6248 |
|
|
|
6249 |
|
|
-b <addr>
|
6250 |
|
|
Parameter block address. This is normally the first
|
6251 |
|
|
page of the kernel image and defaults to 0x8c101000
|
6252 |
|
|
|
6253 |
|
|
-i <addr>
|
6254 |
|
|
Start address of initrd
|
6255 |
|
|
image
|
6256 |
|
|
|
6257 |
|
|
-j <size>
|
6258 |
|
|
Size of initrd image
|
6259 |
|
|
|
6260 |
|
|
-c "args"
|
6261 |
|
|
Kernel arguments string
|
6262 |
|
|
|
6263 |
|
|
|
6264 |
|
|
-m <flags>
|
6265 |
|
|
Mount rdonly flags. If set to a non-zero value the
|
6266 |
|
|
root partition will be mounted read-only.
|
6267 |
|
|
|
6268 |
|
|
|
6269 |
|
|
-f <flags>
|
6270 |
|
|
RAM disk flags. Should normally be 0x4000
|
6271 |
|
|
|
6272 |
|
|
-r <device number>
|
6273 |
|
|
Root device specification. /dev/ram is 0x0101
|
6274 |
|
|
|
6275 |
|
|
-l <type>
|
6276 |
|
|
Loader type
|
6277 |
|
|
|
6278 |
|
|
|
6279 |
|
|
|
6280 |
|
|
Finally the kernel entry address can be specified as an optional
|
6281 |
|
|
argument. The default is 0x8c102000
|
6282 |
|
|
|
6283 |
|
|
|
6284 |
|
|
For the the SE77x9, Linux by default expects to be loaded at
|
6285 |
|
|
0x8c001000 which conflicts with the data space used by RedBoot.
|
6286 |
|
|
To work around this, either change the CONFIG_MEMORY_START kernel
|
6287 |
|
|
option to a higher address, or use the compressed kernel image and load
|
6288 |
|
|
it at a higher address. For example, setting CONFIG_MEMORY_START to
|
6289 |
|
|
0x8c100000, the kernel expects to be loaded at address 0x8c101000 with
|
6290 |
|
|
the entry point at 0x8c102000.
|
6291 |
|
|
|
6292 |
|
|
|
6293 |
|
|
|
6294 |
|
|
|
6295 |
|
|
Memory Maps
|
6296 |
|
|
RedBoot sets up the following memory map on the SE77x9 board.
|
6297 |
|
|
Physical Address Range Description
|
6298 |
|
|
----------------------- -----------
|
6299 |
|
|
0x80000000 - 0x803fffff Flash (MBM29LV160)
|
6300 |
|
|
0x81000000 - 0x813fffff EPROM (M27C800)
|
6301 |
|
|
0x8c000000 - 0x8dffffff DRAM
|
6302 |
|
|
0xb0000000 - 0xb03fffff Ethernet (DP83902A)
|
6303 |
|
|
0xb0800000 - 0xb08fffff 16C552A
|
6304 |
|
|
0xb1000000 - 0xb100ffff Switches
|
6305 |
|
|
0xb1800000 - 0xb18fffff LEDs
|
6306 |
|
|
0xb8000000 - 0xbbffffff PCMCIA (MaruBun)
|
6307 |
|
|
|
6308 |
|
|
|
6309 |
|
|
|
6310 |
|
|
Ethernet Driver
|
6311 |
|
|
The ethernet driver uses a hardwired ESA which can, at present,
|
6312 |
|
|
only be changed in CDL.
|
6313 |
|
|
|
6314 |
|
|
|
6315 |
|
|
Rebuilding RedBoot
|
6316 |
|
|
|
6317 |
|
|
These shell variables provide the platform-specific information
|
6318 |
|
|
needed for building RedBoot according to the procedure described in
|
6319 |
|
|
:
|
6320 |
|
|
|
6321 |
|
|
export TARGET=se77x9
|
6322 |
|
|
export ARCH_DIR=sh
|
6323 |
|
|
export PLATFORM_DIR=se77x9
|
6324 |
|
|
|
6325 |
|
|
|
6326 |
|
|
|
6327 |
|
|
The names of configuration files are listed above with the
|
6328 |
|
|
description of the associated modes.
|
6329 |
|
|
|
6330 |
|
|
|
6331 |
|
|
|
6332 |
|
|
|
6333 |
|
|
|
6334 |
|
|
SuperH/SH3(SH7729) Hitachi HS7729PCI
|
6335 |
|
|
|
6336 |
|
|
Overview
|
6337 |
|
|
Hitachi SH HS7729PCIinstalling
|
6338 |
|
|
and testinginstalling and testing
|
6339 |
|
|
Hitachi SH HS7729PCIRedBoot uses
|
6340 |
|
|
the COM1 and COM2 serial ports (and the debug port on the
|
6341 |
|
|
motherboard).
|
6342 |
|
|
The default serial port settings are 38400,8,N,1.
|
6343 |
|
|
Ethernet is also supported using a D-Link DFE-530TX PCI plugin
|
6344 |
|
|
card. Management of onboard flash is also supported.
|
6345 |
|
|
|
6346 |
|
|
The following RedBoot configurations are supported:
|
6347 |
|
|
|
6348 |
|
|
|
6349 |
|
|
|
6350 |
|
|
6351 |
|
|
|
|
6352 |
|
|
Configuration
|
6353 |
|
|
Mode
|
6354 |
|
|
Description
|
6355 |
|
|
File
|
6356 |
|
|
|
6357 |
|
|
|
|
6358 |
|
|
6359 |
|
|
|
|
6360 |
|
|
ROM
|
6361 |
|
|
[ROM]
|
6362 |
|
|
RedBoot running from the board's flash boot
|
6363 |
|
|
sector.
|
6364 |
|
|
redboot_ROM.ecm
|
6365 |
|
|
|
6366 |
|
|
|
|
6367 |
|
|
RAM
|
6368 |
|
|
[RAM]
|
6369 |
|
|
RedBoot running from RAM with RedBoot in the
|
6370 |
|
|
flash boot sector.
|
6371 |
|
|
redboot_RAM.ecm
|
6372 |
|
|
|
6373 |
|
|
|
|
6374 |
|
|
|
6375 |
|
|
|
6376 |
|
|
|
6377 |
|
|
|
6378 |
|
|
|
6379 |
|
|
|
6380 |
|
|
|
6381 |
|
|
Initial Installation Method
|
6382 |
|
|
A ROM mode RedBoot image must be programmed
|
6383 |
|
|
into the two EPROMs. Two files with a split version of the ROM mode
|
6384 |
|
|
image is
|
6385 |
|
|
provided: it is also possible to recreate these from the
|
6386 |
|
|
redboot.bin
|
6387 |
|
|
file, but requires the split_word.c program in
|
6388 |
|
|
|
6389 |
|
|
class="directory">hal/sh/hs7729pci/VERSION/misc
|
6390 |
|
|
to be built and executed with the redboot.bin
|
6391 |
|
|
filename as sole argument.
|
6392 |
|
|
|
6393 |
|
|
After doing this it is advised that another ROM mode image of
|
6394 |
|
|
RedBoot is programmed into the on-board flash, and that copy be used
|
6395 |
|
|
for booting the board. This allows for software programmed updates of
|
6396 |
|
|
RedBoot instead of having to reprogram the EPROMs.
|
6397 |
|
|
|
6398 |
|
|
|
6399 |
|
|
Program the EPROMs with RedBoot. The .lo image should
|
6400 |
|
|
go in socket M1 and the .hi image in socket M2.
|
6401 |
|
|
|
6402 |
|
|
|
6403 |
|
|
Set switch SW1-6 to ON [boot from EPROM]
|
6404 |
|
|
|
6405 |
|
|
Follow the instructions under Flash management for
|
6406 |
|
|
updating the flash copy of RedBoot, but force the flash destination
|
6407 |
|
|
address with
|
6408 |
|
|
-f 0x80400000 due to setting of
|
6409 |
|
|
the SW1-6 switch.
|
6410 |
|
|
|
6411 |
|
|
Set switch SW1-6 to OFF [boot from flash] and reboot the board. You
|
6412 |
|
|
should now see the RedBoot banner. At this time you may want to issue
|
6413 |
|
|
the command fis init to initialize
|
6414 |
|
|
the flash table with the correct addresses.
|
6415 |
|
|
|
6416 |
|
|
|
6417 |
|
|
|
6418 |
|
|
|
6419 |
|
|
|
6420 |
|
|
|
6421 |
|
|
Special RedBoot Commands
|
6422 |
|
|
The exec command which allows the loading
|
6423 |
|
|
and execution of Linux kernels
|
6424 |
|
|
is supported for this board (see ). The
|
6425 |
|
|
exec parameters used for the HS7729PCI are:
|
6426 |
|
|
|
6427 |
|
|
|
6428 |
|
|
-b <addr>
|
6429 |
|
|
Parameter block address. This is normally the first
|
6430 |
|
|
page of the kernel image and defaults to 0x8c101000
|
6431 |
|
|
|
6432 |
|
|
-i <addr>
|
6433 |
|
|
Start address of initrd
|
6434 |
|
|
image
|
6435 |
|
|
|
6436 |
|
|
-j <size>
|
6437 |
|
|
Size of initrd image
|
6438 |
|
|
|
6439 |
|
|
-c "args"
|
6440 |
|
|
Kernel arguments string
|
6441 |
|
|
|
6442 |
|
|
|
6443 |
|
|
-m <flags>
|
6444 |
|
|
Mount rdonly flags. If set to a non-zero value the
|
6445 |
|
|
root partition will be mounted read-only.
|
6446 |
|
|
|
6447 |
|
|
|
6448 |
|
|
-f <flags>
|
6449 |
|
|
RAM disk flags. Should normally be 0x4000
|
6450 |
|
|
|
6451 |
|
|
-r <device number>
|
6452 |
|
|
Root device specification. /dev/ram is 0x0101
|
6453 |
|
|
|
6454 |
|
|
-l <type>
|
6455 |
|
|
Loader type
|
6456 |
|
|
|
6457 |
|
|
|
6458 |
|
|
|
6459 |
|
|
Finally the kernel entry address can be specified as an optional
|
6460 |
|
|
argument. The default is 0x8c102000
|
6461 |
|
|
|
6462 |
|
|
|
6463 |
|
|
On the HS7729PCI, Linux expects to be loaded at address 0x8c101000 with
|
6464 |
|
|
the entry point at 0x8c102000. This is configurable in the kernel
|
6465 |
|
|
using the CONFIG_MEMORY_START option.
|
6466 |
|
|
|
6467 |
|
|
|
6468 |
|
|
|
6469 |
|
|
|
6470 |
|
|
Memory Maps
|
6471 |
|
|
RedBoot sets up the following memory map on the HS7729PCI board.
|
6472 |
|
|
Physical Address Range Description
|
6473 |
|
|
----------------------- -----------
|
6474 |
|
|
0x80000000 - 0x803fffff Flash (MBM29LV160)
|
6475 |
|
|
0x80400000 - 0x807fffff EPROM (M27C800)
|
6476 |
|
|
0x82000000 - 0x82ffffff SRAM
|
6477 |
|
|
0x89000000 - 0x89ffffff SRAM
|
6478 |
|
|
0x8c000000 - 0x8fffffff SDRAM
|
6479 |
|
|
0xa8000000 - 0xa800ffff SuperIO (FDC37C935A)
|
6480 |
|
|
0xa8400000 - 0xa87fffff USB function (ML60851C)
|
6481 |
|
|
0xa8800000 - 0xa8bfffff USB host (SL11HT)
|
6482 |
|
|
0xa8c00000 - 0xa8c3ffff Switches
|
6483 |
|
|
0xa8c40000 - 0xa8c7ffff LEDs
|
6484 |
|
|
0xa8c80000 - 0xa8cfffff Interrupt controller
|
6485 |
|
|
0xb0000000 - 0xb3ffffff PCI (SD0001)
|
6486 |
|
|
0xb8000000 - 0xbbffffff PCMCIA (MaruBun)
|
6487 |
|
|
|
6488 |
|
|
|
6489 |
|
|
|
6490 |
|
|
Rebuilding RedBoot
|
6491 |
|
|
|
6492 |
|
|
These shell variables provide the platform-specific information
|
6493 |
|
|
needed for building RedBoot according to the procedure described in
|
6494 |
|
|
:
|
6495 |
|
|
|
6496 |
|
|
export TARGET=hs7729pci
|
6497 |
|
|
export ARCH_DIR=sh
|
6498 |
|
|
export PLATFORM_DIR=hs7729pci
|
6499 |
|
|
|
6500 |
|
|
|
6501 |
|
|
|
6502 |
|
|
The names of configuration files are listed above with the
|
6503 |
|
|
description of the associated modes.
|
6504 |
|
|
|
6505 |
|
|
|
6506 |
|
|
|
6507 |
|
|
|
6508 |
|
|
|
6509 |
|
|
SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9
|
6510 |
|
|
|
6511 |
|
|
Overview
|
6512 |
|
|
Hitachi SH SE77X9installing
|
6513 |
|
|
and testinginstalling and testing
|
6514 |
|
|
Hitachi SH SE77X9This
|
6515 |
|
|
description covers the MS7729SE01 and MS7709SSE0101 variants. See
|
6516 |
|
|
for instructions for the MS7709SE01 variant.
|
6517 |
|
|
|
6518 |
|
|
RedBoot uses
|
6519 |
|
|
the COM1 and COM2 serial ports. The default serial port settings are 38400,8,N,1.
|
6520 |
|
|
Ethernet is also supported using the 10-base T connector. Management
|
6521 |
|
|
of onboard flash is also supported.
|
6522 |
|
|
|
6523 |
|
|
The following RedBoot configurations are supported:
|
6524 |
|
|
|
6525 |
|
|
|
6526 |
|
|
|
6527 |
|
|
6528 |
|
|
|
|
6529 |
|
|
Configuration
|
6530 |
|
|
Mode
|
6531 |
|
|
Description
|
6532 |
|
|
File
|
6533 |
|
|
|
6534 |
|
|
|
|
6535 |
|
|
6536 |
|
|
|
|
6537 |
|
|
ROM
|
6538 |
|
|
[ROM]
|
6539 |
|
|
RedBoot running from the board's flash boot
|
6540 |
|
|
sector.
|
6541 |
|
|
redboot_ROM.ecm
|
6542 |
|
|
|
6543 |
|
|
|
|
6544 |
|
|
RAM
|
6545 |
|
|
[RAM]
|
6546 |
|
|
RedBoot running from RAM with RedBoot in the
|
6547 |
|
|
flash boot sector.
|
6548 |
|
|
redboot_RAM.ecm
|
6549 |
|
|
|
6550 |
|
|
|
|
6551 |
|
|
|
6552 |
|
|
|
6553 |
|
|
|
6554 |
|
|
|
6555 |
|
|
|
6556 |
|
|
|
6557 |
|
|
Initial Installation Method
|
6558 |
|
|
The Solution Engine ships with the Hitachi boot monitor in EPROM
|
6559 |
|
|
which allows for initial programming of RedBoot:
|
6560 |
|
|
|
6561 |
|
|
|
6562 |
|
|
Set switches SW4-3 and SW4-4 to ON [boot from EPROM]
|
6563 |
|
|
|
6564 |
|
|
Connect a serial cable to COM2 and power up the board.
|
6565 |
|
|
|
6566 |
|
|
After the boot monitor banner, invoke the flash
|
6567 |
|
|
download/program command:Ready >fl
|
6568 |
|
|
|
6569 |
|
|
The monitor should now ask for input:
|
6570 |
|
|
Flash ROM data copy to RAM
|
6571 |
|
|
Please Send A S-format RecordAt this point copy the
|
6572 |
|
|
RedBoot ROM SREC file to the serial port:
|
6573 |
|
|
$ cat redboot_ROM.eprom.srec > /dev/ttyS0
|
6574 |
|
|
Eventually you
|
6575 |
|
|
should see something likeStart Addrs = A1000000
|
6576 |
|
|
End Addrs = A1xxxxxx
|
6577 |
|
|
Transfer complete from the monitor.
|
6578 |
|
|
|
6579 |
|
|
Set switch SW4-3 to OFF [boot from flash] and reboot the board. You
|
6580 |
|
|
should now see the RedBoot banner.
|
6581 |
|
|
|
6582 |
|
|
|
6583 |
|
|
|
6584 |
|
|
|
6585 |
|
|
Special RedBoot Commands
|
6586 |
|
|
The exec command which allows the loading
|
6587 |
|
|
and execution of Linux kernels
|
6588 |
|
|
is supported for this board (see ). The
|
6589 |
|
|
exec parameters used for the SE77x9 are:
|
6590 |
|
|
|
6591 |
|
|
|
6592 |
|
|
-b <addr>
|
6593 |
|
|
Parameter block address. This is normally the first
|
6594 |
|
|
page of the kernel image and defaults to 0x8c101000
|
6595 |
|
|
|
6596 |
|
|
-i <addr>
|
6597 |
|
|
Start address of initrd
|
6598 |
|
|
image
|
6599 |
|
|
|
6600 |
|
|
-j <size>
|
6601 |
|
|
Size of initrd image
|
6602 |
|
|
|
6603 |
|
|
-c "args"
|
6604 |
|
|
Kernel arguments string
|
6605 |
|
|
|
6606 |
|
|
|
6607 |
|
|
-m <flags>
|
6608 |
|
|
Mount rdonly flags. If set to a non-zero value the
|
6609 |
|
|
root partition will be mounted read-only.
|
6610 |
|
|
|
6611 |
|
|
|
6612 |
|
|
-f <flags>
|
6613 |
|
|
RAM disk flags. Should normally be 0x4000
|
6614 |
|
|
|
6615 |
|
|
-r <device number>
|
6616 |
|
|
Root device specification. /dev/ram is 0x0101
|
6617 |
|
|
|
6618 |
|
|
-l <type>
|
6619 |
|
|
Loader type
|
6620 |
|
|
|
6621 |
|
|
|
6622 |
|
|
|
6623 |
|
|
Finally the kernel entry address can be specified as an optional
|
6624 |
|
|
argument. The default is 0x8c102000
|
6625 |
|
|
|
6626 |
|
|
|
6627 |
|
|
On the SE77x9, Linux expects to be loaded at address 0x8c101000 with
|
6628 |
|
|
the entry point at 0x8c102000. This is configurable in the kernel
|
6629 |
|
|
using the CONFIG_MEMORY_START option.
|
6630 |
|
|
|
6631 |
|
|
|
6632 |
|
|
|
6633 |
|
|
|
6634 |
|
|
Memory Maps
|
6635 |
|
|
RedBoot sets up the following memory map on the SE77x9 board.
|
6636 |
|
|
Physical Address Range Description
|
6637 |
|
|
----------------------- -----------
|
6638 |
|
|
0x80000000 - 0x803fffff Flash (MBM29LV160)
|
6639 |
|
|
0x81000000 - 0x813fffff EPROM (M27C800)
|
6640 |
|
|
0x8c000000 - 0x8dffffff SDRAM
|
6641 |
|
|
0xb0000000 - 0xb03fffff Ethernet (DP83902A)
|
6642 |
|
|
0xb0400000 - 0xb07fffff SuperIO (FDC37C935A)
|
6643 |
|
|
0xb0800000 - 0xb0bfffff Switches
|
6644 |
|
|
0xb0c00000 - 0xbfffffff LEDs
|
6645 |
|
|
0xb1800000 - 0xb1bfffff PCMCIA (MaruBun)
|
6646 |
|
|
|
6647 |
|
|
|
6648 |
|
|
|
6649 |
|
|
Ethernet Driver
|
6650 |
|
|
The ethernet driver uses a hardwired ESA which can, at present,
|
6651 |
|
|
only be changed in CDL.
|
6652 |
|
|
|
6653 |
|
|
|
6654 |
|
|
Rebuilding RedBoot
|
6655 |
|
|
|
6656 |
|
|
These shell variables provide the platform-specific information
|
6657 |
|
|
needed for building RedBoot according to the procedure described in
|
6658 |
|
|
:
|
6659 |
|
|
|
6660 |
|
|
export TARGET=se77x9
|
6661 |
|
|
export ARCH_DIR=sh
|
6662 |
|
|
export PLATFORM_DIR=se77x9
|
6663 |
|
|
|
6664 |
|
|
|
6665 |
|
|
|
6666 |
|
|
The names of configuration files are listed above with the
|
6667 |
|
|
description of the associated modes.
|
6668 |
|
|
|
6669 |
|
|
|
6670 |
|
|
|
6671 |
|
|
|
6672 |
|
|
|
6673 |
|
|
SuperH/SH4(SH7751) Hitachi Solution Engine 7751
|
6674 |
|
|
|
6675 |
|
|
Overview
|
6676 |
|
|
Hitachi SH SE7751installing
|
6677 |
|
|
and testinginstalling and testing
|
6678 |
|
|
Hitachi SH SE7751RedBoot uses
|
6679 |
|
|
the COM1 serial port. The default serial port settings are 38400,8,N,1.
|
6680 |
|
|
Ethernet is also supported using the 10-base T connector. Management
|
6681 |
|
|
of onboard flash is also supported.
|
6682 |
|
|
|
6683 |
|
|
The following RedBoot configurations are supported:
|
6684 |
|
|
|
6685 |
|
|
|
6686 |
|
|
|
6687 |
|
|
6688 |
|
|
|
|
6689 |
|
|
Configuration
|
6690 |
|
|
Mode
|
6691 |
|
|
Description
|
6692 |
|
|
File
|
6693 |
|
|
|
6694 |
|
|
|
|
6695 |
|
|
6696 |
|
|
|
|
6697 |
|
|
ROM
|
6698 |
|
|
[ROM]
|
6699 |
|
|
RedBoot running from the board's flash boot
|
6700 |
|
|
sector.
|
6701 |
|
|
redboot_ROM.ecm
|
6702 |
|
|
|
6703 |
|
|
|
|
6704 |
|
|
RAM
|
6705 |
|
|
[RAM]
|
6706 |
|
|
RedBoot running from RAM with RedBoot in the
|
6707 |
|
|
flash boot sector.
|
6708 |
|
|
redboot_RAM.ecm
|
6709 |
|
|
|
6710 |
|
|
|
|
6711 |
|
|
|
6712 |
|
|
|
6713 |
|
|
|
6714 |
|
|
|
6715 |
|
|
|
6716 |
|
|
|
6717 |
|
|
Initial Installation Method
|
6718 |
|
|
The Solution Engine ships with the Hitachi boot monitor in EPROM
|
6719 |
|
|
which allows for initial programming of RedBoot:
|
6720 |
|
|
|
6721 |
|
|
|
6722 |
|
|
Set switches SW5-3 and SW5-4 to ON [boot from EPROM]
|
6723 |
|
|
|
6724 |
|
|
Connect a serial cable to COM1 and power up the board.
|
6725 |
|
|
|
6726 |
|
|
After the boot monitor banner, invoke the flash
|
6727 |
|
|
download/program command:Ready >fl
|
6728 |
|
|
|
6729 |
|
|
The monitor should now ask for input:
|
6730 |
|
|
Flash ROM data copy to RAM
|
6731 |
|
|
Please Send A S-format RecordAt this point copy the
|
6732 |
|
|
RedBoot ROM SREC file to the serial port:
|
6733 |
|
|
$ cat redboot_ROM.eprom.srec > /dev/ttyS0
|
6734 |
|
|
Eventually you
|
6735 |
|
|
should see something likeStart Addrs = A1000000
|
6736 |
|
|
End Addrs = A1xxxxxx
|
6737 |
|
|
Transfer complete from the monitor.
|
6738 |
|
|
|
6739 |
|
|
Set switch SW5-3 to OFF [boot from flash] and reboot the board. You
|
6740 |
|
|
should now see the RedBoot banner.
|
6741 |
|
|
|
6742 |
|
|
|
6743 |
|
|
|
6744 |
|
|
|
6745 |
|
|
Special RedBoot Commands
|
6746 |
|
|
The exec command which allows the loading
|
6747 |
|
|
and execution of Linux kernels
|
6748 |
|
|
is supported for this board (see ). The
|
6749 |
|
|
exec parameters used for the SE7751 are:
|
6750 |
|
|
|
6751 |
|
|
|
6752 |
|
|
-b <addr>
|
6753 |
|
|
Parameter block address. This is normally the first
|
6754 |
|
|
page of the kernel image and defaults to 0x8c101000
|
6755 |
|
|
|
6756 |
|
|
-i <addr>
|
6757 |
|
|
Start address of initrd
|
6758 |
|
|
image
|
6759 |
|
|
|
6760 |
|
|
-j <size>
|
6761 |
|
|
Size of initrd image
|
6762 |
|
|
|
6763 |
|
|
-c "args"
|
6764 |
|
|
Kernel arguments string
|
6765 |
|
|
|
6766 |
|
|
|
6767 |
|
|
-m <flags>
|
6768 |
|
|
Mount rdonly flags. If set to a non-zero value the
|
6769 |
|
|
root partition will be mounted read-only.
|
6770 |
|
|
|
6771 |
|
|
|
6772 |
|
|
-f <flags>
|
6773 |
|
|
RAM disk flags. Should normally be 0x4000
|
6774 |
|
|
|
6775 |
|
|
-r <device number>
|
6776 |
|
|
Root device specification. /dev/ram is 0x0101
|
6777 |
|
|
|
6778 |
|
|
-l <type>
|
6779 |
|
|
Loader type
|
6780 |
|
|
|
6781 |
|
|
|
6782 |
|
|
|
6783 |
|
|
Finally the kernel entry address can be specified as an optional
|
6784 |
|
|
argument. The default is 0x8c102000
|
6785 |
|
|
|
6786 |
|
|
|
6787 |
|
|
On the SE7751, Linux expects to be loaded at address 0x8c101000 with
|
6788 |
|
|
the entry point at 0x8c102000. This is configurable in the kernel
|
6789 |
|
|
using the CONFIG_MEMORY_START option.
|
6790 |
|
|
|
6791 |
|
|
|
6792 |
|
|
|
6793 |
|
|
|
6794 |
|
|
Memory Maps
|
6795 |
|
|
RedBoot sets up the following memory map on the SE7751 board.
|
6796 |
|
|
Physical Address Range Description
|
6797 |
|
|
----------------------- -----------
|
6798 |
|
|
0x80000000 - 0x803fffff Flash (MBM29LV160)
|
6799 |
|
|
0x81000000 - 0x813fffff EPROM (M27C800)
|
6800 |
|
|
0x8c000000 - 0x8fffffff SDRAM
|
6801 |
|
|
0xb8000000 - 0xb8ffffff PCMCIA (MaruBun)
|
6802 |
|
|
0xb9000000 - 0xb9ffffff Switches
|
6803 |
|
|
0xba000000 - 0xbaffffff LEDs
|
6804 |
|
|
0xbd000000 - 0xbdffffff PCI MEM space
|
6805 |
|
|
0xbe200000 - 0xbe23ffff PCI Ctrl space
|
6806 |
|
|
0xbe240000 - 0xbe27ffff PCI IO space
|
6807 |
|
|
|
6808 |
|
|
|
6809 |
|
|
|
6810 |
|
|
Ethernet Driver
|
6811 |
|
|
The ethernet driver uses a hardwired ESA which can, at present,
|
6812 |
|
|
only be changed in CDL.
|
6813 |
|
|
|
6814 |
|
|
|
6815 |
|
|
Rebuilding RedBoot
|
6816 |
|
|
|
6817 |
|
|
These shell variables provide the platform-specific information
|
6818 |
|
|
needed for building RedBoot according to the procedure described in
|
6819 |
|
|
:
|
6820 |
|
|
|
6821 |
|
|
export TARGET=se7751
|
6822 |
|
|
export ARCH_DIR=sh
|
6823 |
|
|
export PLATFORM_DIR=se7751
|
6824 |
|
|
|
6825 |
|
|
|
6826 |
|
|
|
6827 |
|
|
The names of configuration files are listed above with the
|
6828 |
|
|
description of the associated modes.
|
6829 |
|
|
|
6830 |
|
|
|
6831 |
|
|
|
6832 |
|
|
|