之前开发avr单片机是一直在ubuntu下开发的,最近买了新的树莓派2,发现性能也不错,加上显示器就是一台很实用的linux电脑了,于是决定在树莓派上搭建开发avr单片机环境。avr在linux下的开发靠的主要是avr-gcc以及avrdude ,树莓派采用的Raspbian系统是基于debian的,系统源中有很丰富的软件包,所以总体配置还是比较简单。
个人原创,版权所有,转载请著名原文出处,并保留原文链接:
http://www.embbnux.com/2015/04/20/building_avr_mcu_development_on_raspberry_pi/
一 编译工具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
很简单就安装好了。
avr gcc与avrdude的使用可以看我之前的博客: 建立linux下avr单片机开发环境
树莓派还可以直接用spi接口烧写avr单片机,这个在以后的博客会介绍。