Attiny424 Dead?

Hello everyone,

I’m having some trouble with my ATTiny424’s. I was programming using an arduino nano as updi. Jtag2updi.

Programmed one up and it said it was successful, popped it into my circuit and it didn’t respond to any inputs. Tried programming again with the nano and got a ton of errors.

Tried on 4 424’s and none of them work. Some gave the errors right out of the package, some gave the error after programming once. None come back after showing the errors.

None respond in or out of circuit to the inputs as programmed. All were bought from mouser and I don’t want to risk ruining anymore….

I can post a screenshot tomorrow, they’re on my work computer but here’s some that it was throwing out:

Cannot locate flash and boot memories in description.

device initialized and ready to accept instructions.

bad response to enter progmode command: RSP_ILLEGAL_MCU_STATE.

Error reading address 0x0000

Bad response to leave progmode command: RSP_ILLEGAL_MCU_STATE.

Edit: should clarify this is on arduino ide as well as using avrdude

Please don't. Copy and paste the actual text.

Read this by @DrAzzy before devoting too much more time to jtag2updi: AVR-Guidance/jtag2updi.md at master · SpenceKonde/AVR-Guidance · GitHub

`Arduino: 1.8.13 (Windows 10), Board: "ATtiny3224/1624/1614/1604/824/814/804/424/414/404/214/204, ATtiny424, 20 MHz internal, 1.8V (5 MHz or less), Disabled/Disabled, EEPROM retained, Enabled (default timer), 8ms, Master or Slave (saves flash and RAM), Default (doesn't print floats, 1.4k flash use), On all pins, like usual"

Sketch uses 1850 bytes (45%) of program storage space. Maximum is 4096 bytes.

Global variables use 34 bytes (6%) of dynamic memory, leaving 478 bytes for local variables. Maximum is 512 bytes.

C:\Users\cm5803\AppData\Local\Arduino15\packages\DxCore\tools\avrdude\6.3.0-arduino17or18/bin/avrdude -CC:\Users\cm5803\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.5.11/avrdude.conf -v -pattiny424 -cjtag2updi -PCOM33 -b115200 -Ufuse2:w:0x02:m -Ufuse6:w:0x04:m -Ufuse8:w:0x00:m -Uflash:w:C:\Users\cm5803\AppData\Local\Temp\arduino_build_570221/TurnSigV3.ino.hex:i 



avrdude: Version 6.3-20201216

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2014 Joerg Wunsch



         System wide configuration file is "C:\Users\cm5803\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.5.11/avrdude.conf"



         Using Port                    : COM33

         Using Programmer              : jtag2updi

         Overriding Baud Rate          : 115200

JTAG ICE mkII sign-on message:

Communications protocol version: 1

M_MCU:

  boot-loader FW version:        1

  firmware version:              6.00

  hardware version:              1

S_MCU:

  boot-loader FW version:        1

  firmware version:              6.00

  hardware version:              1

Serial number:                   00:00:00:00:00:00

Device ID:                       JTAGICE mkII

         AVR Part                      : ATtiny424

         Chip Erase delay              : 0 us

         PAGEL                         : P00

         BS2                           : P00

         RESET disposition             : dedicated

         RETRY pulse                   : SCK

         serial program mode           : yes

         parallel program mode         : yes

         Timeout                       : 0

         StabDelay                     : 0

         CmdexeDelay                   : 0

         SyncLoops                     : 0

         ByteDelay                     : 0

         PollIndex                     : 0

         PollValue                     : 0x00

         Memory Detail                 :



                                  Block Poll               Page                       Polled

           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack

           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------

           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00

           fuses          0     0     0    0 no          9   10      0     0     0 0x00 0x00

           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00

           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00

           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00

           usersig        0     0     0    0 no         32   32      0     0     0 0x00 0x00

           flash          0     0     0    0 no       4096   64      0     0     0 0x00 0x00

           eeprom         0     0     0    0 no        128   32      0     0     0 0x00 0x00



         Programmer Type : JTAGMKII_PDI

         Description     : JTAGv2 to UPDI bridge

         M_MCU hardware version: 1

         M_MCU firmware version: 6.00

         S_MCU hardware version: 1

         S_MCU firmware version: 6.00

         Serial number:          00:00:00:00:00:00

         Vtarget         : 5.0 V



avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description

avrdude: AVR device initialized and ready to accept instructions



Reading | avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_NO_TARGET_POWER

avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_NO_TARGET_POWER

avrdude: jtagmkII_read_byte(): bad response to read memory command: RSP_NO_TARGET_POWER

avr_read(): error reading address 0x0000

    read operation not supported for memory "signature"

avrdude: error reading signature data for part "ATtiny424", rc=-2

avrdude: error reading signature data, rc=-2

avrdude: error reading signature data, rc=-2



avrdude: jtagmkII_program_disable(): bad response to leave progmode command: RSP_NO_TARGET_POWER



avrdude done.  Thank you.





This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
`

That is supposed to indicate that the chip did not respond (timeout) (but because I don;t have a build environment to cross-compile for 7 different platforms, and struggle with wrangling toolchains, I couldn't even edit the error messages to add a more useful one if I wanted to, so I had to reuse an error message that already existed.

It is a curious and difficult to debug issue - sometimes it can be fixed by resetting the arduino being used as the jtag2updi programmer - I think the error is actually a bug in my timeout detection code (which I added because it was relatively easy to get jtag2updi into a state where it would hang until hard powercycled. But I did something wrong there, and then 2 years ago we upgraded SerialUPDI to get performance several times faster than jtag2updi, and deprecated jtag2updi, because the codebase is hellish to fix bugs in (it was such a traumatic experience last time I was working on it that I needed to take a month off of modern AVR development before I could look at a modern AVR again. The jtag2updi code was not written to be a programming tool. It was written by an author who wanted to show off just howmuch they knew about C++, and the fact that that made it incredibly difficult for anyone to modify? He doesn't care.

I've made my fork of jtag2updi read-only and announced that I no longer provide support for it, and that people should use SerialUPDI instead - the adapters can be made for 1/3rd the cost, with no programming step, from any USB serial adapter, and they program tinyAVR parts 4-6 times faster, and the advantage on Dx-series parts is even larger. So as far as I am concerned, jtag2updi is obsolete.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.