1 | This should run on Motorola MVME230x boards, where x is 5, 6, 7, |
---|
2 | or 8 designating 16, 32, 64, or 128 MB of DRAM. It should also |
---|
3 | work on MVME230x where x is 1, 2, 3, or 4 which is the same board |
---|
4 | using a '603 instead of a '604 processor. RTEMS_CPU_MODEL would |
---|
5 | need to change in make/custom/mvme2307.cfg. |
---|
6 | |
---|
7 | Application is linked to run from RAM. If running from ROM, it |
---|
8 | will copy itself to RAM (0x4000) when it boots. PPCBUG should |
---|
9 | be used to load a binary image from the TFTP host into location |
---|
10 | 0x4000, with an entry point at 0x401c. PPCBUG can be set to |
---|
11 | autoboot the application from ROM. PPCBUG does all of the low |
---|
12 | level setup of memory controllers and such on the board before |
---|
13 | jumping into the RTEMS application. |
---|
14 | |
---|
15 | TODO: Data cache is not enabled. This BSP should probably |
---|
16 | be part of the MCP750 BSP as much of the hardware here is |
---|
17 | also on the MCP750 board. The dec21140 driver here is derived |
---|
18 | from an early version from the MCP750 BSP, but has been |
---|
19 | rewritten to use scatter/gather DMA and interrupts rather than |
---|
20 | CPU copies and polling. This should be considered for merging |
---|
21 | into to the MCP750 BSP. The interrupt conroller code needs to |
---|
22 | be better integrated into RTEMS calls like the MCP750. The |
---|
23 | BSP should probably be renamed to mvme230x. |
---|
24 | |
---|
25 | ---------------------------------------------------------------------------- |
---|
26 | |
---|
27 | Building and loading an application: |
---|
28 | |
---|
29 | =============== (host) ======================================= |
---|
30 | % make |
---|
31 | % powerpc-rtems-objcopy --output-target=binary hello.exe /tftpboot/hello.bin |
---|
32 | |
---|
33 | =============== (target - run from RAM) ====================== |
---|
34 | PPC1-Bug>niop |
---|
35 | Controller LUN =00? |
---|
36 | Device LUN =00? |
---|
37 | Get/Put =G? |
---|
38 | File Name =? hello.bin |
---|
39 | Memory Address =00004000? |
---|
40 | Length =00000000? |
---|
41 | Byte Offset =00000000? |
---|
42 | |
---|
43 | Bytes Received =&140780, Bytes Loaded =&140780 |
---|
44 | Bytes/Second =&140780, Elapsed Time =1 Second(s) |
---|
45 | PPC1-Bug>go 401c |
---|
46 | Effective address: 0000401C |
---|
47 | |
---|
48 | |
---|
49 | *** HELLO WORLD TEST *** |
---|
50 | Hello World |
---|
51 | *** END OF HELLO WORLD TEST *** |
---|
52 | PPC1-Bug> |
---|
53 | |
---|
54 | =============== (target - run from ROM) ====================== |
---|
55 | |
---|
56 | PPC1-Bug>niop |
---|
57 | Controller LUN =00? |
---|
58 | Device LUN =00? |
---|
59 | Get/Put =G? |
---|
60 | File Name =? hello.bin |
---|
61 | Memory Address =00004000? |
---|
62 | Length =00000000? |
---|
63 | Byte Offset =00000000? |
---|
64 | |
---|
65 | Bytes Received =&140780, Bytes Loaded =&140780 |
---|
66 | Bytes/Second =&140780, Elapsed Time =1 Second(s) |
---|
67 | |
---|
68 | PPC1-Bug>pflash 4000:28000 ff000000 |
---|
69 | Source Starting/Ending Addresses =00004000/0002BFFF |
---|
70 | Destination Starting/Ending Addresses =FF000000/FF027FFF |
---|
71 | Number of Effective Bytes =00028000 (&163840) |
---|
72 | |
---|
73 | Program FLASH Memory (Y/N)? y |
---|
74 | FLASH Memory Programming Complete |
---|
75 | |
---|
76 | (reset to boot into application) |
---|
77 | |
---|
78 | ---------------------------------------------------------------------------- |
---|
79 | |
---|
80 | memory map: |
---|
81 | 0x00000000 - 0x03ffffff RAM |
---|
82 | 0x80000000 - 0xbf7fffff PCI I/O space |
---|
83 | 0xc0000000 - 0xfcffffff PCI memory space |
---|
84 | 0xfd000000 - 0xfdffffff PCI memory space |
---|
85 | 0xfe000000 - 0xfe7fffff PCI I/O space |
---|
86 | 0xfef80000 - 0xfef8ffff Falcon registers |
---|
87 | 0xfeff0000 - 0xfeffffff Raven registers |
---|
88 | 0xff000000 - 0xff3fffff ROM bank A - application |
---|
89 | 0xff800000 - 0xff8fffff ROM bank B - PPCBUG |
---|
90 | 0xfff00000 - 0xffffffff ROM bank A or B |
---|
91 | |
---|
92 | ---------------------------------------------------------------------------- |
---|
93 | Use the PPCBUG "env" command to configure the board: |
---|
94 | |
---|
95 | PPC1-Bug>env |
---|
96 | Bug or System environment [B/S] = B? |
---|
97 | Field Service Menu Enable [Y/N] = N? |
---|
98 | Remote Start Method Switch [G/M/B/N] = B? |
---|
99 | Probe System for Supported I/O Controllers [Y/N] = Y? |
---|
100 | Auto-Initialize of NVRAM Header Enable [Y/N] = Y? |
---|
101 | Network PReP-Boot Mode Enable [Y/N] = N? |
---|
102 | Negate VMEbus SYSFAIL* Always [Y/N] = N? |
---|
103 | SCSI Bus Reset on Debugger Startup [Y/N] = N? |
---|
104 | Primary SCSI Bus Negotiations Type [A/S/N] = A? |
---|
105 | Primary SCSI Data Bus Width [W/N] = N? |
---|
106 | Secondary SCSI Identifier = "07"? |
---|
107 | NVRAM Bootlist (GEV.fw-boot-path) Boot Enable [Y/N] = N? |
---|
108 | NVRAM Bootlist (GEV.fw-boot-path) Boot at power-up only [Y/N] = N? |
---|
109 | NVRAM Bootlist (GEV.fw-boot-path) Boot Abort Delay = 5? |
---|
110 | Auto Boot Enable [Y/N] = N? |
---|
111 | Auto Boot at power-up only [Y/N] = N? |
---|
112 | Auto Boot Scan Enable [Y/N] = N? |
---|
113 | Auto Boot Scan Device Type List = FDISK/CDROM/TAPE/HDISK/? |
---|
114 | Auto Boot Controller LUN = 00? |
---|
115 | Auto Boot Device LUN = 00? |
---|
116 | Auto Boot Partition Number = 00? |
---|
117 | Auto Boot Abort Delay = 7? |
---|
118 | Auto Boot Default String [NULL for an empty string] = ? |
---|
119 | ROM Boot Enable [Y/N] = Y? |
---|
120 | ROM Boot at power-up only [Y/N] = N? |
---|
121 | ROM Boot Enable search of VMEbus [Y/N] = N? |
---|
122 | ROM Boot Abort Delay = 5? |
---|
123 | ROM Boot Direct Starting Address = FF000000? |
---|
124 | ROM Boot Direct Ending Address = FF3FFFFF? |
---|
125 | Network Auto Boot Enable [Y/N] = N? |
---|
126 | Network Auto Boot at power-up only [Y/N] = N? |
---|
127 | Network Auto Boot Controller LUN = 00? |
---|
128 | Network Auto Boot Device LUN = 00? |
---|
129 | Network Auto Boot Abort Delay = 5? |
---|
130 | Network Auto Boot Configuration Parameters Offset (NVRAM) = 00001000? |
---|
131 | Memory Size Enable [Y/N] = Y? |
---|
132 | Memory Size Starting Address = 00000000? |
---|
133 | Memory Size Ending Address = 02000000? |
---|
134 | DRAM Speed in NANO Seconds = 60? |
---|
135 | ROM First Access Length (0 - 31) = 10? |
---|
136 | ROM Next Access Length (0 - 15) = 0? |
---|
137 | DRAM Parity Enable [On-Detection/Always/Never - O/A/N] = O? |
---|
138 | L2Cache Parity Enable [On-Detection/Always/Never - O/A/N] = O? |
---|
139 | PCI Interrupts Route Control Registers (PIRQ0/1/2/3) = 0A0B0E0F? |
---|
140 | Serial Startup Code Master Enable [Y/N] = N? |
---|
141 | Serial Startup Code LF Enable [Y/N] = N? |
---|
142 | VME3PCI Master Master Enable [Y/N] = Y? |
---|
143 | PCI Slave Image 0 Control = 00000000? |
---|
144 | PCI Slave Image 0 Base Address Register = 00000000? |
---|
145 | PCI Slave Image 0 Bound Address Register = 00000000? |
---|
146 | PCI Slave Image 0 Translation Offset = 00000000? |
---|
147 | PCI Slave Image 1 Control = C0820000? |
---|
148 | PCI Slave Image 1 Base Address Register = 01000000? |
---|
149 | PCI Slave Image 1 Bound Address Register = 20000000? |
---|
150 | PCI Slave Image 1 Translation Offset = 00000000? |
---|
151 | PCI Slave Image 2 Control = C0410000? |
---|
152 | PCI Slave Image 2 Base Address Register = 20000000? |
---|
153 | PCI Slave Image 2 Bound Address Register = 22000000? |
---|
154 | PCI Slave Image 2 Translation Offset = D0000000? |
---|
155 | PCI Slave Image 3 Control = C0400000? |
---|
156 | PCI Slave Image 3 Base Address Register = 2FFF0000? |
---|
157 | PCI Slave Image 3 Bound Address Register = 30000000? |
---|
158 | PCI Slave Image 3 Translation Offset = D0000000? |
---|
159 | VMEbus Slave Image 0 Control = E0F20000? |
---|
160 | VMEbus Slave Image 0 Base Address Register = 00000000? |
---|
161 | VMEbus Slave Image 0 Bound Address Register = 02000000? |
---|
162 | VMEbus Slave Image 0 Translation Offset = 80000000? |
---|
163 | VMEbus Slave Image 1 Control = 00000000? |
---|
164 | VMEbus Slave Image 1 Base Address Register = 00000000? |
---|
165 | VMEbus Slave Image 1 Bound Address Register = 00000000? |
---|
166 | VMEbus Slave Image 1 Translation Offset = 00000000? |
---|
167 | VMEbus Slave Image 2 Control = 00000000? |
---|
168 | VMEbus Slave Image 2 Base Address Register = 00000000? |
---|
169 | VMEbus Slave Image 2 Bound Address Register = 00000000? |
---|
170 | VMEbus Slave Image 2 Translation Offset = 00000000? |
---|
171 | VMEbus Slave Image 3 Control = 00000000? |
---|
172 | VMEbus Slave Image 3 Base Address Register = 00000000? |
---|
173 | VMEbus Slave Image 3 Bound Address Register = 00000000? |
---|
174 | VMEbus Slave Image 3 Translation Offset = 00000000? |
---|
175 | PCI Miscellaneous Register = 10000000? |
---|
176 | Special PCI Slave Image Register = 00000000? |
---|
177 | Master Control Register = 80C00000? |
---|
178 | Miscellaneous Control Register = 52060000? |
---|
179 | User AM Codes |
---|
180 | |
---|