EE109 – Spring 2023: Introduction to Embedded Systems
Problems
This page contains information about various problems that students in EE109 have encountered with their Arduino and the "avr-gcc" programming environment, and what to do to hopefully solve the problem.
Mac says "No AVR part has been specified"
It was all working before but now when you do a "make flash" on a Mac, it responds with a message about "No AVR part has been specified" and then give a very long list of all the AVR microcontrollers that is should be able to program, including the ATmega328P that is on your Arduino.
$ make flash avrdude -c arduino -b 115200 -P /dev/cu.usbmodem* -p atmega328p -U flash:w:main.hex:i avrdude: No AVR part has been specified, use "-p Part" Valid parts are: uc3a0512 = AT32UC3A0512 c128 = AT90CAN128 c32 = AT90CAN32 c64 = AT90CAN64 pwm2 = AT90PWM2 pwm2b = AT90PWM2B pwm3 = AT90PWM3 pwm316 = AT90PWM316 pwm3b = AT90PWM3B 1200 = AT90S1200 2313 = AT90S2313 2333 = AT90S2333 2343 = AT90S2343 . . .
From the Terminal window type the command below that lists what Arduino-like devices are connected to the computer.
$ ls /dev/cu.usbmodem* /dev/cu.usbmodemFA1221 /dev/cu.usbmodemFA12421
In this case it shows that the system thinks there are TWO Arduino-like device connected to the computer, but you probably only have one connected. The bogus Arduino is probably something left over from when the computer went to sleep with the Arduino plugged in, and now it thinks it's still there along with the real one. The easiest solution to this it to unplug the Arduino and restart the system. When the Mac reboots it will clean up things so the bogus Arduino is no longer there.