Skip to content

TPI Fails #2

@sleemanj

Description

@sleemanj

Short story, I have not investigated far, ATTiny5

Writing flash with TPI on 1.06a firmware (prebuilt binary) doesn't actually appear to modify the flash,

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e8f09 (probably t5)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
        To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/tmp/arduino_build_514273/Blink.ino.hex"
avrdude: writing flash (242 bytes):

Writing | ################################################## | 100% 0.32s

avrdude: 242 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_514273/Blink.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_514273/Blink.ino.hex:
avrdude: input file /tmp/arduino_build_514273/Blink.ino.hex contains 242 bytes
avrdude: reading on-chip flash data:

An error occurred while uploading the sketch
Reading | ################################################## | 100% 0.10s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x00ba
        0x43 != 0x47
avrdude: verification error; content mismatch

avrdude done.  Thank you.

The existing firmware on the target is unmodified (evidenced by the behaviour of the target being that specified by the previous flash contents) indicating that even though it said it wrote flash, it didn't, and hence the verification error.

Usnig the current fischl firmware it works fine.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e8f09 (probably t5)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
        To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/tmp/arduino_build_514273/Blink.ino.hex"
avrdude: writing flash (242 bytes):

Writing | ################################################## | 100% 0.91s

avrdude: 242 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_514273/Blink.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_514273/Blink.ino.hex:
avrdude: input file /tmp/arduino_build_514273/Blink.ino.hex contains 242 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.10s

avrdude: verifying ...
avrdude: 242 bytes of flash verified

Now, beware when testing, the verification in 1.06a firmware DOES work, so if you successfully write the flash with the fischl firmware, then try to write the same flash contents using the 1.06a firmware, it will look like it all worked fine, but it didn't, it still didn't write the flash it just passes verification because it was already written previously. So in other words, every time you do a test, make sure your flash content you are testing with is unique.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions