My toolchain (PlatformIO + CLion) executes avrdude ... -c arduino ... to program my Arduino Uno, but it's unclear to me what it's doing. All the documentation I've found refers to the value of the -c setting as the "programmer"; and all the documentation I can find about that term describe something that's a hardware component connected to the "ISCP header". But I'm connected over a serial port with no special hardware.
Is avrdude using the bootloader to program my Arduino? In that case what role does the -c arduino play (is it specifying the bootloader, or something that depends on how I'm connected)?
The full command, fwiw is
avrdude -v -p atmega328p -C "~/.platformio/packages/tool-avrdude/avrdude.conf" -c arduino -b 115200 -P /dev/cu.usbmodem1421 -D -U flash:w:.pioenvs/uno/firmware.hex:i