Understanding the display of Binaries

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
russf
XCore Addict
Posts: 146
Joined: Thu Dec 10, 2009 10:17 pm

Understanding the display of Binaries

Post by russf »

XMOS, THANK YOU for the great summary view, when I click on a Binary in the XDE.

This has real promise, and I'm hoping to get the best use of it.

I attach an image below, that shows the XN file, and the view I see. I would like to know the significance of the red entries on the right panel. Is there a reference doc, yet, on this? It seems not to be covered in the latest Tools pdf.

Can we have a graphic, or table, showing the runtime link and channel connectivity, as well as the understood load order and links?

Thanks,

--r.
You do not have the required permissions to view the files attached to this post.


User avatar
russf
XCore Addict
Posts: 146
Joined: Thu Dec 10, 2009 10:17 pm

Post by russf »

Some of the glitz is going off this, already. Sorry!

I'm just outlining a board bring up app. I intend to run around the IO, reading all the uncommitted inputs, and test with VCC through a 1k resistor, looking for connectivity and shorts. All the time printing the port state. Once that is checked, I go to phase 2, where I drive outputs, one by one, checking for voltage, and smoke ;)

Simple enough.

So I started building a list of 1-bit ports for one node, and found that just creating a list of ports, and including a port within it (XS1_PORT_1A, in this case) caused that same 1 bit in all 3 packages to turn red, as well as P1:X0D00 , P2:X0D00, P3:X0D00, on the BInary/UserIOs listing, where P[1..3] are my package IDs in the XN file, and are displayed on the right.

(Image attached.)

Bear in mind that nothing yet is actually referencing the list of ports. I have a feeling this just a piece of code that did not get finished before release, but would welcome a revelation!

I would have expected the simple mention of a port in an unused array to have no effect. And why am I affecting 3 packages, with one port definition?

Best,

--r
You do not have the required permissions to view the files attached to this post.
m_y
Experienced Member
Posts: 69
Joined: Mon May 17, 2010 10:19 am

Post by m_y »

Declaring a port without an "on" component causes that declaration to be enacted on every core in the system. If you change your initialised from "XS1_PORT_1A" to "on stdcore[0]: XS1_PORT_1A" you should see it affect one package only.

A port declaration is not a no-op. Merely declaring a port causes it to be initialised so it is considered to be used whether it's involved in any explict IO or not.
User avatar
russf
XCore Addict
Posts: 146
Joined: Thu Dec 10, 2009 10:17 pm

Post by russf »

Thanks m_y,
m_y wrote:Declaring a port without an "on" component causes that declaration to be enacted on every core in the system. If you change your initialised from "XS1_PORT_1A" to "on stdcore[0]: XS1_PORT_1A" you should see it affect one package only.
Ah. OK. That makes sense, as far as it goes....
m_y wrote:A port declaration is not a no-op. Merely declaring a port causes it to be initialised so it is considered to be used whether it's involved in any explicit IO or not.
I see. So, if I use a technique such as that used in Henk's pintest ...

Code: Select all

struct pinDescriptors ports[NPINS] = {
    { XS1_PORT_1A, 1, "PORT_1A", 0 },
    { XS1_PORT_1B, 1, "PORT_1B", 1 },
    etc...
to run a full pintest in a three processor network, I can expect red on almost all the ports in the Binary display.

I presume I can take these as warnings.

Thanks for your help!

--r.
m_y
Experienced Member
Posts: 69
Joined: Mon May 17, 2010 10:19 am

Post by m_y »

russf wrote:I can expect red on almost all the ports in the Binary display.
Yes.