I’m designing a custom PCB around an ATMega32U4. The 32u4 will talk to another onboard component via the SPI bus. Since the SPI pins (MISO, MOSI, SCK) are also used for ISP programming could other onboard component attached to the SPI bus interfere with programming the 32u4? If so, what is are typical ways to deal with other onboard devices on the SPI bus during programming?
As per AVR042: "AVR Hardware Design Considerations", subsection 4.1.1, "Shared Use of SPI Programming Lines":
If additional devices are connected to the ISP lines, the programmer must be protected from any device that may try to drive the lines, other than the AVR. This is important with the SPI bus, as it is similar to the ISP interface. Applying series resistors on the SPI lines, as depicted in [figure 4-2], is the easiest way to achieve this. Typically, the resistor value R can be of 330Ω.
See AVR042 for further details and considerations.