My first PCB! on Flickr.
My first PCB! on Flickr.
Here’s a mini-howto on how to debug 8-bit AVRs with debugWire on Linux. The examples below apply to the AVR Dragon programmer and ATtiny85 microcontroller, but should work with other supported hardware as well.
NB: target must be powered off an external supply, not from the AVR Dragon! See this post.
Enter debugWire mode
$ avrdude -c dragon_isp -p attiny85 -P usb -U hfuse:w:0x9f:m
Now power-cycle the target.
Do some debugging
$ avarice -g -w -P attiny85 :4242
...
Preparing the target device for On Chip Debugging.
Waiting for connection on port 4242.
$ avr-gdb hello.elf
...
(gdb) target remote :4242
Remote debugging using :4242
0x00000000 in __vectors ()
(gdb)
Enter ISP mode
$ avrdude -c dragon_isp -P usb -p t85
avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_FAILED
avrdude: jtagmkII_getsync(): ISP activation failed, trying debugWire
avrdude: Target prepared for ISP, signed off.
avrdude: Please restart avrdude without power-cycling the target.
Target is now temporarily in ISP mode until it is power-cycled again.
$ avrdude -c dragon_isp -P usb -p t85 -v
...
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.15s
avrdude: Device signature = 0x1e930b
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as 9F
avrdude: safemode: efuse reads as FF
...
You can now reprogram the fuses to disable debugWire.
It’s been over four months since my last post. A lot has happened since then, but most importantly: I have graduated and now proudly hold a Master’s degree in Computer Science!
Needless to say, I have been quite busy working on my thesis these past months. Titled Evolutionary Music Composition - A Quantitative Approach, it explores the use of Artificial Evolution for the automatic generation of novel music. Here are two sample melodies: “Zelda” (evolved from scratch) and “Let It Be” (inspired by The Beatles’ song).
It has been quite a journey and I can’t help but feel a bit sad that my time as a student is over. But who knows, I might return to academia one day…
Apart from graduating, I have also…
At the time of writing, I’m in Berlin attending The Desktop Summit 2011 :)
After that an exciting job at ARM awaits!

This release adds support for application indicators and includes various bug fixes:
Bugs fixed:
565302 - Add countdown label (for application indicator)
610632 - Create ~/.config/autostart if it doesn’t exist
671962 - Add support for libnotify 0.7
682999 - Properly stop triggered alarms that are not playing sound
704956 - Add support for application indicators
706832 - Clicking on status icon should bring up list instead of snoozing
Please see the Alarm Clock website for details on how to get it!
Game of Life on the Blinken Button wearable 8x8 LED Matrix.
World is bounded instead of infinite. Random initialization, hours of fun!
Code at GitHub.