Tuesday, 31. July 2007
Why I converted my Arduino to an AVR910 programmer
rsbohn
13:51h
I have a handful of AVR chips that I'm using in various projects (including WOSP). You use the SPI interface to upload the software to the chip's flash memory. I wrote a custom program on the Arduino that would read in Intel S-records and push the program onto the chip. I hoped to simply send the programs a file at a time to the chip. Didn't work. There was no hardware handshaking between the USB Arduino and the computer, so it would fill the buffer and then hang. No fun. I tried adding xon-xoff control but couldn't get that working either. I could put the programs in using Hyperterminal, one line at a time. That got old before it was even new. I decided to clone the AVR910. It wasn't hard to do, I just read through the published source from Atmel and converted it to C for the Arduino. Once I had it sending and receiving characters I got AVRDUDE and started debugging. I had some initial problems because I tried to tell avrdude I had an AVRISP. I didn't, I had AVR910. It took a few night's hacking but I got to where I could read and right EEPROM and Flash on the target chips. The last problem I fixed was a byte order thing with sending an address. Seems that avrdude sends the programs one byte at a time, preceeded by the address. So each time I would get the address but in the wrong byte order. I swapped it around and suddenly it worked. My targets are ATtiny13, 15, and 2313. The tiny13 isn't officially supported by avr910, so I just assigned it an ID of 1 and it works. I haven't tried the tiny15 chip yet, but the programmer works for tiny13 and tiny2313. So look for more AVR projects from me in the near future!
|
8140 days of detection
mod: 12/3/08, 5:42 AM days of detection... PMOG owner
BiographyRandall Bohn lives in Orem, Utah, USA. He works as a Software Quality Engineer. He is a big fan of the AVR line of microcontrollers. He has been in the computer industry since 1989. Randall is married and has three children. rsbohn can be reached via gmail.com. status
Youre not logged in ... Login
Amazon.com DVD Shop
Amazon.com DVD Shopmenu
search
related
calendar
recent updates
Arduino Starter Kit
MAKE Blog How-to Tuesday posted a challenge: Optimize the sketch code for a pressure sensor bar graph. Here is my second attempt: int gate[] = {10, 20, 50, 100, 200, 32767}; void setup() {DDRB = 0b00111110;} void loop() { int dval = 0; int rval = analogRead(2); for (int x = 0; rval... 12/3/08, 5:42 AM Measuring Supply Voltage
I'm running my latest handheld computer on solar power. It starts up when the sun rises and runs all day. I started wondering how I could measure the voltage coming in from the solar panel. I came up with a way to use a diode and a resistor and the... 7/29/08, 9:53 AM Ten Pin ISP adapter
I've already built a six pin ISP adapter, but my Olmex cards use the ten pin ISP. I put a header on a scrap of perf board, added an LED for the heartbeat, and then connected the ten pin cable. Actually it is a fifteen pin cable, off a joystick... 7/16/08, 10:00 PM Hello 5x7 Style
Wrote a new firmware for the 5x7 display. Now it scrolls out 'hello' over and over again. I'm running it on a solar panel, so it wakes up with the sun and runs all day long. When I built the LED matrix I put resistors on the five columns. I'm starting... 6/17/08, 12:48 PM Provo, Utah
With a walkable downtown and access to two Universities, Provo Utah is a great location. I live next door in Orem. Kipplinger: Provo: Pristine Tech Mecca (Video) (Text) 6/2/08, 10:07 AM Another release of AVRISP sketch
There is a new release of the AVRISP emulation sketch for Arduino: avrisp.02.zip. This one should work with Mega8 and Mega168. mega-isp 5/28/08, 4:48 PM Sorting Out Page Sizes
There is a new release of AVRISP Emulation for Arduino. This is an Arduino firmware that allows you to program other AVR microcontrollers. The new zip file (avrisp.01.zip) should compile on the current Arduino IDE, and I changed the comments that put the wrong labels on the SPI pins. Go ahead... 5/27/08, 11:31 AM Flash Problems
I'm building a project using the AVR ATMega8 microcontroller. Once I got the thing wired up to where I could write firmware to it I found that it was always failing. I made a .hex file full of 0x10 values (256 bytes worth) and tried uploading that to the chip.... 5/16/08, 2:56 PM William's Arduino Board
I'm building an Arduino-compatible board for William. I'm building it on the Evil Mad Scientist MegaXX8 business card. It will have four built-in LEDs and a USB interface. It will also have connectors so he can use it with a breadboard. Perhaps we can connect it to some of his... 5/15/08, 7:26 AM Cybord Signal Detector
Some digital radio signals use Frequency Shift Keying (FSK). This often has one frequency for a Mark and one for a Space. I plan to build a cybord or other chip that will decode an FSK signal, producing three different values: NO_SIGNAL, MARK, and SPACE. The signals would then go... 5/15/08, 7:20 AM |