Bootloading the Atmega32U4 through the Max3421

Hello,

I'm trying to make a USB host device with the ATmega32U4. The Max3421 is a common USB Host controller, used in Sparkfun and many others host controller Arduino shields. I'm curious, since the Max3421 USB host is connected to the USB-Micro, and then the 32U4 after the Max3421, how would I go about bootloading the 32U4. Since I can't connect the GND, D+, D-, and VCC directly to the 32U4, how would I burn it through SPI that goes through the Max3421?

early bump

I think you still load the bootloader via the SPI pins, so the 32U4 knows it is to act as the USB host with the MAX3421. The Slave Select to the MAX3241 would be in the High state (not selected) as a result of the programmer holding Reset low during the bootload process.

So you mean go directly from the max Host to the 32U4? I drew up a very very very basic diagram of what I have right now. The AS1130 is the rest of my circuit.

Do you mean the way I have it or go from the USB Micro to the 32U4?

You need those connections, yes, but not for bootloading.
For Bootloading you need an external programmer to drive the SPI pins, as if the MAX3421 wasn’t there.
The MAX3241 doesn’t control Reset, the external programmer does. Atmel AVR ISP MKii is one such programmer.

I could just connect some sort of ICSP to the same wires that go from the Maxim Host to the 32U4, right?

funkyguy4000: I could just connect some sort of ICSP to the same wires that go from the Maxim Host to the 32U4, right?

Correct SPI is a shared buss not a point to point connection.

okay, thank you so much!