Dynamic C Functions; Digital I/O; Sram Use - Rabbit RabbitCore RCM3305 User Manual

C-programmable core module with serial flash mass storage and ethernet
Table of Contents

Advertisement

5.2 Dynamic C Functions

5.2.1 Digital I/O

The RCM3305/RCM3315 was designed to interface with other systems, and so there are
no drivers written specifically for the I/O. The general Dynamic C read and write func-
tions allow you to customize the parallel I/O to meet your specific needs. For example, use
WrPortI(PEDDR, &PEDDRShadow, 0x00);
to set all the Port E bits as inputs, or use
WrPortI(PEDDR, &PEDDRShadow, 0xFF);
to set all the Port E bits as outputs.
When using the external I/O bus on the Rabbit 3000 chip, add the line
#define PORTA_AUX_IO
to the beginning of any programs using the external I/O bus.
The sample programs in the Dynamic C
examples.

5.2.2 SRAM Use

The RCM3305/RCM3315 have a battery-backed data SRAM and a program-execution
SRAM. Dynamic C provides the
placed into the battery-backed SRAM. The compiler generates code that creates a backup
copy of a protected variable before the variable is modified. If the system resets while the
protected variable is being modified, the variable's value can be restored when the system
restarts.
The sample code below shows how a protected variable is defined and how its value can
be restored.
protected nf_device nandFlash;
int main() {
...
_sysIsSoftReset();
The
keyword may also be used instead if there is a need to store a variable in bat-
bbram
tery-backed SRAM without affecting the performance of the application program. Data
integrity is not assured when a reset or power failure occurs during the update process.
Additional information on
User's Manual.
40
// required to enable external I/O bus
SAMPLES/RCM3300
keyword to identify variables that are to be
protected
// restore any protected variables
and
bbram
protected
folder provide further
variables is available in the Dynamic C
RabbitCore RCM3305/RCM3315

Advertisement

Table of Contents
loading

This manual is also suitable for:

Rabbitcore rcm3315Rabbitcore rcm3309

Table of Contents