It’s my third night with this problem and I’m tired. Here’s the problem: I created an Arduino (almost identical to Arduino Pro 3,3V 8MHz), flashed bootloader, uploaded Blink sketch. Can’t upload any more sketches. When I try, it resets and jums immediately to application (I can tell this from led behavior). What I tried:
Currently my most stable setup:
-Arduino Pro 3,3V 8MHz (atmega328p-au)
-Bus pirate acting as STK500v2 (to flash bootloader)
-FTDI FT232RL-based USB-UART (with RST pin out, not DTR!)
-Uploaded with avrdude-GUI
-Fuses: H:DA L:FF E:05
-Lock bits: 0F
-Uploading bootloaders from IDE
-From AvrDude GUI
-Changing size of bootloader/application are (fuses BOOTSZ0-1)
-Changing reset behavior (fuse BOOTRST)
-On some forums people write that lock bits are 0xCF, not 0x0F; tried that, get an error
-Flashing bootloaders for 16MHz - same
-Flashing Optiboot - can’t upload anything with it
Below are memory snapshots just after bootloader flash, after blink upload and comparison of the two (from which you can tell that the bootloader is preserved and not overwritten).
Is there any requirement to the reset pulse? I’m guessing maybe the capacitor is big/small and the puls is long/short?
Or maybe FTDI must have DTR out, not RST? But why the heck it works just perfectly first time (because application memory is clear I guess and execution travels freely to the bootloader?)
Please help me out.
clean_bootloader.hex (76.7 KB)
corrupted_bootloader.hex (76.7 KB)
boot_comparison.doc (136 KB)