XHRA-2HPA-TQ64 doesn't load unique configuration data at 0x80000 addr

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
K_Audio
Junior Member
Posts: 7
Joined: Sat Nov 11, 2017 3:01 am

Post by K_Audio »

Could it be that the Read JEDEC ID command is not executed by the OTP code?
We know that the OTP code will (successfully) read a large chunk of data from the flash.
Perhaps that code is executed and it tries to read the remainder of the data from the flash.
Consider that after a period of inactivity following that first read, all subsequent reads from the flash happen at a much higher clock rate.
Also consider that the USB will enumerate.

Thank you very much kyeongjinjang for your effort.


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

Post by mon2 »

From XMOS support...
Hi Kumar,

It looks like you've done quite some due diligence! What you uncovered is true -- the chip itself does a check on the SPI flash before it boots up. Failure to use a SPI flash on the recommended list will cause the chip to not operate. Internally we've done some investigation to see if we can create a workaround to salvage the chip, but it looks like that did not pan out, hence the EOL notice.
Not clear at this time on the details of the EOL status for the XRHA-2HPA-TQ64 but another developer has received the same comment from factory. Suppose that if the source code for this IP is available, then the code can be planted into the pin compatible replacement (XCORE-200 series) using a more current list of flash IDs.

Does anyone have the source code / project for this IP? Thought it was encrypted.
Lucas
Member
Posts: 10
Joined: Tue Nov 05, 2013 10:14 pm

Post by Lucas »

mon2 wrote:From XMOS support...

Not clear at this time on the details of the EOL status for the XRHA-2HPA-TQ64 but another developer has received the same comment from factory. Suppose that if the source code for this IP is available, then the code can be planted into the pin compatible replacement (XCORE-200 series) using a more current list of flash IDs.

Does anyone have the source code / project for this IP? Thought it was encrypted.
Wait,just to clarify - developers are now receiving EOL notifications for XRHA-2HPA-TQ64?
Lucas
Member
Posts: 10
Joined: Tue Nov 05, 2013 10:14 pm

Post by Lucas »

User avatar
JohnLidar
New User
Posts: 3
Joined: Thu Nov 01, 2018 6:41 pm

Post by JohnLidar »

Has this issue moved forward at all?
Is the IS25LP080D-JNLE likely to work with the XE215-512-TQ128
User avatar
bowerymarc
Active Member
Posts: 40
Joined: Mon Dec 30, 2013 7:29 am
Contact:

Post by bowerymarc »

Hi, so I had this problem. The thread here https://www.xcore.com/viewtopic.php?t=4803 along with this one helped me solve it.
The issue I had was the IS25LQ080B is EOL and was subbed with IS25LP080D. TL;DR the xflash checks the chip ID and if it doesn't match you can't flash.
The app note 'custom flash support' totally skirts the issue of how to set up your custom file for flashing, instead focusing on what is IMHO not the main use case of user access to flash within your program.

So after cobbling it together I can save someone a couple of hours, I hope. I'll attach the IS25LP080D.txt file here. The procedure:

Put the file attached somewhere. I have it in my project (in the core dir) so I can keep it with the project. Others have tried to edit system files to make it easier to spec this EEPROM, but to me the issue is that makes it hard to keep a project all together in git, for example, when you have to edit files within the xTimeComposer directory itself. You can read the threads if you want to go that route.

Otherwise, you'll notice that the first number in the text file is zero - that corresponds to "UNKNOWN". So, edit your external devices section of your .xn file to have the device type be that. For example:

Code: Select all

  <ExternalDevices>
    <Device NodeId="0" Tile="0" Class="SQIFlash" Name="bootFlash" Type="UNKNOWN">
      <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>
Then, assuming you're using the IDE, go to the project's 'Flash configurations...' and under the 'XFlash options' tab, check the 'SPI Spec File' box and browse to select your IS25LP080D.txt file.

For command line, use the switch

Code: Select all

--spi-spec IS25LP080D.txt
These changes allowed me to successfully flash the part and boot my board (I'm using XU216-512-TQ128). Hope it helps someone.

M
Attachments
IS25LP080D.txt
(1.1 KiB) Downloaded 285 times
IS25LP080D.txt
(1.1 KiB) Downloaded 285 times
fabra
Active Member
Posts: 35
Joined: Sat May 09, 2020 4:20 pm
Contact:

Post by fabra »

For me xTimeComposer 14.4. solved a lot of the flash issues!
Post Reply