Для программирования avr микроконтроллеров необходимо использовать программу avrdude. Поддерживаются разрные аппаратные программаторы, наверное почти все.
Исходники avrdude доступны на github. Для сборки так же потребуется как минимум libusb.
Libusb компилируется стандартно с использование скрипта configure. Архитектура ОС должна определиться автоматически (в моем случае arm64).
Avrdude использует скрипты cmake, для указания архитектуры ОС необходимо использовать следующую команду (в моем случае определялась неправильно):
cmake -DCMAKE_OSX_ARCHITECTURES=arm64 -D CMAKE_C_FLAGS='-I/usr/local/include -I/usr/local/include/libusb-1.0' -D CMAKE_BUILD_TYPE=RelWithDebInfo -B build_darwin
Для записи прошивки в чип (atmega 323p) используется:
avrdude -c usbasp -p m323 -P usb -v