Changeset 11edb53 in rtems
- Timestamp:
- 11/27/00 17:52:48 (23 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 66fedb46
- Parents:
- a080705
- Location:
- c/src/lib/libbsp/m68k/sim68000
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/m68k/sim68000/README
ra080705 r11edb53 5 5 BSP for the BSVC 68000 simulator. This is definitely under construction. 6 6 The initialization/setup script for BSVC is the part that likely needs 7 work. 7 work. I have written the timer based on the timer sample included with 8 bsvc 2.1. 9 10 At this point, hello does not even print. 8 11 9 12 --joel -
c/src/lib/libbsp/m68k/sim68000/clock/clockdrv.c
ra080705 r11edb53 7 7 #include <bsp.h> 8 8 9 #define CLOCK_VECTOR 09 #define CLOCK_VECTOR 84 10 10 11 11 #define Clock_driver_support_install_isr( _new, _old ) \ … … 13 13 14 14 15 #define Clock_driver_support_initialize_hardware() 15 typedef struct { 16 volatile unsigned8 cr; /* 0 - 0 : Timer Control Register */ 17 volatile unsigned8 pad0; /* 1 - 1 : pad */ 18 volatile unsigned8 ivr; /* 2 - 2 : Timer Interrupt Vector Register */ 19 volatile unsigned8 pad1; /* 3 - 3 : pad */ 20 volatile unsigned32 cpr; /* 4 - 7 : Timer Counter Preload Register */ 21 volatile unsigned8 pad2[12]; /* 8 - 19 : pad */ 22 volatile unsigned32 sr; /* 20 - 23 : Timer Status Register */ 23 } timer_hw_t; 16 24 17 #define Clock_driver_support_at_tick() \ 18 Clock_driver_support_initialize_hardware() 25 #define TIMER_BASE (timer_hw_t *)0x72001 19 26 20 #define Clock_driver_support_shutdown_hardware() 27 /* 8 microseconds per click, 125,000 per second */ 28 29 /* XXX should check that microseconds_per_tick is >= 8 */ 30 void Clock_driver_support_initialize_hardware() 31 { 32 timer_hw_t *t = TIMER_BASE; 33 34 t->ivr = CLOCK_VECTOR; 35 t->cpr = rtems_configuration_get_microseconds_per_tick() / 8; 36 t->cr = 0xA0; /* initialize with timer disabled */ 37 t->cr = 0xA1; /* enable timer */ 38 } 39 40 void Clock_driver_support_at_tick() 41 { 42 timer_hw_t *t = TIMER_BASE; 43 44 t->sr = 0xA0; /* Negate timer interrupt request */ 45 } 46 47 48 void Clock_driver_support_shutdown_hardware() 49 { 50 timer_hw_t *t = TIMER_BASE; 51 52 t->cr = 0xA0; /* initialize with timer disabled */ 53 } 21 54 22 55 #include "../../../shared/clockdrv_shell.c" -
c/src/lib/libbsp/m68k/sim68000/sim68000.setup
ra080705 r11edb53 6 6 COMMAND {AttachDevice 0 RAM {BaseAddress = 40000 Size = 20000}} 7 7 COMMAND {AttachDevice 0 M68681 {BaseAddress = 71001 OffsetToFirstRegister = 0 OffsetBetweenRegisters = 2 InterruptLevel = 4 PortAStandardInputOutputFlag = 0 PortBStandardInputOutputFlag = 0 PortACommand = xterm -T "M68681 Port A" -132 -fn fixed -e /usr3/tmp/bsvc-2.1/bin/xtermpipe PortBCommand = }} 8 COMMAND {AttachDevice 0 Timer {BaseAddress = 72001 IRQ = 5}}
Note: See TracChangeset
for help on using the changeset viewer.