Hi, I know this question is old, but there might be others who check out the answers to this question much later. I wanted to do exactly the same as OP. I figured it out through a lot of googling and trial and error.
I wrote down how to program an AVR chip
http://pluggerogkontakter.wordpress.com ... g-arduino/, and how to do assembly programming on it
http://pluggerogkontakter.wordpress.com ... -mac-os-x/.
To provide a summary:
1. Get a USB AVR programmer which can do ISP (In system programming). There are lots of those.
IMPORTANT:
2. Since the Mac does not have a serial port and you have to use the USB port, the Mac simulates a serial port with a logical device which gets created under /dev/ on the fly when you connec the AVR programmer. You HAVE TO CONNECT IT! If it is not connected it doesn't show up.
3. You can find the serial port with ls /dev/cu.*
4. Download the following software:
* CrossPack - contains AVR dude and a whole host of programs needed to do AVR programming
* avra - AVR assembler which works on Mac, following ATMEL syntax
* vAVRdiasm - AVR diassembler. To check if everything was assembled correctly e.g. Not needed.
* AVRFuses - Mac GUI app. Not needed. But gives a nice GUI interface to avrdude.
* avr-assembly.tmbundle. Not needed. Lets you write AVR assembly code in TextMate. Need to set AVR_UPLOAD, and AVR_ASSEMBLER variables in TextMate
5. Look at your datasheet to see how you connect the 6 pins on your programmer to your AVR chip. It depends on the programmer. But usually you do not need to connect anything put the 6 pins of the AVR chip on a breadboard. The chip usually gets power from the programmer. The 6 pins are: Vcc, Ground, serial in, serial out and clock.
6. Upload the code with a line like this: avrdude -p attiny13 -c stk500v2 -P /dev/cu.usbmodemfa121 -U flash:w:"$AVR_UPLOAD_FILE.hex:i"
That line is from my TextMate AVR_UPLOAD variable. Here is an explanation of the switches:
-p say I am programming a ATtiny13 chip
-c say my programmer is compatible with stk500v2. The name of my programmer is actually AVR-ISP500 from Olimex.
-P says which serial port the programmer should use. This is just a logical one as there is not physical serial port on the Mac. It get created when you connect the programmer.
-U tells what to upload or download and where. flash:w means write to flash. :i means we are using intel hex format. This is what avra produces when it assembles.
You got to set the fuse bits (configuration bits) as well but you can read about that e.g. on the CrossPack website.