Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duemilanove programming Attiny85 succeeds but doesn't work #13

Closed
GoogleCodeExporter opened this issue Jul 20, 2015 · 2 comments
Closed

Comments

@GoogleCodeExporter
Copy link

--------------------
Steps to dupe:
--------------------
1. Using Arduino-0016, program Arduino Duemilanove (Duey) with mega-isp.

2. Hook Duey to Attiny85 (Tiny):
   Duey   Tiny
   13     pin7 (PB2 / SCK)
   12     pin6 (PB1 / MISO)
   11     pin5 (PB0 / MOSI)
   10     pin1 (PB5 / Reset)

3. Power Tiny with 5V (independent of Duey)
   0V     pin4
   5V     pin8

4. Compile and program Tiny:
avr-gcc -mmcu=attiny85 -Wall -I./ -o myblinky.out matt.c
avr-objcopy -j .text -O ihex myblinky.out myblinky.hex
avrdude -p t85 -c avrisp -b19200 -P /dev/ttyUSB0 

avrdude: please define PAGEL and BS2 signals in the configuration file for
part ATtiny85
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.13s

avrdude: Device signature = 0x1e930b

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

5. Disconnect Duey from Tiny.  Connect reset to VCC.

--------------------
Expected output
--------------------
I expect 5V on Tiny's PB4 (pin 3) or PB3 (pin 2).

--------------------
Actual output
--------------------
Tiny:
4.9V  pin1 PB5 (reset)
0.4V  pin2 PB3
0.3V  pin3 PB4
0.0V  pin4 GND
0.4V  pin5 PB0 (MOSI)
0.4V  pin6 PB1 (MISO)
0.4V  pin7 PB2 (SCK)
4.9V  pin8 VCC

Duey:
pin7 (heartbeat)   LED slowly pulsing
pin8 (error)       LED never comes on
pin9 (programming) LED on while programming, now off

--------------------
Other info
--------------------
Ubuntu 9.04

$ avrdude -v
avrdude: Version 5.5, compiled on Jan 28 2009 at 10:40:52

Here's the fuse data:
$ cat efuse.dat 
0b11111111
$ cat hfuse.dat 
0b11011111
$ cat lfuse.dat 
0b1100010

This is the first AVR I've ever tried to program.  I'm guessing I'm making
a newbie mistake.  And if I need to be directed to a different forum,
please tell me.

--------------------
matt.c
--------------------
/* Gets the avr library from /usr/lib/avr/include on my machine */
#include <avr/io.h>

int main (void) {
    /* PB4/PB3 are not used when programming */
    DDRB = _BV(PB4) | _BV(PB3);

    while (1) {
        /* PB4 = 1, PB3 = 0 */
        PORTB = _BV(PB4);
    }
}

Original issue reported on code.google.com by haggar...@gmail.com on 19 Nov 2009 at 5:01

@GoogleCodeExporter
Copy link
Author

The defect, dear sirs, is with the human.

I was doing:

avrdude -p t85 -c avrisp -b19200 -P /dev/ttyUSB0

instead of

avrdude -p t85 -c avrisp -b19200 -P /dev/ttyUSB0 -U flash:w:myblinky.hex

No wonder it wasn't working :)  It now works wonderfully!

Original comment by haggar...@gmail.com on 20 Nov 2009 at 5:43

@GoogleCodeExporter
Copy link
Author

Glad that it is working for you!

Original comment by rsb...@gmail.com on 23 Nov 2009 at 9:17

  • Changed state: Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant