]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/iq80321.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / ref / iq80321.html
1 <!-- 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 >ARM/Xscale Intel IQ80321</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="ARM/Xscale Cyclone IQ80310"
26 HREF="iq80310.html"><LINK
27 REL="NEXT"
28 TITLE="CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board "
29 HREF="calmrisc16.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="iq80310.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="calmrisc16.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="IQ80321">ARM/Xscale Intel IQ80321</H1
86 ><DIV
87 CLASS="SECT2"
88 ><H2
89 CLASS="SECT2"
90 ><A
91 NAME="AEN6269">Overview</H2
92 ><P
93 >RedBoot supports
94 the serial port and the built-in ethernet port for communication and downloads.
95 The default serial port settings are 115200,8,N,1. RedBoot also supports flash
96 management for the onboard 8MB flash.</P
97 ><P
98 >The following RedBoot configurations are supported:
99
100       <DIV
101 CLASS="INFORMALTABLE"
102 ><A
103 NAME="AEN6279"><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="AEN6298">Initial Installation Method</H2
180 ><P
181 >The board manufacturer provides a DOS application which is capable of
182 programming the flash over the PCI bus, and this is required for initial installations
183 of RedBoot. Please see the board manual for information on using this utility.
184 In general, the process involves programming the ROM mode RedBoot
185 image to flash. RedBoot should be programmed to flash address
186 0x00000000 using the DOS utility.</P
187 ><P
188 >After booting the initial installation of RedBoot, this warning may
189 be printed: <TABLE
190 BORDER="5"
191 BGCOLOR="#E0E0F0"
192 WIDTH="70%"
193 ><TR
194 ><TD
195 ><PRE
196 CLASS="SCREEN"
197 >flash configuration checksum error or invalid key</PRE
198 ></TD
199 ></TR
200 ></TABLE
201 >This is normal, and indicates that the flash must be configured
202 for use by RedBoot. Even if the above message is not printed, it may be a
203 good idea to reinitialize the flash anyway. Do this with the <B
204 CLASS="COMMAND"
205 >fis</B
206 > command: <TABLE
207 BORDER="5"
208 BGCOLOR="#E0E0F0"
209 WIDTH="70%"
210 ><TR
211 ><TD
212 ><PRE
213 CLASS="SCREEN"
214 >RedBoot&#62; <TT
215 CLASS="USERINPUT"
216 ><B
217 >fis init</B
218 ></TT
219 >
220 About to initialize [format] FLASH image system - continue (y/n)? <TT
221 CLASS="USERINPUT"
222 ><B
223 >y</B
224 ></TT
225 >
226 *** Initialize FLASH Image System
227     Warning: device contents not erased, some blocks may not be usable
228     ... Unlock from 0xf07e0000-0xf0800000: .
229     ... Erase from 0xf07e0000-0xf0800000: .
230     ... Program from 0x01ddf000-0x01ddf400 at 0xf07e0000: .
231     ... Lock from 0xf07e0000-0xf0800000: .</PRE
232 ></TD
233 ></TR
234 ></TABLE
235 ></P
236 ></DIV
237 ><DIV
238 CLASS="SECT2"
239 ><H2
240 CLASS="SECT2"
241 ><A
242 NAME="AEN6307">Switch Settings</H2
243 ><P
244 >The 80321 board is highly configurable through a number of switches and jumpers.
245 RedBoot makes some assumptions about board configuration and attention must be paid
246 to these assumptions for reliable RedBoot operation:
247 <P
248 ></P
249 ><UL
250 ><LI
251 ><P
252 >The onboard ethernet and the secondary slot may be placed in a
253 private space so that they are not seen by a PC BIOS. If the board is to be used
254 in a PC with BIOS, then the ethernet should be placed in this private space so that
255 RedBoot and the BIOS do not conflict.</P
256 ></LI
257 ><LI
258 ><P
259 >RedBoot assumes that the board is plugged into a PC with BIOS. This
260 requires RedBoot to detect when the BIOS has configured the PCI-X secondary bus. If
261 the board is placed in a backplane, RedBoot will never see the BIOS configure the
262 secondary bus. To prevent this wait, set switch S7E1-3 to ON when using the board
263 in a backplane.</P
264 ></LI
265 ><LI
266 ><P
267 >For the remaining switch settings, the following is a known good
268 configuration:
269 <DIV
270 CLASS="INFORMALTABLE"
271 ><A
272 NAME="AEN6317"><P
273 ></P
274 ><TABLE
275 BORDER="1"
276 CLASS="CALSTABLE"
277 ><TBODY
278 ><TR
279 ><TD
280 ALIGN="LEFT"
281 VALIGN="TOP"
282 >S1D1</TD
283 ><TD
284 ALIGN="LEFT"
285 VALIGN="TOP"
286 >All OFF</TD
287 ></TR
288 ><TR
289 ><TD
290 ALIGN="LEFT"
291 VALIGN="TOP"
292 >S7E1</TD
293 ><TD
294 ALIGN="LEFT"
295 VALIGN="TOP"
296 >7 is ON, all others OFF</TD
297 ></TR
298 ><TR
299 ><TD
300 ALIGN="LEFT"
301 VALIGN="TOP"
302 >S8E1</TD
303 ><TD
304 ALIGN="LEFT"
305 VALIGN="TOP"
306 >2,3,5,6 are ON, all others OFF</TD
307 ></TR
308 ><TR
309 ><TD
310 ALIGN="LEFT"
311 VALIGN="TOP"
312 >S8E2</TD
313 ><TD
314 ALIGN="LEFT"
315 VALIGN="TOP"
316 >2,3 are ON, all others OFF</TD
317 ></TR
318 ><TR
319 ><TD
320 ALIGN="LEFT"
321 VALIGN="TOP"
322 >S9E1</TD
323 ><TD
324 ALIGN="LEFT"
325 VALIGN="TOP"
326 >3 is ON, all others OFF</TD
327 ></TR
328 ><TR
329 ><TD
330 ALIGN="LEFT"
331 VALIGN="TOP"
332 >S4D1</TD
333 ><TD
334 ALIGN="LEFT"
335 VALIGN="TOP"
336 >1,3 are ON, all others OFF</TD
337 ></TR
338 ><TR
339 ><TD
340 ALIGN="LEFT"
341 VALIGN="TOP"
342 >J9E1</TD
343 ><TD
344 ALIGN="LEFT"
345 VALIGN="TOP"
346 >2,3 jumpered</TD
347 ></TR
348 ><TR
349 ><TD
350 ALIGN="LEFT"
351 VALIGN="TOP"
352 >J9F1</TD
353 ><TD
354 ALIGN="LEFT"
355 VALIGN="TOP"
356 >2,3 jumpered</TD
357 ></TR
358 ><TR
359 ><TD
360 ALIGN="LEFT"
361 VALIGN="TOP"
362 >J3F1</TD
363 ><TD
364 ALIGN="LEFT"
365 VALIGN="TOP"
366 >Nothing jumpered</TD
367 ></TR
368 ><TR
369 ><TD
370 ALIGN="LEFT"
371 VALIGN="TOP"
372 >J3G1</TD
373 ><TD
374 ALIGN="LEFT"
375 VALIGN="TOP"
376 >2,3 jumpered</TD
377 ></TR
378 ><TR
379 ><TD
380 ALIGN="LEFT"
381 VALIGN="TOP"
382 >J1G2</TD
383 ><TD
384 ALIGN="LEFT"
385 VALIGN="TOP"
386 >2,3 jumpered</TD
387 ></TR
388 ></TBODY
389 ></TABLE
390 ><P
391 ></P
392 ></DIV
393 ></P
394 ></LI
395 ></UL
396 ></P
397 ></DIV
398 ><DIV
399 CLASS="SECT2"
400 ><H2
401 CLASS="SECT2"
402 ><A
403 NAME="AEN6353">LED Codes</H2
404 ><P
405 >RedBoot uses the two digit LED display to indicate status during   board
406 initialization. Possible codes are:</P
407 ><P
408 CLASS="LITERALLAYOUT"
409 >LED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Actions<br>
410 -------------------------------------------------------------<br>
411 &nbsp;&nbsp;    Power-On/Reset<br>
412 88<br>
413 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;CPSR<br>
414 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;coprocessor&nbsp;access<br>
415 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;write&nbsp;and&nbsp;fill&nbsp;buffer<br>
416 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setup&nbsp;PBIU&nbsp;chip&nbsp;selects<br>
417 A1<br>
418 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;the&nbsp;Icache<br>
419 A2<br>
420 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;FLASH&nbsp;chip&nbsp;select&nbsp;from&nbsp;0x0&nbsp;to&nbsp;0xF0000000<br>
421 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jump&nbsp;to&nbsp;new&nbsp;FLASH&nbsp;location<br>
422 A3<br>
423 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setup&nbsp;and&nbsp;enable&nbsp;the&nbsp;MMU<br>
424 A4<br>
425 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2C&nbsp;interface&nbsp;initialization<br>
426 90<br>
427 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wait&nbsp;for&nbsp;I2C&nbsp;initialization&nbsp;to&nbsp;complete<br>
428 91<br>
429 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send&nbsp;address&nbsp;(via&nbsp;I2C)&nbsp;to&nbsp;the&nbsp;DIMM<br>
430 92<br>
431 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wait&nbsp;for&nbsp;transmit&nbsp;complete<br>
432 93<br>
433 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read&nbsp;SDRAM&nbsp;PD&nbsp;data&nbsp;from&nbsp;DIMM<br>
434 94<br>
435 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read&nbsp;remainder&nbsp;of&nbsp;EEPROM&nbsp;data.<br>
436 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;error&nbsp;will&nbsp;result&nbsp;in&nbsp;one&nbsp;of&nbsp;the&nbsp;following<br>
437 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error&nbsp;codes&nbsp;on&nbsp;the&nbsp;LEDs:<br>
438 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;77&nbsp;BAD&nbsp;EEPROM&nbsp;checksum<br>
439 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;55&nbsp;I2C&nbsp;protocol&nbsp;error<br>
440 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FF&nbsp;bank&nbsp;size&nbsp;error<br>
441 A5<br>
442 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setup&nbsp;DDR&nbsp;memory&nbsp;interface<br>
443 A6<br>
444 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;branch&nbsp;target&nbsp;buffer<br>
445 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
446 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush&nbsp;Icache,&nbsp;Dcache&nbsp;and&nbsp;BTB<br>
447 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush&nbsp;instuction&nbsp;and&nbsp;data&nbsp;TLBs<br>
448 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
449 SL<br>
450 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECC&nbsp;Scrub&nbsp;Loop<br>
451 SE<br>
452 A7<br>
453 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;main&nbsp;Dcache<br>
454 A8<br>
455 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;mini&nbsp;Dcache<br>
456 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush&nbsp;Dcache<br>
457 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
458 A9<br>
459 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;ECC<br>
460 AA<br>
461 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save&nbsp;SDRAM&nbsp;size<br>
462 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;MMU&nbsp;tables&nbsp;into&nbsp;RAM<br>
463 AB<br>
464 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;main&nbsp;Dcache<br>
465 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;mini&nbsp;Dcache<br>
466 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
467 AC<br>
468 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;TTB&nbsp;register&nbsp;to&nbsp;DRAM&nbsp;mmu_table<br>
469 AD<br>
470 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;mode&nbsp;to&nbsp;IRQ&nbsp;mode<br>
471 A7<br>
472 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;SWI&nbsp;&#38;&nbsp;Undefined&nbsp;"vectors"&nbsp;to&nbsp;RAM&nbsp;(at&nbsp;0x0)<br>
473 A6<br>
474 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Switch&nbsp;to&nbsp;supervisor&nbsp;mode<br>
475 A5<br>
476 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;remaining&nbsp;"vectors"&nbsp;to&nbsp;RAM&nbsp;(at&nbsp;0x0)<br>
477 A4<br>
478 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy&nbsp;DATA&nbsp;to&nbsp;RAM<br>
479 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize&nbsp;interrupt&nbsp;exception&nbsp;environment<br>
480 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize&nbsp;stack<br>
481 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear&nbsp;BSS&nbsp;section<br>
482 A3<br>
483 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call&nbsp;platform&nbsp;specific&nbsp;hardware&nbsp;initialization<br>
484 A2<br>
485 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run&nbsp;through&nbsp;static&nbsp;constructors<br>
486 A1<br>
487 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start&nbsp;up&nbsp;the&nbsp;eCos&nbsp;kernel&nbsp;or&nbsp;RedBoot</P
488 ></DIV
489 ><DIV
490 CLASS="SECT2"
491 ><H2
492 CLASS="SECT2"
493 ><A
494 NAME="AEN6357">Special RedBoot Commands</H2
495 ><P
496 >A special RedBoot command, <B
497 CLASS="COMMAND"
498 >diag</B
499 >, is used to
500 access a set of hardware diagnostics. To access the diagnostic menu,
501 enter <B
502 CLASS="COMMAND"
503 >diag</B
504 > at the RedBoot prompt:
505 <TABLE
506 BORDER="5"
507 BGCOLOR="#E0E0F0"
508 WIDTH="70%"
509 ><TR
510 ><TD
511 ><PRE
512 CLASS="SCREEN"
513 >RedBoot&#62; <TT
514 CLASS="USERINPUT"
515 ><B
516 >diag</B
517 ></TT
518 >
519 Entering Hardware Diagnostics - Disabling Data Cache!
520
521   IQ80321 Hardware Tests
522
523  1 - Memory Tests
524  2 - Repeating Memory Tests
525  3 - Repeat-On-Fail Memory Tests
526  4 - Rotary Switch S1 Test
527  5 - 7 Segment LED Tests
528  6 - i82544 Ethernet Configuration
529  7 - Baterry Status Test
530  8 - Battery Backup SDRAM Memory Test
531  9 - Timer Test
532 10 - PCI Bus test
533 11 - CPU Cache Loop (No Return)
534  0 - quit
535 Enter the menu item number (0 to quit):</PRE
536 ></TD
537 ></TR
538 ></TABLE
539 >
540 Tests for various hardware subsystems are provided, and some tests require
541 special hardware in order to execute normally. The Ethernet Configuration
542 item may be used to set the board ethernet address.</P
543 ><DIV
544 CLASS="SECT3"
545 ><H3
546 CLASS="SECT3"
547 ><A
548 NAME="AEN6364">Memory Tests</H3
549 ><P
550 >This test is used to test installed DDR SDRAM memory. Five different
551 tests are run over the given address ranges. If errors are encountered, the
552 test is aborted and information about the failure is printed. When selected,
553 the user will be prompted to enter the base address of the test range and its
554 size. The numbers must be in hex with no leading &#8220;0x&#8221;</P
555 ><TABLE
556 BORDER="5"
557 BGCOLOR="#E0E0F0"
558 WIDTH="70%"
559 ><TR
560 ><TD
561 ><PRE
562 CLASS="SCREEN"
563 >Enter the menu item number (0 to quit): <TT
564 CLASS="USERINPUT"
565 ><B
566 >1</B
567 ></TT
568 >
569
570 Base address of memory to test (in hex): <TT
571 CLASS="USERINPUT"
572 ><B
573 >100000</B
574 ></TT
575 >
576
577 Size of memory to test (in hex): <TT
578 CLASS="USERINPUT"
579 ><B
580 >200000</B
581 ></TT
582 >
583
584 Testing memory from 0x00100000 to 0x002fffff.
585
586 Walking 1's test: 
587 0000000100000002000000040000000800000010000000200000004000000080
588 0000010000000200000004000000080000001000000020000000400000008000
589 0001000000020000000400000008000000100000002000000040000000800000
590 0100000002000000040000000800000010000000200000004000000080000000
591 passed
592 32-bit address test: passed
593 32-bit address bar test: passed
594 8-bit address test: passed
595 Byte address bar test: passed
596 Memory test done.</PRE
597 ></TD
598 ></TR
599 ></TABLE
600 ></DIV
601 ><DIV
602 CLASS="SECT3"
603 ><H3
604 CLASS="SECT3"
605 ><A
606 NAME="AEN6371">Repeating Memory Tests</H3
607 ><P
608 >The repeating memory tests are exactly the same as the above memory tests,
609 except that the tests are automatically rerun after completion. The only way out
610 of this test is to reset the board.</P
611 ></DIV
612 ><DIV
613 CLASS="SECT3"
614 ><H3
615 CLASS="SECT3"
616 ><A
617 NAME="AEN6374">Repeat-On-Fail Memory Tests</H3
618 ><P
619 >This is similar to the repeating memory tests except that when an error
620 is found, the failing test continuously retries on the failing address.</P
621 ></DIV
622 ><DIV
623 CLASS="SECT3"
624 ><H3
625 CLASS="SECT3"
626 ><A
627 NAME="AEN6377">Rotary Switch S1 Test</H3
628 ><P
629 >This tests the operation of the sixteen position rotary switch. When run,
630 this test will display the current position of the rotary switch on the LED
631 display. Slowly dial through each position and confirm reading on LED.</P
632 ></DIV
633 ><DIV
634 CLASS="SECT3"
635 ><H3
636 CLASS="SECT3"
637 ><A
638 NAME="AEN6380">7 Segment LED Tests</H3
639 ><P
640 >This tests the operation of the seven segment displays. When run, each
641 LED cycles through 0 through F and a decimal point.</P
642 ></DIV
643 ><DIV
644 CLASS="SECT3"
645 ><H3
646 CLASS="SECT3"
647 ><A
648 NAME="AEN6383">i82544 Ethernet Configuration</H3
649 ><P
650 >This test initializes the ethernet controller&#8217;s serial EEPROM if
651 the current contents are invalid. In any case, this test will also allow the
652 user to enter a six byte ethernet MAC address into the serial EEPROM.</P
653 ><TABLE
654 BORDER="5"
655 BGCOLOR="#E0E0F0"
656 WIDTH="70%"
657 ><TR
658 ><TD
659 ><PRE
660 CLASS="SCREEN"
661 >Enter the menu item number (0 to quit): <TT
662 CLASS="USERINPUT"
663 ><B
664 >6</B
665 ></TT
666 >
667
668
669 Current MAC address: 00:80:4d:46:00:02
670 Enter desired MAC address: <TT
671 CLASS="USERINPUT"
672 ><B
673 >00:80:4d:46:00:01</B
674 ></TT
675 >
676 Writing to the Serial EEPROM... Done
677
678 ******** Reset The Board To Have Changes Take Effect ********</PRE
679 ></TD
680 ></TR
681 ></TABLE
682 ></DIV
683 ><DIV
684 CLASS="SECT3"
685 ><H3
686 CLASS="SECT3"
687 ><A
688 NAME="AEN6389">Battery Status Test</H3
689 ><P
690 >This tests the current status of the battery. First, the test checks to
691 see if the battery is installed and reports that finding. If the battery is
692 installed, the test further determines whether the battery status is one or
693 more of the following:
694 <P
695 ></P
696 ><UL
697 ><LI
698 ><P
699 >Battery is charging.</P
700 ></LI
701 ><LI
702 ><P
703 >Battery is fully discharged.</P
704 ></LI
705 ><LI
706 ><P
707 >Battery voltage measures within normal operating range.</P
708 ></LI
709 ></UL
710 ></P
711 ></DIV
712 ><DIV
713 CLASS="SECT3"
714 ><H3
715 CLASS="SECT3"
716 ><A
717 NAME="AEN6399">Battery Backup SDRAM Memory Test</H3
718 ><P
719 >This tests the battery backup of SDRAM memory. This test is a three
720 step process:</P
721 ><P
722 ></P
723 ><OL
724 TYPE="1"
725 ><LI
726 ><P
727 >Select Battery backup test from main diag menu, then write
728 data to SDRAM.</P
729 ></LI
730 ><LI
731 ><P
732 >Turn off power for 60 seconds, then repower the board.</P
733 ></LI
734 ><LI
735 ><P
736 >Select Battery backup test from main diag menu, then check
737 data that was written in step 1.</P
738 ></LI
739 ></OL
740 ></DIV
741 ><DIV
742 CLASS="SECT3"
743 ><H3
744 CLASS="SECT3"
745 ><A
746 NAME="AEN6409">Timer Test</H3
747 ><P
748 >This tests the internal timer by printing a number of dots at one
749 second intervals.</P
750 ></DIV
751 ><DIV
752 CLASS="SECT3"
753 ><H3
754 CLASS="SECT3"
755 ><A
756 NAME="AEN6412">PCI Bus Test</H3
757 ><P
758 >This tests the secondary PCI-X bus and socket. This test requires that
759 an IQ80310 board be plugged into the secondary slot of the IOP80321 board.
760 The test assumes at least 32MB of installed memory on the IQ80310. That memory
761 is mapped into the IOP80321 address space and the memory tests are run on that
762 memory.</P
763 ></DIV
764 ><DIV
765 CLASS="SECT3"
766 ><H3
767 CLASS="SECT3"
768 ><A
769 NAME="AEN6415">CPU Cache Loop</H3
770 ><P
771 >This test puts the CPU into a tight loop run entirely from the ICache.
772 This should prevent all external bus accesses.</P
773 ></DIV
774 ></DIV
775 ><DIV
776 CLASS="SECT2"
777 ><H2
778 CLASS="SECT2"
779 ><A
780 NAME="AEN6418">Rebuilding RedBoot</H2
781 ><P
782 >These shell variables provide the platform-specific information
783 needed for building RedBoot according to the procedure described in
784 <A
785 HREF="rebuilding-redboot.html"
786 >Chapter 3</A
787 >:
788 <TABLE
789 BORDER="5"
790 BGCOLOR="#E0E0F0"
791 WIDTH="70%"
792 ><TR
793 ><TD
794 ><PRE
795 CLASS="PROGRAMLISTING"
796 >export TARGET=iq80321
797 export ARCH_DIR=arm
798 export PLATFORM_DIR=xscale/iq80321</PRE
799 ></TD
800 ></TR
801 ></TABLE
802 ></P
803 ><P
804 >The names of configuration files are listed above with the
805 description of the associated modes.</P
806 ></DIV
807 ><DIV
808 CLASS="SECT2"
809 ><H2
810 CLASS="SECT2"
811 ><A
812 NAME="AEN6424">Interrupts</H2
813 ><P
814 >RedBoot uses an interrupt vector table which is located at address 0x8004.
815 Entries in this table are pointers to functions with this protoype::      <TABLE
816 BORDER="5"
817 BGCOLOR="#E0E0F0"
818 WIDTH="70%"
819 ><TR
820 ><TD
821 ><PRE
822 CLASS="PROGRAMLISTING"
823 >int irq_handler( unsigned vector, unsigned data )</PRE
824 ></TD
825 ></TR
826 ></TABLE
827 >On an IQ80321
828 board, the vector argument is one of 32 interrupts defined in <TT
829 CLASS="COMPUTEROUTPUT"
830 >hal/arm/xscale/verde/current/include/hal_var_ints.h:</TT
831 >:   <TABLE
832 BORDER="5"
833 BGCOLOR="#E0E0F0"
834 WIDTH="70%"
835 ><TR
836 ><TD
837 ><PRE
838 CLASS="PROGRAMLISTING"
839 >// *** 80200 CPU ***
840 #define CYGNUM_HAL_INTERRUPT_DMA0_EOT      0
841 #define CYGNUM_HAL_INTERRUPT_DMA0_EOC      1
842 #define CYGNUM_HAL_INTERRUPT_DMA1_EOT      2
843 #define CYGNUM_HAL_INTERRUPT_DMA1_EOC      3
844 #define CYGNUM_HAL_INTERRUPT_RSVD_4        4
845 #define CYGNUM_HAL_INTERRUPT_RSVD_5        5
846 #define CYGNUM_HAL_INTERRUPT_AA_EOT        6
847 #define CYGNUM_HAL_INTERRUPT_AA_EOC        7
848 #define CYGNUM_HAL_INTERRUPT_CORE_PMON     8
849 #define CYGNUM_HAL_INTERRUPT_TIMER0        9
850 #define CYGNUM_HAL_INTERRUPT_TIMER1        10
851 #define CYGNUM_HAL_INTERRUPT_I2C_0         11
852 #define CYGNUM_HAL_INTERRUPT_I2C_1         12
853 #define CYGNUM_HAL_INTERRUPT_MESSAGING     13
854 #define CYGNUM_HAL_INTERRUPT_ATU_BIST      14
855 #define CYGNUM_HAL_INTERRUPT_PERFMON       15
856 #define CYGNUM_HAL_INTERRUPT_CORE_PMU      16
857 #define CYGNUM_HAL_INTERRUPT_BIU_ERR       17
858 #define CYGNUM_HAL_INTERRUPT_ATU_ERR       18
859 #define CYGNUM_HAL_INTERRUPT_MCU_ERR       19
860 #define CYGNUM_HAL_INTERRUPT_DMA0_ERR      20
861 #define CYGNUM_HAL_INTERRUPT_DMA1_ERR      22
862 #define CYGNUM_HAL_INTERRUPT_AA_ERR        23
863 #define CYGNUM_HAL_INTERRUPT_MSG_ERR       24
864 #define CYGNUM_HAL_INTERRUPT_SSP           25
865 #define CYGNUM_HAL_INTERRUPT_RSVD_26       26
866 #define CYGNUM_HAL_INTERRUPT_XINT0         27
867 #define CYGNUM_HAL_INTERRUPT_XINT1         28
868 #define CYGNUM_HAL_INTERRUPT_XINT2         29
869 #define CYGNUM_HAL_INTERRUPT_XINT3         30
870 #define CYGNUM_HAL_INTERRUPT_HPI           31</PRE
871 ></TD
872 ></TR
873 ></TABLE
874 >
875 The data passed to the ISR is pulled from a data table <TT
876 CLASS="COMPUTEROUTPUT"
877 >(hal_interrupt_data)</TT
878 > which immediately follows the interrupt vector table. With
879 32 interrupts, the data table starts at address 0x8084.   </P
880 ><P
881 >An application may create a normal C function with the above prototype
882 to be an ISR. Just poke its address into the table at the correct index and
883 enable the interrupt at its source. The return value of the ISR is ignored
884 by RedBoot.</P
885 ></DIV
886 ><DIV
887 CLASS="SECT2"
888 ><H2
889 CLASS="SECT2"
890 ><A
891 NAME="AEN6432">Memory Maps</H2
892 ><P
893 >The RAM based page table is located at RAM start + 0x4000. RedBoot may be configured
894 for one of two memory maps. The difference between them is the location of RAM and the
895 PCI outbound windows. The alternative memory map may be used when
896 building RedBoot or eCos by using the <TT
897 CLASS="LITERAL"
898 >RAM_ALTMAP</TT
899 >
900 and <TT
901 CLASS="LITERAL"
902 >ROM_ALTMAP</TT
903 > startup types in the configuration.
904 <DIV
905 CLASS="NOTE"
906 ><BLOCKQUOTE
907 CLASS="NOTE"
908 ><P
909 ><B
910 >NOTE: </B
911 >The virtual memory maps in this section use a C, B, and X column to indicate
912 the caching policy for the region..</P
913 ></BLOCKQUOTE
914 ></DIV
915 ></P
916 ><P
917 ><TABLE
918 BORDER="5"
919 BGCOLOR="#E0E0F0"
920 WIDTH="70%"
921 ><TR
922 ><TD
923 ><PRE
924 CLASS="PROGRAMLISTING"
925 >X C B  Description
926 - - -  ---------------------------------------------
927 0 0 0  Uncached/Unbuffered
928 0 0 1  Uncached/Buffered
929 0 1 0  Cached/Buffered    Write Through, Read Allocate
930 0 1 1  Cached/Buffered    Write Back, Read Allocate
931 1 0 0  Invalid -- not used
932 1 0 1  Uncached/Buffered  No write buffer coalescing
933 1 1 0  Mini DCache - Policy set by Aux Ctl Register
934 1 1 1  Cached/Buffered    Write Back, Read/Write Allocate
935
936 Physical Address Range     Description
937 -----------------------    ----------------------------------
938 0x00000000 - 0x7fffffff    ATU Outbound Direct Window
939 0x80000000 - 0x900fffff    ATU Outbound Translate Windows
940 0xa0000000 - 0xbfffffff    SDRAM
941 0xf0000000 - 0xf0800000    FLASH               (PBIU CS0)
942 0xfe800000 - 0xfe800fff    UART                (PBIU CS1)
943 0xfe840000 - 0xfe840fff    Left 7-segment LED  (PBIU CS3)
944 0xfe850000 - 0xfe850fff    Right 7-segment LED (PBIU CS2)
945 0xfe8d0000 - 0xfe8d0fff    Rotary Switch       (PBIU CS4)
946 0xfe8f0000 - 0xfe8f0fff    Baterry Status      (PBIU CS5)
947 0xfff00000 - 0xffffffff    Verde Memory mapped Registers
948
949
950 Default Virtual Map      X C B  Description
951 -----------------------  - - -  ----------------------------------
952 0x00000000 - 0x1fffffff  1 1 1  SDRAM
953 0x20000000 - 0x9fffffff  0 0 0  ATU Outbound Direct Window
954 0xa0000000 - 0xb00fffff  0 0 0  ATU Outbound Translate Windows
955 0xc0000000 - 0xdfffffff  0 0 0  Uncached alias for SDRAM
956 0xe0000000 - 0xe00fffff  1 1 1  Cache flush region (no phys mem)
957 0xf0000000 - 0xf0800000  0 1 0  FLASH               (PBIU CS0)
958 0xfe800000 - 0xfe800fff  0 0 0  UART                (PBIU CS1)
959 0xfe840000 - 0xfe840fff  0 0 0  Left 7-segment LED  (PBIU CS3)
960 0xfe850000 - 0xfe850fff  0 0 0  Right 7-segment LED (PBIU CS2)
961 0xfe8d0000 - 0xfe8d0fff  0 0 0  Rotary Switch       (PBIU CS4)
962 0xfe8f0000 - 0xfe8f0fff  0 0 0  Baterry Status      (PBIU CS5)
963 0xfff00000 - 0xffffffff  0 0 0  Verde Memory mapped Registers
964
965 Alternate Virtual Map    X C B  Description
966 -----------------------  - - -  ----------------------------------
967 0x00000000 - 0x000fffff  1 1 1  Alias for 1st MB of SDRAM
968 0x00100000 - 0x7fffffff  0 0 0  ATU Outbound Direct Window
969 0x80000000 - 0x900fffff  0 0 0  ATU Outbound Translate Windows
970 0xa0000000 - 0xbfffffff  1 1 1  SDRAM
971 0xc0000000 - 0xdfffffff  0 0 0  Uncached alias for SDRAM
972 0xe0000000 - 0xe00fffff  1 1 1  Cache flush region (no phys mem)
973 0xf0000000 - 0xf0800000  0 1 0  FLASH               (PBIU CS0)
974 0xfe800000 - 0xfe800fff  0 0 0  UART                (PBIU CS1)
975 0xfe840000 - 0xfe840fff  0 0 0  Left 7-segment LED  (PBIU CS3)
976 0xfe850000 - 0xfe850fff  0 0 0  Right 7-segment LED (PBIU CS2)
977 0xfe8d0000 - 0xfe8d0fff  0 0 0  Rotary Switch       (PBIU CS4)
978 0xfe8f0000 - 0xfe8f0fff  0 0 0  Baterry Status      (PBIU CS5)
979 0xfff00000 - 0xffffffff  0 0 0  Verde Memory mapped Registers&#13;</PRE
980 ></TD
981 ></TR
982 ></TABLE
983 ></P
984 ></DIV
985 ><DIV
986 CLASS="SECT2"
987 ><H2
988 CLASS="SECT2"
989 ><A
990 NAME="AEN6442">Platform Resource Usage</H2
991 ><P
992 >The Verde programmable timer0 is used for timeout support
993 for networking and XModem file transfers.</P
994 ></DIV
995 ></DIV
996 ><DIV
997 CLASS="NAVFOOTER"
998 ><HR
999 ALIGN="LEFT"
1000 WIDTH="100%"><TABLE
1001 SUMMARY="Footer navigation table"
1002 WIDTH="100%"
1003 BORDER="0"
1004 CELLPADDING="0"
1005 CELLSPACING="0"
1006 ><TR
1007 ><TD
1008 WIDTH="33%"
1009 ALIGN="left"
1010 VALIGN="top"
1011 ><A
1012 HREF="iq80310.html"
1013 ACCESSKEY="P"
1014 >Prev</A
1015 ></TD
1016 ><TD
1017 WIDTH="34%"
1018 ALIGN="center"
1019 VALIGN="top"
1020 ><A
1021 HREF="ecos-ref.html"
1022 ACCESSKEY="H"
1023 >Home</A
1024 ></TD
1025 ><TD
1026 WIDTH="33%"
1027 ALIGN="right"
1028 VALIGN="top"
1029 ><A
1030 HREF="calmrisc16.html"
1031 ACCESSKEY="N"
1032 >Next</A
1033 ></TD
1034 ></TR
1035 ><TR
1036 ><TD
1037 WIDTH="33%"
1038 ALIGN="left"
1039 VALIGN="top"
1040 >ARM/Xscale Cyclone IQ80310</TD
1041 ><TD
1042 WIDTH="34%"
1043 ALIGN="center"
1044 VALIGN="top"
1045 ><A
1046 HREF="installation-and-testing.html"
1047 ACCESSKEY="U"
1048 >Up</A
1049 ></TD
1050 ><TD
1051 WIDTH="33%"
1052 ALIGN="right"
1053 VALIGN="top"
1054 >CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</TD
1055 ></TR
1056 ></TABLE
1057 ></DIV
1058 ></BODY
1059 ></HTML
1060 >