Rockwell Automation 1771-DMC_DMC1_DMC4_DXPS Control Coprocessor User Manual User Manual
Page 42

Chapter 3
Getting Started with the Control Coprocessor
3-13
Non-Volatile User Memory
This is a non-volatile area of memory that is not known to the operating
system; therefore, any data stored here remains intact through resets and
power cycles. This non-volatile memory is controlled by user programs.
This area of memory is basically a storage area for data. Although you can
use it for any purpose, one common application is to use this area as a
common memory area for multiple programs—this makes effective use of
the fact that this memory is non-volatile.
1.
At the
Select
Option
prompt, enter
2
for the non-volatile
user-memory configuration option. See Figure 3.14.
Figure 3.14
Configure NonĆVolatile User Memory
Select Option: 2
Original Current
Settings Settings
-----------------------------------------------------------
Non-Volatile RAM Disk = 64Kb 512Kb
Non-Volatile User Memory = 0Kb 0Kb
Non-Volatile Module Memory = 0Kb 0Kb
OS-9 Free Pool = 4800Kb 4352Kb
---------- ----------
Configurable System Memory = 4864Kb 4864Kb
Non-Volatile User Memory Size
-----------------------------
Enter desired number of 1K (1024) byte blocks (0 - 4352): 5
Original Current
Settings Settings
-----------------------------------------------------------
Non-Volatile RAM Disk = 64Kb 512Kb
Non-Volatile User Memory = 0Kb 5Kb
Non-Volatile Module Memory = 0Kb 0Kb
OS-9 Free Pool = 4800Kb 4347Kb
---------- ----------
Configurable System Memory = 4864Kb 4864Kb
PCBridge Microware’s PC hosted OS-9/680x0 Development System
2.
At the prompt, enter the number of blocks that you want to allocate to
non-volatile user memory—between 0 and the maximum amount as
shown by the utility.
ATTENTION: Do not change the pointer values. They are
intended to be read-only. Subsequent memory configurations
can change the pointer value to the start of the non-volatile user
memory. User programs must contain comparisons to check
that the pointer value has not changed from the originally
stored value.
See the following example program—MY_MEM.C. Address 0x10000200
contains a pointer to the start of the non-volatile user memory. Address
0x10000204 contains the size of the block in bytes (an unsigned integer or
4 bytes). The control coprocessor sets the data at addresses 0x10000200
and 0x10000204, dependent on memory configuration.