Problems Updating Firmware

Home Forums TinyG TinyG Support Problems Updating Firmware

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #4961
    sshwarts
    Member

    Hi. I’m trying to update my firmware. It’s currently as reported by $sys:

    [fb] firmware build 370.08
    [fv] firmware version 0.95
    [hv] hardware version 7.00

    I’m using AVRDude on a Mac using the following command line:

    avrdude -p x192a3 -c avr109 -b 115200 -P /dev/cu.usbserial-DA00E8PD -U tinyg.hex

    Here’s what I see on the console:

    Connecting to programmer: .
    Found programmer: Id = “XBoot++”; type = S
    Software Version = 1.7; No Hardware Version given.
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=512 bytes.

    Programmer supports the following devices:
    Device code: 0x7b

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e9744
    avrdude: NOTE: Programmer supports page erase for Xmega devices.
    Each page will be erased before programming it, but no chip erase is performed.
    To disable page erases, specify the -D option; for a chip-erase, use the -e option.
    avrdude: reading input file “tinyg.hex”
    avrdude: input file tinyg.hex auto detected as raw binary
    avrdude: writing application (196608 bytes):

    Writing | | 0% 0.00savrdude: butterfly_page_erase() called on memory type “application”

    I then get pages and pages of ***failed; and then finally:

    Writing | ################################################## | 100% 0.68s

    avrdude: 196608 bytes of application written
    avrdude: verifying application memory against tinyg.hex:
    avrdude: load data application data from input file tinyg.hex:
    avrdude: input file tinyg.hex auto detected as raw binary
    avrdude: input file tinyg.hex contains 196608 bytes
    avrdude: reading on-chip application data:

    Reading | | 0% 0.00savr_read(): error reading address 0x0000
    read operation not supported for memory “application”
    avrdude: failed to read all of application memory, rc=-2

    avrdude done. Thank you.

    At least it thanks me at the end. Anyone have a clue what I might be doing wrong?

    Thanks

    #4962
    cmcgrath5035
    Moderator

    Have a look at this thread

    I believe you do not have a true binary file, rather one with CRs and LFs, etc.

    I had the same issue.

    #4964
    sshwarts
    Member

    Ok, I saw on error of my ways, my command line was wrong. So using this:

    avrdude -p x192a3 -c avr109 -b 115200 -P /dev/cu.usbserial-DA00E8PD -U flash:w:tinyg.hex

    I get different results:

    Connecting to programmer: .
    Found programmer: Id = “XBoot++”; type = S
    Software Version = 1.7; No Hardware Version given.
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=512 bytes.

    Programmer supports the following devices:
    Device code: 0x7b

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e9744
    avrdude: NOTE: Programmer supports page erase for Xmega devices.
    Each page will be erased before programming it, but no chip erase is performed.
    To disable page erases, specify the -D option; for a chip-erase, use the -e option.
    avrdude: reading input file “tinyg.hex”
    avrdude: input file tinyg.hex auto detected as Intel Hex
    avrdude: writing application (102724 bytes):

    Writing | | 0% 0.00savrdude: butterfly_page_erase() called on memory type “application”
    ***failed;
    <lots of fails>
    Writing | ################################################## | 100% 0.33s

    avrdude: 102724 bytes of flash written
    avrdude: verifying flash memory against tinyg.hex:
    avrdude: load data flash data from input file tinyg.hex:
    avrdude: input file tinyg.hex auto detected as Intel Hex
    avrdude: input file tinyg.hex contains 102724 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 15.44s

    avrdude: verifying …
    avrdude: verification error, first mismatch at byte 0x0002
    0x6a != 0x14
    avrdude: verification error; content mismatch

    avrdude done. Thank you.

    I’ve loaded the file a number of ways from github. My total file size is: 288,951 bytes

    #4967
    cmcgrath5035
    Moderator

    Hmmm, on quick look the sizes and commands look correct.
    Here is a link to a record of my successful install session back on Oct 17.

    My avrdude version: avrdude version 5.11.1. I am running openSUSE Linux.

    Perhaps there are additional tricks in OSX.

    You’ll have to wait for Alden to stop by, he speaks OSX

    #4968
    sshwarts
    Member

    For whatever reason it worked from my Linux box but not the Mac. Thanks for the help. Case closed (at least for me)

    -Scott

    #4969
    cmcgrath5035
    Moderator

    Wow, that is odd, I think.

    Were the avrdude versions same or “close”, whatever that is?

    I also wonder about residual binary download differences between MAC and Linux.

    The good news is you now have a method that works.

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.