Changing Flash IC on Explorer Kit boards

Technical questions regarding the XTC tools and programming with XMOS.
alwalker
Experienced Member
Posts: 83
Joined: Sun Apr 08, 2018 11:19 pm

Changing Flash IC on Explorer Kit boards

Post by alwalker »

Hi,

For compatibility with another company's software, I changed the flash IC on two old Explorer Kit boards from the Spansion S25FL116K to ISSI IS25LP080D-JNLE. I erased both flash ICs ok with the attached .xn file using xflash --target-board XC-200-EXPLORER.xn --erase all.

I then tried programming with a binary file created using XTC 15.3.1, but got the following error:
250425 Flash Error.png
On checking I found that the .xn file specifies the S25FL116K, so I am surprised that the erase process didn't produce any errors. I assume that I should change the .xn file to read:

<ExternalDevices>
<Device NodeId="0" Tile="0" Class="SQIFlash" Name="bootFlash" Type="IS25LP080D">
<Attribute Name="PORT_SQI_CS" Value="PORT_SQI_CS"/>
<Attribute Name="PORT_SQI_SCLK" Value="PORT_SQI_SCLK"/>
<Attribute Name="PORT_SQI_SIO" Value="PORT_SQI_SIO"/>
<Attribute Name="QE_REGISTER" Value="quad_spi_qe_location_status_reg_0"/>
<Attribute Name="QE_BIT" Value="quad_spi_qe_bit_6"/>
</Device>
</ExternalDevices>


Is this correct please?

My understanding is that XTC 15.3.1 is compatible with all the Spansion and ISSI flash ICs that have been fitted to Explorer Kits over the years.

Kind regards,

Al
You do not have the required permissions to view the files attached to this post.
Joe
Verified
Experienced Member
Posts: 98
Joined: Sun Dec 13, 2009 1:12 am

Post by Joe »

The Type field is not used, it can be removed.

I would remove the qe register and qe bit fields too. 15.3.1 can work all that out now from the SFDP.

Try rebuilding and making sure it's using that XN and it should work.

Cheers,
Joe
XMOS hardware grey beard.
alwalker
Experienced Member
Posts: 83
Joined: Sun Apr 08, 2018 11:19 pm

Post by alwalker »

Hi Joe,

Thanks very much, looking through the folder structure, I believe that the .xn file called by CmakeLists.txt is located in

C:\Program Files\XMOS\XTC\15.3.1\targets\XCORE-200-EXPLORER

Is this correct please?

In this .xn file, the flash declaration is as follows:

<ExternalDevices>
<Device NodeId="0" Tile="0" Class="SQIFlash" Name="bootFlash" PageSize="256" SectorSize="4096" NumPages="8192">
<Attribute Name="PORT_SQI_CS" Value="PORT_SQI_CS"/>
<Attribute Name="PORT_SQI_SCLK" Value="PORT_SQI_SCLK"/>
<Attribute Name="PORT_SQI_SIO" Value="PORT_SQI_SIO"/>
</Device>
</ExternalDevices>

Should any of the parameters by modified or deleted please?

Kind regards,

Al
alwalker
Experienced Member
Posts: 83
Joined: Sun Apr 08, 2018 11:19 pm

Post by alwalker »

I tried erasing the flash using the .xn file with the type field and qe register and qe bit fields removed. No problem was encountered.

I then tried erasing using the .xn file in C:\Program Files\XMOS\XTC\15.3.1\targets\XCORE-200-EXPLORER

This time I got the same problem as when I tried to program the binary:
250428 xflash issue.png
Any ideas please?
You do not have the required permissions to view the files attached to this post.
alwalker
Experienced Member
Posts: 83
Joined: Sun Apr 08, 2018 11:19 pm

Post by alwalker »

Hi Joe,
Assuming that this is the correct folder location for XTC 15.3.1, do you recommend replacing the .xn file with the modified version of the one I've been using please, for both erasing and programming using xflash?
alwalker
Experienced Member
Posts: 83
Joined: Sun Apr 08, 2018 11:19 pm

Post by alwalker »

The following worked:

In folder C:\Program Files\XMOS\XTC\15.3.1\targets\XCORE-200-EXPLORER

I renamed the existing XCORE-200-EXPLORER.xn to XCORE-200-EXPLORER.txt

I copied the modified version of my original XCORE-200-EXPLORER.xn (see attached) to this folder location.

I needed to do this as adding a new sub-folder to C:\Program Files\XMOS\XTC\15.3.1\targets\ isn't recognised by the build process even when specified in CMakeLists.txt

I then rebuilt my sample application using cmake and xmake, and successfully programmed two boards fitted with the new IS25LP080-JNLE.

As I understand that the current build of the XC-200 Explorer Kit is fitted with the IS25LP080-JNLE, why does the default .xn file in the XTC 15.3.1 toolchain folder structure not work please?
You do not have the required permissions to view the files attached to this post.