| |||
| Home > Debugging Multiprocessor Applications > Sharing resources between multiple targets > Defining memory for a symmetric multiprocessor environment | |||
A simple example is a SMP environment, where two processors share all memory and all peripherals. To do this, change the settings for each processor (shown in the example in Figure 7.17):
Locate the Memory_block group
for the connection.
Expand the Memory_block group.
Select SharedRAM in the left
pane.
Define the region for the memory block:
Set the value of Start to the
start address for this memory block, for example 0x10000.
Set the value of Length in memory
units for the memory block. For example, 0x1FFFF bytes
for an ARM architecture-based processor.
Expand the SharedRAM group.
Select Attributes in the left
pane to display the list of attributes for this memory block. Figure 7.18 shows an example:
Set up the attributes for the memory block:
Set the value of Shared to direct.
Set the value of Shared_id to 0x1.
You can use any integer value for the share ID in the range 0 to 65535.
However, you must use the same value for each block that is sharing
the same memory area. This enables RealView Debugger to identify
which memory blocks relate to the same shared memory area.
If this is a code region for both processors, then
it is not advisable to use software breakpoints. To prevent software
breakpoints being set in this memory area, set the No_sw_bkpts setting
to True (see Figure 7.18).