Thanks, Ross.
I suppose I could "dead bug" a flash chip on my board to get this thing up and running, but at a minimum, what needs to be in the flash, or just it just need to be there to read zero bytes?
XHRA-2HPA No USB Activity Topic is solved
-
- Experienced Member
- Posts: 75
- Joined: Fri Apr 15, 2016 6:46 pm
-
Verified
- Respected Member
- Posts: 347
- Joined: Wed Jan 27, 2016 5:21 pm
It needs to contain the binary
See Section 6.3 of the data sheet <https://www.xmos.com/download/private/X ... 1.2%29.pdf>
See Section 6.3 of the data sheet <https://www.xmos.com/download/private/X ... 1.2%29.pdf>
6.3 Flash
A Quad SPI flash memory with a minimum size of 1 MByte must be attached to the device. The pins of the QSPI interface are shown in the Figure 4; the four data lines are shared with configuration straps (see Appendix A).
The QSPI flash memory should store the device firmware binary and the optional configuration information. Further information on the XHRA-2HPA firmware binary is available at http://www.xmos.com/products/audio/xcore-audio-hi-res-2.
The XHRA-2HPA device reads from the flash during booting. It expects each byte to be transferred with the least-significant nibble first. The programming tool which flashes the QSPI memory must make sure that the least significant nibble of a byte is transferred first. It should also ensure that the Quad SPI mode is enabled in the status register.
Figure 5 shows the list of currently supported Quad-SPI flash devices.
-
- Experienced Member
- Posts: 75
- Joined: Fri Apr 15, 2016 6:46 pm
OK, I think I may be understanding this a bit better. I'm going to try to dead-bug a flash on the board, and rig a connector to gain access for programming. Is there a recommended/favorite programming tool I should get?
Thanks for your patience!
Dan
Thanks for your patience!
Dan
-
- Experienced Member
- Posts: 75
- Joined: Fri Apr 15, 2016 6:46 pm
It's been a little while since my last post regarding this problem, but I have progress, but no solution.
I was able to design a small board to piggyback on the USB DAC board and cleanly access most of the required signals - only two short 30ga wires remaining.
I have programmed a S25FL116K flash memory with the XMOS provided firmware, LSN first, Quad mode enabled. Additionally, I programmed 00 00 at memory 80000 in the flash to signify to the XHRA no config information, (for default config settings).
Upon boot I see activity on all of the QSPI flash signals, including all four data lines of the flash. This activity lasts for at least 20mS, or as long as my scope has memory for. If I set the scope to run continually I see the activity and then it ceases.
Despite all of this, there is still no activity on the USB bus, nor does the host computer recognize the device.
I am out of ideas. Please help,
Desperate in Nashville.
I was able to design a small board to piggyback on the USB DAC board and cleanly access most of the required signals - only two short 30ga wires remaining.
I have programmed a S25FL116K flash memory with the XMOS provided firmware, LSN first, Quad mode enabled. Additionally, I programmed 00 00 at memory 80000 in the flash to signify to the XHRA no config information, (for default config settings).
Upon boot I see activity on all of the QSPI flash signals, including all four data lines of the flash. This activity lasts for at least 20mS, or as long as my scope has memory for. If I set the scope to run continually I see the activity and then it ceases.
Despite all of this, there is still no activity on the USB bus, nor does the host computer recognize the device.
I am out of ideas. Please help,
Desperate in Nashville.
-
- Experienced Member
- Posts: 75
- Joined: Fri Apr 15, 2016 6:46 pm
A little additional detail:
The CS line starts high, goes low for approximately 97ms, then returns high. during this period the CLK is active and looks to be at 2.4MHz.
Dan
The CS line starts high, goes low for approximately 97ms, then returns high. during this period the CLK is active and looks to be at 2.4MHz.
Dan
-
- Experienced Member
- Posts: 75
- Joined: Fri Apr 15, 2016 6:46 pm
Can ANYONE tell me what I SHOULD see on the signals associated with flash??
I have quite a lot of activity (data) on all lines - CLK, CS, D0-D3 but zero response on the USB bus.
I have quite a lot of activity (data) on all lines - CLK, CS, D0-D3 but zero response on the USB bus.
You do not have the required permissions to view the files attached to this post.
-
- Member++
- Posts: 22
- Joined: Tue Nov 01, 2016 9:02 am
Hi,
Did you get any further with this problem as I am having the same issue.
Thanks
Did you get any further with this problem as I am having the same issue.
Thanks
-
- XCore Legend
- Posts: 1913
- Joined: Thu Jun 10, 2010 11:43 am
Have a review of this thread but in particular the waveforms from a working QSPI flash device on the last page:
https://www.xcore.com/forum/viewtopic.p ... 2&start=40
* see the working QSPI waveforms posted by sakage for reference
Direct link:
https://www.xcore.com/forum/download/file.php?id=1321
How are the waveforms for your SCK and CS lines relative to the D0..D3 pins on the QSPI flash ?
Do you have a golden sample of the QSPI flash from the official XMOS PCB ?
If yes, can you swap your flash device with the official factory flash device from XMOS for testing ?
https://www.xcore.com/forum/viewtopic.p ... 2&start=40
* see the working QSPI waveforms posted by sakage for reference
Direct link:
https://www.xcore.com/forum/download/file.php?id=1321
How are the waveforms for your SCK and CS lines relative to the D0..D3 pins on the QSPI flash ?
Do you have a golden sample of the QSPI flash from the official XMOS PCB ?
If yes, can you swap your flash device with the official factory flash device from XMOS for testing ?
-
- Member++
- Posts: 22
- Joined: Tue Nov 01, 2016 9:02 am
From what I have observed on my design there is some initial activity on the flash (clock and cs) and then that's it. No USB activity? I have read and re-read the XHRA data sheet and I am sure it say's that if the flash device is blank the XHRA will write in some default parameters.
-
- XCore Legend
- Posts: 1913
- Joined: Thu Jun 10, 2010 11:43 am
The external QSPI flash device cannot be blank. You must solder in a pre-programmed QSPI flash device and that flash device must have the QSPI bit ENABLED. The factory rom / boot firmware inside this controller will then boot the code inside the external pre-programmed flash device.
After the programmed flash device is installed then you can continue to upgrade the firmware out in the field using the USB interface (DFU).
https://www.xcore.com/forum/viewtopic.php?f=47&t=3572
After the programmed flash device is installed then you can continue to upgrade the firmware out in the field using the USB interface (DFU).
https://www.xcore.com/forum/viewtopic.php?f=47&t=3572