1 | # |
---|
2 | # $Id$ |
---|
3 | # |
---|
4 | |
---|
5 | This is a README file for the MBX860/MBX821 port of RTEMS 4.5.0 |
---|
6 | |
---|
7 | Please send any comments, improvements, or bug reports to: |
---|
8 | |
---|
9 | Charles-Antoine Gauthier |
---|
10 | charles.gauthier@nrc.ca |
---|
11 | |
---|
12 | or |
---|
13 | |
---|
14 | Darlene Stewart |
---|
15 | Darlene.Stewart@nrc.ca |
---|
16 | |
---|
17 | Software Engineering Group |
---|
18 | Institute for Information Technology |
---|
19 | National Research Council of Canada |
---|
20 | Ottawa, ON, K1A 0R6 |
---|
21 | Canada |
---|
22 | |
---|
23 | |
---|
24 | Disclaimer |
---|
25 | ---------- |
---|
26 | |
---|
27 | The National Research Council of Canada is distributing this RTEMS |
---|
28 | board support package for the Motorola MBX860 and MBX821 as free |
---|
29 | software; you can redistribute it and/or modify it under terms of |
---|
30 | the GNU General Public License as published by the Free Software |
---|
31 | Foundation; either version 2, or (at your option) any later version. |
---|
32 | This software is distributed in the hope that it will be useful, but |
---|
33 | WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
34 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
35 | General Public License for more details. You should have received a |
---|
36 | copy of the GNU General Public License along with RTEMS; see file |
---|
37 | COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, |
---|
38 | Cambridge, MA 02139, USA. |
---|
39 | |
---|
40 | Under no circumstances will the National Research Council of Canada |
---|
41 | nor Her Majesty the Queen in right of Canada assume any liablility |
---|
42 | for the use this software, nor any responsibility for its quality or |
---|
43 | its support. |
---|
44 | |
---|
45 | |
---|
46 | Summary |
---|
47 | ------- |
---|
48 | |
---|
49 | BSP NAME: mbx8xx |
---|
50 | BOARD: Motorola MBX860 and MBX821 Embedded Controllers |
---|
51 | BUS: No backplane. On-board ISA, PCI, PC/104 and PCMCIA. |
---|
52 | CPU FAMILY: PowerPC |
---|
53 | CPU: PowerPC MPC860 or MPC821 |
---|
54 | COPROCESSORS: Built-in Motorola QUICC |
---|
55 | MODE: 32 bit mode |
---|
56 | |
---|
57 | DEBUG MONITOR: EPPC-Bug |
---|
58 | |
---|
59 | PERIPHERALS |
---|
60 | =========== |
---|
61 | TIMERS: PIT / Timebase |
---|
62 | RESOLUTION: 1 microsecond / frequency = clock-speed / 16 |
---|
63 | SERIAL PORTS: 2 or 4 SCCs (SCC1 is hardwired for Ethernet) |
---|
64 | 2 SMC |
---|
65 | 1 SIO |
---|
66 | REAL-TIME CLOCK: Many. Look at documentation. |
---|
67 | DMA: Each SCC and SMC. |
---|
68 | VIDEO: None on-board. MPC821 has a built-in LCD panel driver. |
---|
69 | SCSI: None on-board. |
---|
70 | NETWORKING: Ethernet (10 Mbps) on SCC1 |
---|
71 | |
---|
72 | |
---|
73 | DRIVER INFORMATION |
---|
74 | ================== |
---|
75 | CLOCK DRIVER: yes |
---|
76 | CONSOLE DRIVER: yes |
---|
77 | SHMSUPP: N/A |
---|
78 | TIMER DRIVER: yes |
---|
79 | NETWORK DRIVER: yes |
---|
80 | |
---|
81 | NOTES |
---|
82 | ===== |
---|
83 | On-chip resources: |
---|
84 | SCC1 network or console |
---|
85 | SCC2 serial port |
---|
86 | SMC1 gdb debug console/application console |
---|
87 | SMC2 application console |
---|
88 | CLK1 network |
---|
89 | CLK2 network |
---|
90 | CLK3 |
---|
91 | CLK4 |
---|
92 | CLK5 |
---|
93 | CLK6 |
---|
94 | CLK7 |
---|
95 | CLK8 |
---|
96 | BRG1 console |
---|
97 | BRG2 console |
---|
98 | BRG3 console |
---|
99 | BRG4 console |
---|
100 | RTC |
---|
101 | PIT clock |
---|
102 | TB |
---|
103 | DEC |
---|
104 | SWT |
---|
105 | *CS0 FLASH |
---|
106 | *CS1 DRAM bank (onboard) |
---|
107 | *CS2 DRAM bank 0 (1st half of DIMM) |
---|
108 | *CS3 DRAM bank 1 (2nd half of DIMM) |
---|
109 | *CS4 Battery-Backed SRAM |
---|
110 | *CS5 QSPAN PCI |
---|
111 | *CS6 QSPAN |
---|
112 | *CS7 Boot ROM |
---|
113 | UPMA |
---|
114 | UPMB |
---|
115 | IRQ0 |
---|
116 | IRQ1 |
---|
117 | IRQ2 |
---|
118 | IRQ3 |
---|
119 | IRQ4 |
---|
120 | IRQ5 |
---|
121 | IRQ6 |
---|
122 | IRQ7 |
---|
123 | IRQ_LVL0 |
---|
124 | IRQ_LVL1 |
---|
125 | IRQ_LVL2 |
---|
126 | IRQ_LVL3 |
---|
127 | IRQ_LVL4 |
---|
128 | IRQ_LVL5 |
---|
129 | IRQ_LVL6 |
---|
130 | IRQ_LVL7 |
---|
131 | |
---|
132 | |
---|
133 | Board description |
---|
134 | ----------------- |
---|
135 | Clock rate: 50MHz Entry level boards, 40 MHz others. |
---|
136 | Bus width: 8/32 bit Flash, 32 bit DRAM |
---|
137 | FLASH: 2-4MB, 120ns |
---|
138 | RAM: 4-16MB EDO, 60ns DRAM DIMM |
---|
139 | |
---|
140 | |
---|
141 | Installation |
---|
142 | ------------ |
---|
143 | |
---|
144 | All MBX821/MBX860 ports share the same source code base. The MPC821 does |
---|
145 | not have SCC3 and SCC4. Instead, it has an LCD panel driver. Otherwise, |
---|
146 | the MBX821 and MBX860 boards are essentially identical. Entry level boards |
---|
147 | do not have all connectors and peripheral devices present. This has no |
---|
148 | impact on the source code base; it merely means that some functionality |
---|
149 | is not available on these entry level boards. For the most part, the port |
---|
150 | uses the standard build process for powerpc targets. However, you must |
---|
151 | specify the EXACT model of MBX board that you are building for as the |
---|
152 | argument to the RTEMS_BSP make variable. If you do not, the build process |
---|
153 | will build for a MBX860-002. Look at rtems/make/custom/mbx8xx.cfg for the |
---|
154 | specific list of boards supported and their corresponding names. An |
---|
155 | example build command is: |
---|
156 | |
---|
157 | make RTEMS_BSP=mbx821_001 VARIANT=DEBUG |
---|
158 | |
---|
159 | This will build the debug version of all RTEMS libraries, samples and tests |
---|
160 | (if the latter are enabled). |
---|
161 | |
---|
162 | The Software Engineering Group of the Institute for Information Technology |
---|
163 | only owns an MBX821-001 and MBX86-002. The only provided config files are |
---|
164 | mbx821_001.cfg and mbx860_002.cfg. A SPECIFIC CONFIG FILE IS REQUIRED. Use |
---|
165 | one of the provided files as a template to create a specific config file for |
---|
166 | another model. |
---|
167 | |
---|
168 | We rely on EPPC-BUG to download to the targets. We use the "PLH" command. |
---|
169 | We enabled a TFTP deamon on our development host. |
---|
170 | |
---|
171 | |
---|
172 | Port Description |
---|
173 | Console driver |
---|
174 | --------------- |
---|
175 | |
---|
176 | This BSP includes an termios-capable asynchronous serial line driver that |
---|
177 | supports SMC1, SMC2, SCC2, and SCC3 and SCC4 if present. The RTEMS console is |
---|
178 | selected in rtems/make/custom/mbx8xx.cfg with the CONSOLE_MINOR variable, or |
---|
179 | in NVRAM if that option is enabled in the rtems/make/custom/mbx8xx.cfg file. |
---|
180 | We normally run with the RTEMS application console on SMC2. SMC1 is used by |
---|
181 | the debugger. |
---|
182 | |
---|
183 | Support is provided for five different modes of operation: |
---|
184 | |
---|
185 | 1. polled I/O done by EPPC-Bug with termios support, |
---|
186 | 2. polled I/O done by EPPC-Bug without termios support, |
---|
187 | 3. polled I/O done by the supplied device driver with termios support, |
---|
188 | 4. polled I/O done by the supplied device driver without termios support, |
---|
189 | 5. interrupt-driven I/O done by the supplied device driver with termios |
---|
190 | support. |
---|
191 | |
---|
192 | If NVRAM_CONFIGURE is set to 1 in rtems/make/custom/mbx8xx.cfg, the mode of |
---|
193 | operation of the driver is determined at boot time from the values stored |
---|
194 | in the user area in NVRAM. See the Configuration Parameters section below for |
---|
195 | instructions on setting up NVRAM. Otherwise, the mode of operation of the |
---|
196 | serial driver is determined at build time in part by the value of the |
---|
197 | UARTS_IO_MODE constant in rtems/make/custom/mbx8xx.cfg. Edit the file to select |
---|
198 | the type of I/O desired before building RTEMS. The choices are: |
---|
199 | |
---|
200 | 0 - polled I/O done by the supplied device driver, |
---|
201 | 1 - interrupt-driven I/O done by the supplied device driver, |
---|
202 | 2 - polled I/O done by EPPC-Bug. |
---|
203 | |
---|
204 | Also, if NVRAM_CONFIGURE is not set to 1 in rtems/make/custom/mbx8xx.cfg, set |
---|
205 | the value of UARTS_USE_TERMIOS to select whether termios should be used to |
---|
206 | perform buffering and input/output processing. Without termios support, input |
---|
207 | processing is limited to the substitution of LF for a received CR, and output |
---|
208 | processing is limited to the transmission of a CR following the transmission of |
---|
209 | a LF. The choices for UARTS_USE_TERMIOS are: |
---|
210 | |
---|
211 | 0 - do not use termios |
---|
212 | 1 - use termios |
---|
213 | |
---|
214 | In most real-time applications, the driver should be configured to use |
---|
215 | termios and interrupt-driven I/O. Special requirements may dictate otherwise. |
---|
216 | |
---|
217 | Polled I/O must be used when running the timing tests. It must also be used |
---|
218 | to run some other tests and some samples, such as the cdtest. Some tests |
---|
219 | change the interrupt mask and will hang interrupt-driven I/O indefinitely. |
---|
220 | Others, such as cdtest, perform console output from the static constructors |
---|
221 | before the console is opened, causing the test to hang. Still other tests |
---|
222 | produce output that is supposed to be in some specific order. For these |
---|
223 | tests, termios should not be used, as termios buffers output and the |
---|
224 | transmission of the buffers occur at somewhat unpredictable times. |
---|
225 | |
---|
226 | The real solution is to fix the tests so that they work with interrupt-driven |
---|
227 | I/O and termios. |
---|
228 | |
---|
229 | |
---|
230 | printk() and debug output |
---|
231 | ----------------------- |
---|
232 | |
---|
233 | The implementation of printk() in RTEMS is mostly independent of most system |
---|
234 | services. The printk() function can therefore be used to print messages to a |
---|
235 | debug console, particularly when debugging startup code or device drivers, |
---|
236 | i.e. code that runs before the console driver is opened or that runs with |
---|
237 | interrupts disabled. |
---|
238 | |
---|
239 | Support is provided to send printk output to any port. Specify the desired |
---|
240 | port at build time in rtems/make/custom/mbx8xx.cfg by setting the value |
---|
241 | of PRINTK_MINOR to one of SMC1_MINOR, SMC2_MINOR, SCC2_MINOR, SCC3_MINOR, |
---|
242 | or SCC4_MINOR. Alternatively, if NVRAM_CONFIGURE is set to 1 in |
---|
243 | rtems/make/custom/mbx8xx.cfg, the printk port is selected based on data that |
---|
244 | is stored in the user area in NVRAM. See the Configuration Parameters section |
---|
245 | below for instructions on setting up NVRAM. |
---|
246 | |
---|
247 | Select the type of output desired for printk() by setting the value of |
---|
248 | PRINTK_IO_MODE in rtems/make/custom/mbx8xx.cfg. The choices are: |
---|
249 | |
---|
250 | 0 - polled I/O done by the supplied device driver, |
---|
251 | 1 - polled I/O done by the supplied device driver, |
---|
252 | 2 - polled I/O done by EPPC-Bug. |
---|
253 | |
---|
254 | printk() does not use termios. |
---|
255 | |
---|
256 | If the printk() port is opened by RTEMS, then PRINK_IO_MODE mode must have |
---|
257 | the same value as UARTS_IO_MODE, otherwise the I/O functions will be in |
---|
258 | conflict. Interrupt-driven printk() output did not work, although we think |
---|
259 | that it should have. It would have been of dubious value anyways. If |
---|
260 | interrupt-driven I/O is selected (value of 1), the driver defaults to using |
---|
261 | polled I/O through the RTEMS driver. |
---|
262 | |
---|
263 | IMPORTANT: Polled I/O through the RTEMS driver requires that the driver be |
---|
264 | initialized. Consequently, to debug startup code using printk prior to the |
---|
265 | initialization of the serial driver, use mode 2: polled I/O through EPPC-Bug, |
---|
266 | and read the next section. |
---|
267 | |
---|
268 | |
---|
269 | EPPC-Bug and I/O |
---|
270 | ---------------- |
---|
271 | |
---|
272 | IMPORTANT: When using EPPC-Bug 1.1 for polled I/O, only the SMC1 port is |
---|
273 | usable. This is a deficiency of the firmware which may be fixed in later |
---|
274 | revision. When using this monitor with UARTS_IO_MODE set to 2, CONSOLE_MINOR |
---|
275 | must be set to SMC1_MINOR. Similarly, if PRINTK_IO_MODE set to 2, |
---|
276 | PRINTK_MINOR must be set to SMC1_MINOR. When UARTS_IO_MODE is set to 2, |
---|
277 | only SMC1 is usable. |
---|
278 | |
---|
279 | Be warned that when EPPC-Bug does I/O through a serial port, all interrupts |
---|
280 | get turned off in the SIMASK register! This is a definite bug in release 1.1 |
---|
281 | of the firmware. It may have been fixed in later releases. EPPB-Bug does |
---|
282 | I/O through its debug port whenever it is given control, e.g. after a |
---|
283 | breakpoint is hit, not just when it is used to perform polled I/O on behalf |
---|
284 | of RTEMS applications. In particular, in our configuration, we have gdb |
---|
285 | communication with EPPC-Bug through SMC1. |
---|
286 | |
---|
287 | To solve this problem, whenever the BSP manipulates the SIMASK, it makes a |
---|
288 | copy of the written value in a global variable called 'simask_copy'. That |
---|
289 | value must be restored by GDB before execution resumes. The following commands |
---|
290 | placed in the .gdbinit file takes care of this: |
---|
291 | |
---|
292 | # GDB Initialization file for EPPC-Bug. |
---|
293 | |
---|
294 | define hook-stepi |
---|
295 | set language c |
---|
296 | set *(int *)0xFA200014=simask_copy |
---|
297 | set language auto |
---|
298 | end |
---|
299 | |
---|
300 | define hook-step |
---|
301 | set language c |
---|
302 | set *(int *)0xFA200014=simask_copy |
---|
303 | set language auto |
---|
304 | end |
---|
305 | |
---|
306 | define hook-continue |
---|
307 | set language c |
---|
308 | set *(int *)0xFA200014=simask_copy |
---|
309 | set language auto |
---|
310 | end |
---|
311 | |
---|
312 | define hook-nexti |
---|
313 | set language c |
---|
314 | set *(int *)0xFA200014=simask_copy |
---|
315 | set language auto |
---|
316 | end |
---|
317 | |
---|
318 | define hook-next |
---|
319 | set language c |
---|
320 | set *(int *)0xFA200014=simask_copy |
---|
321 | set language auto |
---|
322 | end |
---|
323 | |
---|
324 | define hook-finish |
---|
325 | set language c |
---|
326 | set *(int *)0xFA200014=simask_copy |
---|
327 | set language auto |
---|
328 | end |
---|
329 | |
---|
330 | IMPORTANT: When using EPPC-Bug on SMC1, either for debugging or for polled I/O, |
---|
331 | EPPCBUG_SMC1 must be defined in rtems/make/custom/mbx8xx.cfg, or the eppc_bug |
---|
332 | field set to non-zero in NVRAM. Defining this constant prevents the device |
---|
333 | driver from re-initializing SMC1. It also causes the network driver, the clock |
---|
334 | driver, and the asynchronous serial line driver to maintain simask_copy for use |
---|
335 | by gdb. |
---|
336 | |
---|
337 | Polled I/O through EPPC-Bug is pretty funky... If your are old enough, it might |
---|
338 | bring back fond memories of the days of 300 baud modems. If not, you can |
---|
339 | experience for yourself what the state of the art used to be. |
---|
340 | |
---|
341 | |
---|
342 | Floating-point |
---|
343 | -------------- |
---|
344 | |
---|
345 | The MPC860 and MPC821 do not have floating-point units. All code should |
---|
346 | get compiled with the appropriate -mcpu flag. The nof variants of the gcc |
---|
347 | runtime libraries should be used for linking. |
---|
348 | |
---|
349 | |
---|
350 | Configuration Parameters |
---|
351 | ------------------------ |
---|
352 | |
---|
353 | If NVRAM_CONFIGURE is set in rtems/make/custom/mbx8xx.cfg, certain |
---|
354 | configuration parameters will be read from the first 31 bytes of the NVRAM |
---|
355 | User Area, which starts at 0xFA001000. The user is responsible for writing |
---|
356 | the appropriate values in NVRAM (via EPPC-Bug). The paramaters |
---|
357 | that are configurable and their default settings are described below. |
---|
358 | |
---|
359 | Cache Mode (0xFA001000 - 1 byte) |
---|
360 | Set the following bits in the byte to control the caches: |
---|
361 | bit 0 |
---|
362 | 0 - data cache disable |
---|
363 | 1 - data cache enable |
---|
364 | bit 1 |
---|
365 | 0 - instruction cache disable |
---|
366 | 1 - instruction cache enable |
---|
367 | If enabled, all of RAM except for the last 512 KB will be cached using |
---|
368 | copyback mode. The last 512 KB of RAMis for the use of EPPC-Bug. |
---|
369 | |
---|
370 | Console driver I/O mode (0xFA001001 - 1 byte) |
---|
371 | Set the following bits in the byte to set the desired I/O mode |
---|
372 | for the rtems ports: |
---|
373 | bit 0 |
---|
374 | 0 - do not use termios |
---|
375 | 1 - use termios |
---|
376 | bit 2 & 1 |
---|
377 | 00 - polled I/O through RTEMS driver |
---|
378 | 01 - interrupt-driven I/O |
---|
379 | 10 - polled I/O through EPPC-Bug |
---|
380 | Set the following bits in the byte to set the desired I/O mode |
---|
381 | for printk: |
---|
382 | bit 5 & 4 |
---|
383 | 00 - polled I/O through RTEMS driver |
---|
384 | 01 - polled I/O through RTEMS driver |
---|
385 | 10 - polled I/O through EPPC-Bug |
---|
386 | |
---|
387 | Console driver ports (0xFA001002 - 1 byte) |
---|
388 | Set the following bits in the byte to select the console and printk ports: |
---|
389 | bit 2, 1 & 0 select the RTEMS console port |
---|
390 | 000 - /dev/tty0, SMC1 |
---|
391 | 001 - /dev/tty1, SMC2 |
---|
392 | 011 - /dev/tty2, SCC2 |
---|
393 | 100 - /dev/tty3, SCC3 |
---|
394 | 101 - /dev/tty4, SCC4 |
---|
395 | bit 6, 5 & 4 select the RTEMS printk port |
---|
396 | 000 - /dev/tty0, SMC1 |
---|
397 | 001 - /dev/tty1, SMC2 |
---|
398 | 011 - /dev/tty2, SCC2 |
---|
399 | 100 - /dev/tty3, SCC3 |
---|
400 | 101 - /dev/tty4, SCC4 |
---|
401 | If the printk port is the same as some other port that will be opened by an |
---|
402 | RTEMS application, then the driver must use polled I/O, or the printk port |
---|
403 | must not be used. |
---|
404 | |
---|
405 | EPPC-Bug in use on SMC1 (0xFA001003 - 1 byte) |
---|
406 | Set to non-zero to indicate that EPPC-Bug is using SMC1. This will prevent |
---|
407 | the SMC1 port from being re-initialized. |
---|
408 | |
---|
409 | IP Address (0xFA001004 - 4 bytes) |
---|
410 | Write the hexadecimal representation of the IP address of the board in this |
---|
411 | location, e.g. 192.168.1.2 = 0xC0A80102 |
---|
412 | |
---|
413 | Netmask (0xFA001008 - 4 bytes) |
---|
414 | Write the hexadecimal representation of the netmask in this location |
---|
415 | for example, 255.255.255.0 = 0xFFFFFF00 |
---|
416 | |
---|
417 | Ethernet Address (0xFA00100C - 6 bytes) |
---|
418 | Write the Ethernet address of the board in this location |
---|
419 | |
---|
420 | Processor ID (0xFA001012 - 2 bytes) |
---|
421 | Reserved for future use |
---|
422 | |
---|
423 | RMA start (0xFA001014 - 4 bytes) |
---|
424 | Reserved for future use |
---|
425 | |
---|
426 | VMA start (0xFA001018 - 4 bytes) |
---|
427 | Reserved for future use |
---|
428 | |
---|
429 | RamSize (0xFA00101C - 4 bytes) |
---|
430 | Reserved for future use |
---|
431 | |
---|
432 | |
---|
433 | Miscellaneous |
---|
434 | ------------- |
---|
435 | |
---|
436 | All development was based on the eth_comm port. |
---|
437 | |
---|
438 | |
---|
439 | Host System |
---|
440 | ----------- |
---|
441 | |
---|
442 | The port was developed on Pentiums II and III running RedHat Linux 6.0 and |
---|
443 | 6.1. The following tools were used: |
---|
444 | |
---|
445 | - GNU gcc snapshot dated 20000214 configured for powerpc-rtems; |
---|
446 | - GNU binutils 2.10 configured for powerpc-rtems; |
---|
447 | |
---|
448 | Gcc 2.95.2 also worked. Gcc 2.95.1 will not compile the console driver with |
---|
449 | -O4 or -O3. Compile it manually with -O2. |
---|
450 | |
---|
451 | |
---|
452 | Known Problems |
---|
453 | -------------- |
---|
454 | |
---|
455 | The cdtest will not run with interrupt-driven I/O. The reason is that the |
---|
456 | constructors for the static objects are called at boot time when the |
---|
457 | interrupts are still disabled. The output buffer fills up, but never empties, |
---|
458 | and the application goes into an infinite loop waiting for buffer space. This |
---|
459 | should have been documented in the rtems/c/src/tests/PROBLEMS file. The moral |
---|
460 | of this story is: do not do I/O from the constructors or destructors of static |
---|
461 | objects. |
---|
462 | |
---|
463 | When using interrupt-driven I/O, psx08 fails with an internal assertion error. |
---|
464 | |
---|
465 | |
---|
466 | What is new |
---|
467 | ---------- |
---|
468 | |
---|
469 | All known problems with use of the caches on the MBX860-002 and MBX821-001 |
---|
470 | have been resolved. |
---|
471 | |
---|
472 | Configuration of the console and network is now possible at boot time through |
---|
473 | NVRAM parameters. |
---|
474 | |
---|
475 | |
---|
476 | Thanks |
---|
477 | ------ |
---|
478 | |
---|
479 | - to Jay Monkman (jmonkman@frasca.com) of Frasca International, Inc. |
---|
480 | for his eth_comm port. |
---|
481 | |
---|
482 | - to On-Line Applications Research Corporation (OAR) for developing |
---|
483 | RTEMS and making it available on a Technology Transfer basis; |
---|
484 | |
---|
485 | - to the FSF and to Cygnus Support for great free software; |
---|
486 | |
---|
487 | |
---|
488 | Test Configuration |
---|
489 | ------------------ |
---|
490 | |
---|
491 | Board: MBX821-001, MBX860-002 |
---|
492 | CPU: Motorola MPC821, MPC860 |
---|
493 | Clock Speed: 50 MHz, 40 MHz |
---|
494 | RAM: 4 MBytes of 32-bit DRAM |
---|
495 | Cache Configuration: Instruction cache on; data cache on, copyback mode. |
---|
496 | Times Reported in: clock ticks: TMBCLK = system clock / 16. |
---|
497 | Timer Source: Timebase clock |
---|
498 | GCC Flags: -O4 -fno-keep-inline-functions -mcpu=(821/860) |
---|
499 | Console: Operates in polled mode on SMC2. No I/O through EPPC-Bug. |
---|
500 | |
---|
501 | |
---|
502 | Test Results |
---|
503 | ------------ |
---|
504 | |
---|
505 | Single processor tests: All tests passed, except the following ones: |
---|
506 | |
---|
507 | - cpuuse and malloctest did not work. |
---|
508 | |
---|
509 | - The stackchk test got an access fault exception before the RTEMS stack |
---|
510 | checker had had a chance to detect the corrupted stack. |
---|
511 | |
---|
512 | |
---|
513 | Multi-processort tests: not applicable. |
---|
514 | |
---|
515 | |
---|
516 | Timing tests: |
---|
517 | See the times-mbx821 and times-mbx860 files for the results of the |
---|
518 | timing tests. |
---|
519 | |
---|
520 | |
---|
521 | Network tests: |
---|
522 | Worked. |
---|
523 | |
---|
524 | |
---|
525 | |
---|