My XMOS XTC Tools notepad

 Started 14May2021. Updated 30May2021.This not is in group Technology and My XMOS pages

This is structured as a log: newest at the bottom:

Install on macOS

Documentation of 15.0.6: https://www.xmos.ai/documentation/XM-014363-PC-4/html/tools-guide/install-configure/getting-started.html#get-started

System requirements

  • I am running macOS 10.13.6 (High Sierra) at the moment. Because I need xTIMEcomposer 14.4.1 to easily run (Java 6)
  • “Operating systems macOS 10.14 (Mojave) and newer are supported. Intel processors only. Older operating systems are likely to also work, though they are not supported.”. Strange, I thought Rosetta 2 should convert every Intel binary to the Apple Arm-based M1. I queried about this at the Apple community: Rosetta 2 not for which binary?

Open Terminal, write “cd ” and drag the XTC directory (in Programs) with Finder into Terminal:

cd /Applications/XMOS_XTC_15.0.6

Error 01 in the docs: Do the second line, not the first (I have reporetd this to XMOS: Ticket #161052#):

$ SetEnv.command
$ ./SetEnv.command

Alternatively just drag the SetEnv.command from the XTC directory with Finder into Terminal. This will look like this:

/Applications/XMOS_XTC_15.0.6/SetEnv.command

Version

xcc --help
cat "$XMOS_TOOL_PATH"/doc/version.txt
15.0.6 (build: 445-3976dcf)
xcc --version
Build 8-2f98842, Mar-25-2021
Copyright (C) XMOS Limited 2008-2021. All Rights Reserved.

USB driver: “USB driver support is provided natively on OS X”

Interesting comment: “Using XTAG from within a VM. If you are using the tools from within a VM..” Maybe the last xTIMEcomposer 14.4.1 in the future can run in a HighSierra VM (Virtual Machine) on Big Sur and then run Java 6 there? With Parallels desktop for Mac? (now Corel). Hopefully this will not be necessary since the new install of 15.x.y might cover what I need (I do use xta, but it’s not crucial I think).

XTAG access

xrun -l

Available XMOS Devices
----------------------

  ID	Name			Adapter ID	Devices
  --	----			----------	-------
  0 	XMOS XTAG-3         	2NMGxQiY	[Invalid firmware: 0x1006]
  1 	XMOS XTAG-3         	mqnHNZCF	[Invalid firmware: 0x1006]

Configuring an IDE

They show examples for:

  • Visual Studio Code (VSCode, VS Code, Live share by Microsoft . For Windows etc, but also for macOS. (Extensions support folding, like Explicit Folding. I have also heard  about PlantUML)
  • Eclipse
  • xTIMEcomposer Studio is based on Eclipse, but they don’t recommend using that instance of it. Here is what they say: “Integration of the 15.0.x toolchain with the xTIMEcomposer Studio IDE packaged with previous tools releases is not recommended. Developers desiring a similar IDE experience should follow the instructions for Eclipse.

What about using:

Sneak preview of lib_xcore contents

Looks rather low level to me. But I guess more fingerspitz control:

xcore/assert.h
xcore/chanend.h
xcore/channel_streaming.h
xcore/channel_transaction.h
xcore/channel.h
xcore/clock.h
xcore/hwtimer.h
xcore/interrupt_wrappers.h
xcore/interrupt.h
xcore/lock.h
xcore/minicache.h
xcore/parallel.h
xcore/port_protocol.h
xcore/port.h
xcore/select.h
xcore/swmem_evict.h
xcore/swmem_fill.h
xcore/thread.h
xcore/triggerable.h

Update macOS

I did update from five years old macOS 10.13.6 High Sierra (Sep 2016) to Mojave (Sep 2018, 10.14.6 as of May2021). I decided to not go to Catalina (Oct 2019) yet, since XTC Tools are not yet properly signed for it at the moment. But again, it’s XMOS who unnecessarily holds me back 😳.

So now, with Mojave the xTIMEcomposer will is not able to run on the newer Java runtime that came with it. I don’t think I bother downgrade to this, since I plan to do a clean cut with 14.4.1 and go for the XMOS 15.x.y.

Installing Visual Studio Code (on macOS)

According to https://code.visualstudio.com/docs/?dv=osx then “It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity)”. I like it, specially Node.js which I have shown some interest in: CSP on Node.js and ClojureScript by JavaScript.

More coming..

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.