Bricked my shruthi-1

ayo. just finished a shruthi-1 build and tried to do a firmware update. i am a linux user.

first tried over midi (used amidi --send). the series of lights indicating the receive progress would never show, but the shruthi ceased booting normally after the first attempt. i could, however, boot into the firmware receive mode with button 6. when i just plug it in normally, the screen stayed blank.

next i got out my avrispmk2 and tried that. checked the source out from github, built it, installed the bootloader and all that, now i get this error:

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e960a
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 "build/shruthi1/shruthi1.hex"
avrdude: ERROR: address 0x10010 out of range at line 4099 of build/shruthi1/shruthi1.hex
avrdude: write to file ‘build/shruthi1/shruthi1.hex’ failed

avrdude: safemode: Fuses OK

avrdude done. Thank you.

any help? going to keep messing with avrdude params and see if there’s something amiss there. i’m using make upload_all as root. the steps to set the clock and fuses work fine.

okay, seems that avrdude can write the shruthi1_0.93.hex from your releases directory just fine, so this looks like a problem with my toolchain.

You can grab a pre-built .hex here for v0.93 if that’s the one you are looking about.

The problem you seem to experience is that the version of avr-gcc on your machine generates code too large to fit into the chip. The latest updates of gcc are generating less efficient code than they used to. I’m running 4.3.3. What is the built firmware size on your setup (make size)?

65932. gcc-avr 4.5.2, downgraded from 4.6.something because it just wouldn’t build the shruthi firmware at all. i’ll try a downgrade.

edit: earliest i can get is 4.4.3.
edit edit: 4.4.3 gets me a “make size” of 63778.

I’m under debian and used gcc-avr 1:4.3.5-1 (from the repository) and it worked just fine

Why can’t you get an earliset than 4.4.4 gcc-avr ?

Cheers,

Tom.

i’m on arch. 4.4.3 is the earliest I can find binaries for, but I could compile my own if i really really need to.

everything works fine with 4.4.3.