OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [redboot/] [current/] [doc/] [redboot_installing.sgml] - Blame information for rev 843

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
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. </code></pre></td>
      </tr>
      <tr valign="middle">
         <td>471</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>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. </code></pre></td>
      </tr>
      <tr valign="middle">
         <td>625</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>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</code></pre></td>
      </tr>
      <tr valign="middle">
         <td>1295</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>
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</code></pre></td>
      </tr>
      <tr valign="middle">
         <td>1707</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>
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</code></pre></td>
      </tr>
      <tr valign="middle">
         <td>1881</td>
         <td></td>
         <td></td>
         <td class="code"><pre><code>
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.