Debugging two different boards Topic is solved

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

Debugging two different boards

Post by aclassifier »

I have a startKIT (TARGET = STARTKIT) and an XCORE-200 eXplorer (TARGET = XCORE-200-EXPLORER).

Is there a way to have them both connected to the same machine (I use a Mac) and debug (or run) the code in both simultaneously?

The source is a little different for each, I'll differentiate with an #ifdef of LISTENER or SENDER or some kind of #ifdef? of each TARGET?

Is it possible to start two instances of xTIMEcomposer (like I was able to do that with the ARDUINO IDE that also runs on Java (here))?

If so, wouldn't it clash when they were going to address the same workspace?

Alternative 1. I know I could do it in series: First compile for one platform and FLASH it and let it just run without debug. Then compile and debug the other platform. They are going to talk together over a radio. I could FLASH the sender because I can hear the 433 MHz when full power (some mW) click in my external speakers anyhow.

Alternative 2 is two machines altogether, that I do have. But that makes merging code changes into the primary workspace more error prone.

Probably I haven't even asked the right questions! But I'd like some right answers!-)

Like if this is described somewhere else, then where? (I did not spot anything in the xTIMEcomposer User Guide for tools version 14.0.x)
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/
View Solution
User avatar
Sebastian
Active Member
Posts: 39
Joined: Wed Jul 20, 2016 9:15 am

Post by Sebastian »

Hi,

I have no idea about xTIMEcomposer, but if you are fimiliar with the commands, [xmake, xrun], you could simply use the terminal of OSx.

xrun -l
display the connected debugadapters.

With:
xrun --id [x] --xscope bin/... .xe

you could run your actual image.
For the second board, just open a second instances of the terminal or even a second tab.
It actually works for me with two boards.
I don't know if there is a limt except the power of your computer.

Sebastian
User avatar
aclassifier
Respected Member
Posts: 507
Joined: Wed Apr 25, 2012 8:52 pm

Post by aclassifier »

Thanks, Sebastian!

But I would prefer to run two boards from the same xTIMEcomposer! With the XCORE being so multi-everything shouldn't my need be logical: On two facets of the same source/project I run one startKIT and one XCORE-200 eXplorer?

However, you spurred me trying harder, Sebastian! So I opened Terminal and did as is described in the Off Topic box below by running the SetEnv and then xTIMEcomposer on a copy of the workspace. Just starting another instance of a JVM-based app isn't just another double-click on the Mac. I had tried another way and I was prompted with workspace already in use. I now debug the two different boards simultaneously in two xTIMEcomposer IDEs! YESS! (OS X 10.11.6). This is about as difficult/easy as doing it on another machine: I will have to synchronise the workspaces by hand (I use ChronoSync for it, and then do Refresh in xTIMEcomposer).
Off Topic
I do have to use Terminal to FLASH the image when I update the aquarium SW (see here. xTIMEcomposer 14.3.2 FLASHing does not work on macOS Sierra (10.12) or High Sierra (10.12), as that's run on my laptop. On my iMac I downgraded to El Capitan (10.11.6). After this long discussion xTIMEcomposer,Java Runtime JRE and macOS I haven't observed any work on XMOS' side to make life easier for Mac users who want to run the latest macOS (High Sierra). Please tell me I am wrong. I disregard all the smart workarounds in that XCore Exchange thread. Maybe I shouldn't?
Update: I made a summary on how to do this here
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/