SliceKit x200 boot from SPI Slave
Posted: Tue Oct 17, 2017 5:01 pm
Hey guys, I am fairly new to the XMOS world and for our application, we would like to remotely upgrade the firmware using SPI. The SPI Master in this case is a raspberry pi. I have followed specific to dot instructions from AN00238 about compiling an image and the bootloader. I have also ensured that the SPI is in the correct mode (mode3/LSB fist/ 100Khz) using an oscilloscope. These are the problems I have encountered.
The application says that X0D05 should be high for SPI slave mode. I am successfully seeing that it is in SPI Slave boot mode (xrun dump state shows tile 0 is at 0xfff00734), but to achieve this, I had to set X0D49 to high so that the digital latch connects X0D05 to the jumper expansion rather than the QSPI flash. (WHY CANT THEY JUST GIVE SOME GODDAMN PINS). However I am still not able to transfer the image.
1.My question is what is the procedure for this board. Why is it so ambiguous or hardly any instructions exist.
2. How does SPI slave boot work. Does it wait for SS to go low , then transfer and then once SS is high it "knows" that the program has been transferred??
3 IS there any modifications to XN file. If so where are the INSTRUCTIONS
4. Are the pins X0D00, X0D11 and X0D10 on the expansion header even connected to the Xcore.
5. How to verify that the transfer even took place (I am not talking about blinky blinky LED) but actual transfer validation.
The application says that X0D05 should be high for SPI slave mode. I am successfully seeing that it is in SPI Slave boot mode (xrun dump state shows tile 0 is at 0xfff00734), but to achieve this, I had to set X0D49 to high so that the digital latch connects X0D05 to the jumper expansion rather than the QSPI flash. (WHY CANT THEY JUST GIVE SOME GODDAMN PINS). However I am still not able to transfer the image.
1.My question is what is the procedure for this board. Why is it so ambiguous or hardly any instructions exist.
2. How does SPI slave boot work. Does it wait for SS to go low , then transfer and then once SS is high it "knows" that the program has been transferred??
3 IS there any modifications to XN file. If so where are the INSTRUCTIONS
4. Are the pins X0D00, X0D11 and X0D10 on the expansion header even connected to the Xcore.
5. How to verify that the transfer even took place (I am not talking about blinky blinky LED) but actual transfer validation.