3–2
Software Reference
RabbitCore RCM2200
3.1.1 Operating System Framework
Dynamic C does not include an operating system in
the usual sense of a complex software system that is
resident in memory. The user has complete control
of what is loaded as a part of his program, other than
those routines that support loading and debugging
(which are inactive at embedded run time). How-
ever, certain routines are very basic and normally
should always be present and active.
•
Periodic interrupt routine. This interrupt
routine is driven by the Rabbit periodic
interrupt facility, and when enabled creates
an interrupt every 16 ticks of the 32.768
kHz oscillator, or every 488 µs. This rou-
tine drives three long global variables that
keep track of the time:
SEC_TIMER
,
MS_TIMER
, and
TICK_TIMER
that
respectively count seconds, milliseconds,
and 488 µs ticks. These variables are
needed by some functions that measure
time. The
SEC_TIMER
is set to seconds
elapsed since 1 Jan 1980, and thus also
keeps track of the time and date. The peri-
odic interrupt routine must be disabled
when the microprocessor enters sleepy
mode and the processor clock is operating
at 32.768 kHz. The interrupt routine can-
not complete at this slow speed before the
next tick of the periodic interrupt. In this
situation, the hardware real-time clock can
be read directly to provide the time.
The periodic interrupt function also hits
the hardware watchdog timer. Software or
“virtual” watchdog timers are available in
Dynamic C. See the Dynamic C Premier
User’s Manual for more information.
3.1.2 Using Dynamic C
You have a choice of doing your software develop-
ment in the flash memory or in the static RAM.
There are 256K bytes of flash memory and 128K
bytes of SRAM. The advantage of working in RAM
is to save wear on the flash, which is limited to
about 100,000 writes.
NOTE: Note that an application can
be developed in RAM, but cannot
run standalone from RAM after the
programming cable is discon-
nected. All applications can only run
from flash memory.
NOTE: Do not depend on the flash
memory sector size or type. Due to
the volatility of the flash memory
market, the RabbitCore RCM2200
and Dynamic C were designed to
accommodate flash devices with
various sector sizes.
The disadvantage of using flash memory when
debugging a program is that interrupts must be dis-
abled for approximately 5 ms to 20 ms whenever a
break point is set in the program. This can crash fast
interrupt routines that are running while you stop at
a break point or single-step the program.
Flash memory or RAM is selected with the
Dynamic C
Options
>
Compiler
menu.
Содержание RCM2200
Страница 1: ...RabbitCore RCM2200 C Programmable Module with Ethernet User s Manual 019 0097 010418 A...
Страница 6: ...vi RabbitCore RCM2200...
Страница 10: ...1 4 Introduction RabbitCore RCM2200...
Страница 20: ...2 10 Hardware Reference RabbitCore RCM2200...
Страница 26: ...3 6 Software Reference RabbitCore RCM2200...
Страница 36: ...A 10 RabbitCore RCM2200 Specifications RabbitCore RCM2200...
Страница 42: ...C 4 Programming Cable RabbitCore RCM2200...
Страница 48: ...D 6 Sample Circuits RabbitCore RCM2200...
Страница 50: ......
Страница 52: ...E 4 External Interrupts RabbitCore RCM2200...
Страница 57: ...C NONE...
Страница 60: ......