Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [dsdp-tm-dev] RSE & Multicore

Title: RSE & Multicore
Hi Martin,
 
It may be that you are saying the same thing about System Definitions.  I should elaborate on the kinds of properties I had in mind in a Definition.  I see two types of properties: 1) those defining the static hardware configuration of the system (like flash devices, processors, cores, etc.), and 2) those defining the connection possibilities (which I'm calling connection points) of a system (like a JTAG probe).  Here's the gory example I snipped out of my original post:
- SYSTEM DEFINITIONS 
   + New Board...
 
   + New Chassis... 
   - My Board Definition 
      - New
         - New Device
            + Generic...
            + Processor A
            + Processor B
            + Processor C
            + Bridge Chip
         - New Connection Point
            + JTAG
         - New Core
            + Core 1
            + Core 2
            + Core 3
         - New Register
            + Control
            + General Purpose
            + Fixed Point
            + Floating Point
         + New RAM Region
         + New FLASH Region
      - Processor A
         + JTAG Connection Point
         + Core 1
         + Core 2
         - Core 3
            + Registers
      + 00000000..003fffff RAM
      + 00400000..004fffff FLASH
      + Peripheral
   + My Chassis Definition
      - New
         + New Board...
         + New Board Group/Chassis...
         + New Connection Point...
      + My Board
      + My Board
 
I did think of using the existing Connection Wizard but settled on adding a parallel item because I felt that the types of configuration I'm adding are quite similar and thus would be easier to understand and use if presented to the user in a similar format.  My other rationale, and perhaps the more important one, is that I wanted to reuse the RSE Team sharing capability.  It's important that the System Definitions and Connection Devices be shareable.
Once a System Definition is created, it gets added to the New list of the System Connections (assuming that your System Connections corresponds to my Systems corresponds to RSE's Connections).  When the new system is then selected for creation, a wizard would ask the user to 1) plug in one or more Connection Devices to the Connection Points of the definition, and 2) add one or more references to the Launch Configuration(s) for the images he might want to associate with his processor/core(s).
 
For the second item, the idea is that for a system with multiple cores and multiple images you need some way to associate them.  Once you've associated them, it makes it easier to create a startup sequence for setting up a multicore debugging session.  Having looked at the PTP goals I suspect that they will be handling this same issue in a top-down, holistic approach which would probably supercede my proposal.
 
Hopefully it makes more sense now.
 
Tom
 

From: dsdp-tm-dev-bounces@xxxxxxxxxxx [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Oberhuber, Martin
Sent: Wednesday, April 19, 2006 9:56 AM
To: Target Management developer discussions
Subject: RE: [dsdp-tm-dev] RSE & Multicore

Hi Tom,
 
this proposal is interesting.
 
I definitely see some value in allowing the user to create System Definitions,
which act as a template for creating System Connections (do I get your idea
right?).
 
Currently, the RSE's System Definitions are quite static in terms of the properties
supported -- as we get more (potentially lots more!) properties for system connections,
your proposal seems to be a logical next step.
 
I think an alternative to your solution might be that the system definition templates are
selected as part of the connection definition wizard, e.g. by providing a "choose from
template" dropdown on the first page of the "new connection" wizard. Take this just
as food for thought, since I personally do like your proposal.
 
I still don't understand how the user would associate a connection defintion with a
system defintion in your proposal. And I think I don't understand your idea behind
the Launches. Would a Launch just connect the debugger to a given Core? -
If yes, then a context menu action like "attach debugger" might be sufficient
and Launches would not need to be maintained?
 
Could you elaborate a little bit more?
 
Thanks,
Martin
--
Martin Oberhuber - WindRiver, Austria
+43(662)457915-85
 


From: dsdp-tm-dev-bounces@xxxxxxxxxxx [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Hochstein Tom-R60874
Sent: Monday, April 17, 2006 11:30 PM
To: dsdp-tm-dev@xxxxxxxxxxx
Subject: [dsdp-tm-dev] RSE & Multicore

Hi All,

I've been thinking of how to integrate multi-board/processor/core hardware configuration information into Eclipse, specifically through RSE.  Please let me know what you think.

Starting at the top, the first change would be to create two new types of configuration data, System Definition and Connection Devices, to go along with the existing Connection.  The idea is to use the System Definition to collect data that is inherent to all systems of a given type, including the types of connection supported by the system.  A Connection Device is used to collect information for any extra hardware device providing the connection to the actual system, such as an Ethernet JTAG probe.

The existing Connection type is used to collect information specific to an actual physical system, which would include a reference to the appropriate System Definition, Connection Device(s), and Launch Config(s).  It would probably make sense to have the System Definition and Connection Device be optional, in which case the existing AIX, Linux and Unix Connections would continue to work as-is.

Given these definitions, since a system represented by a Connection could contain multiple physical connections, I think it would be appropriate to rename this to System, in which case we'd have Systems, System Definitions, and Connection Devices.  The Remote Systems pane might then look like this:

- CONNECTION DEVICES
   - New Device
      + Ethernet Probe...
      + USB Probe...
   + My Probe 1
   + My Probe 2
- SYSTEM DEFINITIONS
   + New Board...
   + New Chassis...
   + My Board Definition
   + My Chassis Definition
- SYSTEMS
   - New System
      + AIX...
      + Linux...
      + Unix...
      + My Board...
      + My Chassis...
   - My Chassis
      - My Board, Card Slot 1
         - Processor A
            + Core 1 <--> My Core 1 Launch
            + Core 2 <--> My Core 2 Launch
            + Core 3 <--> My Core 3 Launch
            + JTAG Connection <--> My Probe 1
      - My Board, Card Slot 2
         - Processor A
            + Core 1 <--> My Core 1 Launch
            + Core 2 <--> My Core 2 Launch
            + Core 3 <--> My Core 3 Launch
            + JTAG Connection <--> My Probe 2
  
For one stop-shopping, we might want to mirror the relevant settings of the launch panel in the Remote Systems pane as well:

- LAUNCH CONFIGS
   + New
   + My Core 1 Launch
   + My Core 2 Launch
   + My Core 3 Launch

Why do we need all this?  The separate Connection Devices info makes it easy to share System Definitions and/or Systems while using different instances of the same hardware.  The System Definition makes it easy to share hardware information (like flash, memory layout, register layout, processor layout, etc.) with different combinations of hardware.  The Systems info makes it possible to associate one or more launch configurations with one or more debuggable cores and one or more physical connection devices.

Does this make sense?  Is this a logical next step for RSE?

Best regards,

Tom Hochstein
Freescale Semiconductor, Inc.


Back to the top