Programming interface

New to XMOS and XCore? Get started here.
Post Reply
user322
Newbie
Posts: 1
Joined: Sun Jun 11, 2017 12:24 pm

Programming interface

Post by user322 »

Hello all,

I have been looking at the xcore MCUs as a possible dsp/motor controller. I can see that loading programs to the startKIT dev board is just directly via USB and xTime, but (at the risk of sounding pants on head stupid) what about standalone chips? I have no experience in this area other than programming AVR via usbasp, but as far as I can see it would be done via the JTAG pins, and that would interfaced to xTime via an XA-XTAG adapter. Is this correct?

I haven't been able to find any guide on programming stand-alone chips, annoyingly, so I'd appreciate any pointers in the right direction.

Thanks.


User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm
Contact:

Post by Bianco »

user322 wrote:Hello all,

but as far as I can see it would be done via the JTAG pins, and that would interfaced to xTime via an XA-XTAG adapter. Is this correct?

Thanks.
Thats correct. You can take a look for example at the XCORE-200 Explorer board schematics on how to wire up an XSYS connector (the connector that connects to the XTAG debug adapter). The UART and xSCOPE links are optional.
User avatar
data
Active Member
Posts: 43
Joined: Wed Apr 06, 2011 8:02 pm

Post by data »

XMOS devices are a little unusual among microcontrollers (as you may have noticed). They do not execute directly from an on-board flash memory. Instead, at startup, they copy code into RAM, usually from an SPI EEPROM or one of the Xlinks. So, you don't really program a "standalone" XMOS device: actually you program a serial EEPROM. It's not altogether unlike an FPGA.

XMOS do offer devices which have "built-in flash", but that simply means that the serial EEPROM is in the package.

You can, if you like, download code directly to RAM through JTAG, without programming the EEPROM, using xrun or xgdb. I am fairly certain that this is how most people develop with XMOS: download code to RAM over and over, then use xflash "burn" to EEPROM once things are solid.

Incidentally, I think you may find the XMOS architecture very well suited to motor control, that having been one of its originally intended applications: its primary inventor was particularly interested in robotics. One of my colleagues, who has spent the majority of his career in motor control and power systems, on being introduced to XMOS, reacted thus: "Why doesn't everybody (in motor control) use this?"
Post Reply