source: rtems/c/src/lib/libbsp/m68k/gen68302/README @ 0ccb2bb

4.104.114.9
Last change on this file since 0ccb2bb was 040b74f, checked in by Joel Sherrill <joel.sherrill@…>, on Dec 11, 2007 at 3:49:10 PM

2007-12-11 Joel Sherrill <joel.sherrill@…>

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