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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [atlas.html] - Blame information for rev 579

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

Line No. Rev Author Line
1 28 unneback
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2
<!-- This material may be distributed only subject to the terms      -->
3
<!-- and conditions set forth in the Open Publication License, v1.0  -->
4
<!-- or later (the latest version is presently available at          -->
5
<!-- http://www.opencontent.org/openpub/).                           -->
6
<!-- Distribution of the work or derivative of the work in any       -->
7
<!-- standard (paper) book form is prohibited unless prior           -->
8
<!-- permission is obtained from the copyright holder.               -->
9
<HTML
10
><HEAD
11
><TITLE
12
>MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</TITLE
13
><meta name="MSSmartTagsPreventParsing" content="TRUE">
14
<META
15
NAME="GENERATOR"
16
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17
"><LINK
18
REL="HOME"
19
TITLE="eCos Reference Manual"
20
HREF="ecos-ref.html"><LINK
21
REL="UP"
22
TITLE="Installation and Testing"
23
HREF="installation-and-testing.html"><LINK
24
REL="PREVIOUS"
25
TITLE="IA32/x86 x86-Based PC"
26
HREF="x86pc.html"><LINK
27
REL="NEXT"
28
TITLE="MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board "
29
HREF="malta.html"></HEAD
30
><BODY
31
CLASS="SECT1"
32
BGCOLOR="#FFFFFF"
33
TEXT="#000000"
34
LINK="#0000FF"
35
VLINK="#840084"
36
ALINK="#0000FF"
37
><DIV
38
CLASS="NAVHEADER"
39
><TABLE
40
SUMMARY="Header navigation table"
41
WIDTH="100%"
42
BORDER="0"
43
CELLPADDING="0"
44
CELLSPACING="0"
45
><TR
46
><TH
47
COLSPAN="3"
48
ALIGN="center"
49
>eCos Reference Manual</TH
50
></TR
51
><TR
52
><TD
53
WIDTH="10%"
54
ALIGN="left"
55
VALIGN="bottom"
56
><A
57
HREF="x86pc.html"
58
ACCESSKEY="P"
59
>Prev</A
60
></TD
61
><TD
62
WIDTH="80%"
63
ALIGN="center"
64
VALIGN="bottom"
65
>Chapter 5. Installation and Testing</TD
66
><TD
67
WIDTH="10%"
68
ALIGN="right"
69
VALIGN="bottom"
70
><A
71
HREF="malta.html"
72
ACCESSKEY="N"
73
>Next</A
74
></TD
75
></TR
76
></TABLE
77
><HR
78
ALIGN="LEFT"
79
WIDTH="100%"></DIV
80
><DIV
81
CLASS="SECT1"
82
><H1
83
CLASS="SECT1"
84
><A
85
NAME="ATLAS">MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</H1
86
><DIV
87
CLASS="SECT2"
88
><H2
89
CLASS="SECT2"
90
><A
91
NAME="AEN6659">Overview</H2
92
><P
93
>RedBoot supports the DgbSer
94
serial port and the built in ethernet port for communication and downloads.
95
The default serial port settings are 115200,8,N,1. RedBoot runs from and supports
96
flash management for the system flash region.</P
97
><P
98
>The following RedBoot configurations are supported:
99
 
100
      <DIV
101
CLASS="INFORMALTABLE"
102
><A
103
NAME="AEN6669"><P
104
></P
105
><TABLE
106
BORDER="1"
107
CLASS="CALSTABLE"
108
><THEAD
109
><TR
110
><TH
111
ALIGN="LEFT"
112
VALIGN="TOP"
113
>Configuration</TH
114
><TH
115
ALIGN="LEFT"
116
VALIGN="TOP"
117
>Mode</TH
118
><TH
119
ALIGN="LEFT"
120
VALIGN="TOP"
121
>Description</TH
122
><TH
123
ALIGN="LEFT"
124
VALIGN="TOP"
125
>File</TH
126
></TR
127
></THEAD
128
><TBODY
129
><TR
130
><TD
131
ALIGN="LEFT"
132
VALIGN="TOP"
133
>ROM</TD
134
><TD
135
ALIGN="LEFT"
136
VALIGN="TOP"
137
>[ROM]</TD
138
><TD
139
ALIGN="LEFT"
140
VALIGN="TOP"
141
>RedBoot running from the board's flash boot
142
              sector.</TD
143
><TD
144
ALIGN="LEFT"
145
VALIGN="TOP"
146
>redboot_ROM.ecm</TD
147
></TR
148
><TR
149
><TD
150
ALIGN="LEFT"
151
VALIGN="TOP"
152
>RAM</TD
153
><TD
154
ALIGN="LEFT"
155
VALIGN="TOP"
156
>[RAM]</TD
157
><TD
158
ALIGN="LEFT"
159
VALIGN="TOP"
160
>RedBoot running from RAM with RedBoot in the
161
              flash boot sector.</TD
162
><TD
163
ALIGN="LEFT"
164
VALIGN="TOP"
165
>redboot_RAM.ecm</TD
166
></TR
167
></TBODY
168
></TABLE
169
><P
170
></P
171
></DIV
172
></P
173
></DIV
174
><DIV
175
CLASS="SECT2"
176
><H2
177
CLASS="SECT2"
178
><A
179
NAME="AEN6688">Initial Installation</H2
180
><P
181
>RedBoot is installed using the code download facility built into the
182
Atlas board. See the Atlas User manual for details, and also the Atlas download
183
format in <A
184
HREF="atlas.html#ATLAS-DOWNLOAD-FORMAT"
185
>the Section called <I
186
>Atlas download format</I
187
></A
188
>.</P
189
><DIV
190
CLASS="SECT3"
191
><H3
192
CLASS="SECT3"
193
><A
194
NAME="AEN6692">Quick download instructions</H3
195
><P
196
>Here are quick start instructions for downloading the prebuilt RedBoot
197
image.</P
198
><P
199
></P
200
><OL
201
TYPE="1"
202
><LI
203
><P
204
>Locate the prebuilt files in the bin directory: <TT
205
CLASS="FILENAME"
206
>deleteall.dl</TT
207
> and <TT
208
CLASS="FILENAME"
209
>redboot.dl</TT
210
>.</P
211
></LI
212
><LI
213
><P
214
>Make sure switch S1-1 is OFF and switch S5-1 is ON. Reset
215
the board and verify that the LED display reads <TT
216
CLASS="COMPUTEROUTPUT"
217
>Flash DL</TT
218
>.</P
219
></LI
220
><LI
221
><P
222
>Make sure your parallel port is connected to the 1284 port
223
Of the Atlas board. </P
224
></LI
225
><LI
226
><P
227
>Send the <TT
228
CLASS="FILENAME"
229
>deleteall.dl</TT
230
> file to the
231
parallel port to erase previous images:
232
<TABLE
233
BORDER="5"
234
BGCOLOR="#E0E0F0"
235
WIDTH="70%"
236
><TR
237
><TD
238
><PRE
239
CLASS="SCREEN"
240
>$ <TT
241
CLASS="USERINPUT"
242
><B
243
>cat deleteall.dl &#62;/dev/lp0</B
244
></TT
245
></PRE
246
></TD
247
></TR
248
></TABLE
249
>
250
When this is complete, the LED display should read
251
<TT
252
CLASS="COMPUTEROUTPUT"
253
>Deleted</TT
254
>.</P
255
></LI
256
><LI
257
><P
258
>Send the ROM mode RedBoot image to the board:
259
<TABLE
260
BORDER="5"
261
BGCOLOR="#E0E0F0"
262
WIDTH="70%"
263
><TR
264
><TD
265
><PRE
266
CLASS="SCREEN"
267
>$ <TT
268
CLASS="USERINPUT"
269
><B
270
>cat redboot.dl &#62;/dev/lp0</B
271
></TT
272
></PRE
273
></TD
274
></TR
275
></TABLE
276
>
277
When this is complete, the LED display should show the last
278
address programmed. This will be something like: <TT
279
CLASS="COMPUTEROUTPUT"
280
>1fc17000</TT
281
>. </P
282
></LI
283
><LI
284
><P
285
>Change switch S5-1 to OFF and reset the board. The LED display
286
should read <TT
287
CLASS="COMPUTEROUTPUT"
288
>RedBoot</TT
289
>. </P
290
></LI
291
><LI
292
><P
293
>Run the RedBoot <B
294
CLASS="COMMAND"
295
>fis init</B
296
>
297
and <B
298
CLASS="COMMAND"
299
>fconfig</B
300
> commands to initialize the flash.
301
See <A
302
HREF="atlas.html#ATLAS-ADDITIONAL-FCONFIG-OPTIONS"
303
>the Section called <I
304
>Additional config options</I
305
></A
306
>, <A
307
HREF="flash-image-system.html"
308
>the Section called <I
309
>Flash Image System (FIS)</I
310
> in Chapter 2</A
311
>
312
and <A
313
HREF="persistent-state-flash.html"
314
>the Section called <I
315
>Persistent State Flash-based Configuration and Control</I
316
> in Chapter 2</A
317
> for details. </P
318
></LI
319
></OL
320
></DIV
321
><DIV
322
CLASS="SECT3"
323
><H3
324
CLASS="SECT3"
325
><A
326
NAME="ATLAS-DOWNLOAD-FORMAT">Atlas download format</H3
327
><P
328
>In order to download RedBoot to the Atlas board, it must be converted
329
to the Atlas download format. There are different ways of doing this depending
330
on which version of the developer's kit is shipped with the board.   </P
331
><P
332
>The <I
333
CLASS="CITETITLE"
334
>Atlas Developer's Kit</I
335
> CD contains an <SPAN
336
CLASS="APPLICATION"
337
>srec2flash</SPAN
338
> utility. The source code for this utility is part
339
of the <TT
340
CLASS="FILENAME"
341
>yamon/yamon-src-01.01.tar.gz</TT
342
> tarball
343
on the Dev Kit CD. The path in the expanded tarball is <TT
344
CLASS="FILENAME"
345
>yamon/bin/tools</TT
346
>.  To use
347
<SPAN
348
CLASS="APPLICATION"
349
>srec2flash</SPAN
350
> to convert the S-record file:
351
<TABLE
352
BORDER="5"
353
BGCOLOR="#E0E0F0"
354
WIDTH="70%"
355
><TR
356
><TD
357
><PRE
358
CLASS="SCREEN"
359
>$ <TT
360
CLASS="USERINPUT"
361
><B
362
>srec2flash -EL -S29 redboot.srec &#62;redboot.dl</B
363
></TT
364
></PRE
365
></TD
366
></TR
367
></TABLE
368
>
369
The <I
370
CLASS="CITETITLE"
371
>Atlas/Malta Developer's Kit</I
372
> CD
373
contains an <SPAN
374
CLASS="APPLICATION"
375
>srecconv.pl</SPAN
376
> utility which requires
377
Perl. This utilty is part of the <TT
378
CLASS="FILENAME"
379
>yamon/yamon-src-02.00.tar.gz</TT
380
>
381
tarball on the Dev Kit CD. The path in the expanded tarball
382
is <TT
383
CLASS="FILENAME"
384
>yamon/bin/tools</TT
385
>.   To use <SPAN
386
CLASS="APPLICATION"
387
>srecconv</SPAN
388
> to convert the S-record file:
389
<TABLE
390
BORDER="5"
391
BGCOLOR="#E0E0F0"
392
WIDTH="70%"
393
><TR
394
><TD
395
><PRE
396
CLASS="SCREEN"
397
>$ <TT
398
CLASS="USERINPUT"
399
><B
400
>cp redboot_ROM.srec redboot_ROM.rec</B
401
></TT
402
>
403
$ <TT
404
CLASS="USERINPUT"
405
><B
406
>srecconv.pl -ES L -A 29 redboot_ROM</B
407
></TT
408
></PRE
409
></TD
410
></TR
411
></TABLE
412
>
413
The resulting file is named <TT
414
CLASS="FILENAME"
415
>redboot_ROM.fl</TT
416
>.</P
417
></DIV
418
></DIV
419
><DIV
420
CLASS="SECT2"
421
><H2
422
CLASS="SECT2"
423
><A
424
NAME="AEN6746">Flash management</H2
425
><DIV
426
CLASS="SECT3"
427
><H3
428
CLASS="SECT3"
429
><A
430
NAME="ATLAS-ADDITIONAL-FCONFIG-OPTIONS">Additional config options</H3
431
><P
432
>The ethernet MAC address is stored in flash manually using the <B
433
CLASS="COMMAND"
434
>fconfig</B
435
> command. You can use the YAMON <B
436
CLASS="COMMAND"
437
>setenv
438
ethaddr</B
439
> command to print out the board ethernet address.
440
Typically, it is:    <TABLE
441
BORDER="5"
442
BGCOLOR="#E0E0F0"
443
WIDTH="70%"
444
><TR
445
><TD
446
><PRE
447
CLASS="SCREEN"
448
>00:0d:a0:00:<TT
449
CLASS="REPLACEABLE"
450
><I
451
>xx:xx</I
452
></TT
453
></PRE
454
></TD
455
></TR
456
></TABLE
457
> where
458
<TT
459
CLASS="REPLACEABLE"
460
><I
461
>xx.xx</I
462
></TT
463
> is the hex representation of the
464
board serial number.</P
465
></DIV
466
></DIV
467
><DIV
468
CLASS="SECT2"
469
><H2
470
CLASS="SECT2"
471
><A
472
NAME="AEN6756">Additional commands</H2
473
><P
474
>The <B
475
CLASS="COMMAND"
476
>exec</B
477
> command which allows the
478
loading and execution of Linux kernels, is supported for this architecture
479
 (see <A
480
HREF="executing-programs.html"
481
>the Section called <I
482
>Executing Programs from RedBoot</I
483
> in Chapter 2</A
484
>). The
485
<B
486
CLASS="COMMAND"
487
>exec</B
488
> parameters used for MIPS boards are:</P
489
><P
490
></P
491
><DIV
492
CLASS="VARIABLELIST"
493
><DL
494
><DT
495
>-b <TT
496
CLASS="REPLACEABLE"
497
><I
498
>&lt;addr&#62;</I
499
></TT
500
></DT
501
><DD
502
><P
503
>Location to store command line and environment passed to kernel</P
504
></DD
505
><DT
506
>-w <TT
507
CLASS="REPLACEABLE"
508
><I
509
>&lt;time&#62;</I
510
></TT
511
></DT
512
><DD
513
><P
514
>Wait time in seconds before starting kernel</P
515
></DD
516
><DT
517
>-c <TT
518
CLASS="REPLACEABLE"
519
><I
520
>"params"</I
521
></TT
522
></DT
523
><DD
524
><P
525
>Parameters passed to kernel</P
526
></DD
527
><DT
528
><TT
529
CLASS="REPLACEABLE"
530
><I
531
>&lt;addr&#62;</I
532
></TT
533
></DT
534
><DD
535
><P
536
>Kernel entry point, defaulting to the entry point of the last image
537
loaded</P
538
></DD
539
></DL
540
></DIV
541
><P
542
>Linux kernels on MIPS platforms expect the entry point to be called with arguments
543
in the registers equivalent to a C call with prototype:
544
<TABLE
545
BORDER="5"
546
BGCOLOR="#E0E0F0"
547
WIDTH="70%"
548
><TR
549
><TD
550
><PRE
551
CLASS="PROGRAMLISTING"
552
>void Linux(int argc, char **argv, char **envp);</PRE
553
></TD
554
></TR
555
></TABLE
556
></P
557
><P
558
>RedBoot will place the appropriate data at the offset specified by the
559
<TT
560
CLASS="PARAMETER"
561
><I
562
>-b</I
563
></TT
564
> parameter, or by default at address 0x80080000, and will set the
565
arguments accordingly when calling into the kernel.</P
566
><P
567
>The default entry point, if no image with explicit entry point has been loaded and
568
none is specified, is 0x80000750.</P
569
></DIV
570
><DIV
571
CLASS="SECT2"
572
><H2
573
CLASS="SECT2"
574
><A
575
NAME="AEN6788">Interrupts</H2
576
><P
577
>RedBoot uses an interrupt vector table which is located at address 0x80000400.
578
Entries in this table are pointers to functions with this protoype:      <TABLE
579
BORDER="5"
580
BGCOLOR="#E0E0F0"
581
WIDTH="70%"
582
><TR
583
><TD
584
><PRE
585
CLASS="PROGRAMLISTING"
586
>int irq_handler( unsigned vector, unsigned data )</PRE
587
></TD
588
></TR
589
></TABLE
590
>On an atlas
591
board, the vector argument is one of 25 interrupts defined in <TT
592
CLASS="COMPUTEROUTPUT"
593
>hal/mips/atlas/<TT
594
CLASS="REPLACEABLE"
595
><I
596
>VERSION</I
597
></TT
598
>/include/plf_intr.h</TT
599
>: <TABLE
600
BORDER="5"
601
BGCOLOR="#E0E0F0"
602
WIDTH="70%"
603
><TR
604
><TD
605
><PRE
606
CLASS="PROGRAMLISTING"
607
>#define CYGNUM_HAL_INTERRUPT_SER                 0
608
#define CYGNUM_HAL_INTERRUPT_TIM0                1
609
#define CYGNUM_HAL_INTERRUPT_2                   2
610
#define CYGNUM_HAL_INTERRUPT_3                   3
611
#define CYGNUM_HAL_INTERRUPT_RTC                 4
612
#define CYGNUM_HAL_INTERRUPT_COREHI              5
613
#define CYGNUM_HAL_INTERRUPT_CORELO              6
614
#define CYGNUM_HAL_INTERRUPT_7                   7
615
#define CYGNUM_HAL_INTERRUPT_PCIA                8
616
#define CYGNUM_HAL_INTERRUPT_PCIB                9
617
#define CYGNUM_HAL_INTERRUPT_PCIC               10
618
#define CYGNUM_HAL_INTERRUPT_PCID               11
619
#define CYGNUM_HAL_INTERRUPT_ENUM               12
620
#define CYGNUM_HAL_INTERRUPT_DEG                13
621
#define CYGNUM_HAL_INTERRUPT_ATXFAIL            14
622
#define CYGNUM_HAL_INTERRUPT_INTA               15
623
#define CYGNUM_HAL_INTERRUPT_INTB               16
624
#define CYGNUM_HAL_INTERRUPT_INTC               17
625
#define CYGNUM_HAL_INTERRUPT_INTD               18
626
#define CYGNUM_HAL_INTERRUPT_SERR               19
627
#define CYGNUM_HAL_INTERRUPT_HW1                20
628
#define CYGNUM_HAL_INTERRUPT_HW2                21
629
#define CYGNUM_HAL_INTERRUPT_HW3                22
630
#define CYGNUM_HAL_INTERRUPT_HW4                23
631
#define CYGNUM_HAL_INTERRUPT_HW5                24</PRE
632
></TD
633
></TR
634
></TABLE
635
>The data
636
passed to the ISR is pulled from a data table (<TT
637
CLASS="COMPUTEROUTPUT"
638
>hal_interrupt_data</TT
639
>) which immediately follows the interrupt vector table. With
640
25 interrupts, the data table starts at address 0x80000464 on atlas.</P
641
><P
642
>An application may create a normal C function with the above prototype
643
to be an ISR. Just poke its address into the table at the correct index and
644
enable the interrupt at its source. The return value of the ISR is ignored
645
by RedBoot. </P
646
></DIV
647
><DIV
648
CLASS="SECT2"
649
><H2
650
CLASS="SECT2"
651
><A
652
NAME="AEN6797">Memory Maps</H2
653
><P
654
>Memory Maps RedBoot sets up the following memory map on the Atlas board.
655
<TABLE
656
BORDER="5"
657
BGCOLOR="#E0E0F0"
658
WIDTH="70%"
659
><TR
660
><TD
661
><PRE
662
CLASS="PROGRAMLISTING"
663
>Physical Address Range Description
664
----------------------- -------------
665
0x00000000 - 0x07ffffff SDRAM
666
0x08000000 - 0x17ffffff PCI Memory Space
667
0x18000000 - 0x1bdfffff PCI I/O Space
668
0x1be00000 - 0x1bffffff System Controller
669
0x1c000000 - 0x1dffffff System flash
670
0x1e000000 - 0x1e3fffff Monitor flash
671
0x1f000000 - 0x1fbfffff FPGA</PRE
672
></TD
673
></TR
674
></TABLE
675
></P
676
></DIV
677
><DIV
678
CLASS="SECT2"
679
><H2
680
CLASS="SECT2"
681
><A
682
NAME="AEN6801">Rebuilding RedBoot</H2
683
><P
684
>These shell variables provide the platform-specific information
685
needed for building RedBoot according to the procedure described in
686
<A
687
HREF="rebuilding-redboot.html"
688
>Chapter 3</A
689
>:
690
<TABLE
691
BORDER="5"
692
BGCOLOR="#E0E0F0"
693
WIDTH="70%"
694
><TR
695
><TD
696
><PRE
697
CLASS="PROGRAMLISTING"
698
>export TARGET=atlas_mips32_4kc
699
export TARGET=atlas_mips64_5kc
700
export ARCH_DIR=mips
701
export PLATFORM_DIR=atlas</PRE
702
></TD
703
></TR
704
></TABLE
705
>
706
 
707
Use one of the TARGET settings only.&#13;</P
708
><P
709
>The names of configuration files are listed above with the
710
description of the associated modes.</P
711
></DIV
712
></DIV
713
><DIV
714
CLASS="NAVFOOTER"
715
><HR
716
ALIGN="LEFT"
717
WIDTH="100%"><TABLE
718
SUMMARY="Footer navigation table"
719
WIDTH="100%"
720
BORDER="0"
721
CELLPADDING="0"
722
CELLSPACING="0"
723
><TR
724
><TD
725
WIDTH="33%"
726
ALIGN="left"
727
VALIGN="top"
728
><A
729
HREF="x86pc.html"
730
ACCESSKEY="P"
731
>Prev</A
732
></TD
733
><TD
734
WIDTH="34%"
735
ALIGN="center"
736
VALIGN="top"
737
><A
738
HREF="ecos-ref.html"
739
ACCESSKEY="H"
740
>Home</A
741
></TD
742
><TD
743
WIDTH="33%"
744
ALIGN="right"
745
VALIGN="top"
746
><A
747
HREF="malta.html"
748
ACCESSKEY="N"
749
>Next</A
750
></TD
751
></TR
752
><TR
753
><TD
754
WIDTH="33%"
755
ALIGN="left"
756
VALIGN="top"
757
>IA32/x86 x86-Based PC</TD
758
><TD
759
WIDTH="34%"
760
ALIGN="center"
761
VALIGN="top"
762
><A
763
HREF="installation-and-testing.html"
764
ACCESSKEY="U"
765
>Up</A
766
></TD
767
><TD
768
WIDTH="33%"
769
ALIGN="right"
770
VALIGN="top"
771
>MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</TD
772
></TR
773
></TABLE
774
></DIV
775
></BODY
776
></HTML
777
>

powered by: WebSVN 2.1.0

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