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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [user-guide/] [setup-arm-ep7211.html] - Blame information for rev 578

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
>Cirrus Logic ARM EP7211 Development
13
Board Hardware Setup</TITLE
14
><meta name="MSSmartTagsPreventParsing" content="TRUE">
15
<META
16
NAME="GENERATOR"
17
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
18
"><LINK
19
REL="HOME"
20
TITLE="eCos User Guide"
21
HREF="ecos-user-guide.html"><LINK
22
REL="UP"
23
TITLE="Target Setup"
24
HREF="appendix-target-setup.html"><LINK
25
REL="PREVIOUS"
26
TITLE="ARM Cogent CMA230 Hardware Setup"
27
HREF="setup-arm-cma230.html"><LINK
28
REL="NEXT"
29
TITLE="Cirrus Logic ARM EP7212 Development Board
30
Hardware Setup"
31
HREF="setup-arm-ep7212.html"></HEAD
32
><BODY
33
CLASS="SECT1"
34
BGCOLOR="#FFFFFF"
35
TEXT="#000000"
36
LINK="#0000FF"
37
VLINK="#840084"
38
ALINK="#0000FF"
39
><DIV
40
CLASS="NAVHEADER"
41
><TABLE
42
SUMMARY="Header navigation table"
43
WIDTH="100%"
44
BORDER="0"
45
CELLPADDING="0"
46
CELLSPACING="0"
47
><TR
48
><TH
49
COLSPAN="3"
50
ALIGN="center"
51
>eCos User Guide</TH
52
></TR
53
><TR
54
><TD
55
WIDTH="10%"
56
ALIGN="left"
57
VALIGN="bottom"
58
><A
59
HREF="setup-arm-cma230.html"
60
ACCESSKEY="P"
61
>Prev</A
62
></TD
63
><TD
64
WIDTH="80%"
65
ALIGN="center"
66
VALIGN="bottom"
67
>Appendix A. Target Setup</TD
68
><TD
69
WIDTH="10%"
70
ALIGN="right"
71
VALIGN="bottom"
72
><A
73
HREF="setup-arm-ep7212.html"
74
ACCESSKEY="N"
75
>Next</A
76
></TD
77
></TR
78
></TABLE
79
><HR
80
ALIGN="LEFT"
81
WIDTH="100%"></DIV
82
><DIV
83
CLASS="SECT1"
84
><H1
85
CLASS="SECT1"
86
><A
87
NAME="SETUP-ARM-EP7211">Cirrus Logic ARM EP7211 Development
88
Board Hardware Setup</H1
89
><P
90
>eCos comes with two Flash ROM images that provide GDB support
91
for the Cirrus Logic EP7211 Development Board (also known as the
92
EDB7211).. Note that on some board revisions, the board is silk-screened
93
as EDB7111-2. The first Flash ROM image provides a port of the CygMon
94
ROM monitor, which includes a command-line interface and a GDB remote
95
stub. The second Flash ROM image provides a remote GDB stub only.</P
96
><P
97
>Both ROM images are provided in the directory loaders/arm-edb7211
98
under the root of your eCos installation. CygMon images are prefixed
99
with the name 'edb7211_cygmon' and are
100
provided in a number of formats including binary (.bin extension)
101
and SREC (.srec) extension. GDB stub ROM images are given the prefix 'edb7211_gdb_module'. </P
102
><P
103
>The ROM images provided for the EP7211 Development Board must
104
be programmed into the FLASH. Please refer to the section titled
105
"Loading the ROM image into On-Board flash" on how to program the
106
ROM onto the board.</P
107
><P
108
>Both Cygmon and GDB Stub ROMS allow communication with GDB
109
via the serial connector labelled 'UART 1'. The
110
communication parameters are fixed at 38400 baud, 8 data bits, no
111
parity bit and 1 stop bit (8-N-1). No flow control is employed.
112
Connection to the host computer should be made using a null modem cable.
113
A gender changer may also be required. Note that the GDB Configuration tool
114
uses the serial port identifiers 0 and 1 to identify the EB7211
115
serial ports UART1 and UART2 respectively.</P
116
><P
117
>Both eCos and the ROM images assume the core clock is generated
118
with a 3.6864 MHz PLL input. The CPU will be configured to run at
119
73.728MHz.</P
120
><P
121
>Note: The EP7211 CPU needs a two step RESET process. After
122
pressing the &grave;URESET' pushbutton, the &grave;WAKEUP' pushbutton
123
must be pressed to complete the process.</P
124
><DIV
125
CLASS="NOTE"
126
><BLOCKQUOTE
127
CLASS="NOTE"
128
><P
129
><B
130
>Note: </B
131
>When an eCos program is run on an EDB7211 board fitted with
132
either CygMon or a GDB stub ROM, then the code in ROM loses control.
133
This means that if you require the ability to remotely stop execution
134
on the target, or want thread debugging capabilities, you must include
135
GDB stub support when configuring eCos.</P
136
></BLOCKQUOTE
137
></DIV
138
><DIV
139
CLASS="SECT2"
140
><H2
141
CLASS="SECT2"
142
><A
143
NAME="AEN3826">Building programs for programming into FLASH</H2
144
><P
145
>If your application is to be run directly from FLASH, you
146
must configure eCos appropriately for "ROM" startup. This can be
147
done in the <SPAN
148
CLASS="emphasis"
149
><I
150
CLASS="EMPHASIS"
151
>eCos Configuration Tool</I
152
></SPAN
153
> by setting
154
the "Startup type" HAL option to "ROM". If using the ecosconfig utility,
155
set the user_value of the CYG_HAL_STARTUP
156
option in ecos.ecc to "ROM".</P
157
><P
158
>When you have linked your application with eCos, you will
159
then have an ELF executable. To convert this into a format appropriate
160
for the Cirrus Logic FLASH download utility, or the dl_7xxx
161
utility on Linux, you can use the utility arm-elf-objcopy, as in
162
the following example:</P
163
><TABLE
164
BORDER="5"
165
BGCOLOR="#E0E0F0"
166
WIDTH="70%"
167
><TR
168
><TD
169
><PRE
170
CLASS="PROGRAMLISTING"
171
>$ arm-elf-objcopy -O binary helloworld.exe helloworld.bin</PRE
172
></TD
173
></TR
174
></TABLE
175
><P
176
>This will produce a binary format image helloworld.bin which
177
can be downloaded into FLASH.</P
178
></DIV
179
><DIV
180
CLASS="SECT2"
181
><H2
182
CLASS="SECT2"
183
><A
184
NAME="AEN3833">Building the GDB Stub FLASH ROM images</H2
185
><P
186
>Pre-built GDB stubs images are provided in the directory loaders/arm-edb7211 relative
187
to the root of your eCos installation, but here are instructions
188
on how to rebuild them if you should ever need to.</P
189
><P
190
>CygMon images are prefixed with the name 'cygmon' and
191
GDB stub ROM images are given the prefix 'gdb_module'.
192
Images may be provided in a number of formats including ELF (.img
193
extension), binary (.bin extension) and SREC (.srec extension). </P
194
></DIV
195
><DIV
196
CLASS="SECT2"
197
><H2
198
CLASS="SECT2"
199
><A
200
NAME="AEN3837">Building the ROM images with the eCos Configuration Tool</H2
201
><P
202
></P
203
><OL
204
TYPE="1"
205
><LI
206
><P
207
>Start with a new document - selecting the
208
<SPAN
209
CLASS="emphasis"
210
><I
211
CLASS="EMPHASIS"
212
>File</I
213
></SPAN
214
>-&#62;<SPAN
215
CLASS="emphasis"
216
><I
217
CLASS="EMPHASIS"
218
>New</I
219
></SPAN
220
>
221
 menu item if necessary to do this.</P
222
></LI
223
><LI
224
><P
225
>Choose the
226
<SPAN
227
CLASS="emphasis"
228
><I
229
CLASS="EMPHASIS"
230
>Build</I
231
></SPAN
232
>-&#62;<SPAN
233
CLASS="emphasis"
234
><I
235
CLASS="EMPHASIS"
236
>Templates</I
237
></SPAN
238
>
239
 menu item, and then select the "Cirrus Logic development board"
240
hardware.</P
241
></LI
242
><LI
243
><P
244
>While still displaying the
245
<SPAN
246
CLASS="emphasis"
247
><I
248
CLASS="EMPHASIS"
249
>Build</I
250
></SPAN
251
>
252
-&#62;
253
<SPAN
254
CLASS="emphasis"
255
><I
256
CLASS="EMPHASIS"
257
>Templates</I
258
></SPAN
259
>
260
 dialog box, select either the "stubs" package template to build
261
a GDB stub image, or the "cygmon" template to build the CygMon ROM
262
Monitor. Click
263
<SPAN
264
CLASS="emphasis"
265
><I
266
CLASS="EMPHASIS"
267
>OK</I
268
></SPAN
269
>.</P
270
></LI
271
><LI
272
><P
273
>Build eCos using
274
<SPAN
275
CLASS="emphasis"
276
><I
277
CLASS="EMPHASIS"
278
>Build</I
279
></SPAN
280
>
281
-&#62;
282
<SPAN
283
CLASS="emphasis"
284
><I
285
CLASS="EMPHASIS"
286
>Library</I
287
></SPAN
288
></P
289
></LI
290
><LI
291
><P
292
>When the build completes, the image files can be found
293
in the bin/ subdirectory of the install tree. GDB stub
294
ROM images have the prefix "gdb_module". CygMon images
295
have the prefix "cygmon".</P
296
></LI
297
></OL
298
></DIV
299
><DIV
300
CLASS="SECT2"
301
><H2
302
CLASS="SECT2"
303
><A
304
NAME="AEN3859">Building the ROM images with ecosconfig</H2
305
><P
306
></P
307
><OL
308
TYPE="1"
309
><LI
310
><P
311
>Make an empty directory to contain the build tree,
312
and cd into it.</P
313
></LI
314
><LI
315
><P
316
>To build a GDB stub ROM image, enter the command:</P
317
><TABLE
318
BORDER="5"
319
BGCOLOR="#E0E0F0"
320
WIDTH="70%"
321
><TR
322
><TD
323
><PRE
324
CLASS="PROGRAMLISTING"
325
>$ ecosconfig new edb7xxx stubs</PRE
326
></TD
327
></TR
328
></TABLE
329
><P
330
>or to build a CygMon ROM monitor image, enter the command:</P
331
><TABLE
332
BORDER="5"
333
BGCOLOR="#E0E0F0"
334
WIDTH="70%"
335
><TR
336
><TD
337
><PRE
338
CLASS="PROGRAMLISTING"
339
>$ ecosconfig new edb7xxx cygmon</PRE
340
></TD
341
></TR
342
></TABLE
343
></LI
344
><LI
345
><P
346
>Enter the commands:</P
347
><TABLE
348
BORDER="5"
349
BGCOLOR="#E0E0F0"
350
WIDTH="70%"
351
><TR
352
><TD
353
><PRE
354
CLASS="PROGRAMLISTING"
355
>$ ecosconfig tree
356
$ make</PRE
357
></TD
358
></TR
359
></TABLE
360
></LI
361
><LI
362
><P
363
>When the build completes, the image files can be found
364
in the bin/ subdirectory of the install tree. GDB stub
365
ROM images have the prefix "gdb_module". CygMon images
366
have the prefix "cygmon".</P
367
></LI
368
></OL
369
></DIV
370
><DIV
371
CLASS="SECT2"
372
><H2
373
CLASS="SECT2"
374
><A
375
NAME="AEN3874">Loading the ROM Image into On-board Flash</H2
376
><P
377
>Program images can be written into Flash memory by means of
378
a bootstrap program which is built into the  EDB7211.  This program
379
communicates with a support program on your host to download and
380
program an image into the Flash memory.</P
381
><P
382
>Cirrus Logic provides such a program for use with Windows/DOS.
383
 eCos comes with a similar program which will run under Linux. The
384
basic operation of both programs is the same.</P
385
><P
386
></P
387
><OL
388
TYPE="1"
389
><LI
390
><P
391
>Connect a serial line to 'UART 1'.</P
392
></LI
393
><LI
394
><P
395
>Power off the  EDB7211.</P
396
></LI
397
><LI
398
><P
399
>Install jumper 'PROGRAM ENABLE' which
400
enables this special mode for downloading Flash images. Note that
401
some board revisions have this jumper labelled &#8220;BOOT ENABLE&#8221;.</P
402
></LI
403
><LI
404
><P
405
>Power on the  EDB7211.</P
406
></LI
407
><LI
408
><P
409
>Execute the Flash writing program on your host.  On Linux,
410
this would be:</P
411
><TABLE
412
BORDER="5"
413
BGCOLOR="#E0E0F0"
414
WIDTH="70%"
415
><TR
416
><TD
417
><PRE
418
CLASS="PROGRAMLISTING"
419
>     # dl_edb7xxx &lt;PATH&#62;/gdb_module.bin</PRE
420
></TD
421
></TR
422
></TABLE
423
><P
424
>where '&lt;PATH&#62;' is the path to
425
the binary format version of the ROM image you wish to load, either
426
as built in the previous section or the "loaders/arm-edb7211/" subdirectory
427
of your eCos installation. The download tool defaults to 38400 baud and
428
device /dev/ttyS1 for communication. To change
429
these, specify them as parameters, e.g.
430
              </P
431
><TABLE
432
BORDER="5"
433
BGCOLOR="#E0E0F0"
434
WIDTH="70%"
435
><TR
436
><TD
437
><PRE
438
CLASS="PROGRAMLISTING"
439
># dl_edb7xxx &lt;PATH&#62;/gdb_module.bin 9600 /dev/ttyS0</PRE
440
></TD
441
></TR
442
></TABLE
443
></LI
444
><LI
445
><P
446
>The download program will indicate that it is waiting
447
for the board to come alive.  At this point, press 'RESET' and
448
then 'WAKEUP' switches in order.  There should be
449
some indication of progress, first of the code being downloaded,
450
then of the programming process.</P
451
></LI
452
><LI
453
><P
454
>Upon completion of the programming, power off the  EDB7211.</P
455
></LI
456
><LI
457
><P
458
>Remove the 'PROGRAM ENABLE/BOOT ENABLE' jumper.</P
459
></LI
460
><LI
461
><P
462
>Power on the  EDB7211, press 'RESET' and 'WAKEUP'.
463
 The new ROM image should now be running on the board.</P
464
></LI
465
><LI
466
><P
467
>The GDB debugger will now be able to communicate with
468
the board to download and debug RAM based programs.
469
 
470
This procedure also applies for loading ROM-startup eCos programs
471
into the on-board FLASH memory, given a binary format image of the
472
program from arm-elf-objcopy.  Loading a ROM-startup eCos program
473
into Flash will overwrite the GDB Stub ROM/CygMon in Flash,
474
so you would have to reload the GDB Stub ROM/CygMon to
475
return to normal RAM-startup program development.</P
476
></LI
477
></OL
478
></DIV
479
><DIV
480
CLASS="SECT2"
481
><H2
482
CLASS="SECT2"
483
><A
484
NAME="AEN3902">Building the Flash Downloader on Linux</H2
485
><P
486
>eCos provides a Flash download program suitable for use with
487
the  EP7211 Development Board which will run on Linux.  Follow these
488
steps to build this program.  Note: at the time of the writing of
489
these instructions, the download program is built directly within
490
the eCos source repository since it is
491
not configuration specific.</P
492
><TABLE
493
BORDER="5"
494
BGCOLOR="#E0E0F0"
495
WIDTH="70%"
496
><TR
497
><TD
498
><PRE
499
CLASS="PROGRAMLISTING"
500
>  # cd &lt;eCos install dir&#62;/packages/hal/arm/edb7xxx/<TT
501
CLASS="REPLACEABLE"
502
><I
503
>&#60;version&#62;</I
504
></TT
505
>/support</PRE
506
></TD
507
></TR
508
></TABLE
509
><TABLE
510
BORDER="5"
511
BGCOLOR="#E0E0F0"
512
WIDTH="70%"
513
><TR
514
><TD
515
><PRE
516
CLASS="PROGRAMLISTING"
517
>  # make</PRE
518
></TD
519
></TR
520
></TABLE
521
><P
522
>(where '# ' is your shell prompt)</P
523
><P
524
>Note: this program was adapted from the Cirrus Logic original
525
DOS program and still contains some vestiges of that environment.</P
526
></DIV
527
><DIV
528
CLASS="SECT2"
529
><H2
530
CLASS="SECT2"
531
><A
532
NAME="AEN3910">Developing eCos Programs with the ARM Multi-ICE</H2
533
><P
534
>The EP7211 Development Board supports use of the ARM
535
            Multi-processor EmbeddedICE(tm), also known as the
536
            Multi-ICE. Full instructions on how to install and use the
537
            Multi-ICE in conjunction with GDB are provided in the
538
            <SPAN
539
CLASS="emphasis"
540
><I
541
CLASS="EMPHASIS"
542
>"GNUPro Toolkit Reference for eCos
543
              ARM/Thumb"</I
544
></SPAN
545
> manual. However, the following
546
            platform-specific details should be noted.</P
547
><P
548
>You will need an ARM Multi-ICE Server configuration
549
            file for the EP7211 Development Board. Here is a suggested
550
            configuration file to use:</P
551
><TABLE
552
BORDER="5"
553
BGCOLOR="#E0E0F0"
554
WIDTH="70%"
555
><TR
556
><TD
557
><PRE
558
CLASS="PROGRAMLISTING"
559
>======== File "720T.cfg" ========
560
;Total IR length = 4
561
[TITLE]
562
Multi-ICE configuration for EP7211
563
 
564
[TAP 0]
565
ARM720T
566
 
567
[TAPINFO]
568
YES
569
 
570
[Timing]
571
Low=0
572
High=0
573
Adaptive=OFF
574
==================================</PRE
575
></TD
576
></TR
577
></TABLE
578
><P
579
>You must ensure that the board has the appropriate soldered
580
connections. For the EP7211 this involves connecting TEST0 and TEST1
581
of the EP7211 to ground. To do this you must solder a wire from
582
ground at JP33 to TP8 and TP9.</P
583
><P
584
>With respect to using multiple devices simultaneously, note
585
that the EP7211 is not ID sensitive.</P
586
><P
587
>If you wish to view diagnostic output from your program that
588
was downloaded via the Multi-ICE, you will note that by default
589
the output on the serial line (as viewed by a terminal such as Hyperterm
590
in Windows, or cu in Unix) is in the form of GDB packets.</P
591
><P
592
>To get legible output, the solution is to set the "GDB Serial
593
port" to a different device from the "Diagnostic serial port", and
594
you should use the Diagnostic serial port to view the diagnostic
595
output.</P
596
><P
597
>Warning: The multi-ice-gdb-server will fail on startup if
598
the board has not been both reset and awakened before running the
599
server. </P
600
><P
601
>To resolve this, it is necessary to free up the connection
602
from within the ARM Multi-ICE server itself. However when this happens,
603
the next time you use GDB to load the program into the board, you
604
will see lots of "Readback did not match original data" messages
605
in the output of the multi-ice-gdb-server program. This indicates
606
your program did not load correctly, and you should restart the
607
multi-ice-gdb-server program, taking care to reset the board correctly
608
before reconnecting. </P
609
><P
610
>As a reminder, you must specify --config-dialog to the
611
            multi-ice-gdb-server program to connect to the board
612
            correctly. If you do not, the multi-ice-gdb-server program
613
            will not be able to connect.</P
614
></DIV
615
></DIV
616
><DIV
617
CLASS="NAVFOOTER"
618
><HR
619
ALIGN="LEFT"
620
WIDTH="100%"><TABLE
621
SUMMARY="Footer navigation table"
622
WIDTH="100%"
623
BORDER="0"
624
CELLPADDING="0"
625
CELLSPACING="0"
626
><TR
627
><TD
628
WIDTH="33%"
629
ALIGN="left"
630
VALIGN="top"
631
><A
632
HREF="setup-arm-cma230.html"
633
ACCESSKEY="P"
634
>Prev</A
635
></TD
636
><TD
637
WIDTH="34%"
638
ALIGN="center"
639
VALIGN="top"
640
><A
641
HREF="ecos-user-guide.html"
642
ACCESSKEY="H"
643
>Home</A
644
></TD
645
><TD
646
WIDTH="33%"
647
ALIGN="right"
648
VALIGN="top"
649
><A
650
HREF="setup-arm-ep7212.html"
651
ACCESSKEY="N"
652
>Next</A
653
></TD
654
></TR
655
><TR
656
><TD
657
WIDTH="33%"
658
ALIGN="left"
659
VALIGN="top"
660
>ARM Cogent CMA230 Hardware Setup</TD
661
><TD
662
WIDTH="34%"
663
ALIGN="center"
664
VALIGN="top"
665
><A
666
HREF="appendix-target-setup.html"
667
ACCESSKEY="U"
668
>Up</A
669
></TD
670
><TD
671
WIDTH="33%"
672
ALIGN="right"
673
VALIGN="top"
674
>Cirrus Logic ARM EP7212 Development Board
675
Hardware Setup</TD
676
></TR
677
></TABLE
678
></DIV
679
></BODY
680
></HTML
681
>

powered by: WebSVN 2.1.0

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