Interface Exposure

Exposed functions needed to attach an AXE simulation to the `xgdb` debugger. 

Debug `printf`s have been removed, and test summary is:

```
Testing Time: 18.59s
********************
Failing Tests (1):
    axe :: SystemCalls/overlays.xc

  Expected Passes    : 74
  Unexpected Failures: 1
```
On 26/08/14 10:14, Simon Cooksey wrote:
>
> In include/axe-c/axe.h:
>
> > @@ -53,12 +53,23 @@ AXESystemRef axeCreateInstance(const char *xeFileName);
> >  void axeDeleteInstance(AXESystemRef system);
> >  AXECoreRef axeLookupCore(AXESystemRef system, unsigned jtagIndex,
> >                           unsigned core);
> > +
> > +int axeGetNodeType(AXESystemRef system, int nodeID);
>
> I'm pretty certain I mean |nodeID| - but I'm not really sure what the 
> jtagIndex is. I'm taking nodes to just be indexed from 0-infinity.
>
> I don't know if this is just what the index does by default.
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/rlsosborne/tool_axe/pull/15/files#r16703326>.
>
There are a few different ways to identify a node:

1) The index in the JTAG chain (the JTAG chain order is specified in the 
.xn file).
2) The "ID" XML attribute in the .xn file (note this isn't necessarily a 
number, it could be a string).
3) The routing ID that the tools assign to the node when you compile a 
program for the device.
4) The position in which the "Node" element appears the .xn file.

It unclear what node ID refers to. 2) is awkward to deal with since it 
might be a string. 3) is assigned by the tools when you compile so can't 
guarantee always getting the same value - for example it might change if 
you compile the application with a different tools version. It isn't 
good to rely on 4) since the order of elements in the .xn file isn't 
meant to be significant - you should be able to reorder them without 
changing behaviour.

For these reason we try to use 1) to identify nodes where possible and 
I'd rather not expose anything else in the API unless it is absolutely 
required. It looks like the nodes vector is not currently ordered by 
JTAG ID so in order to find a node matching a JTAG ID we must loop over 
them (see axeLookupCore).

-- 
Richard Osborne | XMOS
http://www.xmos.com