SPI was problematic for a bootloader in PSoC1. SPI works well for small transactions between a processor and a device (A/D, temp sensor, E2PROM - which has a hardware SPI implementation), however, a bootloader requires much larger transfers between the master and the slave device. Based on some studies on feasibility of an SPI bootloader, it was found that SPI was not suitable for long packets and was prone to errors. At higher SPI clock rate, the processor overhead was very high and this would cause buffer overruns. If at all an SPI bootloader is required for any particular application, an existing I2C or UART bootloader could be modified to implement SPI one.