XE216 slave boot

If you have a simple question and just want an answer.
Post Reply
mx12
Member++
Posts: 20
Joined: Thu Aug 18, 2016 3:22 pm

XE216 slave boot

Post by mx12 »

Hi,
Sorry if that question was already posted, but I'm a bit confused with my current application. I have a custom board with a XE216 chip. The software on it works, so I have to boot the processor using slave boot configuration ('011' mode, Tile 0 SPI slave, Tile 1 SPI slave).

How shall I proceed?

Datasheet chapter 8.3 contains info about SPI signals and LSB SPI mode.
I tried to generate an image from the .xe application, using xflash my_app.xe -o my_app_image.bin --noinq, but can't get the system working with that file.

Does that slave SPI boot mode handles correctly the two tiles from a single image file?

What am I doing wrong?

Thanks for your support,

Vincent


User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi. You have a dual tile CPU from the XCORE-200 series.

Respectively, you will need to boot using an external QSPI flash memory device to boot tile # 0 and then use the internal links to boot tile # 1.

This webpage should be relevant to your request:

https://www.xmos.com/support/appnotes/AN00185

Attach an external blank QSPI capable flash memory device to your XE216 -> use xflash tools to program the external QSPI flash memory with your code in QSPI mode (ie. QE bit will be configured to be "1" and this bit is non-volatile - QSPI support is available in the xflash tool).

Start with testing of a simple blinky code running on tile # 0 but booting from your external flash memory.

http://www.xcore.com/viewtopic.php?f=47&t=4683

Update:

http://www.xcore.com/viewtopic.php?f=47&t=4787
mx12
Member++
Posts: 20
Joined: Thu Aug 18, 2016 3:22 pm

Post by mx12 »

Hi,
Sorry, there isn't any QSPI flash in the design. We have an existing product, and we create an option AVB board. We choose to upload the XMOS firmware through SPI, as the existing product has a firmware update capability.
As described into the XE216 datasheet, chapter 8 (Boot Procedure), the XE216 cab be booted using SPI slave mode (8.3 Boot from SPI slave). However, I never succeed with that boot, and need some support.
The last link you gave to me ("XS2 SPI slave booting" post) refers to the mode 2 (SPI slave for tile 0, Channel end 0 for tile 1). My hardware is setup for mode 3 (SPI slave for tile 0, SPI slave for tile 1). I can modify it to set it for mode 2, but really don't understand how shall I proceed for the boot. As I don't find any documentation explaining how to boot using these modes, I ask you some support to complete that.

EDIT: I just read on the XS2 SPI slave booting post this: "Another option is to get your host to boot both tiles each with their own slave select.". Might be interesting, but what should be the SS pin for the tile 1? Also, are SCLK/MOSI common pins? Please clarify.

Thanks,
Vincent
mx12
Member++
Posts: 20
Joined: Thu Aug 18, 2016 3:22 pm

Post by mx12 »

Hey XMOS,
Really need help on that point. Have to know if my prototype is going to production or if I have to cancel all that.
Thanks,
Vincent
Post Reply