realview22.rar

源代码在线查看: sim.stp

软件大小: 182693 K
上传用户: mmj
关键词: realview 22
下载地址: 免注册下载 普通下载 VIP

相关代码

				# SimBridge Settings Template. This file contains the controls
				# for a .sim file to allow complete SimBridge access. Note that
				# the inclusion of *.sts is for Simulator custom templates for
				# vendor specific settings.
				
				[TEMPLATE=@CONTEXT]
				# Board_chip_name refers to the BOARD or CHIP group this is derived
				# from (if any), using its name. If the BOARD/CHIP group has more 
				# than one name separated by '/' (such as ID/name), any of them may 
				# be used. The Board/Chip is used to specify location of memory and
				# peripherals/devices. But, note that devices will only be loaded
				# into SimBridge iff the device name given in the peripheral section
				# of the Board/Chip Advanced_Info matches a Device entry found in
				# the simulator executable or device dll.
				boardChip_name=LK($GROUP=BOARD/CHIP)\\ Device/Memory for board or chip
				# The processor defines a processor model simulation. One must be
				# specified for each processor, even if multiple processors in one
				# simulator file. If more than one processor in one simulator file,
				# the simpos field must be set to indicate the position in the linked
				# list. This allows SimBridge to correctly handle stitching. The
				# name of this instance is the name the user will see for the
				# processor. It is possible to override this name for Device binding
				# and inter-processor references using the sim_name field.
				{Processor                      \\ Processor simulation by name
				  # The Sim_exe field contains the name of the executable containing
				  # the simulator for the processor. If more than one Processor entry
				  # contains the same sim_exe name with different sim_pos values,
				  # the file will be loaded only once and each specified entry will
				  # be started. If the same sim_exe name is used with the same sim_pos
				  # value, a new simulator processor will be started.
				  sim_exe=F(*.exe,*rex)         \\ name of file containing simulator
				  # The sim_pos indicates the position in the sim_exe file's SIM_ABS
				  # list (if any). If it is not 0, then the simulator at that position
				  # in the list will be used. If it is 0, but the sim_type is named, 
				  # then a matching SIM_ABS will be looked for if not at 0.
				  sim_pos=V0                    \\ Position in SIM_ABS list if more than one per file
				  # The sim_type field serves two purposes: it validates that the
				  # entry matches the simulator's definition of the processor, and
				  # it can be used to locate the specified processor in a SIM_ABS
				  # list.
				  sim_type=S                    \\ optional 3 character name to verify match of \
				                                   processor type (such as ARM, OAK, etc)
				  # The simulator name is used for internal matching of the processor.
				  # If not specified, the instance name will be used. The instance name's
				  # primary purpose is a name tag in the Connection Manager of RVDEBUG. The
				  # sim_name is used for matching names for glue between devices and
				  # simulators.
				  sim_name=S                    \\ Overrides instance name for internal references
				  # The description is used to show a description in the Connection Manager
				  # of RVDEBUG.
				  description=S                 \\ Description of Simulator (overrides sim_exe name extract).
				  # The Simulator_info block allows specifying or overriding normal
				  # settings. The common controls are to mimic hardware wiring of
				  # chips in a multi-processor environment (such as IDs, clock speed,
				  # strap pins, etc).
				  {.Simulator_info              \\ Special data for the simulator
				    # An ID is used by some processors to know its ID in a set of
				    # processors. This is often used for link ports, time-division-multiplexed
				    # serial ports, DMA channels, etc. The meaning is up to the
				    # simulator and it may ignore this field.
				    id=V                        \\ Allows assigning an "ID" to the simulator
				    # The clock speed allows defining a specific and separate clock
				    # speed for each simulator. SimBridge uses this to compare the
				    # speeds of different processors to match cycle counts for
				    # synchronization and other uses. The clock speed is expressed
				    # in KHz so 2.1MHz is 2100.
				    clock=V                     \\ Allows assigning the clock speed in KHz
				    # The Msg field allows communicating a message to the simulator
				    # which may have a specific meaning. This meaning is completely
				    # up to the simulator.
				    msg=S                       \\ Allows providing a message to the simulator
				    # Pin_assigns allow pre-setting pins value (strap pins). This can
				    # be used to set modes, internal vs. external vectors, etc. The
				    # format is name=value and the meaning and use is up to the
				    # simulator.
				    pin_assign=LS               \\ Allows pre-assigning pins (strap or reset states)
				    # Start_state determines if the simulator should be started in a
				    # normal ready-to-run state, idled, or held in reset. This can only
				    # be used fully if supported by the simulator. If idle/reset not 
				    # supported by the simulator, it will be faked by the SimBridge 
				    # by not allowing the simulator to execute.
				    start_state=K(normal,idle,reset)
				  }
				=DEVICE
				  # The dev_dll field(s) indicate a DLL containing one or more devices.
				  dev_dll=LF(*.dll)             \\ Name of device DLLs containing device models.
				  # Dev_init is used to control what devices are initialized by 
				  # SimBridge. All indicates that all devices found in sim_exe and
				  # dev_dll files are to be initialized. BoardChip will only 
				  # initialize those that match peripheral's named in the BoardChip
				  # Advanced_Info. Specified will only initalize those named in 
				  # Device fields in this group.
				  dev_init=K(All,BoardChip,Specified) \\ Which devices to Load \
				                                \K Load all devices in sim_exe and dev_dll files, \
				                                   Load all devices specified and in board/chip, \
				                                   Load only those devices specified using Device fields
				  # Image load allows for pre-loading files into the simulator on
				  # initialize. Note that this only works if the file can be loaded
				  # into the specific simulator. Also note that some simulators
				  # are hard-built for a specific file so loading is not allowed at
				  # all.
				  image_load=LF                 \\ Application files to load on start
				  # The Device instance is used to name a specific device either to
				  # force it to be loaded (based on setting of dev_init) and/or to
				  # specify an address for it to be loaded to. For models that allow
				  # multiple instances of themselves, this mechanism is needed to
				  # force each one to exist. The device instance name must match the
				  # DEV_ABS model name unless dev_name is used. When more than one
				  # instance of the same device is used, it should have a unique name
				  # (for error reporting) and so the dev_name field must be used.
				  {Device                       \\ Device to use in simulation.
				    # The Device_info block allows specifying or overriding normal
				    # settings. The common controls are to mimic hardware wiring of
				    # chips (such as IDs, strap pins, etc).
				    {.Device_info               \\ Special data for the device model
				      # An ID is used by some devices to know its ID in a set of
				      # processors/devices. This is often used for link ports, 
				      # time-division-multiplexed serial ports, DMA channels, etc. 
				      # The meaning is up to the device and it may ignore this field.
				      id=V                      \\ Allows assigning an "ID" to the device
				      # The Msg field allows communicating a message to the device
				      # which may have a specific meaning. This meaning is completely
				      # up to the device model.
				      msg=S                     \\ Allows providing a message to the device
				      # Pin_assigns allow pre-setting pins value (strap pins). This can
				      # be used to set modes, level vs. edge firing, etc. The
				      # format is name=value and the meaning and use is up to the
				      # device mode.
				      pin_assign=LS             \\ Allows pre-assigning pins (strap or reset states)
				    }
				    # The dev_name is the name used in the DEV_ABS name field. This
				    # must be used to locate the correct device, or the Device
				    # instance name will be used.
				    dev_name=S                  \\ Device Name selector (must match DEV_ABS)
				    # The base_addr allows the device to be located in the memory of
				    # the simulator (assuming the device allows this and needs it).
				    # Note that this information can come from the BoardChip Peripherals
				    # address as well. If both exist, they will be compared.
				    base_addr=V                 \\ Optional device base address
				    base_page=V                 \\ Optional device base page for address
				    # The device may use a file containing data to supply it. It will
				    # have a default file, but this allows naming the exact file. It
				    # is only usable if the device supports it. The format of the file
				    # is up to the device.
				    in_file=F                   \\ Optional input file
				    # The device may write output to a file. It will have a default 
				    # file, but this allows naming the exact file. It is only usable 
				    # if the device supports it. The format of the file is up to the 
				    # device. The same file should not be used for multiple devices
				    # as they will not be shared properly.
				    out_file=F                  \\ Optional output file
				    # The glue_to_dev instances are used to glue (attach) a device
				    # to other devices in the system. This device will be glued to
				    # the local simulator, but this allows naming other devices to 
				    # interact with. Note that the device must support this and 
				    # must support the number of glues you instantiate. An example 
				    # of glue for a device would be a memory interface being glued 
				    # to multiple memories and peripherals. Another example would be
				    # link port or serial port naming another port on another
				    # simulator. The sim_name and context allow forcing the search
				    # to a specific simulator and/or context. The default is to look
				    # in the local simulator first and then in other simulators in
				    # the local context only.
				    {Glue_to_dev                \\ Device to attach to
				      id=V                      \\ Allows assigning an ID to the remote device connection
				      msg=LS                    \\ Messages to device (private meaning)
				      sim_name=S                \\ Simulator of other device
				      context=S                 \\ Context of other device
				    }
				    # The glue_to_sim instances are used to glue (attach) a device
				    # to other simulators in the system. This device will be glued to
				    # the local simulator, but this allows naming other simulators to 
				    # interact with. Note that the device must support this and 
				    # must support the number of glues you instantiate. Simulator
				    # glue differs from device glue in that simulator_glue allows
				    # the device to watch addresses and pins directly. Device glue
				    # allows interactions with devices attached to this or other
				    # simulators. So, you must know the model this device used.
				    # An example of glue for a device would be a mailbox system
				    # shared between multiple processors. The context field allows
				    # forcing the search to a speicific context. The default is to 
				    # look in the local context only.
				    {Glue_to_sim                \\ Simulator to attach to
				      id=V                      \\ Allows assigning an ID to the remote device connection
				      msg=LS                    \\ Messages to device (private meaning)
				      # The base_addr allows the device to be located in the memory of
				      # the remote simulator (assuming the device allows this and needs it).
				      base_addr=V               \\ Optional remote device base address
				      base_page=V               \\ Optional remote device base page for address
				      context=S                 \\ Context of other simulator
				    }
				  }
				!DEVICE
				}
				[TEMPLATE=@SIMBRIDGE]           \\ Master for SimBridge control
				debug_init=K(off,on,no_connect) \\ Debug trace control for init \
				                                \K No debug tracing, \
				                                   Debug tracing but full setup, \
				                                   Debug tracing but do not connect
				fail=K(stop,prompt,ignore)      \\ How to handle failures \
				                                \K Stop the load and quit, \
				                                   Ask for each failure whether to continue, \
				                                   Ignore and continue
				sim_state=K(stop,run)           \\ Controls initialized state \
				                                \K Start all in stopped (debug) state, \
				                                   Start with simulators running
				?DEVICE
				
				
							

相关资源