![background image](http://html1.mh-extra.com/html/rabbit/rcm3365/rcm3365_user-manual_3124182050.webp)
44
RabbitCore RCM3365/RCM3375
5.2
Dynamic C Functions
5.2.1 Digital I/O
The RCM3365/RCM3375 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
// required to enable external I/O bus
to the beginning of any programs using the external I/O bus.
The sample programs in the Dynamic C
SAMPLES/RCM3360
folder provide further
examples.
5.2.2 SRAM Use
The RCM3365/RCM3375 have a battery-backed data SRAM and a program-execution
SRAM. Dynamic C provides the
protected
keyword to identify variables that are to be
placed into the battery-backed SRAM. The compiler generates code that maintains two
copies of each protected variable in the battery-backed SRAM. The compiler also generates
a flag to indicate which copy of the protected variable is valid at the current time. This flag
is also stored in the battery-backed SRAM. When a protected variable is updated, the
“inactive” copy is modified, and is made “active” only when the update is 100% complete.
This assures the integrity of the data in case a reset or a power failure occurs during the
update process. At power-on the application program uses the active copy of the variable
pointed to by its associated flag.
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(); // restore any protected variables
The
bbram
keyword may also be used instead if there is a need to store a variable in bat-
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
bbram
and
protected
variables is available in the
Dynamic C
User’s Manual
.
Содержание RCM3365
Страница 6: ...RabbitCore RCM3365 RCM3375 Schematics 157...
Страница 14: ...8 RabbitCore RCM3365 RCM3375...
Страница 24: ...18 RabbitCore RCM3365 RCM3375...
Страница 72: ...66 RabbitCore RCM3365 RCM3375...
Страница 108: ...102 RabbitCore RCM3365 RCM3375...
Страница 142: ...136 RabbitCore RCM3365 RCM3375...
Страница 148: ...142 RabbitCore RCM3365 RCM3375...
Страница 164: ......