7.11.4. 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):

  1. Locate the Memory_block group for the connection.

  2. Expand the Memory_block group.

  3. Select SharedRAM in the left pane.

  4. Define the region for the memory block:

    1. Set the value of Start to the start address for this memory block, for example 0x10000.

    2. Set the value of Length in memory units for the memory block. For example, 0x1FFFF bytes for an ARM architecture-based processor.

  5. Expand the SharedRAM group.

  6. Select Attributes in the left pane to display the list of attributes for this memory block. Figure 7.18 shows an example.

    Figure 7.18. Memory block attributes

    Memory block attributes

  7. Set up the attributes for the memory block:

    1. Set the value of Shared to direct.

    2. 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.

  8. 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).

See also

Copyright © 2002-2009 ARM Limited. All rights reserved.ARM DUI 0153K
Non-Confidential