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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [ecos-2.0/] [packages/] [redboot/] [v2_0/] [doc/] [redboot_installing.sgml] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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