Basic boilerplate for programming AVR (arduino) in C.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ondřej Hruška ce2ca2d4e1 simplified example & added readme 9 years ago
lib simplified example & added readme 9 years ago
.gitignore Initial commit 9 years ago
LICENSE Initial commit 9 years ago
Makefile Source import 9 years ago
README.md simplified example & added readme 9 years ago
main.c simplified example & added readme 9 years ago

README.md

AVR C Builerplate

This is a basic boilerplate for programming AVRs in C.

The project aims to make programming Arduinos in C fun by providing support for basic functionality like GPIO and USART, so you can start developing without having the datasheet open all the time.

It is intended for ATmega328P (the chip in Arduinos), but can be easily adapted to other parts.

Requirements

Before you can start coding, you need to install a few software packages:

  • avrdude - the flash tool
  • avr-gcc - compiler
  • avr-libc - libc implementation for AVR
  • avr-binutils - utils for manipulating AVR binaries
  • make - to run the Makefile

There's a good chance you already have make, the rest should be in your distribution's repos.

If you're on Arch:

# pacman -S base-devel avr-gcc avr-binutils avr-libc avrdude

If you're on Mac, you should be able to pull the software with brew.

Getting started

The provided main.c is a good starting point - it contains some simple demo code.

You can compile it with make and flash with make flash.

If you add a new C file to the project, add an entry for it's .o (object file, created by the compiler before linking) to the OBJS list in the Makefile.

Similarly, if you add a new folder with header files, add it to INCL_DIRS.

The Makefile should take care of everything for you, this is the only modification you should have to do.