Difference between avr firmware hex files

Hello,

In order to upload firmware onto a brand new AtMega16U Usb controller using Flip, I am following these steps: Arduino - DFUProgramming8U2.

My main question is the hex file that I am required to upload.

  1. What is the difference between the arduinoISP and atmegaxxxu2 folders? Is one meant for use when using Arduino as a programmer vs using an avr programmer, such as Atmel Ice?

  2. Within atmegaxxxu2, there are arduino-usbdfu files, ardiuno-usbserial files, AND dfu-usbserial combined files. When would I want to use each? Do I want to upload both (usbdfu and usbserial) onto the Atmega16U? Whenever I try to load the combined hex file, Flip gives me an error.

Muhmmbles:

  1. What is the difference between the arduinoISP and atmegaxxxu2 folders?

The ArduinoISP firmware files are for the Arduino ISP programmer:
https://store.arduino.cc/arduino-isp
That is just Arduino's own AVR ISP programmer, similar to the USBasp, USBtinyISP, AVRISP mkII, etc.

The atmegaxxu2 firmware is for the ATmega16U2 (and similar) used on the Arduino Uno and Arduino Mega as a USB to TTL serial adapter.