First, install the packages (avr-gcc, binutils etc) for compiling/linking AVR programs in Mac OS X. I followed the instruction here: Programming an AVR microcontroller
Afterward, it is time to start my first led program in C.
I decide to use PB0 as led output, I connect the PB0 to Led0 on STk500 to start this testing program quickly.
#include <avr/io.h>
#define F_CPU 120000
#include <util/delay.h>
int main (void)
{
// set PB.0 as output pin
DDRB = 0x01;
// set PB.0 to output high
PORTB = 0x01;
while (1) {
PORTB ^= 0x01;
_delay_loop_2(65535);
}
}
Compile the program:
avr-gcc led_blink.c -o led.elf -mmcu=attiny13
Convert the elf format to hex format for flashing to the Tiny13:
avr-objcopy -O ihex led.elf led.rom
Prepare avrdude for Mac to flash program and find out the serial port device name on your Mac OS X. I am using usb2serial adapter, the serial port device is /dev/cu.usbserial and connected to stk500 RS232 CTRL port with the serial cable provided in stk500 kit.
avrdude -p t13 -c stk500v2 -P /dev/cu.usbserial -e -U flash:w:led.rom
If it programs successfully, you will see the LED0 is flashing on STk500 board.
Recent Comments