URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [rtems-20020807/] [c/] [src/] [lib/] [libbsp/] [m68k/] [gen68302/] [README] - Rev 1765
Compare with Previous | Blame | View Log
## README,v 1.1 1995/06/07 01:27:00 joel Exp#BSP NAME: gen68302BOARD: proprietary (see below for relevant information)BUS: noneCPU FAMILY: MC68000COPROCESSORS: 68302 communications co-processorMODE: not applicableDEBUG MONITOR: nonePERIPHERALS===========TIMERS: two 68302 timers, one 68302 watchdog timerRESOLUTION: ?SERIAL PORTS: three 68302 SCCsREAL-TIME CLOCK:DMA: built-in 68302, not usedVIDEO: noneSCSI: noneNETWORKING: noneDRIVER INFORMATION==================CLOCK DRIVER: 68302 (TIMER1)IOSUPP DRIVER: 68302 SCC2SHMSUPP: noneTIMER DRIVER: 68302 TIMER2STDIO=====PORT: ?ELECTRICAL: EIA-232BAUD: 9600BITS PER CHARACTER: 8PARITY: NoneSTOP BITS: 1NOTES=====Board description-----------------clock rate: 16 MHzbus width: 16 bitsROM: 128 kbyte (flash, 0 wait states, chip select 0)RAM: 256 kbyte (static, 0 wait states, chip select 1)The 68302's built-in DRAM refresh controller circuitry is neither usednor configured at startup.Host System-----------HP 9000/715, HP-UX 9.05gcc-2.6.3binutils-2.5.2Verification------------The 1-ms clock ISR rate was verified with an in-circuit emulator.Single processor tests:Multi-processort tests: not applicableTiming tests: see results in c/src/tests/tmtests/timesNote: The board has 256 kbyte RAM, so the timing tests would not runwith the standard executive RAM size configuration of 256 K.Modifying the conftbl.h files to specify 160 kbyte for workspaceseemed to work.* Porting** Mod c/src/tests/tmtests/*/conftbl.hModified to use 160 kbyte for executive RAM size.** Add c/make/custom/gen68302.cfgBased on m68k_no_bsp.cfg. Turned off multiprocessor support. Had touse a BSP-specific compiler configuration file in order to link theproper startup file.** Mod c/make/compilers/gcc-m68000.cfgAdded "-m68000" to the AS macro so that non-68000 instructions areneither generated nor allowed (remember that the GNU assemblersupports pseudo-assembler instructions (e.g. jbsr) that will be"intelligently" assembled.) Added "m68000/" before libgcc.a so thatnon-68000 instructions aren't included.** Add c/make/compilers/gcc-gen68302.cfgBased on modified gcc-m68000.cfg.Changed make-exe define to produce IEEE-695 output files for loadinginto the emulator.The board has no debug monitor, so I had to create a 68302-specificstartup file (c/src/lib/libbsp/m68k/gen68302/start302/start302.s) tooverride the c/src/lib/start/m68k/start.s. START_FILE entry wasmodified to causes start302.s to be linked first (in lieu of start.s).** Mod c/src/exec/cpu/m68k/cpu.hTurned off software and hardware interrupt stack support. Addedsupport in _CPU_Bitfield_Find_first_bit() and_CPU_Priority_Bits_index() to replace the bfffo instruction.TODO: add software-maintained interrupt stack.TODO: optimize things so that subtracting _priority from 15 isn'trequired in _CPU_Priority_Bits_index().** Mod c/src/exec/cpu/m68k/cpu.cAdded the log base 2 table (__log2table) that's required by the BFFFOreplacement in cpu.h.** Mod c/src/exec/cpu/m68k/cpu_asm.sAdded _ISR_Exit that's currently used in TBD.... Added ifdef wrapperaround ISR exit code that accessed the format nibble. Added some codeto restore the status register and call _Thread_Dispatch.TODO: add software-maintained interrupt stack.** Mod c/src/exec/cpu/m68k/m68k.hChanged "typedef char signed8" to "typedef signed char signed8".** Add c/src/lib/libbsp/m68k/gen68302/...*** clock/TODO: Add set_vector support. Figure out what to do with Clock_exit().TODO: Pre-compute (BSP_Configuration.microseconds_per_tick/1000) so thatit doesn't have to be re-computed on each Clock_isr().*** console/These files assume SCC2, but it shouldn't be too difficult to re-writethese to use any of the other SCCs.*** include/*** start302/This contains the start302.s file that does some fairly tricky memoryre-mapping so that RAM ends up at 0 and ROM ends up at 0xc00000.*** startup/*** timer/*** wrapup/
