The ZYNQ chip is a popular film in the past two years, the dual ARM+FPGA, in the use of discrete FPGAs and CPUs can easily replace the original discrete devices.
Zynq can be external QSPI flash as the program's storage media.
QSPI and SPI Flash is the serial interface of nor FLASH, in the design support, the capacity is relatively small, so the protocol only left 3Bytes addressing, that is, the maximum 16MB space. But with the improvement of technology and technology, now the 32MB, 64MB, even 128MB and larger capacity of SPI/QSPI Flash have appeared.
In 32MB, for example, when you need to access addresses greater than 16MB, the new device provides two methods:
1. Switch bank, each bank 16MB, address throw in 3Byte mode, can only access this bank, need to access high address, switch to high bank;
2. Switch to 4Btyes address mode, through the command, you can switch flash from 3Bytes traditional mode to 4Bytes new mode
The above method can achieve more than 16MB address access, the software can play casually. However, ZYNQ has a design problem, solidified to the inside of the film Bootrom, "stubborn" to think that the qpsi Flash is 16MB, can only access this 16MB:
If cold Reset,flash naturally will be in the state of Bootrom cognition;
But warm reset, if previously switched to another bank or into 4Bytes mode, will cause the bootrom to find the correct scene, thereby initiating the failure. This is verified by the lessons of the blood and tears. So the software before the active reset, it is important to set the flash as the default mode, if the system external hardware watchdog, the watchdog also reset to pull to the Flash reset PIN!!!
Zynq restart risk due to QSPI storage program greater than 16MB