Interfacing a different Flash memory to XS1-L1

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
User avatar
jai
Member
Posts: 15
Joined: Wed Jun 15, 2011 9:20 am

Interfacing a different Flash memory to XS1-L1

Post by jai »

The XK-1A board uses AT25FS010 Flash memory from Atmel.
In the case of XK-1A board, the bootloader(I hope we get this from XMOs) in this kit certainly knows this device and it reads data from this flash during the boot process.
And xflash utility too knows this flash device so that it can program the AT25FS010.

In the XN file, we mention like

Code: Select all

    <Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="AT25FS010">
      <Attribute Name="PORT_SPI_MISO" Value="PORT_SPI_MISO"/>
      <Attribute Name="PORT_SPI_SS"   Value="PORT_SPI_SS"/>
      <Attribute Name="PORT_SPI_CLK"  Value="PORT_SPI_CLK"/>
      <Attribute Name="PORT_SPI_MOSI" Value="PORT_SPI_MOSI"/>
    </Device>

How does the bootloader know the instructions(which are given in AT25FS010 datasheet) for this particular device?

I believe these instructions are used when communicating with AT25FS010.

What are the prerequisites for using a different Flash chip with XS1-L1?

.


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

Post by Bianco »

I refer you to the Tools User Guide, Board Support, Adding Custom Flash Devices.

https://www.xmos.com/download/public/To ... 1.2%29.pdf
User avatar
jai
Member
Posts: 15
Joined: Wed Jun 15, 2011 9:20 am

Post by jai »

.
Yes. This is what i was looking for.
Thanks Bianco
.
User avatar
segher
XCore Expert
Posts: 844
Joined: Sun Jul 11, 2010 1:31 am

Post by segher »

jai wrote:How does the bootloader know the instructions(which are given in AT25FS010 datasheet) for this particular device?
The standard bootloader (the one in ROM) simply hardcodes the command 03, which is
implemented by pretty much ever SPI flash device out there.
User avatar
jai
Member
Posts: 15
Joined: Wed Jun 15, 2011 9:20 am

Post by jai »

The standard bootloader (the one in ROM) simply hardcodes the command 03, which is
implemented by pretty much ever SPI flash device out there
Are all the commands same for commonly available SPI Flash chips?

Can we load a custom bootloader into the BOOTROM of XS1 chip?
If this standard bootloader comes buitlin with the XS1 chip, and we cannot modify it, this bootloader can only be used with selected Flash chips (the ones in Development boards from XMOS).
Is it correct?

(I guess the xflash utility can only access the Flash chip and not the on chip BOOTROM)
User avatar
segher
XCore Expert
Posts: 844
Joined: Sun Jul 11, 2010 1:31 am

Post by segher »

jai wrote:
The standard bootloader (the one in ROM) simply hardcodes the command 03, which is
implemented by pretty much ever SPI flash device out there
Are all the commands same for commonly available SPI Flash chips?
Only 03 ("slow read", max. 20Mbps or so) is pretty much universal. That's the
only one you need for booting, of course.
Can we load a custom bootloader into the BOOTROM of XS1 chip?
ROM is ROM, so no. You can burn a custom loader into OTP though.
If this standard bootloader comes buitlin with the XS1 chip, and we cannot modify it, this bootloader can only be used with selected Flash chips (the ones in Development boards from XMOS).
Is it correct?
Pretty much all SPI flash chips work with the loader in ROM.
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Post by Bianco »

segher wrote:
jai wrote:
The standard bootloader (the one in ROM) simply hardcodes the command 03, which is
implemented by pretty much ever SPI flash device out there
Are all the commands same for commonly available SPI Flash chips?
Only 03 ("slow read", max. 20Mbps or so) is pretty much universal. That's the
only one you need for booting, of course.
Can we load a custom bootloader into the BOOTROM of XS1 chip?
ROM is ROM, so no. You can burn a custom loader into OTP though.
If this standard bootloader comes buitlin with the XS1 chip, and we cannot modify it, this bootloader can only be used with selected Flash chips (the ones in Development boards from XMOS).
Is it correct?
Pretty much all SPI flash chips work with the loader in ROM.
And if not you can always burn a custom loader in the OTP.
That is the way the flash boot on the XK-1(A) works as far as i know, because this board does not have the flash chip connected to the pins pins that are used to boot from SPI.
User avatar
jai
Member
Posts: 15
Joined: Wed Jun 15, 2011 9:20 am

Post by jai »

Thank you segher for those inputs.

Bianco wrote:
And if not you can always burn a custom loader in the OTP.
So i guess i would use 'xburn' to load a custom bootloader into the OTP.