Hi, I have been having an issue where it seems to me that whenever I try to upload anything from the arduino IDE to a board directly via the iscp pins (or via the old style wiring) I get Device signature=0x00000 (retrying) then it eventually fails due to invalid device signature. This has happened on 2 different boards, once when I was trying to put the arduino bootloader onto a blank arduino uno (the main chip had been wiped) using the arduino as ISP.
This has also happened when I try to upload anything over my Parallel port programmer (to a bricked board, or one with a bootloader) Note that, my parallel programmer wouldn't work at all until I installed avrdude then installed giveio 64 (now it gives me the errors that i mentioned)
in both modes, it said I can use -f to override the check for board signature, but I don't know where to add the -f
if it the clock, what do I do? when i was programming with arduino as isp, i had 5v and ground of the host board (which was usb conncted) connected to 5v and ground of the board being programmed, will that power the clock, or should I plug in the power adapter to the bard being programmed?
When i am using the parallel programmer, I have the parallel programmer connected to the iscp pins as they are supposed to be, and the usb plugged in for power.
(the one thing I could think that may mess with the parallel port programmer would be that it is being done through a parallel port pcie card and I have read that avr is more finnicky with pcie parallel port, it says it needs something called inpout32.dll, but I am unsure what that is and how to install it. Would you be able to help with that?
I assume there is no way to test if the crystal is active without a scope or something?
The target chip's clock not running. That can happen when you are trying to switch a bare ATmega168/328P from a crystal oscillator (like on an Arduino) to the internal 8 MHz RC oscillator. An ATmega that is expecting a crystal needs that crystal to run its system clock. Without the clock you can't burn a bootloader.
There are two ways to provide a system clock:
1: If you can find a crystal between 8 and 20 MHz you can connect it between pins 9 and 10 of the target chip. Do that and try Step 4 again.
2: If you can't find a spare crystal or you try the crystal and still get the "Device signature = 0x000000" error you should get this modified ArduinoISP sketch from adafruit: [url=https://github.com/adafruit/ArduinoISP]https://github.com/adafruit/ArduinoISP[/url]
Connect Pin 9 of the ISP Arduino to pin 9 of the ATmega168/328P on the breadboard. That will provide an 8 MHz clock to allow programming without a crystal.
If you try both methods and it still fails with "Device signature = 0x000000" you might have a chip with configuration fuses set to disable serial programming. To fix the fuses you will need something like the HV Rescue Shield 2 from MightyOhm ([url=http://mightyohm.com/blog/products/hv-rescue-shield-2-x/]http://mightyohm.com/blog/products/hv-rescue-shield-2-x/[/url]). That uses High Voltage Serial Programming to reset your ATmega/ATtiny configuration fuses to factory defaults. If that doesn't work your ATmega/ATtiny is probably damaged beyond use.
Ok, well with the Arduino Uno, I am trying to burn the bootloader while it is in the board (which has crystal on it) should I still try without and for one of the chips i am trying to upload (not burn, just upload over iscp via parallel port programmer) it is soldered right to the board with no chance of getting off or even soldering anything to it.
In terms of high voltage programming, would rs232 (or some adapted version) be capable of doing that, since I know rs232 operates at 12-15v peaks