02-01-2016 02:07 PM
I try to get working the example of firmware upgrade delivered inside the SDK. I'm using a Spansion S25FL512S. I can list all mtd partition and also, write to /dev/flash/boot and /dev/flash/kernel. I guess I correctly setup flash.
I can easily go through the end of the program just before rebooting. Once reboot called, nothing happen. Linux hang...
If I press any key, I go back to the console(tty) and I can navigate, but I can't shutdown or reboot. If I turn off the board and turn it back on, got no problem, u-boot and the updated kernel are booting.
I'm stuck at this step. Is there anyone had this issue before ?
02-08-2016 09:01 AM
02-10-2016 10:11 AM
Sorry for confusion.
If I go back to the console and I type a command, the Zynq does not respond. On the PCB, there is a led indicate if the FPGA is programmed or not. On cold boot, this led is turn on, so the FPGA is ok and I can see u-boot and linux booting. If, after a firmware upgrade in the SPI, I call a warm reboot, the led is kept turn off. I tried with "reboot -r" and no change..
I guess the shutdown sequence is ok because the FPGA done's led is turn off, but never turn on back again. I also enable debug in the petalinux FSBL to view if it has correctly been load. On cold boot, I see debug, on reboot after flash, I can't see anything. I connect the JTAG and I can communicate with the Zynq, it's in live. I read that one possible issue is the bootrom entered in error, but there is anyway to gather this code by JTAG ?
When you talk about the init script, in my case if the FSBL isn't loaded, what's the solution for me ?
02-10-2016 10:39 AM
Based on your description, on warm boot, the FPGA is not being programmed, and no code is executing. There could be several reasons for this. Regarding bootrom detecting an error, I have seen such messages printed on the serial console-- I do not know if there is some other way to check (eg. via JTAG).
One possibility is that the QSPI chip is not being reset. When Linux boots, it will normally configure the chip for best performance, including putting it into 4-byte addressing mode, and enabling quad mode. However, bootrom expects it to be in a relatively dumb/slow mode. The only way to guarantee this is to reset the QSPI chip at warm-boot time.
Does rebooting work under normal circumstances (eg. when not performing firmware upgrade)? Is it custom hardware, or one of the eval boards?
02-10-2016 10:45 AM
Do I suppose to see print out messages on the serial console when the boot is in the bootrom sequence ? I yes, I don't see anything.
If I do not call firmware upgrade and with the serial console I type "reboot", the rebot sequence with shutting down, reprogramming the FPGA, u-boot and petalinux correctly.
It a hybride custom hardware. I use a SOM of Enclustra company with a custom base board.
02-10-2016 11:12 AM
02-10-2016 11:47 AM
Yes exactly, only when I write the QSPI memory. I also tried with flashcp and it did the same behavior...
So thanks for your help. Hope someone have a solution!