I recently soldered a ATMega328P in a TQFP package onto a PCB I designed. The conncetions seem to be fine and there are no bridges. I have used 100nF decoupling caps on the power pins. The RESET pin is connected to +5V through a 10k resistor. I use the USBasp for programming. However, the AVR does not respond to the programmer and avrdude issues the following error:
avrdude.exe -c usbasp -p m328p avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update. avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude.exe done. Thank you.
What could be the problem here?. The picture of the connection as well as the board layout is attached.
Also, I have the same IC in a DIP28 package, and that one seems to work fine.
EDIT: After some tinkering around, I found that the MISO pin was connected to GND. The DMM showed a resistance of 1.1Ohms. But I see no possible way in which they can be shorted. Can you suggest some possible reasons and solutions.?