之前开发avr单片机是一直在ubuntu下开发的,最近买了新的树莓派2,发现性能也不错,加上显示器就是一台很实用的linux电脑了,于是决定在树莓派上搭建开发avr单片机环境。avr在linux下的开发靠的主要是avr-gcc以及avrdude ,树莓派采用的Raspbian系统是基于debian的,系统源中有很丰富的软件包,所以总体配置还是比较简单。
一 编译工具AVR-GCC的安装:
我用的是树莓派官方的debian系统wheezy版本的,这里直接安装wheezy下的avr gcc是有问题的,因为这个版本的avr gcc 是4.7版本的,存在一些bug,当你的固件大于8K的时候会报错如下:
relocation truncated to fit: R_AVR_13_PCREL
所以我们这边需要安装4.8版本的avr-gcc
安装步骤主要参考(Installing avr-gcc 4.8.1 and Arduino IDE 1.6 on Raspberry Pi):
先更新下软件包
sudo apt-get update
sudo apt-get upgrade
编辑软件源文件/etc/apt/sources.list,添加下面的源
#sudo vim /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
配置源优先级,编辑文件/etc/apt/preferences,添加下面的语句
Package: *
Pin: release n=wheezy
Pin-Priority: 900
Package: *
Pin: release n=jessie
Pin-Priority: 300
Package: *
Pin: release o=Raspbian
Pin-Priority: -10
最后更新安装:
sudo apt-get update
sudo apt-get -t jessie install gcc-avr avr-libc
avr-gcc -v
#Using built-in specs.
#COLLECT_GCC=avr-gcc
#COLLECT_LTO_WRAPPER=/usr/lib/gcc/avr/4.8.1/lto-wrapper
#Target: avr
#Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man --bindir=/usr/bin --libexecdir=/usr/lib --libdir=/usr/lib --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-libssp --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=avr
#Thread model: single
#gcc version 4.8.1 (GCC)
可以看到安装的是4.8.1版本的avr-gcc
二 下载工具AVRDUDUE的安装:
avrdude这个工具主要是用来下载的的,它支持很多下载工具,从最便宜的usbasp到贵的avrisp2都是支持的,树莓派上更可以直接用gpio中的spi接口来烧写单片机。
安装:
sudo apt-get -t jessie install avrdude
很简单就安装好了。 |