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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [m68k/] [gen68302/] [README] - Blame information for rev 814

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
#
2
#  $Id: README,v 1.2 2001-09-27 12:00:03 chris Exp $
3
#
4
 
5
BSP NAME:           gen68302
6
BOARD:              proprietary (see below for relevant information)
7
BUS:                none
8
CPU FAMILY:         MC68000
9
COPROCESSORS:       68302 communications co-processor
10
MODE:               not applicable
11
 
12
DEBUG MONITOR:      none
13
 
14
PERIPHERALS
15
===========
16
TIMERS:             two 68302 timers, one 68302 watchdog timer
17
  RESOLUTION:         ?
18
SERIAL PORTS:       three 68302 SCCs
19
REAL-TIME CLOCK:
20
DMA:                built-in 68302, not used
21
VIDEO:              none
22
SCSI:               none
23
NETWORKING:         none
24
 
25
DRIVER INFORMATION
26
==================
27
CLOCK DRIVER:       68302 (TIMER1)
28
IOSUPP DRIVER:      68302 SCC2
29
SHMSUPP:            none
30
TIMER DRIVER:       68302 TIMER2
31
 
32
STDIO
33
=====
34
PORT:               ?
35
ELECTRICAL:         EIA-232
36
BAUD:               9600
37
BITS PER CHARACTER: 8
38
PARITY:             None
39
STOP BITS:          1
40
 
41
NOTES
42
=====
43
 
44
Board description
45
-----------------
46
clock rate:     16 MHz
47
bus width:      16 bits
48
ROM:            128 kbyte (flash,  0 wait states, chip select 0)
49
RAM:            256 kbyte (static, 0 wait states, chip select 1)
50
 
51
The 68302's built-in DRAM refresh controller circuitry is neither used
52
nor configured at startup.
53
 
54
Host System
55
-----------
56
HP 9000/715, HP-UX 9.05
57
gcc-2.6.3
58
binutils-2.5.2
59
 
60
 
61
Verification
62
------------
63
The 1-ms clock ISR rate was verified with an in-circuit emulator.
64
 
65
Single processor tests:
66
Multi-processort tests:  not applicable
67
Timing tests:            see results in c/src/tests/tmtests/times
68
 
69
Note: The board has 256 kbyte RAM, so the timing tests would not run
70
with the standard executive RAM size configuration of 256 K.
71
Modifying the conftbl.h files to specify 160 kbyte for workspace
72
seemed to work.
73
 
74
* Porting
75
 
76
** Mod c/src/tests/tmtests/*/conftbl.h
77
 
78
Modified to use 160 kbyte for executive RAM size.
79
 
80
** Add  c/make/custom/gen68302.cfg
81
 
82
Based on m68k_no_bsp.cfg.  Turned off multiprocessor support.  Had to
83
use a BSP-specific compiler configuration file in order to link the
84
proper startup file.
85
 
86
** Mod  c/make/compilers/gcc-m68000.cfg
87
 
88
Added "-m68000" to the AS macro so that non-68000 instructions are
89
neither generated nor allowed (remember that the GNU assembler
90
supports pseudo-assembler instructions (e.g. jbsr) that will be
91
"intelligently" assembled.)  Added "m68000/" before libgcc.a so that
92
non-68000 instructions aren't included.
93
 
94
** Add  c/make/compilers/gcc-gen68302.cfg
95
 
96
Based on modified gcc-m68000.cfg.
97
 
98
Changed make-exe define to produce IEEE-695 output files for loading
99
into the emulator.
100
 
101
The board has no debug monitor, so I had to create a 68302-specific
102
startup file (c/src/lib/libbsp/m68k/gen68302/start302/start302.s) to
103
override the c/src/lib/start/m68k/start.s.  START_FILE entry was
104
modified to causes start302.s to be linked first (in lieu of start.s).
105
 
106
** Mod  c/src/exec/cpu/m68k/cpu.h
107
 
108
Turned off software and hardware interrupt stack support.  Added
109
support in _CPU_Bitfield_Find_first_bit() and
110
_CPU_Priority_Bits_index() to replace the bfffo instruction.
111
 
112
TODO: add software-maintained interrupt stack.
113
 
114
TODO: optimize things so that subtracting _priority from 15 isn't
115
required in _CPU_Priority_Bits_index().
116
 
117
** Mod  c/src/exec/cpu/m68k/cpu.c
118
 
119
Added the log base 2 table (__log2table) that's required by the BFFFO
120
replacement in cpu.h.
121
 
122
** Mod  c/src/exec/cpu/m68k/cpu_asm.s
123
 
124
Added _ISR_Exit that's currently used in TBD....  Added ifdef wrapper
125
around ISR exit code that accessed the format nibble.  Added some code
126
to restore the status register and call _Thread_Dispatch.
127
 
128
TODO: add software-maintained interrupt stack.
129
 
130
** Mod  c/src/exec/cpu/m68k/m68k.h
131
 
132
Changed "typedef char signed8" to "typedef signed char signed8".
133
 
134
** Add  c/src/lib/libbsp/m68k/gen68302/...
135
*** clock/
136
 
137
TODO: Add set_vector support.  Figure out what to do with Clock_exit().
138
TODO: Pre-compute (BSP_Configuration.microseconds_per_tick/1000) so that
139
it doesn't have to be re-computed on each Clock_isr().
140
 
141
*** console/
142
 
143
These files assume SCC2, but it shouldn't be too difficult to re-write
144
these to use any of the other SCCs.
145
 
146
*** include/
147
*** start302/
148
 
149
This contains the start302.s file that does some fairly tricky memory
150
re-mapping so that RAM ends up at 0 and ROM ends up at 0xc00000.
151
 
152
*** startup/
153
*** timer/
154
*** wrapup/

powered by: WebSVN 2.1.0

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