]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/cygmon/v2_0/misc/Notes_CygMon_PID
Initial revision
[karo-tx-redboot.git] / packages / cygmon / v2_0 / misc / Notes_CygMon_PID
1 ===========================================================================
2 #####ECOSGPLCOPYRIGHTBEGIN####
3 ## -------------------------------------------
4 ## This file is part of eCos, the Embedded Configurable Operating System.
5 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
6 ##
7 ## eCos is free software; you can redistribute it and/or modify it under
8 ## the terms of the GNU General Public License as published by the Free
9 ## Software Foundation; either version 2 or (at your option) any later version.
10 ##
11 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
12 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 ## for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License along
17 ## with eCos; if not, write to the Free Software Foundation, Inc.,
18 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
19 ##
20 ## As a special exception, if other files instantiate templates or use macros
21 ## or inline functions from this file, or you compile this file and link it
22 ## with other works to produce a work based on this file, this file does not
23 ## by itself cause the resulting work to be covered by the GNU General Public
24 ## License. However the source code for this file must still be made available
25 ## in accordance with section (3) of the GNU General Public License.
26 ##
27 ## This exception does not invalidate any other reasons why a work based on
28 ## this file might be covered by the GNU General Public License.
29 ##
30 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
31 ## at http://sources.redhat.com/ecos/ecos-license/
32 ## -------------------------------------------
33 #####ECOSGPLCOPYRIGHTEND####
34 ===========================================================================
35
36 28 Jan 2000
37
38 How to build and install CygMon on the PID
39
40 Make CygMon image
41 ~~~~~~~~~~~~~~~~~
42
43 Configure and build using the 'cygmon' template for the PID
44 target. These are the necessary CLI instructions. It can also be done
45 from the Configtool by selecting the appropriate templates.
46
47  % cd /tmp
48  % mkdir cygmon
49  % cd cygmon
50  % ecosconfig new pid cygmon
51  % ecosconfig tree
52  % make
53
54 This will install some files in ./install/bin:
55
56  cygmon.elf:   The built CygMon image
57  cygmon.bin:   The image converted to binary (suitable for burning to ROM)
58  cygmon.img:   The relocated ELF image (suitable for FLASH writing, see below)
59  cygmon.srec:  The image converted to srecords
60
61 Make FLASH tool
62 ~~~~~~~~~~~~~~~
63
64 Again, these are the necessary CLI instructions. It can also be done
65 from the Configtool by selecting the appropriate templates, and
66 enabling the option.
67
68  % cd /tmp
69  % mkdir pid-flash
70  % cd pid-flash
71  % ecosconfig new pid
72  % <edit ecos.ecc, enabling the CYGBLD_BUILD_FLASH_TOOL option:>
73       --- ecos.ecc.orig       Fri Jan 28 11:21:43 2000
74       +++ ecos.ecc            Fri Jan 28 11:22:01 2000
75       @@ -150,7 +150,7 @@
76        cdl_option CYGBLD_BUILD_FLASH_TOOL {
77            # Flavor: bool
78            # No user value, uncomment the following line to provide one.
79       -    # user_value 0
80       +    user_value 1
81            # value_source default
82            # Default value: 0
83            # Requires:  CYG_HAL_STARTUP == "RAM" 
84  % ecosconfig resolve
85  % ecosconfig tree
86  % make
87
88 The flash tool is installed in ./install/bin
89
90 Prepare board for CygMon
91 ~~~~~~~~~~~~~~~~~~~~~~~~
92  1. Set jumper 7-8 on LK6   [using the Angle code in the 16 bit EPROM]
93  2. Set jumper 5-6 on LK6   [select 8bit ROM mode]
94  3. Set jumper LK18         [ROM remap - this is also required for eCos]
95  4. Set S1 to 0-0-1-1       [20MHz operation]
96
97
98 Program FLASH
99 ~~~~~~~~~~~~~
100  1. Download the CygMon relocated image onto the PID board:
101       % cd /tmp
102       % arm-elf-gdb -nw cygmon/install/bin/cygmon.img
103
104         (gdb) target rdi s=<serial device>
105         Angel Debug Monitor V1.04 (Advanced RISC Machines SDT 2.11a) for PID
106         Built with Serial(x1), Parallel, DCC
107         Rebuilt on Apr  7 1998 at 22:20:43
108         Serial Rate:   9600
109         Connected to ARM RDI target.
110         (gdb) load
111         Loading section .rom_vectors, size 0x60 lma 0x60000
112         Loading section .text, size 0xeea8 lma 0x60060
113         Loading section .rodata, size 0x304c lma 0x6ef08
114         Loading section .data, size 0x7f8 lma 0x71f54
115         Start address 0x60060 , load size 75596
116         Transfer rate: 5548 bits/sec.
117         (gdb) quit
118
119    This will download the stubs onto the board at 0x60000..0x80000
120
121    Use /dev/ttyS0, COM1 or similar for the <serial device> name.
122
123  2. Now download the FLASH programmer tool
124       % arm-elf-gdb -nw pid-flash/install/bin/prog_flash.img
125
126         (gdb) target rdi s=<serial device>
127         Angel Debug Monitor V1.04 (Advanced RISC Machines SDT 2.11a) for PID
128         Built with Serial(x1), Parallel, DCC
129         Rebuilt on Apr  7 1998 at 22:20:43
130         Serial Rate:   9600
131         Connected to ARM RDI target.
132         (gdb) load
133         Loading section .rom_vectors, size 0x60 lma 0x4000
134         Loading section .text, size 0x4964 lma 0x4060
135         Loading section .rodata, size 0x384 lma 0x89c4
136         Loading section .data, size 0x28c lma 0x8d48
137         Start address 0x4060 , load size 20436
138         Transfer rate: 5449 bits/sec.
139         (gdb) cont
140
141  3. The FLASH tool will output some text on the board serial port B at
142     38400 baud:
143
144        ARM eCos
145        FLASH here!
146        manuf: 8, device: 40
147        Error: Wrong Manufaturer: 08
148        ... Please change FLASH jumper
149
150  4. This text is repeated until you remove the jumper 7-8 on LK6. Then
151     the output should be:
152
153        manuf: 1F, device: A4
154        AT29C040A recognised
155        About to program FLASH using data at 60000..80000
156        *** Press RESET now to abort!
157     
158  5. You have about 10 seconds to abort the operation by pressing
159     reset. After this timeout, the FLASH programming happens:
160   
161       ...Programming FLASH
162       All done!
163
164  6. Quit/kill the GDB process which will hang.
165
166  7. Next time you reset the board, CygMon will be in control, communicating
167     on serial port A at 38400 baud. See documentation for further details
168     on how to connect with GDB.